Merge "Add Kotlin-friendly SingleActivityFactory class" into udc-qpr-dev am: d785a3cdfa am: 2bd35a6ee6
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23874530 Change-Id: I6217754e472577f6e262bc1ffc1828a050c5c1c3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -11,9 +11,9 @@ import android.window.OnBackInvokedCallback
|
||||
import android.window.OnBackInvokedDispatcher
|
||||
import androidx.test.filters.SmallTest
|
||||
import androidx.test.rule.ActivityTestRule
|
||||
import androidx.test.runner.intercepting.SingleActivityFactory
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.activity.SingleActivityFactory
|
||||
import com.android.systemui.controls.CustomIconCache
|
||||
import com.android.systemui.controls.controller.ControlsControllerImpl
|
||||
import com.android.systemui.flags.FakeFeatureFlags
|
||||
@@ -63,24 +63,19 @@ class ControlsEditingActivityTest : SysuiTestCase() {
|
||||
@JvmField
|
||||
var activityRule =
|
||||
ActivityTestRule(
|
||||
object :
|
||||
SingleActivityFactory<TestableControlsEditingActivity>(
|
||||
TestableControlsEditingActivity::class.java
|
||||
) {
|
||||
override fun create(intent: Intent?): TestableControlsEditingActivity {
|
||||
return TestableControlsEditingActivity(
|
||||
featureFlags,
|
||||
uiExecutor,
|
||||
controller,
|
||||
userTracker,
|
||||
customIconCache,
|
||||
mockDispatcher,
|
||||
latch
|
||||
)
|
||||
}
|
||||
/* activityFactory= */ SingleActivityFactory {
|
||||
TestableControlsEditingActivity(
|
||||
featureFlags,
|
||||
uiExecutor,
|
||||
controller,
|
||||
userTracker,
|
||||
customIconCache,
|
||||
mockDispatcher,
|
||||
latch
|
||||
)
|
||||
},
|
||||
false,
|
||||
false
|
||||
/* initialTouchMode= */ false,
|
||||
/* launchActivity= */ false,
|
||||
)
|
||||
|
||||
@Before
|
||||
|
||||
@@ -13,9 +13,9 @@ import android.window.OnBackInvokedDispatcher
|
||||
import androidx.test.filters.FlakyTest
|
||||
import androidx.test.filters.SmallTest
|
||||
import androidx.test.rule.ActivityTestRule
|
||||
import androidx.test.runner.intercepting.SingleActivityFactory
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.activity.SingleActivityFactory
|
||||
import com.android.systemui.controls.ControlStatus
|
||||
import com.android.systemui.controls.ControlsServiceInfo
|
||||
import com.android.systemui.controls.controller.ControlsController
|
||||
@@ -91,24 +91,19 @@ class ControlsFavoritingActivityTest : SysuiTestCase() {
|
||||
@JvmField
|
||||
var activityRule =
|
||||
ActivityTestRule(
|
||||
object :
|
||||
SingleActivityFactory<TestableControlsFavoritingActivity>(
|
||||
TestableControlsFavoritingActivity::class.java
|
||||
) {
|
||||
override fun create(intent: Intent?): TestableControlsFavoritingActivity {
|
||||
return TestableControlsFavoritingActivity(
|
||||
featureFlags,
|
||||
executor,
|
||||
controller,
|
||||
listingController,
|
||||
userTracker,
|
||||
mockDispatcher,
|
||||
latch
|
||||
)
|
||||
}
|
||||
/* activityFactory= */ SingleActivityFactory {
|
||||
TestableControlsFavoritingActivity(
|
||||
featureFlags,
|
||||
executor,
|
||||
controller,
|
||||
listingController,
|
||||
userTracker,
|
||||
mockDispatcher,
|
||||
latch
|
||||
)
|
||||
},
|
||||
false,
|
||||
false
|
||||
/* initialTouchMode= */ false,
|
||||
/* launchActivity= */ false,
|
||||
)
|
||||
|
||||
@Before
|
||||
|
||||
@@ -29,8 +29,8 @@ import android.window.OnBackInvokedCallback
|
||||
import android.window.OnBackInvokedDispatcher
|
||||
import androidx.test.filters.SmallTest
|
||||
import androidx.test.rule.ActivityTestRule
|
||||
import androidx.test.runner.intercepting.SingleActivityFactory
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.activity.SingleActivityFactory
|
||||
import com.android.systemui.controls.ControlsServiceInfo
|
||||
import com.android.systemui.controls.controller.ControlsController
|
||||
import com.android.systemui.controls.panels.AuthorizedPanelsRepository
|
||||
@@ -91,26 +91,21 @@ class ControlsProviderSelectorActivityTest : SysuiTestCase() {
|
||||
@JvmField
|
||||
var activityRule =
|
||||
ActivityTestRule(
|
||||
object :
|
||||
SingleActivityFactory<TestableControlsProviderSelectorActivity>(
|
||||
TestableControlsProviderSelectorActivity::class.java
|
||||
) {
|
||||
override fun create(intent: Intent?): TestableControlsProviderSelectorActivity {
|
||||
return TestableControlsProviderSelectorActivity(
|
||||
executor,
|
||||
backExecutor,
|
||||
listingController,
|
||||
controlsController,
|
||||
userTracker,
|
||||
authorizedPanelsRepository,
|
||||
dialogFactory,
|
||||
mockDispatcher,
|
||||
latch
|
||||
)
|
||||
}
|
||||
/* activityFactory= */ SingleActivityFactory {
|
||||
TestableControlsProviderSelectorActivity(
|
||||
executor,
|
||||
backExecutor,
|
||||
listingController,
|
||||
controlsController,
|
||||
userTracker,
|
||||
authorizedPanelsRepository,
|
||||
dialogFactory,
|
||||
mockDispatcher,
|
||||
latch
|
||||
)
|
||||
},
|
||||
false,
|
||||
false
|
||||
/* initialTouchMode= */ false,
|
||||
/* launchActivity= */ false,
|
||||
)
|
||||
|
||||
@Before
|
||||
|
||||
@@ -30,8 +30,8 @@ import android.testing.TestableLooper
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.test.filters.MediumTest
|
||||
import androidx.test.rule.ActivityTestRule
|
||||
import androidx.test.runner.intercepting.SingleActivityFactory
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.activity.SingleActivityFactory
|
||||
import com.android.systemui.controls.controller.ControlInfo
|
||||
import com.android.systemui.controls.controller.ControlsController
|
||||
import com.android.systemui.settings.UserTracker
|
||||
@@ -81,19 +81,18 @@ class ControlsRequestDialogTest : SysuiTestCase() {
|
||||
|
||||
@Rule
|
||||
@JvmField
|
||||
var activityRule = ActivityTestRule<TestControlsRequestDialog>(
|
||||
object : SingleActivityFactory<TestControlsRequestDialog>(
|
||||
TestControlsRequestDialog::class.java
|
||||
) {
|
||||
override fun create(intent: Intent?): TestControlsRequestDialog {
|
||||
return TestControlsRequestDialog(
|
||||
mainExecutor,
|
||||
controller,
|
||||
userTracker,
|
||||
listingController
|
||||
)
|
||||
}
|
||||
}, false, false)
|
||||
var activityRule = ActivityTestRule(
|
||||
/* activityFactory= */ SingleActivityFactory {
|
||||
TestControlsRequestDialog(
|
||||
mainExecutor,
|
||||
controller,
|
||||
userTracker,
|
||||
listingController
|
||||
)
|
||||
},
|
||||
/* initialTouchMode= */ false,
|
||||
/* launchActivity= */ false,
|
||||
)
|
||||
|
||||
private lateinit var control: Control
|
||||
|
||||
|
||||
@@ -23,8 +23,8 @@ import android.testing.AndroidTestingRunner
|
||||
import android.testing.TestableLooper
|
||||
import androidx.test.filters.SmallTest
|
||||
import androidx.test.rule.ActivityTestRule
|
||||
import androidx.test.runner.intercepting.SingleActivityFactory
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.activity.SingleActivityFactory
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher
|
||||
import com.android.systemui.controls.settings.ControlsSettingsDialogManager
|
||||
import com.android.systemui.flags.FeatureFlags
|
||||
@@ -53,23 +53,18 @@ class ControlsActivityTest : SysuiTestCase() {
|
||||
@JvmField
|
||||
var activityRule =
|
||||
ActivityTestRule(
|
||||
object :
|
||||
SingleActivityFactory<TestableControlsActivity>(
|
||||
TestableControlsActivity::class.java
|
||||
) {
|
||||
override fun create(intent: Intent?): TestableControlsActivity {
|
||||
return TestableControlsActivity(
|
||||
uiController,
|
||||
broadcastDispatcher,
|
||||
dreamManager,
|
||||
featureFlags,
|
||||
controlsSettingsDialogManager,
|
||||
keyguardStateController,
|
||||
)
|
||||
}
|
||||
/* activityFactory= */ SingleActivityFactory {
|
||||
TestableControlsActivity(
|
||||
uiController,
|
||||
broadcastDispatcher,
|
||||
dreamManager,
|
||||
featureFlags,
|
||||
controlsSettingsDialogManager,
|
||||
keyguardStateController,
|
||||
)
|
||||
},
|
||||
false,
|
||||
false
|
||||
/* initialTouchMode= */ false,
|
||||
/* launchActivity= */ false,
|
||||
)
|
||||
|
||||
@Before
|
||||
|
||||
@@ -22,9 +22,9 @@ import android.testing.AndroidTestingRunner
|
||||
import android.testing.TestableLooper
|
||||
import androidx.test.filters.SmallTest
|
||||
import androidx.test.rule.ActivityTestRule
|
||||
import androidx.test.runner.intercepting.SingleActivityFactory
|
||||
import com.android.dx.mockito.inline.extended.ExtendedMockito.verify
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.activity.SingleActivityFactory
|
||||
import com.android.systemui.notetask.LaunchNotesRoleSettingsTrampolineActivity.Companion.ACTION_MANAGE_NOTES_ROLE_FROM_QUICK_AFFORDANCE
|
||||
import com.android.systemui.notetask.NoteTaskEntryPoint.QUICK_AFFORDANCE
|
||||
import com.android.systemui.util.mockito.any
|
||||
@@ -47,13 +47,9 @@ class LaunchNotesRoleSettingsTrampolineActivityTest : SysuiTestCase() {
|
||||
@Rule
|
||||
@JvmField
|
||||
val activityRule =
|
||||
ActivityTestRule<LaunchNotesRoleSettingsTrampolineActivity>(
|
||||
/* activityFactory= */ object :
|
||||
SingleActivityFactory<LaunchNotesRoleSettingsTrampolineActivity>(
|
||||
LaunchNotesRoleSettingsTrampolineActivity::class.java
|
||||
) {
|
||||
override fun create(intent: Intent?) =
|
||||
LaunchNotesRoleSettingsTrampolineActivity(noteTaskController)
|
||||
ActivityTestRule(
|
||||
/* activityFactory= */ SingleActivityFactory {
|
||||
LaunchNotesRoleSettingsTrampolineActivity(noteTaskController)
|
||||
},
|
||||
/* initialTouchMode= */ false,
|
||||
/* launchActivity= */ false,
|
||||
|
||||
@@ -16,14 +16,13 @@
|
||||
|
||||
package com.android.systemui.notetask.shortcut
|
||||
|
||||
import android.content.Intent
|
||||
import android.testing.AndroidTestingRunner
|
||||
import android.testing.TestableLooper
|
||||
import androidx.test.filters.SmallTest
|
||||
import androidx.test.rule.ActivityTestRule
|
||||
import androidx.test.runner.intercepting.SingleActivityFactory
|
||||
import com.android.dx.mockito.inline.extended.ExtendedMockito.verify
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.activity.SingleActivityFactory
|
||||
import com.android.systemui.notetask.NoteTaskController
|
||||
import com.android.systemui.notetask.NoteTaskEntryPoint
|
||||
import com.android.systemui.util.mockito.any
|
||||
@@ -47,12 +46,8 @@ class LaunchNoteTaskActivityTest : SysuiTestCase() {
|
||||
@JvmField
|
||||
val activityRule =
|
||||
ActivityTestRule<LaunchNoteTaskActivity>(
|
||||
/* activityFactory= */ object :
|
||||
SingleActivityFactory<LaunchNoteTaskActivity>(LaunchNoteTaskActivity::class.java) {
|
||||
override fun create(intent: Intent?) =
|
||||
LaunchNoteTaskActivity(
|
||||
controller = noteTaskController,
|
||||
)
|
||||
/* activityFactory= */ SingleActivityFactory {
|
||||
LaunchNoteTaskActivity(controller = noteTaskController)
|
||||
},
|
||||
/* initialTouchMode= */ false,
|
||||
/* launchActivity= */ false,
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.systemui.settings.brightness
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.Rect
|
||||
import android.os.Handler
|
||||
import android.testing.AndroidTestingRunner
|
||||
@@ -25,9 +24,9 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.test.filters.SmallTest
|
||||
import androidx.test.rule.ActivityTestRule
|
||||
import androidx.test.runner.intercepting.SingleActivityFactory
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.activity.SingleActivityFactory
|
||||
import com.android.systemui.settings.FakeDisplayTracker
|
||||
import com.android.systemui.settings.UserTracker
|
||||
import com.android.systemui.util.mockito.any
|
||||
@@ -59,19 +58,17 @@ class BrightnessDialogTest : SysuiTestCase() {
|
||||
@JvmField
|
||||
var activityRule =
|
||||
ActivityTestRule(
|
||||
object : SingleActivityFactory<TestDialog>(TestDialog::class.java) {
|
||||
override fun create(intent: Intent?): TestDialog {
|
||||
return TestDialog(
|
||||
userTracker,
|
||||
displayTracker,
|
||||
brightnessSliderControllerFactory,
|
||||
mainExecutor,
|
||||
backgroundHandler
|
||||
)
|
||||
}
|
||||
/* activityFactory= */ SingleActivityFactory {
|
||||
TestDialog(
|
||||
userTracker,
|
||||
displayTracker,
|
||||
brightnessSliderControllerFactory,
|
||||
mainExecutor,
|
||||
backgroundHandler
|
||||
)
|
||||
},
|
||||
false,
|
||||
false
|
||||
/* initialTouchMode= */ false,
|
||||
/* launchActivity= */ false,
|
||||
)
|
||||
|
||||
@Before
|
||||
|
||||
@@ -25,8 +25,8 @@ import android.testing.TestableLooper
|
||||
import android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS
|
||||
import androidx.test.filters.SmallTest
|
||||
import androidx.test.rule.ActivityTestRule
|
||||
import androidx.test.runner.intercepting.SingleActivityFactory
|
||||
import com.android.systemui.SysuiTestCase
|
||||
import com.android.systemui.activity.SingleActivityFactory
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
|
||||
import javax.inject.Inject
|
||||
@@ -49,19 +49,17 @@ class UsbPermissionActivityTest : SysuiTestCase() {
|
||||
|
||||
open class UsbPermissionActivityTestable @Inject constructor (
|
||||
val message: UsbAudioWarningDialogMessage
|
||||
)
|
||||
: UsbPermissionActivity(UsbAudioWarningDialogMessage())
|
||||
) : UsbPermissionActivity(UsbAudioWarningDialogMessage())
|
||||
|
||||
@Rule
|
||||
@JvmField
|
||||
var activityRule = ActivityTestRule<UsbPermissionActivityTestable>(
|
||||
object : SingleActivityFactory<UsbPermissionActivityTestable>(
|
||||
UsbPermissionActivityTestable::class.java
|
||||
) {
|
||||
override fun create(intent: Intent?): UsbPermissionActivityTestable {
|
||||
return UsbPermissionActivityTestable(mMessage)
|
||||
}
|
||||
}, false, false)
|
||||
var activityRule = ActivityTestRule(
|
||||
/* activityFactory= */ SingleActivityFactory {
|
||||
UsbPermissionActivityTestable(mMessage)
|
||||
},
|
||||
/* initialTouchMode= */ false,
|
||||
/* launchActivity= */ false,
|
||||
)
|
||||
|
||||
private val activityIntent = Intent(mContext, UsbPermissionActivityTestable::class.java)
|
||||
.apply {
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (C) 2023 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.systemui.activity
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import androidx.test.runner.intercepting.SingleActivityFactory
|
||||
|
||||
/**
|
||||
* Builds a new [SingleActivityFactory] which delegating any call of [SingleActivityFactory.create]
|
||||
* to the [instantiate] parameter.
|
||||
*
|
||||
* For more details, see [SingleActivityFactory].
|
||||
*/
|
||||
inline fun <reified T : Activity> SingleActivityFactory(
|
||||
crossinline instantiate: (intent: Intent?) -> T,
|
||||
): SingleActivityFactory<T> {
|
||||
return object : SingleActivityFactory<T>(T::class.java) {
|
||||
override fun create(intent: Intent?): T = instantiate(intent)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user