Merge changes I5ad71fb0,I0756816a
* changes: Move SpaEnvironmentForTest for tests.testutils Move EntryHighlight to framework/util
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settingslib.spa.widget.util
|
||||
package com.android.settingslib.spa.framework.util
|
||||
|
||||
import androidx.compose.animation.animateColorAsState
|
||||
import androidx.compose.animation.core.RepeatMode
|
||||
@@ -28,7 +28,7 @@ import com.android.settingslib.spa.framework.compose.toState
|
||||
import com.android.settingslib.spa.framework.theme.SettingsDimension
|
||||
import com.android.settingslib.spa.framework.theme.SettingsShape
|
||||
import com.android.settingslib.spa.framework.theme.SettingsTheme
|
||||
import com.android.settingslib.spa.widget.util.EntryHighlight
|
||||
import com.android.settingslib.spa.framework.util.EntryHighlight
|
||||
|
||||
@Composable
|
||||
fun MainSwitchPreference(model: SwitchPreferenceModel) {
|
||||
|
||||
@@ -27,9 +27,9 @@ import com.android.settingslib.spa.framework.common.EntrySearchData
|
||||
import com.android.settingslib.spa.framework.common.EntryStatusData
|
||||
import com.android.settingslib.spa.framework.compose.navigator
|
||||
import com.android.settingslib.spa.framework.compose.stateOf
|
||||
import com.android.settingslib.spa.framework.util.EntryHighlight
|
||||
import com.android.settingslib.spa.framework.util.wrapOnClickWithLog
|
||||
import com.android.settingslib.spa.widget.ui.createSettingsIcon
|
||||
import com.android.settingslib.spa.widget.util.EntryHighlight
|
||||
|
||||
data class SimplePreferenceMacro(
|
||||
val title: String,
|
||||
|
||||
@@ -31,8 +31,8 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.android.settingslib.spa.framework.theme.SettingsTheme
|
||||
import com.android.settingslib.spa.framework.util.EntryHighlight
|
||||
import com.android.settingslib.spa.widget.ui.SettingsSlider
|
||||
import com.android.settingslib.spa.widget.util.EntryHighlight
|
||||
|
||||
/**
|
||||
* The widget model for [SliderPreference] widget.
|
||||
|
||||
@@ -31,9 +31,9 @@ import com.android.settingslib.spa.framework.compose.stateOf
|
||||
import com.android.settingslib.spa.framework.compose.toState
|
||||
import com.android.settingslib.spa.framework.theme.SettingsDimension
|
||||
import com.android.settingslib.spa.framework.theme.SettingsTheme
|
||||
import com.android.settingslib.spa.framework.util.EntryHighlight
|
||||
import com.android.settingslib.spa.framework.util.wrapOnSwitchWithLog
|
||||
import com.android.settingslib.spa.widget.ui.SettingsSwitch
|
||||
import com.android.settingslib.spa.widget.util.EntryHighlight
|
||||
|
||||
/**
|
||||
* The widget model for [SwitchPreference] widget.
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
package com.android.settingslib.spa.widget.preference
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import com.android.settingslib.spa.widget.util.EntryHighlight
|
||||
import com.android.settingslib.spa.framework.util.EntryHighlight
|
||||
import com.android.settingslib.spa.widget.ui.SettingsSwitch
|
||||
|
||||
@Composable
|
||||
|
||||
@@ -19,6 +19,10 @@ package com.android.settingslib.spa.framework.common
|
||||
import android.content.Context
|
||||
import androidx.test.core.app.ApplicationProvider
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import com.android.settingslib.spa.tests.testutils.SpaEnvironmentForTest
|
||||
import com.android.settingslib.spa.tests.testutils.SppHome
|
||||
import com.android.settingslib.spa.tests.testutils.SppLayer1
|
||||
import com.android.settingslib.spa.tests.testutils.SppLayer2
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@@ -22,6 +22,9 @@ import androidx.navigation.NavType
|
||||
import androidx.navigation.navArgument
|
||||
import androidx.test.core.app.ApplicationProvider
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import com.android.settingslib.spa.tests.testutils.BlankActivity
|
||||
import com.android.settingslib.spa.tests.testutils.SpaEnvironmentForTest
|
||||
import com.android.settingslib.spa.tests.testutils.SpaLoggerForTest
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -42,9 +45,9 @@ class SettingsPageTest {
|
||||
assertThat(page.isCreateBy("NULL")).isTrue()
|
||||
assertThat(page.isCreateBy("Spp")).isFalse()
|
||||
assertThat(page.hasRuntimeParam()).isFalse()
|
||||
assertThat(page.isBrowsable(context, MockActivity::class.java)).isFalse()
|
||||
assertThat(page.createBrowseIntent(context, MockActivity::class.java)).isNull()
|
||||
assertThat(page.createBrowseAdbCommand(context, MockActivity::class.java)).isNull()
|
||||
assertThat(page.isBrowsable(context, BlankActivity::class.java)).isFalse()
|
||||
assertThat(page.createBrowseIntent(context, BlankActivity::class.java)).isNull()
|
||||
assertThat(page.createBrowseAdbCommand(context, BlankActivity::class.java)).isNull()
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -57,9 +60,9 @@ class SettingsPageTest {
|
||||
assertThat(page.isCreateBy("NULL")).isFalse()
|
||||
assertThat(page.isCreateBy("mySpp")).isTrue()
|
||||
assertThat(page.hasRuntimeParam()).isFalse()
|
||||
assertThat(page.isBrowsable(context, MockActivity::class.java)).isTrue()
|
||||
assertThat(page.createBrowseIntent(context, MockActivity::class.java)).isNotNull()
|
||||
assertThat(page.createBrowseAdbCommand(context, MockActivity::class.java)).contains(
|
||||
assertThat(page.isBrowsable(context, BlankActivity::class.java)).isTrue()
|
||||
assertThat(page.createBrowseIntent(context, BlankActivity::class.java)).isNotNull()
|
||||
assertThat(page.createBrowseAdbCommand(context, BlankActivity::class.java)).contains(
|
||||
"-e spaActivityDestination mySpp"
|
||||
)
|
||||
}
|
||||
@@ -80,9 +83,9 @@ class SettingsPageTest {
|
||||
assertThat(page.buildRoute()).isEqualTo("SppWithParam/myStr/10")
|
||||
assertThat(page.isCreateBy("SppWithParam")).isTrue()
|
||||
assertThat(page.hasRuntimeParam()).isFalse()
|
||||
assertThat(page.isBrowsable(context, MockActivity::class.java)).isTrue()
|
||||
assertThat(page.createBrowseIntent(context, MockActivity::class.java)).isNotNull()
|
||||
assertThat(page.createBrowseAdbCommand(context, MockActivity::class.java)).contains(
|
||||
assertThat(page.isBrowsable(context, BlankActivity::class.java)).isTrue()
|
||||
assertThat(page.createBrowseIntent(context, BlankActivity::class.java)).isNotNull()
|
||||
assertThat(page.createBrowseAdbCommand(context, BlankActivity::class.java)).contains(
|
||||
"-e spaActivityDestination SppWithParam/myStr/10"
|
||||
)
|
||||
}
|
||||
@@ -105,9 +108,9 @@ class SettingsPageTest {
|
||||
assertThat(page.buildRoute()).isEqualTo("SppWithRtParam/myStr/10/rtStr")
|
||||
assertThat(page.isCreateBy("SppWithRtParam")).isTrue()
|
||||
assertThat(page.hasRuntimeParam()).isTrue()
|
||||
assertThat(page.isBrowsable(context, MockActivity::class.java)).isFalse()
|
||||
assertThat(page.createBrowseIntent(context, MockActivity::class.java)).isNull()
|
||||
assertThat(page.createBrowseAdbCommand(context, MockActivity::class.java)).isNull()
|
||||
assertThat(page.isBrowsable(context, BlankActivity::class.java)).isFalse()
|
||||
assertThat(page.createBrowseIntent(context, BlankActivity::class.java)).isNull()
|
||||
assertThat(page.createBrowseAdbCommand(context, BlankActivity::class.java)).isNull()
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -22,11 +22,11 @@ import androidx.lifecycle.Observer
|
||||
import androidx.slice.Slice
|
||||
import androidx.test.core.app.ApplicationProvider
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import com.android.settingslib.spa.framework.common.SpaEnvironmentForTest
|
||||
import com.android.settingslib.spa.framework.common.SppLayer2
|
||||
import com.android.settingslib.spa.framework.common.createSettingsPage
|
||||
import com.android.settingslib.spa.framework.common.getUniqueEntryId
|
||||
import com.android.settingslib.spa.testutils.InstantTaskExecutorRule
|
||||
import com.android.settingslib.spa.tests.testutils.SpaEnvironmentForTest
|
||||
import com.android.settingslib.spa.tests.testutils.SppLayer2
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
|
||||
@@ -23,7 +23,7 @@ import androidx.core.os.bundleOf
|
||||
import androidx.test.core.app.ApplicationProvider
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
|
||||
import com.android.settingslib.spa.framework.common.SpaEnvironmentForTest
|
||||
import com.android.settingslib.spa.tests.testutils.SpaEnvironmentForTest
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settingslib.spa.framework.common
|
||||
package com.android.settingslib.spa.tests.testutils
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.BroadcastReceiver
|
||||
@@ -24,6 +24,17 @@ import android.os.Bundle
|
||||
import androidx.navigation.NavType
|
||||
import androidx.navigation.navArgument
|
||||
import com.android.settingslib.spa.framework.BrowseActivity
|
||||
import com.android.settingslib.spa.framework.common.EntrySliceData
|
||||
import com.android.settingslib.spa.framework.common.LogCategory
|
||||
import com.android.settingslib.spa.framework.common.LogEvent
|
||||
import com.android.settingslib.spa.framework.common.SettingsEntry
|
||||
import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
|
||||
import com.android.settingslib.spa.framework.common.SettingsPage
|
||||
import com.android.settingslib.spa.framework.common.SettingsPageProvider
|
||||
import com.android.settingslib.spa.framework.common.SettingsPageProviderRepository
|
||||
import com.android.settingslib.spa.framework.common.SpaEnvironment
|
||||
import com.android.settingslib.spa.framework.common.SpaLogger
|
||||
import com.android.settingslib.spa.framework.common.createSettingsPage
|
||||
|
||||
class SpaLoggerForTest : SpaLogger {
|
||||
data class MsgCountKey(val msg: String, val category: LogCategory)
|
||||
@@ -34,22 +45,22 @@ class SpaLoggerForTest : SpaLogger {
|
||||
|
||||
override fun message(tag: String, msg: String, category: LogCategory) {
|
||||
val key = MsgCountKey("[$tag]$msg", category)
|
||||
messageCount[key] = messageCount.getOrDefault(key, 0) + 1
|
||||
messageCount[key] = (messageCount[key] ?: 0) + 1
|
||||
}
|
||||
|
||||
override fun event(id: String, event: LogEvent, category: LogCategory, details: String?) {
|
||||
val key = EventCountKey(id, event, category)
|
||||
eventCount[key] = eventCount.getOrDefault(key, 0) + 1
|
||||
eventCount[key] = (eventCount[key] ?: 0) + 1
|
||||
}
|
||||
|
||||
fun getMessageCount(tag: String, msg: String, category: LogCategory): Int {
|
||||
val key = MsgCountKey("[$tag]$msg", category)
|
||||
return messageCount.getOrDefault(key, 0)
|
||||
return messageCount[key] ?: 0
|
||||
}
|
||||
|
||||
fun getEventCount(id: String, event: LogEvent, category: LogCategory): Int {
|
||||
val key = EventCountKey(id, event, category)
|
||||
return eventCount.getOrDefault(key, 0)
|
||||
return eventCount[key] ?: 0
|
||||
}
|
||||
|
||||
fun reset() {
|
||||
@@ -58,8 +69,8 @@ class SpaLoggerForTest : SpaLogger {
|
||||
}
|
||||
}
|
||||
|
||||
class MockActivity : BrowseActivity()
|
||||
class MockSliceBroadcastReceiver : BroadcastReceiver() {
|
||||
class BlankActivity : BrowseActivity()
|
||||
class BlankSliceBroadcastReceiver : BroadcastReceiver() {
|
||||
override fun onReceive(p0: Context?, p1: Intent?) {}
|
||||
}
|
||||
|
||||
@@ -112,7 +123,9 @@ object SppLayer2 : SettingsPageProvider {
|
||||
SettingsEntryBuilder.create(owner, "Layer2Entry1")
|
||||
.setSliceDataFn { _, _ ->
|
||||
return@setSliceDataFn object : EntrySliceData() {
|
||||
init { postValue(null) }
|
||||
init {
|
||||
postValue(null)
|
||||
}
|
||||
}
|
||||
}
|
||||
.build(),
|
||||
@@ -123,9 +136,9 @@ object SppLayer2 : SettingsPageProvider {
|
||||
|
||||
class SpaEnvironmentForTest(
|
||||
context: Context,
|
||||
override val browseActivityClass: Class<out Activity>? = MockActivity::class.java,
|
||||
override val browseActivityClass: Class<out Activity>? = BlankActivity::class.java,
|
||||
override val sliceBroadcastReceiverClass: Class<out BroadcastReceiver>? =
|
||||
MockSliceBroadcastReceiver::class.java,
|
||||
BlankSliceBroadcastReceiver::class.java,
|
||||
override val logger: SpaLogger = object : SpaLogger {}
|
||||
) : SpaEnvironment(context) {
|
||||
|
||||
Reference in New Issue
Block a user