Snap tm-dev to android13-tests-dev

Bug:259849956

Merge ab/9299233

Merged-In: Ib0f4898470800c5f9086376d5878ef49e0bc0006
Change-Id: I1fa613dac781e35dcc782f9f9ff775629960e030
diff --git a/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterActivityTest.kt b/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterActivityTest.kt
index 67c21e6..0e68966 100644
--- a/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterActivityTest.kt
+++ b/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterActivityTest.kt
@@ -22,6 +22,7 @@
 import android.os.Build.VERSION_CODES.TIRAMISU
 import android.safetycenter.cts.testing.SafetyCenterFlags
 import android.safetycenter.cts.testing.SafetyCenterFlags.deviceSupportsSafetyCenter
+import android.safetycenter.cts.testing.SettingsPackage.getSettingsPackageName
 import android.support.test.uiautomator.By
 import androidx.test.core.app.ApplicationProvider.getApplicationContext
 import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -56,12 +57,12 @@
     }
 
     @Test
-    fun launchActivity_withFlagDisabled_showsSettingsTitle() {
+    fun launchActivity_withFlagDisabled_opensSettings() {
         SafetyCenterFlags.setSafetyCenterEnabled(false)
 
         startSafetyCenterActivity()
 
-        waitFindObject(By.text("Settings"))
+        waitFindObject(By.pkg(context.getSettingsPackageName()))
     }
 
     private fun startSafetyCenterActivity() {
diff --git a/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterManagerTest.kt b/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterManagerTest.kt
index 0d166b1..1ae0e03 100644
--- a/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterManagerTest.kt
+++ b/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterManagerTest.kt
@@ -38,6 +38,7 @@
 import android.safetycenter.SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED
 import android.safetycenter.SafetySourceErrorDetails
 import android.safetycenter.SafetySourceIssue
+import android.safetycenter.SafetySourceIssue.ISSUE_CATEGORY_DEVICE
 import android.safetycenter.SafetySourceStatus
 import android.safetycenter.config.SafetyCenterConfig
 import android.safetycenter.config.SafetySource
@@ -118,6 +119,7 @@
                         SafetySourceIssue.Action.Builder(
                                 "critical_action_id", "Solve issue", somePendingIntent)
                             .build())
+                    .setIssueCategory(ISSUE_CATEGORY_DEVICE)
                     .build())
             .build()
     private val listener =
diff --git a/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterUnsupportedTest.kt b/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterUnsupportedTest.kt
index d8f7e39..542dc14 100644
--- a/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterUnsupportedTest.kt
+++ b/tests/cts/safetycenter/src/android/safetycenter/cts/SafetyCenterUnsupportedTest.kt
@@ -19,13 +19,12 @@
 import android.content.Context
 import android.content.Intent
 import android.content.Intent.ACTION_SAFETY_CENTER
-import android.content.pm.PackageManager.FEATURE_AUTOMOTIVE
-import android.content.pm.PackageManager.FEATURE_LEANBACK
 import android.os.Build.VERSION_CODES.TIRAMISU
 import android.safetycenter.SafetyCenterManager
 import android.safetycenter.cts.testing.SafetyCenterApisWithShellPermissions.isSafetyCenterEnabledWithPermission
 import android.safetycenter.cts.testing.SafetyCenterFlags
 import android.safetycenter.cts.testing.SafetyCenterFlags.deviceSupportsSafetyCenter
+import android.safetycenter.cts.testing.SettingsPackage.getSettingsPackageName
 import android.support.test.uiautomator.By
 import androidx.test.core.app.ApplicationProvider.getApplicationContext
 import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -50,14 +49,10 @@
     }
 
     @Test
-    fun launchActivity_showsSecurityTitle() {
-        // TODO(b/232284056): Check if we can remove these test restrictions
-        assumeFalse(packageManager.hasSystemFeature(FEATURE_AUTOMOTIVE))
-        assumeFalse(packageManager.hasSystemFeature(FEATURE_LEANBACK))
-
+    fun launchActivity_opensSettings() {
         startSafetyCenterActivity()
 
-        waitFindObject(By.text("Settings"))
+        waitFindObject(By.pkg(context.getSettingsPackageName()))
     }
 
     @Test
diff --git a/tests/cts/safetycenter/src/android/safetycenter/cts/SafetySourceIssueTest.kt b/tests/cts/safetycenter/src/android/safetycenter/cts/SafetySourceIssueTest.kt
index 5f26cb9..328a96f 100644
--- a/tests/cts/safetycenter/src/android/safetycenter/cts/SafetySourceIssueTest.kt
+++ b/tests/cts/safetycenter/src/android/safetycenter/cts/SafetySourceIssueTest.kt
@@ -633,7 +633,7 @@
                 SafetySourceIssue.Builder(
                         "Issue id",
                         "Issue title",
-                        "Other issue summary",
+                        "Different issue summary",
                         SEVERITY_LEVEL_INFORMATION,
                         "issue_type_id")
                     .addAction(action1)
diff --git a/tests/cts/safetycenter/src/android/safetycenter/cts/testing/EqualsHashCodeToStringTester.kt b/tests/cts/safetycenter/src/android/safetycenter/cts/testing/EqualsHashCodeToStringTester.kt
index 487109b..0b32f2a 100644
--- a/tests/cts/safetycenter/src/android/safetycenter/cts/testing/EqualsHashCodeToStringTester.kt
+++ b/tests/cts/safetycenter/src/android/safetycenter/cts/testing/EqualsHashCodeToStringTester.kt
@@ -33,14 +33,22 @@
     private val hashCodeTester = EquivalenceTester.of(HASH_CODE_EQUIVALENCE)
 
     fun addEqualityGroup(vararg groups: Any): EqualsHashCodeToStringTester {
-        equalsTester.addEqualityGroup(groups)
-        toStringTester.addEquivalenceGroup(groups)
+        equalsTester.addEqualityGroup(*groups)
+        toStringTester.addEquivalenceGroupAsArray(groups)
         if (!hashCodeCanCollide) {
-            hashCodeTester.addEquivalenceGroup(groups)
+            hashCodeTester.addEquivalenceGroupAsArray(groups)
         }
         return this
     }
 
+    private fun EquivalenceTester<Any>.addEquivalenceGroupAsArray(input: Array<out Any>) {
+        when (val size = input.size) {
+            0 -> return
+            1 -> addEquivalenceGroup(input[0])
+            else -> addEquivalenceGroup(input[0], *input.copyOfRange(1, size))
+        }
+    }
+
     fun test() {
         equalsTester.testEquals()
         toStringTester.test()
diff --git a/tests/cts/safetycenter/src/android/safetycenter/cts/testing/SettingsPackage.kt b/tests/cts/safetycenter/src/android/safetycenter/cts/testing/SettingsPackage.kt
new file mode 100644
index 0000000..03c6d90
--- /dev/null
+++ b/tests/cts/safetycenter/src/android/safetycenter/cts/testing/SettingsPackage.kt
@@ -0,0 +1,37 @@
+/*
+ * 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 android.safetycenter.cts.testing
+
+import android.content.Context
+import android.content.Intent
+import android.content.pm.PackageManager
+import android.provider.Settings
+
+/** A class that knows the Settings app package name. */
+object SettingsPackage {
+
+    /** Returns the Settings app package name. */
+    fun Context.getSettingsPackageName() =
+            packageManager
+                    .resolveActivity(
+                            Intent(Settings.ACTION_SETTINGS),
+                            PackageManager.MATCH_DEFAULT_ONLY or
+                                    PackageManager.MATCH_DIRECT_BOOT_AWARE or
+                                    PackageManager.MATCH_DIRECT_BOOT_UNAWARE)!!
+                    .activityInfo
+                    .packageName
+}