Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cfa73935 authored by Charlotte Lu's avatar Charlotte Lu
Browse files

Add SettingsTextFieldPassword.

Fix: 298906796
Test: Visual
Change-Id: I7dc8c641f93df96a28a57a6f6082abe264680298
parent 5872a8f5
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import com.android.settingslib.spa.framework.compose.stateOf
import com.android.settingslib.spa.widget.editor.SettingsExposedDropdownMenuBox
import com.android.settingslib.spa.widget.editor.SettingsExposedDropdownMenuCheckBox
import com.android.settingslib.spa.widget.editor.SettingsOutlinedTextField
import com.android.settingslib.spa.widget.editor.SettingsTextFieldPassword
import com.android.settingslib.spa.widget.preference.SwitchPreference
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
import com.android.settingslib.spa.widget.scaffold.RegularScaffold
@@ -123,7 +124,10 @@ fun ApnPage(apnDataCur: MutableState<ApnData>) {
                stringResource(R.string.apn_user),
                enabled = apnData.userNameEnabled
            ) { apnData = apnData.copy(userName = it) }
            // TODO: password
            SettingsTextFieldPassword(
                apnData.passWord,
                stringResource(R.string.apn_password)
            ) { apnData = apnData.copy(passWord = it) }
            SettingsOutlinedTextField(
                apnData.server,
                stringResource(R.string.apn_server),
+8 −0
Original line number Diff line number Diff line
@@ -71,6 +71,14 @@ data class ApnData(
    var mvnoValueEnabled = false
}

/**
 * Initialize the selected Bearer Selected Options according to bearer.
 * @param bearer Initialized bearer options.
 * @param bearerBitmask Initialized bearer bitmask, often multiple bearer options may be included.
 * @param context The context to get bearerValues.
 *
 * @return An error message if the apn data is invalid, otherwise return null.
 */
fun getBearerSelectedOptionsState(
    bearer: Int,
    bearerBitmask: Int,
+13 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ class ApnEditPageProviderTest {
        context.resources.getStringArray(R.array.apn_protocol_entries).toList()
    private val bearer = context.resources.getString(R.string.bearer)
    private val bearerOptions = context.resources.getStringArray(R.array.bearer_entries).toList()
    private val passwordTitle = context.resources.getString(R.string.apn_password)
    private val apnData = mutableStateOf(
        ApnData(
            name = apnName,
@@ -241,4 +242,16 @@ class ApnEditPageProviderTest {
        composeTestRule.onNode(hasText(bearerOptions[0]) and isFocused(), true).assertIsDisplayed()
        composeTestRule.onNode(hasText(bearerOptions[1]) and isFocused(), true).assertDoesNotExist()
    }

    @Test
    fun password_displayed() {
        composeTestRule.setContent {
            ApnPage(remember {
                apnData
            })
        }
        composeTestRule.onRoot().onChild().onChildAt(0)
            .performScrollToNode(hasText(passwordTitle, true))
        composeTestRule.onNodeWithText(passwordTitle, true).assertIsDisplayed()
    }
}
 No newline at end of file