diff options
| author | 2023-09-14 19:01:32 +0000 | |
|---|---|---|
| committer | 2023-09-14 19:01:32 +0000 | |
| commit | 0aff6449c2f52ffb76108be40869d612a5daffc3 (patch) | |
| tree | 3f049a6819982d64f29106af96a6c128af50fb83 /java/tests | |
| parent | 9e2a01d0ca25a274ad317f1b1c7866b8967724b2 (diff) | |
| parent | a7382f3265d0bb76532b561059e56bafa855542e (diff) | |
Merge changes I13fbf290,I7440a6bb into main
* changes:
Switches to HiltTestApplication in tests.
Extract an interface for EventLog, rename implementation
Diffstat (limited to 'java/tests')
| -rw-r--r-- | java/tests/Android.bp | 1 | ||||
| -rw-r--r-- | java/tests/AndroidManifest.xml | 2 | ||||
| -rw-r--r-- | java/tests/src/com/android/intentresolver/ChooserActionFactoryTest.kt | 3 | ||||
| -rw-r--r-- | java/tests/src/com/android/intentresolver/ChooserActivityOverrideData.java | 6 | ||||
| -rw-r--r-- | java/tests/src/com/android/intentresolver/ChooserListAdapterTest.kt | 4 | ||||
| -rw-r--r-- | java/tests/src/com/android/intentresolver/ChooserWrapperActivity.java | 6 | ||||
| -rw-r--r-- | java/tests/src/com/android/intentresolver/IChooserWrapper.java | 4 | ||||
| -rw-r--r-- | java/tests/src/com/android/intentresolver/TestApplication.kt | 26 | ||||
| -rw-r--r-- | java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java | 20 | ||||
| -rw-r--r-- | java/tests/src/com/android/intentresolver/UnbundledChooserActivityWorkProfileTest.java | 9 | ||||
| -rw-r--r-- | java/tests/src/com/android/intentresolver/logging/EventLogImplTest.java (renamed from java/tests/src/com/android/intentresolver/logging/EventLogTest.java) | 49 |
11 files changed, 60 insertions, 70 deletions
diff --git a/java/tests/Android.bp b/java/tests/Android.bp index e4d24eb5..974b8a47 100644 --- a/java/tests/Android.bp +++ b/java/tests/Android.bp @@ -44,6 +44,7 @@ android_test { "androidx.lifecycle_lifecycle-common-java8", "androidx.lifecycle_lifecycle-extensions", "androidx.lifecycle_lifecycle-runtime-testing", + "hilt_android_testing", "IntentResolver-core", "junit", "kotlinx_coroutines_test", diff --git a/java/tests/AndroidManifest.xml b/java/tests/AndroidManifest.xml index ae6a2205..35dc2ee6 100644 --- a/java/tests/AndroidManifest.xml +++ b/java/tests/AndroidManifest.xml @@ -23,7 +23,7 @@ <uses-permission android:name="android.permission.WRITE_DEVICE_CONFIG"/> <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" /> - <application android:name="com.android.intentresolver.TestApplication"> + <application android:name="dagger.hilt.android.testing.HiltTestApplication"> <uses-library android:name="android.test.runner" /> <activity android:name="com.android.intentresolver.ChooserWrapperActivity" /> <activity android:name="com.android.intentresolver.ResolverWrapperActivity" /> diff --git a/java/tests/src/com/android/intentresolver/ChooserActionFactoryTest.kt b/java/tests/src/com/android/intentresolver/ChooserActionFactoryTest.kt index 2d1ac4e4..e2b987c2 100644 --- a/java/tests/src/com/android/intentresolver/ChooserActionFactoryTest.kt +++ b/java/tests/src/com/android/intentresolver/ChooserActionFactoryTest.kt @@ -28,12 +28,13 @@ import android.graphics.drawable.Icon import android.service.chooser.ChooserAction import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry -import com.android.intentresolver.logging.EventLog +import com.android.intentresolver.logging.EventLogImpl import com.google.common.collect.ImmutableList import com.google.common.truth.Truth.assertThat import java.util.concurrent.CountDownLatch import java.util.concurrent.TimeUnit import java.util.function.Consumer +import com.android.intentresolver.logging.EventLog import org.junit.After import org.junit.Assert.assertEquals import org.junit.Assert.assertTrue diff --git a/java/tests/src/com/android/intentresolver/ChooserActivityOverrideData.java b/java/tests/src/com/android/intentresolver/ChooserActivityOverrideData.java index 5b938aa1..b5c14ff1 100644 --- a/java/tests/src/com/android/intentresolver/ChooserActivityOverrideData.java +++ b/java/tests/src/com/android/intentresolver/ChooserActivityOverrideData.java @@ -29,7 +29,7 @@ import android.os.UserHandle; import com.android.intentresolver.AbstractMultiProfilePagerAdapter.CrossProfileIntentsChecker; import com.android.intentresolver.chooser.TargetInfo; import com.android.intentresolver.contentpreview.ImageLoader; -import com.android.intentresolver.logging.EventLog; +import com.android.intentresolver.logging.EventLogImpl; import com.android.intentresolver.shortcuts.ShortcutLoader; import java.util.function.Consumer; @@ -64,7 +64,7 @@ public class ChooserActivityOverrideData { public Cursor resolverCursor; public boolean resolverForceException; public ImageLoader imageLoader; - public EventLog mEventLog; + public EventLogImpl mEventLog; public int alternateProfileSetting; public Resources resources; public UserHandle workProfileUserHandle; @@ -86,7 +86,7 @@ public class ChooserActivityOverrideData { resolverForceException = false; resolverListController = mock(ChooserActivity.ChooserListController.class); workResolverListController = mock(ChooserActivity.ChooserListController.class); - mEventLog = mock(EventLog.class); + mEventLog = mock(EventLogImpl.class); alternateProfileSetting = 0; resources = null; workProfileUserHandle = null; diff --git a/java/tests/src/com/android/intentresolver/ChooserListAdapterTest.kt b/java/tests/src/com/android/intentresolver/ChooserListAdapterTest.kt index 9b5e2d1c..87e58954 100644 --- a/java/tests/src/com/android/intentresolver/ChooserListAdapterTest.kt +++ b/java/tests/src/com/android/intentresolver/ChooserListAdapterTest.kt @@ -32,7 +32,7 @@ import com.android.intentresolver.chooser.DisplayResolveInfo import com.android.intentresolver.chooser.SelectableTargetInfo import com.android.intentresolver.chooser.TargetInfo import com.android.intentresolver.icons.TargetDataLoader -import com.android.intentresolver.logging.EventLog +import com.android.intentresolver.logging.EventLogImpl import com.android.internal.R import com.google.common.truth.Truth.assertThat import org.junit.Before @@ -54,7 +54,7 @@ class ChooserListAdapterTest { private val resolverListController = mock<ResolverListController>() private val appLabel = "App" private val targetLabel = "Target" - private val mEventLog = mock<EventLog>() + private val mEventLog = mock<EventLogImpl>() private val mTargetDataLoader = mock<TargetDataLoader>() private val testSubject by lazy { diff --git a/java/tests/src/com/android/intentresolver/ChooserWrapperActivity.java b/java/tests/src/com/android/intentresolver/ChooserWrapperActivity.java index 578b9557..d488e02b 100644 --- a/java/tests/src/com/android/intentresolver/ChooserWrapperActivity.java +++ b/java/tests/src/com/android/intentresolver/ChooserWrapperActivity.java @@ -39,7 +39,7 @@ import com.android.intentresolver.chooser.DisplayResolveInfo; import com.android.intentresolver.chooser.TargetInfo; import com.android.intentresolver.grid.ChooserGridAdapter; import com.android.intentresolver.icons.TargetDataLoader; -import com.android.intentresolver.logging.EventLog; +import com.android.intentresolver.logging.EventLogImpl; import com.android.intentresolver.shortcuts.ShortcutLoader; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; @@ -204,7 +204,7 @@ public class ChooserWrapperActivity extends ChooserActivity implements IChooserW } @Override - public EventLog getEventLog() { + public EventLogImpl getEventLog() { return sOverrides.mEventLog; } @@ -263,7 +263,7 @@ public class ChooserWrapperActivity extends ChooserActivity implements IChooserW @Override public Context createContextAsUser(UserHandle user, int flags) { // return the current context as a work profile doesn't really exist in these tests - return getApplicationContext(); + return this; } @Override diff --git a/java/tests/src/com/android/intentresolver/IChooserWrapper.java b/java/tests/src/com/android/intentresolver/IChooserWrapper.java index 3326d7f2..54e4da9e 100644 --- a/java/tests/src/com/android/intentresolver/IChooserWrapper.java +++ b/java/tests/src/com/android/intentresolver/IChooserWrapper.java @@ -23,7 +23,7 @@ import android.content.pm.ResolveInfo; import android.os.UserHandle; import com.android.intentresolver.chooser.DisplayResolveInfo; -import com.android.intentresolver.logging.EventLog; +import com.android.intentresolver.logging.EventLogImpl; import java.util.concurrent.Executor; @@ -42,6 +42,6 @@ public interface IChooserWrapper { CharSequence pLabel, CharSequence pInfo, Intent replacementIntent, @Nullable TargetPresentationGetter resolveInfoPresentationGetter); UserHandle getCurrentUserHandle(); - EventLog getEventLog(); + EventLogImpl getEventLog(); Executor getMainExecutor(); } diff --git a/java/tests/src/com/android/intentresolver/TestApplication.kt b/java/tests/src/com/android/intentresolver/TestApplication.kt deleted file mode 100644 index b57fd4d9..00000000 --- a/java/tests/src/com/android/intentresolver/TestApplication.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2022 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.intentresolver - -import android.content.Context -import android.os.UserHandle - -class TestApplication : MainApplication() { - - // return the current context as a work profile doesn't really exist in these tests - override fun createContextAsUser(user: UserHandle, flags: Int): Context = this -} diff --git a/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java b/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java index 59357843..0b3cb20a 100644 --- a/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java +++ b/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java @@ -113,6 +113,7 @@ import androidx.test.rule.ActivityTestRule; import com.android.intentresolver.chooser.DisplayResolveInfo; import com.android.intentresolver.contentpreview.ImageLoader; import com.android.intentresolver.logging.EventLog; +import com.android.intentresolver.logging.EventLogImpl; import com.android.intentresolver.shortcuts.ShortcutLoader; import com.android.internal.config.sysui.SystemUiDeviceConfigFlags; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; @@ -145,6 +146,9 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; import java.util.function.Function; +import dagger.hilt.android.testing.HiltAndroidRule; +import dagger.hilt.android.testing.HiltAndroidTest; + /** * Instrumentation tests for ChooserActivity. * <p> @@ -152,6 +156,7 @@ import java.util.function.Function; * <p> */ @RunWith(Parameterized.class) +@HiltAndroidTest public class UnbundledChooserActivityTest { private static final UserHandle PERSONAL_USER_HANDLE = InstrumentationRegistry @@ -186,7 +191,10 @@ public class UnbundledChooserActivityTest { cleanOverrideData(); } - @Rule + @Rule(order = 0) + public HiltAndroidRule mHiltAndroidRule = new HiltAndroidRule(this); + + @Rule(order = 1) public ActivityTestRule<ChooserWrapperActivity> mActivityRule = new ActivityTestRule<>(ChooserWrapperActivity.class, false, false); @@ -845,7 +853,7 @@ public class UnbundledChooserActivityTest { onView(withId(R.id.copy)).perform(click()); EventLog logger = activity.getEventLog(); - verify(logger, times(1)).logActionSelected(eq(EventLog.SELECTION_TYPE_COPY)); + verify(logger, times(1)).logActionSelected(eq(EventLogImpl.SELECTION_TYPE_COPY)); } @Test @@ -1466,7 +1474,7 @@ public class UnbundledChooserActivityTest { ArgumentCaptor<HashedStringCache.HashResult> hashCaptor = ArgumentCaptor.forClass(HashedStringCache.HashResult.class); verify(activity.getEventLog(), times(1)).logShareTargetSelected( - eq(EventLog.SELECTION_TYPE_SERVICE), + eq(EventLogImpl.SELECTION_TYPE_SERVICE), /* packageName= */ any(), /* positionPicked= */ anyInt(), /* directTargetAlsoRanked= */ eq(-1), @@ -1547,7 +1555,7 @@ public class UnbundledChooserActivityTest { waitForIdle(); verify(activity.getEventLog(), times(1)).logShareTargetSelected( - eq(EventLog.SELECTION_TYPE_SERVICE), + eq(EventLogImpl.SELECTION_TYPE_SERVICE), /* packageName= */ any(), /* positionPicked= */ anyInt(), /* directTargetAlsoRanked= */ eq(0), @@ -1963,7 +1971,7 @@ public class UnbundledChooserActivityTest { EventLog logger = wrapper.getEventLog(); verify(logger, times(1)).logShareTargetSelected( - eq(EventLog.SELECTION_TYPE_SERVICE), + eq(EventLogImpl.SELECTION_TYPE_SERVICE), /* packageName= */ any(), /* positionPicked= */ anyInt(), // The packages sholdn't match for app target and direct target: @@ -2296,7 +2304,7 @@ public class UnbundledChooserActivityTest { EventLog logger = activity.getEventLog(); ArgumentCaptor<Integer> typeCaptor = ArgumentCaptor.forClass(Integer.class); verify(logger, times(1)).logShareTargetSelected( - eq(EventLog.SELECTION_TYPE_SERVICE), + eq(EventLogImpl.SELECTION_TYPE_SERVICE), /* packageName= */ any(), /* positionPicked= */ anyInt(), /* directTargetAlsoRanked= */ anyInt(), diff --git a/java/tests/src/com/android/intentresolver/UnbundledChooserActivityWorkProfileTest.java b/java/tests/src/com/android/intentresolver/UnbundledChooserActivityWorkProfileTest.java index 92bccb7d..f0e88564 100644 --- a/java/tests/src/com/android/intentresolver/UnbundledChooserActivityWorkProfileTest.java +++ b/java/tests/src/com/android/intentresolver/UnbundledChooserActivityWorkProfileTest.java @@ -64,15 +64,22 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; +import dagger.hilt.android.testing.HiltAndroidRule; +import dagger.hilt.android.testing.HiltAndroidTest; + @DeviceFilter.MediumType @RunWith(Parameterized.class) +@HiltAndroidTest public class UnbundledChooserActivityWorkProfileTest { private static final UserHandle PERSONAL_USER_HANDLE = InstrumentationRegistry .getInstrumentation().getTargetContext().getUser(); private static final UserHandle WORK_USER_HANDLE = UserHandle.of(10); - @Rule + @Rule(order = 0) + public HiltAndroidRule mHiltAndroidRule = new HiltAndroidRule(this); + + @Rule(order = 1) public ActivityTestRule<ChooserWrapperActivity> mActivityRule = new ActivityTestRule<>(ChooserWrapperActivity.class, false, false); diff --git a/java/tests/src/com/android/intentresolver/logging/EventLogTest.java b/java/tests/src/com/android/intentresolver/logging/EventLogImplTest.java index 17452774..19177798 100644 --- a/java/tests/src/com/android/intentresolver/logging/EventLogTest.java +++ b/java/tests/src/com/android/intentresolver/logging/EventLogImplTest.java @@ -32,10 +32,9 @@ import static org.mockito.Mockito.verifyNoMoreInteractions; import android.content.Intent; import android.metrics.LogMaker; -import com.android.intentresolver.logging.EventLog.FrameworkStatsLogger; -import com.android.intentresolver.logging.EventLog.SharesheetStandardEvent; -import com.android.intentresolver.logging.EventLog.SharesheetStartedEvent; -import com.android.intentresolver.logging.EventLog.SharesheetTargetSelectedEvent; +import com.android.intentresolver.logging.EventLogImpl.SharesheetStandardEvent; +import com.android.intentresolver.logging.EventLogImpl.SharesheetStartedEvent; +import com.android.intentresolver.logging.EventLogImpl.SharesheetTargetSelectedEvent; import com.android.intentresolver.contentpreview.ContentPreviewType; import com.android.internal.logging.InstanceId; import com.android.internal.logging.MetricsLogger; @@ -53,17 +52,17 @@ import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) -public final class EventLogTest { +public final class EventLogImplTest { @Mock private UiEventLogger mUiEventLog; @Mock private FrameworkStatsLogger mFrameworkLog; @Mock private MetricsLogger mMetricsLogger; - private EventLog mChooserLogger; + private EventLogImpl mChooserLogger; @Before public void setUp() { //Mockito.reset(mUiEventLog, mFrameworkLog, mMetricsLogger); - mChooserLogger = new EventLog(mUiEventLog, mFrameworkLog, mMetricsLogger); + mChooserLogger = new EventLogImpl(mUiEventLog, mFrameworkLog, mMetricsLogger); } @After @@ -151,7 +150,7 @@ public final class EventLogTest { @Test public void testLogShareTargetSelected() { - final int targetType = EventLog.SELECTION_TYPE_SERVICE; + final int targetType = EventLogImpl.SELECTION_TYPE_SERVICE; final String packageName = "com.test.foo"; final int positionPicked = 123; final int directTargetAlsoRanked = -1; @@ -189,7 +188,7 @@ public final class EventLogTest { @Test public void testLogActionSelected() { - mChooserLogger.logActionSelected(EventLog.SELECTION_TYPE_COPY); + mChooserLogger.logActionSelected(EventLogImpl.SELECTION_TYPE_COPY); verify(mFrameworkLog).write( eq(FrameworkStatsLog.RANKING_SELECTED), @@ -320,10 +319,10 @@ public final class EventLogTest { @Test public void testDifferentLoggerInstancesUseDifferentInstanceIds() { ArgumentCaptor<Integer> idIntCaptor = ArgumentCaptor.forClass(Integer.class); - EventLog chooserLogger2 = - new EventLog(mUiEventLog, mFrameworkLog, mMetricsLogger); + EventLogImpl chooserLogger2 = + new EventLogImpl(mUiEventLog, mFrameworkLog, mMetricsLogger); - final int targetType = EventLog.SELECTION_TYPE_COPY; + final int targetType = EventLogImpl.SELECTION_TYPE_COPY; final String packageName = "com.test.foo"; final int positionPicked = 123; final int directTargetAlsoRanked = -1; @@ -370,7 +369,7 @@ public final class EventLogTest { ArgumentCaptor<Integer> idIntCaptor = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<InstanceId> idObjectCaptor = ArgumentCaptor.forClass(InstanceId.class); - final int targetType = EventLog.SELECTION_TYPE_COPY; + final int targetType = EventLogImpl.SELECTION_TYPE_COPY; final String packageName = "com.test.foo"; final int positionPicked = 123; final int directTargetAlsoRanked = -1; @@ -403,20 +402,20 @@ public final class EventLogTest { @Test public void testTargetSelectionCategories() { - assertThat(EventLog.getTargetSelectionCategory( - EventLog.SELECTION_TYPE_SERVICE)) + assertThat(EventLogImpl.getTargetSelectionCategory( + EventLogImpl.SELECTION_TYPE_SERVICE)) .isEqualTo(MetricsEvent.ACTION_ACTIVITY_CHOOSER_PICKED_SERVICE_TARGET); - assertThat(EventLog.getTargetSelectionCategory( - EventLog.SELECTION_TYPE_APP)) + assertThat(EventLogImpl.getTargetSelectionCategory( + EventLogImpl.SELECTION_TYPE_APP)) .isEqualTo(MetricsEvent.ACTION_ACTIVITY_CHOOSER_PICKED_APP_TARGET); - assertThat(EventLog.getTargetSelectionCategory( - EventLog.SELECTION_TYPE_STANDARD)) + assertThat(EventLogImpl.getTargetSelectionCategory( + EventLogImpl.SELECTION_TYPE_STANDARD)) .isEqualTo(MetricsEvent.ACTION_ACTIVITY_CHOOSER_PICKED_STANDARD_TARGET); - assertThat(EventLog.getTargetSelectionCategory( - EventLog.SELECTION_TYPE_COPY)).isEqualTo(0); - assertThat(EventLog.getTargetSelectionCategory( - EventLog.SELECTION_TYPE_NEARBY)).isEqualTo(0); - assertThat(EventLog.getTargetSelectionCategory( - EventLog.SELECTION_TYPE_EDIT)).isEqualTo(0); + assertThat(EventLogImpl.getTargetSelectionCategory( + EventLogImpl.SELECTION_TYPE_COPY)).isEqualTo(0); + assertThat(EventLogImpl.getTargetSelectionCategory( + EventLogImpl.SELECTION_TYPE_NEARBY)).isEqualTo(0); + assertThat(EventLogImpl.getTargetSelectionCategory( + EventLogImpl.SELECTION_TYPE_EDIT)).isEqualTo(0); } } |