Merge "Create "Change PIN" settings UI" into main

This commit is contained in:
Zhou Liu
2025-01-31 14:13:12 -08:00
committed by Android (Google) Code Review
4 changed files with 77 additions and 0 deletions

View File

@@ -14110,4 +14110,6 @@
<string name="supervision_pin_management_preference_title">Manage PIN</string> <string name="supervision_pin_management_preference_title">Manage PIN</string>
<!-- Description for supervision PIN management settings entry, in the case of adding a PIN [CHAR LIMIT=NONE] --> <!-- Description for supervision PIN management settings entry, in the case of adding a PIN [CHAR LIMIT=NONE] -->
<string name="supervision_pin_management_preference_summary_add">Add a PIN recovery method</string> <string name="supervision_pin_management_preference_summary_add">Add a PIN recovery method</string>
<!-- Title for supervision change PIN setting entry [CHAR LIMIT=60] -->
<string name="supervision_change_pin_preference_title">Change PIN</string>
</resources> </resources>

View File

@@ -0,0 +1,38 @@
/*
* Copyright (C) 2025 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.settings.supervision
import android.content.Context
import android.content.Intent
import com.android.settings.R
import com.android.settingslib.metadata.PreferenceMetadata
/**
* Setting on PIN Management screen (Settings > Supervision > Manage Pin) that invokes the flow to
* update the existing device supervision PIN.
*/
class SupervisionChangePinPreference : PreferenceMetadata {
override val key: String
get() = "supervision_change_pin"
override val title: Int
get() = R.string.supervision_change_pin_preference_title
override fun intent(context: Context): Intent? {
// TODO(b/393450922): implement handling of change pin intent.
return super.intent(context)
}
}

View File

@@ -43,6 +43,7 @@ class SupervisionPinManagementScreen : PreferenceScreenCreator {
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) =
preferenceHierarchy(context, this) { preferenceHierarchy(context, this) {
// TODO(b/391992481) implement the screen. // TODO(b/391992481) implement the screen.
+SupervisionChangePinPreference()
} }
companion object { companion object {

View File

@@ -0,0 +1,36 @@
/*
* Copyright (C) 2025 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.settings.supervision
import android.content.Context
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.google.common.truth.Truth.assertThat
import org.junit.Test
import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
class SupervisionChangePinPreferenceTest {
private val context: Context = ApplicationProvider.getApplicationContext()
private val supervisionChangePinPreference = SupervisionChangePinPreference()
@Test
fun getTitle() {
assertThat(supervisionChangePinPreference.getPreferenceTitle(context))
.isEqualTo("Change PIN")
}
}