From 98690197e66e999c94a4a306f1a91a063c102428 Mon Sep 17 00:00:00 2001 From: cosmohsieh Date: Thu, 5 Sep 2019 13:09:37 +0800 Subject: [PATCH 1/7] [Network Connection] Call NetworkRequestUserSelectionCallback#reject() if user quit activity without selection Call NetworkRequestUserSelectionCallback#reject() to notify framework that user quit this request without selecting any network. Bug: 138855477 Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.NetworkRequestErrorDialogFragmentTest Change-Id: I4b06c9772598ab3f9416f32456cd0a65e2d70d68 Merged-In: I4b06c9772598ab3f9416f32456cd0a65e2d70d68 --- .../wifi/NetworkRequestDialogFragment.java | 1 + .../NetworkRequestErrorDialogFragment.java | 26 ++++++++++++++++--- ...NetworkRequestErrorDialogFragmentTest.java | 22 ++++++++++++++++ 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/wifi/NetworkRequestDialogFragment.java b/src/com/android/settings/wifi/NetworkRequestDialogFragment.java index eb7d78fd789..4762403f4db 100644 --- a/src/com/android/settings/wifi/NetworkRequestDialogFragment.java +++ b/src/com/android/settings/wifi/NetworkRequestDialogFragment.java @@ -340,6 +340,7 @@ public class NetworkRequestDialogFragment extends InstrumentedDialogFragment imp // Throws error dialog. final NetworkRequestErrorDialogFragment fragment = NetworkRequestErrorDialogFragment .newInstance(); + fragment.setRejectCallback(mUserSelectionCallback); final Bundle bundle = new Bundle(); bundle.putSerializable(NetworkRequestErrorDialogFragment.DIALOG_TYPE, type); fragment.setArguments(bundle); diff --git a/src/com/android/settings/wifi/NetworkRequestErrorDialogFragment.java b/src/com/android/settings/wifi/NetworkRequestErrorDialogFragment.java index 261d3131e49..98194743bb6 100644 --- a/src/com/android/settings/wifi/NetworkRequestErrorDialogFragment.java +++ b/src/com/android/settings/wifi/NetworkRequestErrorDialogFragment.java @@ -20,8 +20,10 @@ import android.app.Dialog; import android.app.settings.SettingsEnums; import android.content.DialogInterface; import android.os.Bundle; +import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import com.android.settings.R; @@ -36,6 +38,8 @@ public class NetworkRequestErrorDialogFragment extends InstrumentedDialogFragmen public static final String DIALOG_TYPE = "DIALOG_ERROR_TYPE"; public enum ERROR_DIALOG_TYPE {TIME_OUT, ABORT} + @Nullable + private NetworkRequestUserSelectionCallback mRejectCallback; public static NetworkRequestErrorDialogFragment newInstance() { return new NetworkRequestErrorDialogFragment(); @@ -49,7 +53,7 @@ public class NetworkRequestErrorDialogFragment extends InstrumentedDialogFragmen public void onCancel(@NonNull DialogInterface dialog) { super.onCancel(dialog); // Wants to finish the activity when user clicks back key or outside of the dialog. - getActivity().finish(); + rejectNetworkRequestAndFinish(); } @Override @@ -65,10 +69,12 @@ public class NetworkRequestErrorDialogFragment extends InstrumentedDialogFragmen builder.setMessage(R.string.network_connection_timeout_dialog_message) .setPositiveButton(R.string.network_connection_timeout_dialog_ok, (dialog, which) -> startScanningDialog()) - .setNegativeButton(R.string.cancel, (dialog, which) -> getActivity().finish()); + .setNegativeButton(R.string.cancel, + (dialog, which) -> rejectNetworkRequestAndFinish()); } else { builder.setMessage(R.string.network_connection_errorstate_dialog_message) - .setPositiveButton(R.string.okay, (dialog, which) -> getActivity().finish()); + .setPositiveButton(R.string.okay, + (dialog, which) -> rejectNetworkRequestAndFinish()); } return builder.create(); } @@ -78,9 +84,23 @@ public class NetworkRequestErrorDialogFragment extends InstrumentedDialogFragmen return SettingsEnums.WIFI_SCANNING_NEEDED_DIALOG; } + // Sets the callback for fragment to reject this request. + public void setRejectCallback(NetworkRequestUserSelectionCallback rejectCallback) { + mRejectCallback = rejectCallback; + } + protected void startScanningDialog() { final NetworkRequestDialogFragment fragment = NetworkRequestDialogFragment.newInstance(); fragment.show(getActivity().getSupportFragmentManager(), NetworkRequestErrorDialogFragment.class.getSimpleName()); } + + private void rejectNetworkRequestAndFinish() { + if (getActivity() != null) { + if (mRejectCallback != null) { + mRejectCallback.reject(); + } + getActivity().finish(); + } + } } diff --git a/tests/robotests/src/com/android/settings/wifi/NetworkRequestErrorDialogFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/NetworkRequestErrorDialogFragmentTest.java index 303f6af6721..c7b1a89d57f 100644 --- a/tests/robotests/src/com/android/settings/wifi/NetworkRequestErrorDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/wifi/NetworkRequestErrorDialogFragmentTest.java @@ -18,11 +18,13 @@ package com.android.settings.wifi; import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.internal.verification.VerificationModeFactory.times; import android.content.DialogInterface; +import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback; import android.os.Bundle; import android.widget.Button; @@ -32,6 +34,8 @@ import androidx.fragment.app.FragmentActivity; import com.android.settings.R; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE; +import com.android.settingslib.wifi.WifiTracker; +import com.android.settingslib.wifi.WifiTrackerFactory; import org.junit.Before; import org.junit.Test; @@ -47,12 +51,17 @@ public class NetworkRequestErrorDialogFragmentTest { private FragmentActivity mActivity; private NetworkRequestErrorDialogFragment mFragment; + private WifiTracker mWifiTracker; @Before public void setUp() { mActivity = Robolectric.setupActivity(FragmentActivity.class); mFragment = spy(NetworkRequestErrorDialogFragment.newInstance()); mFragment.show(mActivity.getSupportFragmentManager(), null); + + // Prevents NPE when calling up NetworkRequestDialogFragment. + mWifiTracker = mock(WifiTracker.class); + WifiTrackerFactory.setTestingWifiTracker(mWifiTracker); } @Test @@ -111,4 +120,17 @@ public class NetworkRequestErrorDialogFragmentTest { negativeButton.performClick(); assertThat(alertDialog.isShowing()).isFalse(); } + + @Test + public void clickNegativeButton_shouldCallReject() { + final NetworkRequestUserSelectionCallback rejectCallback = + mock(NetworkRequestUserSelectionCallback.class); + mFragment.setRejectCallback(rejectCallback); + + final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog(); + final Button negativeButton = alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE); + negativeButton.performClick(); + + verify(rejectCallback, times(1)).reject(); + } } From 31a79feccda7792402f77b9cf8bd9c394e9b9f19 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Thu, 5 Sep 2019 14:56:56 +0800 Subject: [PATCH 2/7] [Wi-Fi] Can't change EAP method for a saved enterprise Wi-Fi network Should only allow saved network UI initialization for once. Bug: 140362368 Test: WifiConfigControllerTest manual: Manually change EAP method and other security fields for a saved Wi-Fi neterprise network. Change-Id: Iddc1dae53849760f43b41b75262358dff6ba09af Merged-In: Iddc1dae53849760f43b41b75262358dff6ba09af --- .../settings/wifi/WifiConfigController.java | 4 +++- .../wifi/WifiConfigControllerTest.java | 20 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index 8e0da6b1181..12d5a9082ad 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -987,7 +987,9 @@ public class WifiConfigController implements TextWatcher, } mView.findViewById(R.id.eap).setVisibility(View.VISIBLE); + boolean initiateEnterpriseNetworkUi = false; if (mEapMethodSpinner == null) { + initiateEnterpriseNetworkUi = true; mEapMethodSpinner = (Spinner) mView.findViewById(R.id.method); mEapMethodSpinner.setOnItemSelectedListener(this); mPhase2Spinner = (Spinner) mView.findViewById(R.id.phase2); @@ -1045,7 +1047,7 @@ public class WifiConfigController implements TextWatcher, } // Modifying an existing network - if (mAccessPoint != null && mAccessPoint.isSaved()) { + if (initiateEnterpriseNetworkUi && mAccessPoint != null && mAccessPoint.isSaved()) { final WifiEnterpriseConfig enterpriseConfig = mAccessPoint.getConfig().enterpriseConfig; final int eapMethod = enterpriseConfig.getEapMethod(); final int phase2Method = enterpriseConfig.getPhase2Method(); diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java index dd7ecde0063..669a2e68436 100644 --- a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java +++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java @@ -28,6 +28,8 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.net.wifi.WifiConfiguration; +import android.net.wifi.WifiEnterpriseConfig; +import android.net.wifi.WifiEnterpriseConfig.Eap; import android.net.wifi.WifiManager; import android.os.ServiceSpecificException; import android.security.KeyStore; @@ -469,4 +471,22 @@ public class WifiConfigControllerTest { final int selectedItemPosition = eapMethodSpinner.getSelectedItemPosition(); assertThat(eapMethodSpinner.getSelectedItem().toString()).isEqualTo("TLS"); } + + @Test + public void selectEapMethod_savedAccessPoint_shouldGetCorrectPosition() { + when(mAccessPoint.isSaved()).thenReturn(true); + when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_EAP); + final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class); + final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class); + when(mockWifiEnterpriseConfig.getEapMethod()).thenReturn(Eap.PEAP); + mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig ; + when(mAccessPoint.getConfig()).thenReturn(mockWifiConfig); + mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint, + WifiConfigUiBase.MODE_MODIFY); + final Spinner eapMethodSpinner = mView.findViewById(R.id.method); + + eapMethodSpinner.setSelection(Eap.TLS); + + assertThat(eapMethodSpinner.getSelectedItemPosition()).isEqualTo(Eap.TLS); + } } From 8173de150d7f46cdd515693516f0bf365a6a0281 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Wed, 11 Sep 2019 19:10:50 -0700 Subject: [PATCH 3/7] Import translations. DO NOT MERGE Auto-generated-cl: translation import Bug: 64712476 Change-Id: I60bd87b13925d699bc7db9f6f215321ff20eea44 --- res/values-eu/strings.xml | 2 +- res/values-in/strings.xml | 16 ++++++++-------- res/values-pl/strings.xml | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 697ebb2a106..f5264484357 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -871,7 +871,7 @@ "Ez dago erabilgarri, Wifi-sareen bilaketa desaktibatuta dagoelako" "Erabiltzeko, hautatu sareen balorazioen hornitzaile bat" "Saihestu konexio ahulak" - "Ez erabili Wi-Fi sareak ez badute Interneteko konexio onik" + "Ez erabili wifi-sareak ez badute Interneteko konexio onik" "Erabili Interneteko konexio ona duten sareak soilik" "Konektatu sare irekietara" "Konektatu automatikoki kalitate handiko sare publikoetara" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index 286a90a1830..8e518526dac 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -572,7 +572,7 @@ "Cegah orang lain menggunakan perangkat ini tanpa izin Anda dengan mengaktifkan fitur perlindungan perangkat. Pilih kunci layar yang ingin Anda gunakan." "Cegah orang lain menggunakan ponsel ini tanpa izin Anda dengan mengaktifkan fitur perlindungan perangkat. Pilih kunci layar yang ingin Anda gunakan." "Pilih metode kunci layar cadangan" - "Pilih metode kunci layar backup" + "Pilih metode kunci layar cadangan" "Opsi kunci layar" "Opsi kunci layar" "Kunci layar" @@ -603,7 +603,7 @@ "Face unlock + PIN" "Face unlock + Sandi" "Lanjutkan tanpa face unlock" - "Anda dapat membuka kunci ponsel menggunakan wajah. Demi keamanan, opsi ini memerlukan kunci layar backup." + "Anda dapat membuka kunci ponsel menggunakan wajah. Demi keamanan, opsi ini memerlukan kunci layar cadangan." "Dinonaktifkan oleh admin, kebijakan enkripsi, atau penyimpanan kredensial" "Tidak ada" "Geser" @@ -1528,7 +1528,7 @@ "Penyimpanan portabel" "Siapkan nanti" "Format ^1 ini?" - "^1 perlu diformat untuk menyimpan aplikasi, file, dan media. \n\nMemformat akan menghapus konten yang ada di ^2. Agar konten tidak hilang, backup ke ^3 atau perangkat lain." + "^1 perlu diformat untuk menyimpan aplikasi, file, dan media. \n\nMemformat akan menghapus konten yang ada di ^2. Agar konten tidak hilang, cadangkan ke ^3 atau perangkat lain." "Format ^1" "Pindahkan konten ke ^1?" "Anda dapat memindahkan file, media, dan aplikasi tertentu ke ^1 ini. \n\nPemindahan ini akan mengosongkan ^2 dari penyimpanan tablet dan memerlukan waktu sekitar ^3." @@ -2603,12 +2603,12 @@ "Data pribadi" "Cadangkan data saya" "Mencadangkan data aplikasi, sandi Wi-Fi, dan setelan lainnya ke server Google" - "Akun backup" - "Kelola akun backup" + "Akun cadangan" + "Kelola akun cadangan" "Sertakan data aplikasi" "Pemulihan otomatis" - "Pulihkan backup setelan dan data saat menginstal ulang aplikasi" - "Layanan backup tidak aktif" + "Pulihkan cadangan setelan dan data saat menginstal ulang aplikasi" + "Layanan pencadangan tidak aktif" "Saat ini, tidak ada akun yang menyimpan data cadangan" "Berhenti mencadangkan sandi Wi-Fi, bookmark, setelan lainnya, dan data aplikasi, serta menghapus semua salinan di server Google?" @@ -3103,7 +3103,7 @@ "Akun" "Tidak ada akun yang ditambahkan" "Aplikasi default" - "Bahasa, gestur, waktu, backup" + "Bahasa, gestur, waktu, pencadangan" "Setelan" "wifi, wi-fi, sambungan jaringan, internet, nirkabel, data, wi fi" "Notifikasi Wi‑Fi, notifikasi wi‑fi" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 3501a341b1d..3a9a0e05c4b 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -2110,14 +2110,14 @@ "Czas użycia" "Ułatwienia dostępu" "Ustawienia ułatwień dostępu" - "Czytniki, wyświetlacz, sterowanie interakcjami" + "Czytniki, wyświetlacz, zarządzanie interakcjami" "Dla niedowidzących" "Możesz dostosować urządzenie do swoich potrzeb. Ułatwienia dostępu możesz zawsze zmienić w Ustawieniach." "Zmień rozmiar czcionki" "Czytniki ekranu" "Dźwięk i tekst na ekranie" "Wyświetlacz" - "Sterowanie interakcjami" + "Zarządzanie interakcjami" "Pobrane usługi" "Eksperymentalne" "Flagi funkcji" From deee385ba8c9777fdab5294c6c1599d60f678918 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Wed, 11 Sep 2019 19:26:07 -0700 Subject: [PATCH 4/7] Import translations. DO NOT MERGE Auto-generated-cl: translation import Bug: 64712476 Change-Id: I1b2826dd790519a2946d8505aec03f72b1815f04 --- res/values-eu/strings.xml | 2 +- res/values-in/strings.xml | 16 ++++++++-------- res/values-pl/strings.xml | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 697ebb2a106..f5264484357 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -871,7 +871,7 @@ "Ez dago erabilgarri, Wifi-sareen bilaketa desaktibatuta dagoelako" "Erabiltzeko, hautatu sareen balorazioen hornitzaile bat" "Saihestu konexio ahulak" - "Ez erabili Wi-Fi sareak ez badute Interneteko konexio onik" + "Ez erabili wifi-sareak ez badute Interneteko konexio onik" "Erabili Interneteko konexio ona duten sareak soilik" "Konektatu sare irekietara" "Konektatu automatikoki kalitate handiko sare publikoetara" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index 286a90a1830..8e518526dac 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -572,7 +572,7 @@ "Cegah orang lain menggunakan perangkat ini tanpa izin Anda dengan mengaktifkan fitur perlindungan perangkat. Pilih kunci layar yang ingin Anda gunakan." "Cegah orang lain menggunakan ponsel ini tanpa izin Anda dengan mengaktifkan fitur perlindungan perangkat. Pilih kunci layar yang ingin Anda gunakan." "Pilih metode kunci layar cadangan" - "Pilih metode kunci layar backup" + "Pilih metode kunci layar cadangan" "Opsi kunci layar" "Opsi kunci layar" "Kunci layar" @@ -603,7 +603,7 @@ "Face unlock + PIN" "Face unlock + Sandi" "Lanjutkan tanpa face unlock" - "Anda dapat membuka kunci ponsel menggunakan wajah. Demi keamanan, opsi ini memerlukan kunci layar backup." + "Anda dapat membuka kunci ponsel menggunakan wajah. Demi keamanan, opsi ini memerlukan kunci layar cadangan." "Dinonaktifkan oleh admin, kebijakan enkripsi, atau penyimpanan kredensial" "Tidak ada" "Geser" @@ -1528,7 +1528,7 @@ "Penyimpanan portabel" "Siapkan nanti" "Format ^1 ini?" - "^1 perlu diformat untuk menyimpan aplikasi, file, dan media. \n\nMemformat akan menghapus konten yang ada di ^2. Agar konten tidak hilang, backup ke ^3 atau perangkat lain." + "^1 perlu diformat untuk menyimpan aplikasi, file, dan media. \n\nMemformat akan menghapus konten yang ada di ^2. Agar konten tidak hilang, cadangkan ke ^3 atau perangkat lain." "Format ^1" "Pindahkan konten ke ^1?" "Anda dapat memindahkan file, media, dan aplikasi tertentu ke ^1 ini. \n\nPemindahan ini akan mengosongkan ^2 dari penyimpanan tablet dan memerlukan waktu sekitar ^3." @@ -2603,12 +2603,12 @@ "Data pribadi" "Cadangkan data saya" "Mencadangkan data aplikasi, sandi Wi-Fi, dan setelan lainnya ke server Google" - "Akun backup" - "Kelola akun backup" + "Akun cadangan" + "Kelola akun cadangan" "Sertakan data aplikasi" "Pemulihan otomatis" - "Pulihkan backup setelan dan data saat menginstal ulang aplikasi" - "Layanan backup tidak aktif" + "Pulihkan cadangan setelan dan data saat menginstal ulang aplikasi" + "Layanan pencadangan tidak aktif" "Saat ini, tidak ada akun yang menyimpan data cadangan" "Berhenti mencadangkan sandi Wi-Fi, bookmark, setelan lainnya, dan data aplikasi, serta menghapus semua salinan di server Google?" @@ -3103,7 +3103,7 @@ "Akun" "Tidak ada akun yang ditambahkan" "Aplikasi default" - "Bahasa, gestur, waktu, backup" + "Bahasa, gestur, waktu, pencadangan" "Setelan" "wifi, wi-fi, sambungan jaringan, internet, nirkabel, data, wi fi" "Notifikasi Wi‑Fi, notifikasi wi‑fi" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 3501a341b1d..3a9a0e05c4b 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -2110,14 +2110,14 @@ "Czas użycia" "Ułatwienia dostępu" "Ustawienia ułatwień dostępu" - "Czytniki, wyświetlacz, sterowanie interakcjami" + "Czytniki, wyświetlacz, zarządzanie interakcjami" "Dla niedowidzących" "Możesz dostosować urządzenie do swoich potrzeb. Ułatwienia dostępu możesz zawsze zmienić w Ustawieniach." "Zmień rozmiar czcionki" "Czytniki ekranu" "Dźwięk i tekst na ekranie" "Wyświetlacz" - "Sterowanie interakcjami" + "Zarządzanie interakcjami" "Pobrane usługi" "Eksperymentalne" "Flagi funkcji" From 86dfbd6254240963d2cfd43769cb372c436c82cd Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Thu, 12 Sep 2019 15:54:53 -0700 Subject: [PATCH 5/7] Import translations. DO NOT MERGE Change-Id: I1cf797286a22443416d4b401e38f8923bb4edd43 Auto-generated-cl: translation import --- res/values-gl/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 7febea83378..f5ca5f3753c 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -3361,8 +3361,8 @@ "Notificacións automáticas" "Prioridade das notificacións automáticas" "Define automaticamente como discretas as notificacións con prioridade baixa" - "Suxestións de accións e respostas" - "Mostra automaticamente suxestións de accións e respostas" + "Accións suxeridas e respostas" + "Mostra automaticamente accións suxeridas e respostas" "Permitir adiar notificacións" "Ocultar iconas das notificacións discretas" "As iconas das notificacións discretas non se mostran na barra de estado" From f0667978494c87614f8218cd61d5a3ca658217a8 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Thu, 12 Sep 2019 16:10:45 -0700 Subject: [PATCH 6/7] Import translations. DO NOT MERGE Change-Id: I27cfc6c9ffa9def49d83eea920b88a5ce762fb53 Auto-generated-cl: translation import --- res/values-gl/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 7febea83378..f5ca5f3753c 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -3361,8 +3361,8 @@ "Notificacións automáticas" "Prioridade das notificacións automáticas" "Define automaticamente como discretas as notificacións con prioridade baixa" - "Suxestións de accións e respostas" - "Mostra automaticamente suxestións de accións e respostas" + "Accións suxeridas e respostas" + "Mostra automaticamente accións suxeridas e respostas" "Permitir adiar notificacións" "Ocultar iconas das notificacións discretas" "As iconas das notificacións discretas non se mostran na barra de estado" From a95459c6409e00565574f5d8363d78ea83d5c700 Mon Sep 17 00:00:00 2001 From: Ilya Matyukhin Date: Wed, 11 Sep 2019 13:58:12 -0700 Subject: [PATCH 7/7] Fix "skip lock screen" not working for a secondary user Bug: 140878309 Test: "Skip lock screen" is no longer grayed-out for a secondary user Change-Id: I3aab6582bee07760b671034b0971c98b1c946a1c --- ...eSettingsLockscreenBypassPreferenceController.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java index 15fab260dc9..e717cb2008b 100644 --- a/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java +++ b/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java @@ -47,10 +47,10 @@ public class FaceSettingsLockscreenBypassPreferenceController @Override public boolean isChecked() { - boolean defaultValue = mContext.getResources().getBoolean( - com.android.internal.R.bool.config_faceAuthDismissesKeyguard); - return Settings.Secure.getInt(mContext.getContentResolver(), - Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, defaultValue ? 1 : 0) != 0; + int defaultValue = mContext.getResources().getBoolean( + com.android.internal.R.bool.config_faceAuthDismissesKeyguard) ? 1 : 0; + return Settings.Secure.getIntForUser(mContext.getContentResolver(), + Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD, defaultValue, getUserId()) != 0; } @Override @@ -81,7 +81,8 @@ public class FaceSettingsLockscreenBypassPreferenceController } if (mFaceManager != null && mFaceManager.isHardwareDetected()) { - return mFaceManager.hasEnrolledTemplates() ? AVAILABLE : DISABLED_DEPENDENT_SETTING; + return mFaceManager.hasEnrolledTemplates(getUserId()) + ? AVAILABLE : DISABLED_DEPENDENT_SETTING; } else { return UNSUPPORTED_ON_DEVICE; }