From c9dfa59d7c4dcc588caaed4f2d09e4ecd11f2455 Mon Sep 17 00:00:00 2001 From: Pyuli Naithani Date: Sat, 3 Jul 2021 00:14:04 +0000 Subject: [PATCH 01/11] Add stats log for sensor privacy. Test: statsd_testdrive 381 BUG: 192269258 Change-Id: I69e766b789b4b4a6ca0ad26b3a312baca3dbccd2 --- ...eSleepCameraStatePreferenceController.java | 3 +- .../SmartAutoRotateCameraStateController.java | 3 +- .../privacy/SensorToggleController.java | 4 +- .../utils/SensorPrivacyManagerHelper.java | 10 +++-- .../privacy/SensorToggleControllerTest.java | 38 ++++++++++--------- 5 files changed, 33 insertions(+), 25 deletions(-) diff --git a/src/com/android/settings/display/AdaptiveSleepCameraStatePreferenceController.java b/src/com/android/settings/display/AdaptiveSleepCameraStatePreferenceController.java index 20080ce972f..4963e2fc947 100644 --- a/src/com/android/settings/display/AdaptiveSleepCameraStatePreferenceController.java +++ b/src/com/android/settings/display/AdaptiveSleepCameraStatePreferenceController.java @@ -17,6 +17,7 @@ package com.android.settings.display; import static android.hardware.SensorPrivacyManager.Sensors.CAMERA; +import static android.hardware.SensorPrivacyManager.Sources.DIALOG; import android.content.Context; import android.hardware.SensorPrivacyManager; @@ -77,7 +78,7 @@ public class AdaptiveSleepCameraStatePreferenceController { mPreference.setSummary(R.string.adaptive_sleep_camera_lock_summary); mPreference.setPositiveButtonText(R.string.allow); mPreference.setPositiveButtonOnClickListener( - p -> mPrivacyManager.setSensorPrivacy(CAMERA, false)); + p -> mPrivacyManager.setSensorPrivacy(DIALOG, CAMERA, false)); } } } diff --git a/src/com/android/settings/display/SmartAutoRotateCameraStateController.java b/src/com/android/settings/display/SmartAutoRotateCameraStateController.java index a17a903532e..dcb225d6e97 100644 --- a/src/com/android/settings/display/SmartAutoRotateCameraStateController.java +++ b/src/com/android/settings/display/SmartAutoRotateCameraStateController.java @@ -17,6 +17,7 @@ package com.android.settings.display; import static android.hardware.SensorPrivacyManager.Sensors.CAMERA; +import static android.hardware.SensorPrivacyManager.Sources.DIALOG; import static com.android.settings.display.SmartAutoRotateController.isRotationResolverServiceAvailable; @@ -63,7 +64,7 @@ public class SmartAutoRotateCameraStateController extends BasePreferenceControll ((BannerMessagePreference) mPreference) .setPositiveButtonText(R.string.allow) .setPositiveButtonOnClickListener(v -> { - mPrivacyManager.setSensorPrivacy(CAMERA, false); + mPrivacyManager.setSensorPrivacy(DIALOG, CAMERA, false); }); } diff --git a/src/com/android/settings/privacy/SensorToggleController.java b/src/com/android/settings/privacy/SensorToggleController.java index 9e8aca2de2d..60f19d17128 100644 --- a/src/com/android/settings/privacy/SensorToggleController.java +++ b/src/com/android/settings/privacy/SensorToggleController.java @@ -16,6 +16,8 @@ package com.android.settings.privacy; +import static android.hardware.SensorPrivacyManager.Sources.SETTINGS; + import android.content.Context; import androidx.preference.PreferenceScreen; @@ -51,7 +53,7 @@ public abstract class SensorToggleController extends TogglePreferenceController @Override public boolean setChecked(boolean isChecked) { - mSensorPrivacyManagerHelper.setSensorBlocked(getSensor(), !isChecked); + mSensorPrivacyManagerHelper.setSensorBlocked(SETTINGS, getSensor(), !isChecked); return true; } diff --git a/src/com/android/settings/utils/SensorPrivacyManagerHelper.java b/src/com/android/settings/utils/SensorPrivacyManagerHelper.java index 13a987d73d4..8872f699478 100644 --- a/src/com/android/settings/utils/SensorPrivacyManagerHelper.java +++ b/src/com/android/settings/utils/SensorPrivacyManagerHelper.java @@ -153,21 +153,23 @@ public class SensorPrivacyManagerHelper { /** * Sets the sensor privacy for the current user. + * @param source The source with which sensor privacy is toggled. * @param sensor The sensor to set for * @param blocked The state to set to */ - public void setSensorBlocked(int sensor, boolean blocked) { - mSensorPrivacyManager.setSensorPrivacy(sensor, blocked); + public void setSensorBlocked(int source, int sensor, boolean blocked) { + mSensorPrivacyManager.setSensorPrivacy(source, sensor, blocked); } /** * Sets the sensor privacy for the given user. + * @param source The source with which sensor privacy is toggled. * @param sensor The sensor to set for * @param blocked The state to set to * @param userId The user to set for */ - public void setSensorBlocked(int sensor, boolean blocked, int userId) { - mSensorPrivacyManager.setSensorPrivacy(sensor, blocked, userId); + public void setSensorBlocked(int source, int sensor, boolean blocked, int userId) { + mSensorPrivacyManager.setSensorPrivacy(source, sensor, blocked, userId); } /** diff --git a/tests/robotests/src/com/android/settings/privacy/SensorToggleControllerTest.java b/tests/robotests/src/com/android/settings/privacy/SensorToggleControllerTest.java index b38dbe8fd61..a6a16fc0e59 100644 --- a/tests/robotests/src/com/android/settings/privacy/SensorToggleControllerTest.java +++ b/tests/robotests/src/com/android/settings/privacy/SensorToggleControllerTest.java @@ -18,11 +18,13 @@ package com.android.settings.privacy; import static android.hardware.SensorPrivacyManager.Sensors.CAMERA; import static android.hardware.SensorPrivacyManager.Sensors.MICROPHONE; +import static android.hardware.SensorPrivacyManager.Sources.OTHER; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doReturn; @@ -91,14 +93,14 @@ public class SensorToggleControllerTest { listener.onSensorPrivacyChanged(MICROPHONE, mMicState); } return null; - }).when(mSensorPrivacyManager).setSensorPrivacy(eq(MICROPHONE), anyBoolean()); + }).when(mSensorPrivacyManager).setSensorPrivacy(anyInt(), eq(MICROPHONE), anyBoolean()); doAnswer(invocation -> { mCamState = invocation.getArgument(1); for (OnSensorPrivacyChangedListener listener : mMicListeners) { listener.onSensorPrivacyChanged(CAMERA, mMicState); } return null; - }).when(mSensorPrivacyManager).setSensorPrivacy(eq(CAMERA), anyBoolean()); + }).when(mSensorPrivacyManager).setSensorPrivacy(anyInt(), eq(CAMERA), anyBoolean()); doAnswer(invocation -> mMicListeners.add(invocation.getArgument(1))) .when(mSensorPrivacyManager).addSensorPrivacyListener(eq(MICROPHONE), any()); @@ -108,37 +110,37 @@ public class SensorToggleControllerTest { @Test public void isChecked_disableMicrophoneSensorPrivacy_returnTrue() { - mSensorPrivacyManager.setSensorPrivacy(MICROPHONE, false); + mSensorPrivacyManager.setSensorPrivacy(OTHER, MICROPHONE, false); MicToggleController micToggleController = new MicToggleController(mContext, "mic_toggle"); assertTrue(micToggleController.isChecked()); } @Test public void isChecked_enableMicrophoneSensorPrivacy_returnFalse() { - mSensorPrivacyManager.setSensorPrivacy(MICROPHONE, true); + mSensorPrivacyManager.setSensorPrivacy(OTHER, MICROPHONE, true); MicToggleController micToggleController = new MicToggleController(mContext, "mic_toggle"); assertFalse(micToggleController.isChecked()); } @Test public void isChecked_disableMicrophoneSensorPrivacyThenChanged_returnFalse() { - mSensorPrivacyManager.setSensorPrivacy(MICROPHONE, false); + mSensorPrivacyManager.setSensorPrivacy(OTHER, MICROPHONE, false); MicToggleController micToggleController = new MicToggleController(mContext, "mic_toggle"); - mSensorPrivacyManager.setSensorPrivacy(MICROPHONE, true); + mSensorPrivacyManager.setSensorPrivacy(OTHER, MICROPHONE, true); assertFalse(micToggleController.isChecked()); } @Test public void isChecked_enableMicrophoneSensorPrivacyThenChanged_returnTrue() { - mSensorPrivacyManager.setSensorPrivacy(MICROPHONE, true); + mSensorPrivacyManager.setSensorPrivacy(OTHER, MICROPHONE, true); MicToggleController micToggleController = new MicToggleController(mContext, "mic_toggle"); - mSensorPrivacyManager.setSensorPrivacy(MICROPHONE, false); + mSensorPrivacyManager.setSensorPrivacy(OTHER, MICROPHONE, false); assertTrue(micToggleController.isChecked()); } @Test public void isMicrophoneSensorPrivacyEnabled_uncheckMicToggle_returnTrue() { - mSensorPrivacyManager.setSensorPrivacy(MICROPHONE, false); + mSensorPrivacyManager.setSensorPrivacy(OTHER, MICROPHONE, false); MicToggleController micToggleController = new MicToggleController(mContext, "mic_toggle"); micToggleController.setChecked(false); assertTrue(mMicState); @@ -146,7 +148,7 @@ public class SensorToggleControllerTest { @Test public void isMicrophoneSensorPrivacyEnabled_checkMicToggle_returnFalse() { - mSensorPrivacyManager.setSensorPrivacy(MICROPHONE, true); + mSensorPrivacyManager.setSensorPrivacy(OTHER, MICROPHONE, true); MicToggleController micToggleController = new MicToggleController(mContext, "mic_toggle"); micToggleController.setChecked(true); assertFalse(mMicState); @@ -154,7 +156,7 @@ public class SensorToggleControllerTest { @Test public void isChecked_disableCameraSensorPrivacy_returnTrue() { - mSensorPrivacyManager.setSensorPrivacy(CAMERA, false); + mSensorPrivacyManager.setSensorPrivacy(OTHER, CAMERA, false); CameraToggleController camToggleController = new CameraToggleController(mContext, "cam_toggle"); assertTrue(camToggleController.isChecked()); @@ -162,7 +164,7 @@ public class SensorToggleControllerTest { @Test public void isChecked_enableCameraSensorPrivacy_returnFalse() { - mSensorPrivacyManager.setSensorPrivacy(CAMERA, true); + mSensorPrivacyManager.setSensorPrivacy(OTHER, CAMERA, true); CameraToggleController camToggleController = new CameraToggleController(mContext, "cam_toggle"); assertFalse(camToggleController.isChecked()); @@ -170,25 +172,25 @@ public class SensorToggleControllerTest { @Test public void isChecked_disableCameraSensorPrivacyThenChanged_returnFalse() { - mSensorPrivacyManager.setSensorPrivacy(CAMERA, false); + mSensorPrivacyManager.setSensorPrivacy(OTHER, CAMERA, false); CameraToggleController camToggleController = new CameraToggleController(mContext, "cam_toggle"); - mSensorPrivacyManager.setSensorPrivacy(CAMERA, true); + mSensorPrivacyManager.setSensorPrivacy(OTHER, CAMERA, true); assertFalse(camToggleController.isChecked()); } @Test public void isChecked_enableCameraSensorPrivacyThenChanged_returnTrue() { - mSensorPrivacyManager.setSensorPrivacy(CAMERA, true); + mSensorPrivacyManager.setSensorPrivacy(OTHER, CAMERA, true); CameraToggleController camToggleController = new CameraToggleController(mContext, "cam_toggle"); - mSensorPrivacyManager.setSensorPrivacy(CAMERA, false); + mSensorPrivacyManager.setSensorPrivacy(OTHER, CAMERA, false); assertTrue(camToggleController.isChecked()); } @Test public void isCameraSensorPrivacyEnabled_uncheckMicToggle_returnTrue() { - mSensorPrivacyManager.setSensorPrivacy(CAMERA, false); + mSensorPrivacyManager.setSensorPrivacy(OTHER, CAMERA, false); CameraToggleController camToggleController = new CameraToggleController(mContext, "cam_toggle"); camToggleController.setChecked(false); @@ -197,7 +199,7 @@ public class SensorToggleControllerTest { @Test public void isCameraSensorPrivacyEnabled_checkMicToggle_returnFalse() { - mSensorPrivacyManager.setSensorPrivacy(CAMERA, true); + mSensorPrivacyManager.setSensorPrivacy(OTHER, CAMERA, true); CameraToggleController camToggleController = new CameraToggleController(mContext, "cam_toggle"); camToggleController.setChecked(true); From 7c2a91019972864b887714451d1e790452d370d6 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Thu, 8 Jul 2021 15:35:59 +0000 Subject: [PATCH 02/11] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I2045140919e5d3829713eac17d2a3d313f1e3022 --- res/values-ar/strings.xml | 2 +- res/values-b+sr+Latn/strings.xml | 2 +- res/values-bn/strings.xml | 20 +++++++------------- res/values-bs/strings.xml | 4 ++-- res/values-de/strings.xml | 2 +- res/values-et/strings.xml | 4 ++-- res/values-fi/strings.xml | 2 +- res/values-fr-rCA/strings.xml | 6 ++---- res/values-fr/strings.xml | 2 +- res/values-gl/strings.xml | 6 ++---- res/values-gu/strings.xml | 17 ++++++----------- res/values-hr/strings.xml | 2 +- res/values-iw/strings.xml | 2 +- res/values-kk/strings.xml | 2 +- res/values-km/strings.xml | 6 ++---- res/values-ko/strings.xml | 2 +- res/values-mk/strings.xml | 2 +- res/values-mr/strings.xml | 2 +- res/values-ms/strings.xml | 12 ++++++------ res/values-my/strings.xml | 2 +- res/values-ne/strings.xml | 2 +- res/values-or/strings.xml | 6 ++---- res/values-pa/strings.xml | 23 ++++++++--------------- res/values-ru/strings.xml | 6 +++--- res/values-sr/strings.xml | 2 +- res/values-ta/strings.xml | 2 +- res/values-te/strings.xml | 6 ++---- res/values-vi/strings.xml | 2 +- res/values-zu/strings.xml | 4 ++-- 29 files changed, 62 insertions(+), 90 deletions(-) diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index 44fbbdf1df3..9d81cb73362 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -4675,7 +4675,7 @@ "نقل الملفات إلى جهاز آخر" "PTP" "‏تحويل الفيديوهات إلى تنسيق AVC" - "سيتم تشغيل الفيديوهات على المزيد من مشغّلات الوسائط ولكن قد تنخفض الجودة." + "يسمح ذلك بتشغيل الفيديوهات على المزيد من مشغّلات الوسائط ولكن قد تنخفض جودتها." "‏نقل الصور أو الملفات إذا لم يكن بروتوكول نقل الوسائط MTP متوفرًا (PTP)" "‏التوصيل عبر USB" "MIDI" diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index f89350a3a21..ab8cae2215e 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -1770,7 +1770,7 @@ "Ovim brišete sve podatke iz ""interne memorije"" telefona, uključujući:\n\n"
  • "Google nalog"
  • \n
  • "podatke i podešavanja sistema i aplikacija"
  • \n
  • "preuzete aplikacije"
  • \n\n"Trenutno ste prijavljeni na sledeće naloge:\n" \n\n"Na ovom uređaju su prisutni i drugi korisnici.\n" -
  • "Muzika"
  • \n
  • "Slike"
  • \n
  • "Drugi podaci korisnika"
  • +
  • "muziku"
  • \n
  • "slike"
  • \n
  • "druge podatke korisnika"
  • "eSIM-ovi"
  • \n\n"Na taj način nećete otkazati mobilni tarifni paket." \n\n"Da biste obrisali muziku, slike i druge podatke korisnika, treba da obrišete ""USB memoriju""." diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml index f0b283626e0..a50df8c0af7 100644 --- a/res/values-bn/strings.xml +++ b/res/values-bn/strings.xml @@ -2665,12 +2665,9 @@ "কোন অ্যাপে ব্যাটারি সবচেয়ে বেশি খরচ হয়" "চার্জ সাময়িকভাবে বন্ধ করা আছে" "ব্যাটারি সাশ্রয় করতে। আরও জানুন।" - - - - - - + "আপনার ফোন স্বাভাবিকের চেয়ে বেশি ব্যবহার হওয়ায় সাধারণ সময়ের আগেই ব্যাটারির চার্জ শেষ হয়ে যেতে পারে।\n\nবেশি ব্যাটারি ব্যবহার করে এমন অ্যাপ:" + "আপনার ট্যাবলেট স্বাভাবিকের চেয়ে বেশি ব্যবহার হওয়ায় সাধারণ সময়ের আগেই ব্যাটারির চার্জ শেষ হয়ে যেতে পারে।\n\nবেশি ব্যাটারি ব্যবহার করে এমন অ্যাপ:" + "আপনার ডিভাইস স্বাভাবিকের চেয়ে বেশি ব্যবহার হওয়ায় সাধারণ সময়ের আগেই ব্যাটারির চার্জ শেষ হয়ে যেতে পারে।\n\nবেশি ব্যাটারি ব্যবহার করে এমন অ্যাপ:" "বেশি ব্যাটারি খরচ হয় এমন ব্যাকগ্রাউন্ড অ্যাক্টিভিটি অন্তর্ভুক্ত" %1$dটি অ্যাপ সীমাবদ্ধ করুন @@ -2946,10 +2943,8 @@ "%dটি নিরাপদ নয়" "অ্যাডাপ্টিভ কানেক্টিভিটি" "আপনার নেটওয়ার্ক কানেকশন অটোমেটিক ম্যানেজ করে ব্যাটারি আরও বেশিক্ষণ ব্যবহার করুন এবং ডিভাইসের পারফর্ম্যান্স উন্নত করুন" - - - - + "চালু আছে" + "বন্ধ আছে" "ক্রেডেনশিয়াল স্টোরেজ" "সার্টিফিকেট ইনস্টল করা" "স্টোরেজ থেকে সার্টিফিকেট ইনস্টল করুন" @@ -4852,13 +4847,12 @@ "এক হাতে ব্যবহার করার মোড ব্যবহার করুন" "রিচেবিলিটি" "এর জন্য নিচের দিকে সোয়াইপ করুন" - "এর জন্য এক হাতেই শর্টকাট ব্যবহার করুন" + "এর জন্য শর্টকার্ট ব্যবহার করুন" "\'এক হাতে ব্যবহার করার মোড\' ব্যবহার করতে, স্ক্রিনের নিচের প্রান্ত থেকে নিচের দিকে সোয়াইপ করুন। এই ফিচার ব্যবহার করতে, সিস্টেম নেভিগেশনের সেটিংসে জেসচার নেভিগেশন চালু আছে কিনা দেখে নিন।" "স্ক্রিন টেনে এনে নাগালের মধ্যে নিয়ে আসুন" "স্ক্রিনের উপরের দিকের যেকোনও অংশ এখন আপনার বুড়ো আঙুলের নাগালে চলে আসবে।" "বিজ্ঞপ্তিগুলি দেখুন" - - + "বিজ্ঞপ্তি এবং সেটিংস দেখা যাবে।" "সময়, বিজ্ঞপ্তি এবং অন্যান্য তথ্য দেখতে আপনার স্ক্রিনে ডবল-ট্যাপ করুন।" "ফোন চেক করতে সেটিকে হাতে নিন" "চেক করতে ট্যাবলেটটিকে হাতে নিন" diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index 0b26435878f..d68d8c139bb 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -4473,8 +4473,8 @@ "Prijenos fajlova" "Prebacite fajlove na drugi uređaj" "PTP" - "Konvertirajte videozapise u AVC" - "Videozapisi će se reproducirati na više medija plejera, ali kvalitet se može smanjiti" + "Konvertiraj videozapise u AVC" + "Videozapisi će se reproducirati na više medija plejera, ali se kvalitet može smanjiti" "Prebacuje slike ili fajlove ukoliko MTP nije podržan (PTP)" "Povezivanje mobitela putem USB-a" "MIDI" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 9f0122d5611..eeceef9f176 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -53,7 +53,7 @@ "Verkleinern" "Vergrößern" "„Automatisch drehen“ verwenden" - "Bei der Gesichtserkennung wird die Kamera auf der Vorderseite verwendet, um die Genauigkeit beim automatischen Drehen zu verbessern. Bilder werden nicht gespeichert oder an Google gesendet.<br><br> <a href=http://support.google.com/mobile?p=telephony_rtt>Weitere Informationen zum automatischen Drehen des Bildschirms</a>" + "Bei der Gesichtserkennung wird die Kamera auf der Vorderseite genutzt, um beim automatischen Drehen möglichst gute Ergebnisse zu erzielen. Bilder werden nicht gespeichert oder an Google gesendet.<br><br> <a href=http://support.google.com/mobile?p=telephony_rtt>Weitere Informationen zum automatischen Drehen des Bildschirms</a>" "Beispieltext" "Der Zauberer von Oz" "Kapitel 11: Die wundervolle Smaragdstadt von Oz" diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index d83238acbfe..aba5b1aff62 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -4408,7 +4408,7 @@ "Failiedastus" "Failide edastamine teise seadmesse" "PTP" - "Konvertige videod AVC-vormingusse" + "Konverdi videod AVC-vormingusse" "Videoid saab esitada rohkemates meediapleierites, kuid kvaliteet võib olla halvem" "Fotode või failide edastamine, kui MTP-d ei toetata (PTP)" "USB kaudu jagamine" @@ -4489,7 +4489,7 @@ "Luba juurdepääs kõikide failide haldamisele" "Sellel rakendusel lubatakse lugeda, muuta ja kustutada kõiki selles seadmes ning ühendatud andmekandjatel olevaid faile. Loa andmisel võib rakendus failidele juurde pääseda ilma teie teadmata." "Pääseb failidele juurde" - "Meedia haldamise rakendused" + "Meediahalduse rakendused" "Rakendusele meedia haldamise lubamine" "Kui lubate, saab see rakendus ilma teilt luba küsimata muuta või kustutada muude rakendustega loodud meediafaile. Rakendusel peab olema failidele ja meediale juurdepääsu luba." "meedia, fail, haldus, haldur, haldamine, muutmine, redaktor, rakendus, programm" diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index d24c6c43a68..a8dd5736644 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -1749,7 +1749,7 @@ "Tämä poistaa puhelimen ""sisäisestä tallennustilasta"" kaiken datan, esimerkiksi\n\n"
  • "Google-tilisi"
  • \n
  • "järjestelmän ja sovellusten datan ja asetukset"
  • \n
  • "ladatut sovellukset"
  • \n\n"Olet kirjautunut sisään seuraaville tileille:\n" \n\n"Muut käyttävät laitetta parhaillaan.\n" -
  • "Musiikki"
  • \n
  • "Valokuvat"
  • \n
  • "Muu käyttäjädata"
  • +
  • "Musiikin"
  • \n
  • "Valokuvat"
  • \n
  • "Muun käyttäjädatan"
  • "eSIMit"
  • \n\n"Tämä ei peru mobiilipalvelupakettiasi." \n\n"Jos haluat poistaa musiikin, kuvat ja muun käyttäjädatan, tyhjennä ""USB-tallennustila""." diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index df94d0bf382..92fd79fdee6 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -4772,10 +4772,8 @@ "Traçage Winscope" "Capteurs désactivés" "Paramètres du profil professionnel" - - - - + "Laissez les applications personnelles déterminer les contacts à l\'aide de l\'annuaire professionnel" + "Les recherches et les appels entrants peuvent être visibles pour votre administrateur informatique" "Agenda multi-profil" "Afficher les événements professionnels dans l\'agenda personnel" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 6e90282c3f2..58831ee134a 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -4407,7 +4407,7 @@ "Transférer des fichiers vers un autre appareil" "Transfert de photos (PTP)" "Convertir des vidéos au format AVC" - "Les vidéos seront lues sur un plus grand nombre de lecteurs multimédias, mais la qualité peut être réduite" + "Les vidéos seront lisibles sur un plus grand nombre de lecteurs multimédias, mais la qualité peut être réduite" "Transférer des photos ou des fichiers si MTP n\'est pas compatible (PTP)" "Partage de connexion via USB" "Mode MIDI" diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 8f8244b9d75..a9368ee410f 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -4772,10 +4772,8 @@ "Rastro de Winscope" "Desactivar sensores" "Configuración do perfil de traballo" - - - - + "Buscar contactos do directorio de traballo nas aplicacións persoais" + "O teu administrador de TI podería ver as túas buscas e chamadas entrantes" "Calendario multiperfil" "Mostra eventos do traballo no teu calendario persoal" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index 27f9a5c930f..c911bc3af36 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -2665,12 +2665,9 @@ "સૌથી વધુ વપરાતી હોય એવી ઍપ જુઓ" "ચાર્જિંગ હંગામીરૂપે પ્રતિબંધિત કરવામાં આવ્યું છે" "તમારી બૅટરીની જાળવણી માટે. વધુ જાણો." - - - - - - + "તમે તમારા ફોનનો સામાન્ય કરતાં વધુ ઉપયોગ કર્યો હોવાથી, તમારી બૅટરી હંમેશાં કરતાં વહેલી સમાપ્ત થઈ શકે છે.\n\nબૅટરીનો સૌથી વધુ વપરાશ કરતી ઍપ:" + "તમે તમારા ટૅબ્લેટનો સામાન્ય કરતાં વધુ ઉપયોગ કર્યો હોવાથી, તમારી બૅટરી હંમેશાં કરતાં વહેલી સમાપ્ત થઈ શકે છે.\n\nબૅટરીનો સૌથી વધુ વપરાશ કરતી ઍપ:" + "તમે તમારા ડિવાઇસનો સામાન્ય કરતાં વધુ ઉપયોગ કર્યો હોવાથી, તમારી બૅટરી હંમેશાં કરતાં વહેલી સમાપ્ત થઈ શકે છે.\n\nબૅટરીનો સૌથી વધુ વપરાશ કરતી ઍપ:" "બૅકગ્રાઉન્ડમાંની હાઇ પાવર પ્રવૃત્તિનો સમાવેશ થાય છે" %1$d ઍપને પ્રતિબંધિત કરો @@ -2946,10 +2943,8 @@ "%d સુરક્ષિત નથી" "અડૅપ્ટિવ કનેક્ટિવિટી" "તમારા નેટવર્ક કનેક્શનને ઑટોમૅટિક રીતે મેનેજ કરીને બૅટરીની આવરદા વધારે છે અને ડિવાઇસનું કાર્યપ્રદર્શન બહેતર બનાવે છે" - - - - + "ચાલુ કરો" + "બંધ કરો" "ઓળખપત્ર સ્ટોરેજ" "પ્રમાણપત્ર ઇન્સ્ટૉલ કરો" "સ્ટોરેજમાંથી પ્રમાણપત્રો ઇન્સ્ટૉલ કરો" @@ -4852,7 +4847,7 @@ "એક-હાથે વાપરો મોડનો ઉપયોગ કરો" "એક-હાથે વાપરો" "આના માટે નીચે સ્વાઇપ કરો" - "આ માટેનો શૉર્ટકટ વાપરો" + "આ માટે શૉર્ટકટનો ઉપયોગ કરો" "એક-હાથે વાપરો મોડનો ઉપયોગ કરવા માટે, સ્ક્રીનની નીચેની કિનારીએથી નીચેની તરફ સ્વાઇપ કરો. આ સુવિધાનો ઉપયોગ કરવા માટે, ખાતરી કરો કે સિસ્ટમ નૅવિગેશન સેટિંગમાં સંકેતથી નૅવિગેશન ચાલુ છે." "સ્ક્રીનને તમારી અનુકૂળતા મુજબ ખેંચો" "સ્ક્રીનની ટોચ તમારી અંગૂઠાની પહોંચ સુધી આવી જશે." diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 2a4cfab84b0..194e769fb6b 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -4475,7 +4475,7 @@ "Prijenos datoteka" "Prijenos datoteka na drugi uređaj" "PTP" - "Konvertirajte videozapise u AVC" + "Konvertiraj videozapise u AVC" "Videozapisi će se reproducirati na više media playera, ali bi se kvaliteta mogla smanjiti" "Prijenos fotografija i datoteka ako MTP nije podržan (PTP)" "Modemsko povezivanje USB-om" diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index cf5e1b3ed6a..deba17be43f 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -4543,7 +4543,7 @@ "העברת קבצים למכשיר אחר" "PTP" "‏המרת הסרטונים לפורמט AVC" - "ניתן יהיה להפעיל את הסרטונים במספר רב יותר של נגני מדיה, אבל ייתכן שיפעלו ברזולוציה נמוכה יותר" + "ניתן יהיה להפעיל את הסרטונים במספר רב יותר של נגני מדיה, אבל האיכות שלהם יכולה לרדת" "‏העברת תמונות או קבצים אם MTP אינו נתמך (PTP)" "‏שיתוף אינטרנט ב-USB" "MIDI" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index de85b436f6c..aaff85cedd6 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -432,7 +432,7 @@ "Pixel Imprint функциясын қолданған кездегі суреттер саусақ ізінің үлгісін жаңарту үшін пайдаланылады. Саусақ ізінің үлгісін жасау үшін қолданылған суреттер ешқашан сақталмайды, бірақ саусақ ізі үлгісі телефонда қауіпсіз түрде сақталады және басқа ешқайда жіберілмейді. Барлық өңдеу жұмыстары телефонда ғана орындалады." "Pixel Imprint функциясын қолданған кездегі суреттер саусақ ізінің үлгісін жаңарту үшін пайдаланылады. Балаңыздың саусақ ізінің үлгісін жасау үшін қолданылған суреттер ешқашан сақталмайды, бірақ саусақ ізінің үлгісі телефонда қауіпсіз түрде сақталады және басқа ешқайда жіберілмейді. Барлық өңдеу жұмыстары телефонда ғана орындалады." "Кез келген уақытта \"Параметрлер\" бөлімінен саусақ ізінің суреттері мен үлгісін жоя немесе Саусақ ізімен ашу функциясын өшіре аласыз. Саусақ ізінің суреттері мен үлгілері жойылмайынша, телефоныңызда сақталады." - "Балаңыз екеуіңіз кез келген уақытта \"Параметрлер\" бөлімінен оның саусақ ізінің суреттері мен үлгісін жоя аласыздар, сондай-ақ Саусақ ізімен ашу функциясын өшіріп қоюға болады. Саусақ ізінің суреттері мен үлгілері жойылмайынша, телефоныңызда сақталады." + "Балаңыз екеуіңіз кез келген уақытта \"Параметрлер\" бөлімінен оның саусақ ізінің суреттері мен үлгісін жоя аласыздар. Саусақ ізімен ашу функциясын өшіріп қоюға да болады. Суреттер мен үлгілер өзіңіз жойғанша сақталып тұрады." "Телефон құлпын ашқыңыз келмесе де, біреу телефоныңызды саусағыңызға тақап тұрған кезде, ол ашылып кетуі мүмкін." "Балаңыз телефон құлпын ашқысы келмесе де, біреу телефонды оның саусағына тақап тұрса, ол ашылып кетуі мүмкін." diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index dd5c417450c..3ea0f946bf2 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -4772,10 +4772,8 @@ "ដាន Winscope" "ឧបករណ៍​ចាប់សញ្ញាបានបិទ" "ការកំណត់កម្រងព័ត៌មានការងារ" - - - - + "ស្វែងរក​ទំនាក់ទំនង​ក្នុងបញ្ជីការងារ​នៅក្នុង​កម្មវិធី​ផ្ទាល់ខ្លួន" + "អ្នកគ្រប់គ្រង​ផ្នែកព័ត៌មានវិទ្យា​របស់អ្នក​អាចនឹងមើលឃើញ​ការស្វែងរក និង​ការហៅចូល​របស់អ្នក" "ប្រតិទិនអន្តរ​កម្រងព័ត៌មាន" "បង្ហាញ​ព្រឹត្តិការណ៍ការងារផ្សេងៗ​នៅក្នុងប្រតិទិន​ផ្ទាល់ខ្លួនរបស់អ្នក" diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 1ecbc7b9e58..7025599f281 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -4408,7 +4408,7 @@ "파일 전송" "파일을 다른 기기로 전송" "PTP" - "동영상을 AVC로 변환" + "AVC로 동영상 변환" "동영상을 더 많은 미디어 플레이어에서 재생할 수 있게 되나, 화질이 저하될 수 있습니다." "MTP가 지원되지 않는 경우 사진 또는 파일 전송(PTP)" "USB 테더링" diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index cea40ad46f5..d4781cd2f46 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -4409,7 +4409,7 @@ "Пренесете ги датотеките на друг уред" "PTP" "Конвертирајте видеа во AVC" - "Видеата ќе може да се пуштаат на повеќето плеери, но квалитетот може да биде намален" + "Видеата ќе може да се пуштаат во повеќето плеери, но квалитетот може да биде намален" "Пренесувај фотографии или датотеки ако не е подржан MTP (PTP)" "Интернет преку USB" "MIDI" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index d4737acc438..78e08b9d4d3 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -4408,7 +4408,7 @@ "दुसऱ्या डिव्हाइसवर फाइल स्थानांतरित करा" "PTP" "व्हिडिओचे AVC मध्ये रूपांतर करा" - "व्हिडिओ एक किंवा त्यापेक्षा अधिक मीडिया प्लेअरवर प्ले होईल, पण गुणवत्ता कदाचित कमी होईल" + "व्हिडिओ एकापेक्षा अधिक मीडिया प्लेअरवर प्ले होईल, पण गुणवत्ता कदाचित कमी होईल" "MTP (PTP) समर्थित नसल्‍यास फोटो किंवा फाइल स्थानांतरित करा" "USB टेदरिंग" "MIDI" diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index a58812ba141..0b097603b5c 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -345,7 +345,7 @@ "Saya setuju" "Lagi" "Buka kunci dengan wajah anda" - "Benarkan wajah buka kunci" + "Benarkan buka kunci wajah" "Gunakan wajah untuk membuat pengesahan" "Gunakan wajah anda untuk membuka kunci telefon, membenarkan pembelian atau log masuk ke apl." "Benarkan anak anda menggunakan wajah mereka untuk membuka kunci telefon mereka atau mengesahkan sama ada itulah mereka atau tidak. Ini berlaku apabila mereka log masuk apl, meluluskan pembelian dan banyak lagi." @@ -407,7 +407,7 @@ "Sediakan cap jari anda" - "Benarkan cap jari buka kunci" + "Benarkan buka kunci cap jari" "Gunakan cap jari anda" "Gunakan cap jari anda untuk membuka kunci telefon anda atau mengesahkan sama ada itulah anda atau tidak, seperti ketika anda log masuk aplikasi atau meluluskan pembelian." "Benarkan anak anda menggunakan cap jari mereka untuk membuka kunci telefon mereka atau mengesahkan sama ada itulah mereka atau tidak. Ini berlaku apabila mereka log masuk apl, meluluskan pembelian dan banyak lagi." @@ -427,12 +427,12 @@ "Jangan lupa" "Menggunakan cap jari anda untuk membuka kunci telefon anda mungkin kurang selamat berbanding dengan corak atau PIN yang kukuh" "Caranya" - "Cap Jari Buka Kunci menghasilkan model unik cap jari anda untuk mengesahkan sama ada itulah anda atau tidak. Untuk menghasilkan model cap jari ini semasa persediaan, anda akan mengambil imej cap jari anda daripada kedudukan yang berbeza." - "Cap Jari Buka Kunci menghasilkan model unik cap jari anak anda untuk mengesahkan sama ada itulah mereka atau tidak. Untuk menghasilkan model cap jari ini semasa persediaan, mereka akan mengambil imej cap jari mereka daripada kedudukan yang berbeza." + "Buka Kunci Cap Jari menghasilkan model unik cap jari anda untuk mengesahkan sama ada itulah anda atau tidak. Untuk menghasilkan model cap jari ini semasa persediaan, anda akan mengambil imej cap jari anda daripada kedudukan yang berbeza." + "Buka Kunci Cap Jari menghasilkan model unik cap jari anak anda untuk mengesahkan sama ada itulah mereka atau tidak. Untuk menghasilkan model cap jari ini semasa persediaan, mereka akan mengambil imej cap jari mereka daripada kedudukan yang berbeza." "Apabila anda menggunakan Pixel Imprint, imej digunakan untuk mengemas kini model cap jari anda. Imej yang digunakan untuk menghasilkan model cap jari anda tidak akan disimpan, tetapi model cap jari disimpan dengan selamat pada telefon anda dan tidak akan keluar daripada telefon itu. Semua pemprosesan berlaku dengan selamat pada telefon anda." "Apabila mereka menggunakan Pixel Imprint, imej digunakan untuk mengemas kini model cap jari mereka. Imej yang digunakan untuk menghasilkan model cap jari anak anda tidak akan disimpan, tetapi model cap jari disimpan dengan selamat pada telefon dan tidak akan keluar daripada telefon itu. Semua pemprosesan berlaku dengan selamat pada telefon." - "Anda boleh memadamkan imej dan model cap jari anda atau mematikan Cap Jari Buka Kunci pada bila-bila masa dalam Tetapan. Imej dan model cap jari disimpan di telefon sehingga anda memadamkan imej dan model itu." - "Anda dan anak anda boleh memadamkan imej dan model cap jari mereka atau mematikan Cap Jari Buka Kunci pada bila-bila masa dalam Tetapan. Imej dan model cap jari disimpan pada telefon sehingga ia dipadamkan." + "Anda boleh memadamkan imej dan model cap jari anda atau mematikan Buka Kunci Cap Jari pada bila-bila masa dalam Tetapan. Imej dan model cap jari disimpan di telefon sehingga anda memadamkan imej dan model itu." + "Anda dan anak anda boleh memadamkan imej dan model cap jari mereka atau mematikan Buka Kunci Cap Jari pada bila-bila masa dalam Tetapan. Imej dan model cap jari disimpan pada telefon sehingga dipadamkan." "Telefon anda boleh dibuka kunci apabila anda tidak bermaksud untuk berbuat demikian, seperti jika seseorang menghalakan telefon dengan rapat pada jari anda." "Telefon anak anda boleh dibuka kunci apabila mereka tidak bermaksud untuk berbuat demikian, seperti jika seseorang menghalakan telefon dengan rapat pada jari mereka." diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index 2e3723f62a5..b26251ea393 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -4407,7 +4407,7 @@ "ဖိုင်များကို အခြားစက်ပစ္စည်းတစ်ခုသို့ လွှဲပြောင်းပါ" "PTP" "ဗီဒီယိုများကို AVC သို့ ပြောင်းလဲပါ" - "ဗီဒီယိုများကို နောက်ထပ် မီဒီယာ ပလေယာများတွင် ဖွင့်မည်ဖြစ်သော်လည်း အရည်အသွေးနိမ့်နိုင်ပါသည်" + "ဗီဒီယိုများကို မီဒီယာ ပလေယာများစွာတွင် ဖွင့်မည်ဖြစ်သော်လည်း အရည်အသွေးနိမ့်နိုင်သည်" "MTP ကို မပံ့ပိုးလျှင် (PTP) ဓာတ်ပုံများ သို့မဟုတ် ဖိုင်များကို လွှဲပြောင်းရန်" "USB သုံး၍ ချိတ်ဆက်ခြင်း" "MIDI" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index 85858838423..a470e77dd95 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -4406,7 +4406,7 @@ "फाइल स्थानान्तरण" "फाइलहरूलाई अर्को डिभाइसमा स्थानान्तरण गर्नुहोस्" "PTP" - "भिडियोहरूको फर्म्याट बदलेर AVC बनाउनुहोस्" + "भिडियोको फर्म्याट बदलेर AVC बनाइयोस्" "यस्ता भिडियोहरू थप मिडिया प्लेयरहरूमा प्ले गर्न सकिन्छ तर यिनको गुणस्तर खस्कन सक्छ" "यदि MTP ले (PTP) समर्थित गर्दैन भने तस्विर वा फाइलहरू ट्रान्सफर गर्नुहोस्" "USB टेदरिङ" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 4c1741289d2..9de44f19219 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -4772,10 +4772,8 @@ "Winscope ଟ୍ରେସ୍" "ସେନ୍ସର୍‍ଗୁଡ଼ିକ ବନ୍ଦ ଅଛି" "ୱାର୍କ ପ୍ରୋଫାଇଲ ସେଟିଂସ୍" - - - - + "ବ୍ୟକ୍ତିଗତ ଆପଗୁଡ଼ିକରେ ୱାର୍କ ଡିରେକ୍ଟୋରୀର ଯୋଗାଯୋଗଗୁଡ଼ିକୁ ସନ୍ଧାନ କରନ୍ତୁ" + "ଆପଣଙ୍କ IT ଆଡମିନଙ୍କୁ ଆପଣଙ୍କର ସନ୍ଧାନ ଏବଂ ଇନକମିଂ କଲଗୁଡ଼ିକ ଦେଖାଯାଇପାରେ" "କ୍ରସ୍‌-ପ୍ରୋଫାଇଲ୍ କ୍ୟାଲେଣ୍ଡର୍‌" "ଆପଣଙ୍କର ବ୍ୟକ୍ତିଗତ କ୍ୟାଲେଣ୍ଡର୍‌ରେ କାର୍ଯ୍ୟର ଇଭେଣ୍ଟଗୁଡ଼ିକ ଦେଖାନ୍ତୁ" diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index 6a2a2d91249..e0ce108e842 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -2980,12 +2980,9 @@ "ਕੋਈ ਨਹੀਂ" "ਪ੍ਰਮਾਣ-ਪੱਤਰ ਤੁਹਾਡੇ ਵੱਲੋਂ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਐਪਾਂ ਅਤੇ URL ਦੀ ਵਰਤੋਂ ਕਰਨ \'ਤੇ ਤੁਹਾਡੀ ਪੁਸ਼ਟੀ ਕਰਨਗੇ" "ਪ੍ਰਮਾਣ-ਪੱਤਰਾਂ ਨੂੰ ਅਣਸਥਾਪਤ ਕਰੋ" - - - - - - + "ਐਪ ਹਟਾਓ" + "ਕੀ ਇਸ ਐਪ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?" + "ਇਹ ਐਪ ਪ੍ਰਮਾਣ-ਪੱਤਰਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਨਹੀਂ ਕਰੇਗੀ, ਪਰ ਇਹ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਬਰਕਰਾਰ ਰਹੇਗੀ। ਐਪ ਵੱਲੋਂ ਸਥਾਪਤ ਕੀਤੇ ਗਏ ਪ੍ਰਮਾਣ-ਪੱਤਰਾਂ ਨੂੰ ਅਣਸਥਾਪਤ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ।" %d URL %d URL @@ -3262,8 +3259,7 @@ "ਵਰਤੋਂਕਾਰ" "ਬੰਦ ਕਰੋ" "ਚਾਲੂ ਕਰੋ" - - + "ਅਣਸਥਾਪਤ ਕਰੋ" "ਭਰੋਸਾ ਕਰੋ" "ਕੀ CA ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ?" "ਕੀ ਸਿਸਟਮ CA ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ?" @@ -4184,10 +4180,8 @@ "ਪ੍ਰਸ਼ਾਸਕ ਪਿੰਨ ਦਾਖਲ ਕਰੋ" "ਚਾਲੂ" "ਬੰਦ" - - - - + "ਚਾਲੂ ਹੈ" + "ਬੰਦ ਹੈ" "ਚਾਲੂ" "ਬੰਦ" "ਐਪ ਪਿਨਿੰਗ" @@ -4413,7 +4407,7 @@ "ਫ਼ਾਈਲਾਂ ਦਾ ਕਿਸੇ ਹੋਰ ਡੀਵਾਈਸ \'ਤੇ ਤਬਾਦਲਾ ਕਰੋ" "PTP" "ਵੀਡੀਓ ਨੂੰ AVC ਵਿੱਚ ਬਦਲੋ" - "ਵੀਡੀਓ ਹੋਰ ਮੀਡੀਆ ਪਲੇਅਰਾਂ \'ਤੇ ਚੱਲਣਗੇ, ਪਰ ਕੁਆਲਿਟੀ ਘਟ ਸਕਦੀ ਹੈ" + "ਵੀਡੀਓ ਹੋਰ ਮੀਡੀਆ ਪਲੇਅਰਾਂ \'ਤੇ ਚੱਲਣਗੇ, ਪਰ ਕੁਆਲਿਟੀ ਘੱਟ ਸਕਦੀ ਹੈ" "ਫ਼ੋਟੋਆਂ ਜਾਂ ਫ਼ਾਈਲਾਂ ਟ੍ਰਾਂਸਫਰ ਕਰੋ ਜੇਕਰ MTP ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ (PTP)" "USB ਟੈਦਰਿੰਗ" "MIDI" @@ -5117,8 +5111,7 @@ "ਕੁਝ ਨਾ ਕਰੋ" "ਥਰਥਰਾਹਟ ਕਰੋ" "ਮਿਊਟ ਕਰੋ" - - + "ਚਾਲੂ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਪਾਵਰ ਮੀਨੂ ਲਈ \"ਪਾਵਰ ਬਟਨ ਨੂੰ ਦਬਾਈ ਰੱਖੋ\" ਵਿਕਲਪ ਨੂੰ ਬਦਲੋ।" "ਨੈੱਟਵਰਕ ਵੇਰਵੇ" "ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਨਾਮ ਤੁਹਾਡੇ ਫ਼ੋਨ \'ਤੇ ਐਪਾਂ ਨੂੰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਇਸਨੂੰ ਤੁਹਾਡੇ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕਰਨ, ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਜਾਂ ਵਾਈ-ਫਾਈ ਹੌਟਸਪੌਟ ਸੈੱਟਅੱਪ ਕਰਨ \'ਤੇ ਹੋਰ ਲੋਕਾਂ ਵੱਲੋਂ ਵੀ ਦੇਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।" "ਡੀਵਾਈਸਾਂ" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 39c7a4d841e..7bfe5b2062a 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -472,7 +472,7 @@ "Защита устройства не будет активирована. В случае потери или кражи телефона им смогут воспользоваться посторонние." "Пропустить" "Назад" - "Не устанавливать" + "Пропустить" "Отмена" "Коснитесь сканера отпечатков" "Как добавить отпечаток пальца" @@ -4541,7 +4541,7 @@ "Передача файлов на другое устройство" "Режим PTP" "Конвертировать видео в формат AVC" - "Видео будет поддерживаться на большем числе медиапроигрывателей, но его качество может снизиться." + "Выбор проигрывателей будет шире, но качество видео может снизиться" "Передача фотографий или файлов, если МТР не поддерживается (PTP)" "USB-модем" "MIDI" @@ -4550,7 +4550,7 @@ "Конфигурация USB по умолчанию" "Эти настройки будут применяться, когда ваш телефон разблокирован и к нему подключено другое устройство. Устанавливайте соединения только с надежными устройствами." "Настройки питания" - "Параметры переноса файла" + "Параметры передачи файлов" "USB" "Настройки USB" "Устройство, управляющее USB" diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index e831444bf4b..b29d3328f61 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -1770,7 +1770,7 @@ "Овим бришете све податке из ""интерне меморије"" телефона, укључујући:\n\n"
  • "Google налог"
  • \n
  • "податке и подешавања система и апликација"
  • \n
  • "преузете апликације"
  • \n\n"Тренутно сте пријављени на следеће налоге:\n" \n\n"На овом уређају су присутни и други корисници.\n" -
  • "Музика"
  • \n
  • "Слике"
  • \n
  • "Други подаци корисника"
  • +
  • "музику"
  • \n
  • "слике"
  • \n
  • "друге податке корисника"
  • "eSIM-ови"
  • \n\n"На тај начин нећете отказати мобилни тарифни пакет." \n\n"Да бисте обрисали музику, слике и друге податке корисника, треба да обришете ""USB меморију""." diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index bedfe3ca12c..cc33042da68 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -1446,7 +1446,7 @@ "சிம்மின் பின்னை மாற்று" "சிம் பின்" "சிம் கார்டைப் பூட்டு" - "சிம் கார்டை தடைநீக்கு" + "சிம் கார்டை அன்லாக் செய்" "பழைய சிம் பின்" "புதிய சிம் பின்" "புதிய பின்னை மீண்டும் உள்ளிடவும்" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index 517eaa4361f..0e066b18a15 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -4773,10 +4773,8 @@ "విన్‌స్కోప్ ట్రేస్" "సెన్సార్‌లు ఆపివేయబడ్డాయి" "ఆఫీస్ ప్రొఫైల్ సెట్టింగ్‌లు" - - - - + "వ్యక్తిగత యాప్‌లలో వర్క్ డైరెక్టరీ కాంటాక్ట్‌ల కోసం సెర్చ్ చేయండి" + "మీ సెర్చ్‌లు, ఇన్‌కమింగ్ కాల్స్ మీ IT అడ్మిన్‌కు కనిపించవచ్చు" "క్యాలెండర్‌లో ఇతర-ప్రొఫైల్‌లను కూడా చూపు" "మీ వ్యక్తిగత క్యాలెండర్‌లో కార్యాలయానికి సంబంధించిన ఈవెంట్‌లను చూపుతుంది" diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 4f21f1bf65f..6cb3c0b8f69 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -4409,7 +4409,7 @@ "Truyền tệp sang thiết bị khác" "PTP" "Chuyển đổi video sang AVC" - "Video sẽ phát trên nhiều trình phát nội dung nghe nhìn khác. Tuy nhiên, chất lượng có thể bị giảm" + "Video sẽ phát được trên nhiều trình phát nội dung nghe nhìn khác, nhưng có thể bị giảm chất lượng" "Chuyển ảnh hoặc tệp nếu MTP không được hỗ trợ (PTP)" "Chia sẻ Internet qua USB" "MIDI" diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index cae2ca12032..4f627f4b6e6 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -444,11 +444,11 @@ "Iya endaweni ekhanya kakhudlwana bese uzame futhi" "Ufinyelele umkhawulo wenani lokuzama" "Sebenzisa isigxivizo sakho seminwe ukuvula ifoni yakho noma uqinisekise ukuthi nguwe, njengalapho ungena ngemvume kuma-app\n\n""Funda kabanzi" - "Ukuvula ngobuso nangezigxivizo zeminwe" + "Ukuvula ngobuso nangesigxivizo somunwe" "Thepha ukuze usethe" "Ubuso nezigxivizo zeminwe kungeziwe" "Ubuso nezigxivizo zeminwe zingeziwe" - "Uma usetha Ukuvula Ngobuso kanye Nokuvula Ngezigxivizo Zeminwe, ifoni yakho izocela izigxivizo zakho zeminwe uma ugqoke imaski noma usendaweni emnyama" + "Uma usetha Ukuvula Ngobuso kanye Nokuvula Ngesigxivizo somunwe, ifoni yakho izocela isigxivizo somunwe uma ugqoke imaski noma usendaweni emnyama" "Izindlela zokuvula" "Sebenzisa ubuso nezigxivizo zeminwe ze-" "Ivula ifoni yakho" From d76c12f69ca440575d476123f0ae142792ef1320 Mon Sep 17 00:00:00 2001 From: ykhung Date: Thu, 8 Jul 2021 15:35:47 +0800 Subject: [PATCH 03/11] Include new "dex2oat64" process to map into App Optimization name Bug: 191991503 Test: make SettingsRoboTests Change-Id: Ib392ed3adf7fe37fdaf73076dd1c3cd8361468eb --- .../settings/fuelgauge/BatteryEntry.java | 3 +- .../settings/fuelgauge/BatteryEntryTest.java | 77 +++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/fuelgauge/BatteryEntry.java b/src/com/android/settings/fuelgauge/BatteryEntry.java index 0478c8b5630..5c9d07128d0 100644 --- a/src/com/android/settings/fuelgauge/BatteryEntry.java +++ b/src/com/android/settings/fuelgauge/BatteryEntry.java @@ -572,7 +572,8 @@ public class BatteryEntry { name = context.getResources().getString(R.string.process_kernel_label); } else if ("mediaserver".equals(name)) { name = context.getResources().getString(R.string.process_mediaserver_label); - } else if ("dex2oat".equals(name)) { + } else if ("dex2oat".equals(name) || "dex2oat32".equals(name) || + "dex2oat64".equals(name)) { name = context.getResources().getString(R.string.process_dex2oat_label); } return new NameAndIcon(name, icon, 0 /* iconId */); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java index 96f0ec7e1b8..c1b17618073 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java @@ -22,6 +22,7 @@ import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.content.Context; @@ -36,6 +37,7 @@ import android.os.UserBatteryConsumer; import android.os.UserManager; import com.android.settings.R; +import com.android.settings.fuelgauge.BatteryEntry.NameAndIcon; import org.junit.Before; import org.junit.Rule; @@ -64,6 +66,7 @@ public class BatteryEntryTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Context mMockContext; + private Context mContext; @Mock private Handler mockHandler; @Mock private PackageManager mockPackageManager; @Mock private UserManager mockUserManager; @@ -71,6 +74,7 @@ public class BatteryEntryTest { @Before public void stubContextToReturnMockPackageManager() { + mContext = spy(RuntimeEnvironment.application); when(mMockContext.getPackageManager()).thenReturn(mockPackageManager); } @@ -248,4 +252,77 @@ public class BatteryEntryTest { final String key = entry.getKey(); assertThat(key).isEqualTo("U|2"); } + + @Test + public void getNameAndIconFromUserId_nullUserInfo_returnDefaultNameAndIcon() { + final int userId = 1001; + doReturn(mockUserManager).when(mContext).getSystemService(UserManager.class); + doReturn(null).when(mockUserManager).getUserInfo(userId); + + final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUserId( + mContext, userId); + assertThat(nameAndIcon.name).isEqualTo(getString( + R.string.running_process_item_removed_user_label)); + assertThat(nameAndIcon.icon).isNull(); + } + + @Test + public void getNameAndIconFromUid_rerturnExpectedName() { + final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid( + mContext, /* name */ null, /* uid */ 0); + assertThat(nameAndIcon.name).isEqualTo(getString(R.string.process_kernel_label)); + + assertNameAndIcon("mediaserver", R.string.process_mediaserver_label); + assertNameAndIcon("dex2oat32", R.string.process_dex2oat_label); + assertNameAndIcon("dex2oat64", R.string.process_dex2oat_label); + assertNameAndIcon("dex2oat", R.string.process_dex2oat_label); + } + + @Test + public void getNameAndIconFromPowerComponent_rerturnExpectedNameAndIcon() { + assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY, + R.string.ambient_display_screen_title, + R.drawable.ic_settings_aod); + assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_BLUETOOTH, + R.string.power_bluetooth, + com.android.internal.R.drawable.ic_settings_bluetooth); + assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_CAMERA, + R.string.power_camera, + R.drawable.ic_settings_camera); + assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO, + R.string.power_cell, + R.drawable.ic_cellular_1_bar); + assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_FLASHLIGHT, + R.string.power_flashlight, + R.drawable.ic_settings_display); + assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_PHONE, + R.string.power_phone, + R.drawable.ic_settings_voice_calls); + assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_SCREEN, + R.string.power_screen, + R.drawable.ic_settings_display); + assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_WIFI, + R.string.power_wifi, + R.drawable.ic_settings_wireless); + assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_IDLE, + R.string.power_idle, + R.drawable.ic_settings_phone_idle); + } + + private void assertNameAndIcon(String name, int stringId) { + final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid( + mContext, name, /* uid */ 1000); + assertThat(nameAndIcon.name).isEqualTo(getString(stringId)); + } + + private void assertNameAndIcon(int powerComponentId, int stringId, int iconId) { + final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromPowerComponent( + mContext, powerComponentId); + assertThat(nameAndIcon.name).isEqualTo(getString(stringId)); + assertThat(nameAndIcon.iconId).isEqualTo(iconId); + } + + private String getString(int stringId) { + return mContext.getResources().getString(stringId); + } } From 00c8f253334f8d942b98702f71c263bff00b00ef Mon Sep 17 00:00:00 2001 From: Peter Wang Date: Thu, 8 Jul 2021 14:21:45 -0700 Subject: [PATCH 04/11] Removed nested GlifRecyclerLayout on choose_sim_activity.xml [Submitting on behalf of beccamilman@] Bug: 193000379 Test: Build Change-Id: Ic850f2ee84162fbcf609fa1f9715cec31de73bea --- res/layout/choose_sim_activity.xml | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/res/layout/choose_sim_activity.xml b/res/layout/choose_sim_activity.xml index 693c6e1914d..6e5393a4a74 100644 --- a/res/layout/choose_sim_activity.xml +++ b/res/layout/choose_sim_activity.xml @@ -20,30 +20,4 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:entries="@xml/items_multiple_carrier" - android:icon="@drawable/ic_network_signal_blue"> - - - - - - - - - - - + android:icon="@drawable/ic_network_signal_blue" /> From 3be761fc48b68ccea1cadd66071563894de6880a Mon Sep 17 00:00:00 2001 From: Abel Tesfaye Date: Thu, 8 Jul 2021 23:21:23 +0000 Subject: [PATCH 05/11] Remove learn more from smart-auto-rotate privacy string Test: locally with flame Bug: 192087097 Change-Id: I9dba949571f8c931a839cdf15b0d6e607fa4e6b4 --- res/values/strings.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 249282b5c5f..273e0fc1eb6 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -101,10 +101,7 @@ Use Auto-rotate - - Face Detection uses the front-facing camera to improve Auto-rotate accuracy. Images are never stored or sent to Google.<br><br> - <a href="http://support.google.com/mobile?p=telephony_rtt">Learn more about Auto-rotate screen</a> - + Face Detection uses the front-facing camera to improve Auto-rotate accuracy. Images are never stored or sent to Google. Sample text From 112a638cbaf478ff3b9260c7bcff6a5a99cc2bc2 Mon Sep 17 00:00:00 2001 From: Hugh Chen Date: Wed, 7 Jul 2021 17:27:12 +0800 Subject: [PATCH 06/11] Fix it will auto switch back to "No data transfer" after selecting "USB Tethering" Before this CL, the USB option didn't handle whether FUNCTION_NCM existed in the intent extra when tethering was started which resulted in some devices that enable NCM will have incorrect UI. This CL added a condition to check whether FUNCTION_NCM existed in the intent extra or not to fix this UI issue. Bug: 192046902 Test: make -j42 RunSettingsRoboTests Change-Id: Icb8548409930d59dc3a08c25e418c9a1ddb9f33c --- .../usb/UsbConnectionBroadcastReceiver.java | 3 + .../usb/UsbDefaultFragment.java | 22 +++++-- .../usb/UsbDetailsFunctionsController.java | 4 +- .../UsbConnectionBroadcastReceiverTest.java | 14 +++++ .../usb/UsbDefaultFragmentTest.java | 61 ++++++++++++++++++- .../UsbDetailsFunctionsControllerTest.java | 27 ++++++++ 6 files changed, 122 insertions(+), 9 deletions(-) diff --git a/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java b/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java index a203534dded..c5bcbed00cb 100644 --- a/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java +++ b/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java @@ -75,6 +75,9 @@ public class UsbConnectionBroadcastReceiver extends BroadcastReceiver implements if (intent.getExtras().getBoolean(UsbManager.USB_FUNCTION_ACCESSORY)) { functions |= UsbManager.FUNCTION_ACCESSORY; } + if (intent.getExtras().getBoolean(UsbManager.USB_FUNCTION_NCM)) { + functions |= UsbManager.FUNCTION_NCM; + } mFunctions = functions; mDataRole = mUsbBackend.getDataRole(); mPowerRole = mUsbBackend.getPowerRole(); diff --git a/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java b/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java index 502c7d25b9c..97906703069 100644 --- a/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java +++ b/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java @@ -74,8 +74,10 @@ public class UsbDefaultFragment extends RadioButtonPickerFragment { Log.d(TAG, "UsbConnectionListener() connected : " + connected + ", functions : " + functions + ", defaultFunctions : " + defaultFunctions + ", mIsStartTethering : " + mIsStartTethering); - if (connected && !mIsConnected && defaultFunctions == UsbManager.FUNCTION_RNDIS + if (connected && !mIsConnected && (defaultFunctions == UsbManager.FUNCTION_RNDIS + || defaultFunctions == UsbManager.FUNCTION_NCM) && !mIsStartTethering) { + mCurrentFunctions = defaultFunctions; startTethering(); } @@ -150,7 +152,11 @@ public class UsbDefaultFragment extends RadioButtonPickerFragment { @Override protected String getDefaultKey() { - return UsbBackend.usbFunctionsToString(mUsbBackend.getDefaultUsbFunctions()); + long defaultUsbFunctions = mUsbBackend.getDefaultUsbFunctions(); + // Because we didn't have an option for NCM, so make FUNCTION_NCM corresponding to + // FUNCTION_RNDIS for initializing the UI. + return UsbBackend.usbFunctionsToString(defaultUsbFunctions == UsbManager.FUNCTION_NCM + ? UsbManager.FUNCTION_RNDIS : defaultUsbFunctions); } @Override @@ -158,9 +164,10 @@ public class UsbDefaultFragment extends RadioButtonPickerFragment { long functions = UsbBackend.usbFunctionsFromString(key); mPreviousFunctions = mUsbBackend.getCurrentFunctions(); if (!Utils.isMonkeyRunning()) { - if (functions == UsbManager.FUNCTION_RNDIS) { + if (functions == UsbManager.FUNCTION_RNDIS || functions == UsbManager.FUNCTION_NCM) { // We need to have entitlement check for usb tethering, so use API in // TetheringManager. + mCurrentFunctions = functions; startTethering(); } else { mIsStartTethering = false; @@ -193,8 +200,7 @@ public class UsbDefaultFragment extends RadioButtonPickerFragment { public void onTetheringStarted() { Log.d(TAG, "onTetheringStarted()"); // Set default usb functions again to make internal data persistent - mCurrentFunctions = UsbManager.FUNCTION_RNDIS; - mUsbBackend.setDefaultUsbFunctions(UsbManager.FUNCTION_RNDIS); + mUsbBackend.setDefaultUsbFunctions(mCurrentFunctions); } @Override @@ -214,7 +220,11 @@ public class UsbDefaultFragment extends RadioButtonPickerFragment { final boolean isSupported = mUsbBackend.areFunctionsSupported(option); pref.setEnabled(isSupported); if (isSupported) { - pref.setChecked(functions == option); + if (functions == UsbManager.FUNCTION_NCM) { + pref.setChecked(UsbManager.FUNCTION_RNDIS == option); + } else { + pref.setChecked(functions == option); + } } } } diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java index 821bb26f18e..006f72a39ef 100644 --- a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java +++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java @@ -116,6 +116,8 @@ public class UsbDetailsFunctionsController extends UsbDetailsController if (mUsbBackend.areFunctionsSupported(option)) { if (isAccessoryMode(functions)) { pref.setChecked(UsbManager.FUNCTION_MTP == option); + } else if (functions == UsbManager.FUNCTION_NCM) { + pref.setChecked(UsbManager.FUNCTION_RNDIS == option); } else { pref.setChecked(functions == option); } @@ -148,7 +150,7 @@ public class UsbDetailsFunctionsController extends UsbDetailsController preference.setChecked(true); } - if (function == UsbManager.FUNCTION_RNDIS) { + if (function == UsbManager.FUNCTION_RNDIS || function == UsbManager.FUNCTION_NCM) { // We need to have entitlement check for usb tethering, so use API in // TetheringManager. mTetheringManager.startTethering( diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiverTest.java index b6bbe8ad6fc..21ec48e0f06 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiverTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiverTest.java @@ -98,6 +98,20 @@ public class UsbConnectionBroadcastReceiverTest { POWER_ROLE_NONE, DATA_ROLE_NONE); } + @Test + public void onReceive_usbConnectedNcmEnabled_invokesCallback() { + Intent intent = new Intent(); + intent.setAction(UsbManager.ACTION_USB_STATE); + intent.putExtra(UsbManager.USB_CONNECTED, true); + intent.putExtra(UsbManager.USB_FUNCTION_NCM, true); + intent.putExtra(UsbManager.USB_DATA_UNLOCKED, true); + + mReceiver.onReceive(mContext, intent); + + verify(mListener).onUsbConnectionChanged(/* connected */ true, UsbManager.FUNCTION_NCM, + POWER_ROLE_NONE, DATA_ROLE_NONE); + } + @Test public void onReceive_usbPortStatus_invokeCallback() { final Intent intent = new Intent(); diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDefaultFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDefaultFragmentTest.java index f3e1bcedc7b..eee63980753 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDefaultFragmentTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDefaultFragmentTest.java @@ -103,6 +103,14 @@ public class UsbDefaultFragmentTest { .isEqualTo(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_MIDI)); } + @Test + public void getDefaultKey_isNcm_returnsRndis() { + when(mUsbBackend.getDefaultUsbFunctions()).thenReturn(UsbManager.FUNCTION_NCM); + + assertThat(mFragment.getDefaultKey()) + .isEqualTo(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_RNDIS)); + } + @Test public void setDefaultKey_isNone_shouldSetNone() { mFragment.setDefaultKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_NONE)); @@ -149,6 +157,19 @@ public class UsbDefaultFragmentTest { UsbManager.FUNCTION_MTP); } + @Test + public void setDefaultKey_functionNcm_invokesStartTethering() { + doReturn(UsbManager.FUNCTION_MTP).when(mUsbBackend).getCurrentFunctions(); + + mFragment.setDefaultKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_NCM)); + + verify(mTetheringManager).startTethering(eq(TetheringManager.TETHERING_USB), + any(), + eq(mFragment.mOnStartTetheringCallback)); + assertThat(mFragment.mPreviousFunctions).isEqualTo( + UsbManager.FUNCTION_MTP); + } + @Test public void setDefaultKey_functionOther_setCurrentFunctionInvoked() { doReturn(UsbManager.FUNCTION_MTP).when(mUsbBackend).getCurrentFunctions(); @@ -161,14 +182,24 @@ public class UsbDefaultFragmentTest { } @Test - public void onTetheringStarted_setDefaultUsbFunctions() { - mFragment.mPreviousFunctions = UsbManager.FUNCTION_PTP; + public void onTetheringStarted_currentFunctionsIsRndis_setsRndisAsDefaultUsbFunctions() { + mFragment.mCurrentFunctions = UsbManager.FUNCTION_RNDIS; mFragment.mOnStartTetheringCallback.onTetheringStarted(); verify(mUsbBackend).setDefaultUsbFunctions(UsbManager.FUNCTION_RNDIS); } + @Test + public void onTetheringStarted_currentFunctionsIsNcm_setsNcmAsDefaultUsbFunctions() { + mFragment.mCurrentFunctions = UsbManager.FUNCTION_NCM; + + mFragment.mOnStartTetheringCallback.onTetheringStarted(); + + verify(mUsbBackend).setDefaultUsbFunctions(UsbManager.FUNCTION_NCM); + } + + @Test public void onPause_receivedRndis_shouldSetRndis() { mFragment.mIsStartTethering = true; @@ -229,6 +260,18 @@ public class UsbDefaultFragmentTest { assertThat(mFragment.mCurrentFunctions).isEqualTo(UsbManager.FUNCTION_MIDI); } + @Test + public void onPause_receivedNcm_setsNcm() { + mFragment.mIsStartTethering = true; + mFragment.mUsbConnectionListener.onUsbConnectionChanged(/* connected */ true, + UsbManager.FUNCTION_NCM, POWER_ROLE_SINK, DATA_ROLE_DEVICE); + + mFragment.onPause(); + + verify(mUsbBackend, times(2)).setDefaultUsbFunctions(UsbManager.FUNCTION_NCM); + assertThat(mFragment.mCurrentFunctions).isEqualTo(UsbManager.FUNCTION_NCM); + } + @Test public void usbIsPluginAndUsbTetheringIsOn_startTetheringIsInvoked() { when(mUsbBackend.getDefaultUsbFunctions()).thenReturn(UsbManager.FUNCTION_RNDIS); @@ -243,6 +286,20 @@ public class UsbDefaultFragmentTest { eq(mFragment.mOnStartTetheringCallback)); } + @Test + public void usbIsPluginAndUsbTetheringIsOn_receivedNcm_startsTethering() { + when(mUsbBackend.getDefaultUsbFunctions()).thenReturn(UsbManager.FUNCTION_NCM); + + mFragment.mUsbConnectionListener.onUsbConnectionChanged(/* connected */ false, + UsbManager.FUNCTION_NCM, POWER_ROLE_SINK, DATA_ROLE_DEVICE); + mFragment.mUsbConnectionListener.onUsbConnectionChanged(/* connected */ true, + UsbManager.FUNCTION_NCM, POWER_ROLE_SINK, DATA_ROLE_DEVICE); + + verify(mTetheringManager).startTethering(eq(TetheringManager.TETHERING_USB), + any(), + eq(mFragment.mOnStartTetheringCallback)); + } + @Test public void usbIsNotPluginAndUsbTetheringIsOn_startTetheringIsNotInvoked() { when(mUsbBackend.getDefaultUsbFunctions()).thenReturn(UsbManager.FUNCTION_RNDIS); diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java index 9118645ce61..f94ab6a5d96 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java @@ -167,6 +167,19 @@ public class UsbDetailsFunctionsControllerTest { assertThat(prefs.get(0).isChecked()).isTrue(); } + @Test + public void displayRefresh_ncmEnabled_checksSwitches() { + when(mUsbBackend.areFunctionsSupported(anyLong())).thenReturn(true); + + mDetailsFunctionsController.refresh(true, UsbManager.FUNCTION_NCM, POWER_ROLE_SINK, + DATA_ROLE_DEVICE); + List prefs = getRadioPreferences(); + + assertThat(prefs.get(1).getKey()) + .isEqualTo(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_RNDIS)); + assertThat(prefs.get(1).isChecked()).isTrue(); + } + @Test public void onClickMtp_noneEnabled_shouldEnableMtp() { when(mUsbBackend.areFunctionsSupported(anyLong())).thenReturn(true); @@ -253,6 +266,20 @@ public class UsbDetailsFunctionsControllerTest { UsbManager.FUNCTION_MTP); } + @Test + public void onRadioButtonClicked_functionNcm_startsTethering() { + mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_NCM)); + doReturn(UsbManager.FUNCTION_MTP).when(mUsbBackend).getCurrentFunctions(); + + mDetailsFunctionsController.onRadioButtonClicked(mRadioButtonPreference); + + verify(mTetheringManager).startTethering(eq(TetheringManager.TETHERING_USB), + any(), + eq(mDetailsFunctionsController.mOnStartTetheringCallback)); + assertThat(mDetailsFunctionsController.mPreviousFunction).isEqualTo( + UsbManager.FUNCTION_MTP); + } + @Test public void onRadioButtonClicked_functionOther_setCurrentFunctionInvoked() { mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_PTP)); From b6d95d1c4fd888f4c3811bbc1a7c3d7261b0ec04 Mon Sep 17 00:00:00 2001 From: ykhung Date: Fri, 9 Jul 2021 11:01:47 +0800 Subject: [PATCH 07/11] Remove items from not allowed show summary list (legacy rule) Bug: 191991503 Test: make SettingsRoboTests Change-Id: Ieadc97eddcbd149e04ec85477859a9b3ffd8f06b --- res/values/arrays.xml | 2 -- .../BatteryAppListPreferenceControllerTest.java | 8 ++++++-- .../BatteryChartPreferenceControllerTest.java | 11 +++++++---- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 34506658c45..7d6745cb755 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -1529,8 +1529,6 @@ - - "com.google.android.googlequicksearchbox" - - - - - + "অ্যাপটি সরিয়ে দিন" + "এই অ্যাপটি সরিয়ে দেবেন?" + "এই অ্যাপটি সার্টিফিকেট ম্যানেজ করতে পারবে না তবে এগুলি আপনার ডিভাইসে থেকে যাবে। অ্যাপটির মাধ্যমে ইনস্টল করা যেকোনও সার্টিফিকেট আনইনস্টল হয়ে যাবে।" %dটি ইউআরএল %dটি ইউআরএল @@ -3262,8 +3259,7 @@ "ব্যবহারকারী" "বন্ধ করুন" "সক্ষম করুন" - - + "আনইনস্টল করুন" "বিশ্বাস" "সিস্টেমের CA সার্টিফিকেট সক্ষম করবেন?" "সিস্টেমের CA সার্টিফিকেট অক্ষম করবেন?" @@ -4184,10 +4180,8 @@ "প্রশাসকের পিন লিখুন" "চালু করুন" "বন্ধ আছে" - - - - + "চালু আছে" + "বন্ধ আছে" "চালু আছে" "বন্ধ আছে" "অ্যাপ পিন করার ফিচার" @@ -4778,10 +4772,8 @@ "উইনস্কোপ ট্রেস" "সেন্সর বন্ধ করা আছে" "অফিস প্রোফাইলের সেটিংস" - - - - + "কাজের সংগ্রহ ব্যবহার করে ব্যক্তিগত অ্যাপগুলিকে পরিচিতি সন্ধান করতে অনমুতি দিন" + "আপনার আইটি অ্যাডমিন হয়ত সার্চ এবং ইনকামিং কলের তথ্য দেখতে পারেন" "ক্রস প্রোফাইল ক্যালেন্ডার" "ব্যক্তিগত ক্যালেন্ডারে আপনার অফিসের ইভেন্ট দেখুন" @@ -5117,8 +5109,7 @@ "যেমন আছে থাক" "কম্পন" "মিউট" - - + "চালু করতে, আগে পাওয়ার মেনু থেকে \"পাওয়ার বোতাম প্রেস করে ধরে রাখুন\" বিকল্পটি পরিবর্তন করুন।" "নেটওয়ার্কের বিবরণ" "আপনার ফোনের অ্যাপে আপনার ডিভাইসের নাম দেখা যাবে। আপনি ব্লুটুথ ডিভাইসে বা ওয়াই-ফাই নেটওয়ার্কে কানেক্ট করলে অথবা ওয়াই-ফাই হটস্পট সেট আপ করলে এটি অন্যরাও হয়ত দেখতে পাবেন।" "ডিভাইস" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index eeceef9f176..5748a590978 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -4410,7 +4410,7 @@ "Dateien auf ein anderes Gerät übertragen" "PTP" "Videos zu AVC konvertieren" - "Die Videos sind mit mehr Mediaplayern kompatibel, die Qualität kann jedoch beeinträchtigt werden" + "Die Videos sind mit einer größeren Zahl von Mediaplayern kompatibel, es kann jedoch zu Qualitätseinbußen kommen" "Fotos oder Dateien übertragen, falls MTP nicht unterstützt wird (PTP)" "USB-Tethering" "MIDI" diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index 92fd79fdee6..b67d285d028 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -203,7 +203,7 @@ "Recherche de fichiers multimédia sur la carte SD…" "Mémoire USB en lecture seule" "Carte SD installée en lecture seule" - "Passer" + "Ignorer" "Suivant" "Langues" "Supprimer" @@ -916,19 +916,19 @@ "Autoriser ART à vérifier le code à octets pour les applications débogables" "Afficher le taux d\'actualisation" "Afficher le taux d\'actualisation actuel" - "NFC" - "Autoriser l\'échange de données lorsque la tablette touche un appareil NFC" - "Autoriser l\'échange de données lorsque le téléphone touche un appareil NFC" - "Activer la fonction NFC" - "La technologie NFC échange des données entre cet appareil et d\'autres appareils ou cibles à proximité, tels que les terminaux de paiement, les lecteurs d\'accès et les annonces ou les balises interactifs" - "Déverrouillage de l\'appareil requis pour utiliser la fonctionnalité NFC" - "Autoriser l\'utilisation de la technologie NFC uniquement lorsque l\'écran est déverrouillé" + "CCP" + "Autoriser l\'échange de données lorsque la tablette touche un appareil CCP" + "Autoriser l\'échange de données lorsque le téléphone touche un appareil CCP" + "Activer la technologie CCP" + "La technologie CCP échange des données entre cet appareil et d\'autres appareils ou cibles à proximité, tels que les terminaux de paiement, les lecteurs d\'accès et les annonces ou les balises interactifs" + "Déverrouillage de l\'appareil requis pour utiliser la fonctionnalité CCP" + "Autoriser l\'utilisation de la technologie CCP uniquement lorsque l\'écran est déverrouillé" "Android Beam" - "Prêt à partager le contenu de l\'application par NFC" + "Prêt à partager le contenu de l\'application par CCP" "Désactivé" - "Non accessible, car la NFC est désactivée" + "Non accessible, car la CCP est désactivée" "Android Beam" - "Lorsque cette fonctionnalité est activée, vous pouvez partager le contenu d\'une application avec un appareil compatible NFC en rapprochant les appareils. Vous pouvez, par exemple, partager des pages Web, des vidéos YouTube, des contacts et plus encore.\n\nIl vous suffit de rapprocher les appareils (en les plaçant généralement dos à dos), puis de toucher votre écran. L\'application détermine le contenu à transférer." + "Lorsque cette fonctionnalité est activée, vous pouvez partager le contenu d\'une application avec un appareil compatible CCP en rapprochant les appareils. Vous pouvez, par exemple, partager des pages Web, des vidéos YouTube, des contacts et plus encore.\n\nIl vous suffit de rapprocher les appareils (en les plaçant généralement dos à dos), puis de toucher votre écran. L\'application détermine le contenu à transférer." "Wi-Fi" "Activer le Wi-Fi" "Wi-Fi" @@ -3424,8 +3424,8 @@ "Autoriser les modifications des paramètres du Wi‑Fi et des données cellulaires" "Bluetooth" "Autoriser les modifications des associations et des paramètres Bluetooth" - "NFC" - "Autoriser l\'échange de données lorsque cet appareil (%1$s) touche un autre appareil NFC" + "CCP" + "Autoriser l\'échange de données lorsque cet appareil (%1$s) touche un autre appareil CCP" "Autoriser l\'échange de données lorsque la tablette est en contact avec un autre appareil" "Autoriser l\'échange de données lorsque le téléphone est en contact avecun autre appareil" "Position" @@ -3483,15 +3483,15 @@ "Wi-Fi, point d\'accès" "Appareils connectés" "Bluetooth, association" - "Bluetooth, mode Voiture, NFC" + "Bluetooth, mode Voiture, CCP" "Bluetooth, mode Voiture" - "Bluetooth, NFC" + "Bluetooth, CCP" "Bluetooth" - "Bluetooth, Android Auto, mode Voiture, NFC" + "Bluetooth, Android Auto, mode Voiture, CCP" "Bluetooth, Android Auto, mode Voiture" - "Bluetooth, Android Auto, NFC" + "Bluetooth, Android Auto, CCP" "Bluetooth, Android Auto" - "Non accessible parce que la fonctionnalité NFC est désactivée" + "Non accessible parce que la technologie CCP est désactivée" "Pour l\'utiliser, installez d\'abord une application de paiement" "Applis et notifications" "Applications récentes, applications par défaut" @@ -4406,7 +4406,7 @@ "Transfert de fichiers" "Transférer des fichiers vers un autre appareil" "PTP" - "Convertir des vidéos en format AVC" + "Convertir des vidéos au format AVC" "Les vidéos joueront sur un plus grand nombre de lecteurs multimédias, mais la qualité peut être réduite" "Transferer des photos ou des fichiers si MTP n\'est pas pris en charge (PTP)" "Partage de connexion par USB" @@ -5505,7 +5505,7 @@ "Désactiver maintenant" "Activer maintenant" "Utiliser le mode Éclairage nocturne" - "Utiliser la connectivité NFC" + "Utiliser la technologie CCP" "Utiliser le gestionnaire de pile adaptatif" "Utiliser la luminosité adaptative" "Utiliser les appels Wi-Fi" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index c911bc3af36..c9078396677 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -2980,12 +2980,9 @@ "એકપણ નહીં" "જ્યારે તમે નીચે આપેલી ઍપ અને URLsનો ઉપયોગ કરશો, ત્યારે પ્રમાણપત્રો તમારી ચકાસણી કરશે" "પ્રમાણપત્રો અનઇન્સ્ટૉલ કરો" - - - - - - + "ઍપ કાઢી નાખો" + "આ ઍપ કાઢી નાખીએ?" + "ઍપ દ્વારા પ્રમાણપત્રો મેનેજ નહીં કરવામાં આવે, પણ તે તમારા ડિવાઇસમાં રહેશે. ઍપ દ્વારા ઇન્સ્ટૉલ કરવામાં આવેલું કોઈપણ પ્રમાણપત્ર અનઇન્સ્ટૉલ કરવામાં આવશે." %d URL %d URLs @@ -3262,8 +3259,7 @@ "વપરાશકર્તા" "બંધ કરો" "સક્ષમ કરો" - - + "અનઇન્સ્ટૉલ કરો" "વિશ્વાસ કરો" "સિસ્ટમ CA પ્રમાણપત્રને સક્ષમ કરીએ?" "સિસ્ટમ CA પ્રમાણપત્રને અક્ષમ કરીએ?" @@ -4184,10 +4180,8 @@ "વ્યવસ્થાપક પિન દાખલ કરો" "ચાલુ" "બંધ" - - - - + "ચાલુ છે" + "બંધ છે" "ચાલુ છે" "બંધ છે" "ઍપ પિનિંગ" @@ -5117,8 +5111,7 @@ "કંઈ કરતા નહીં" "વાઇબ્રેટ" "મ્યૂટ કરો" - - + "ચાલુ કરવા માટે, પહેલાં \"પાવર બટનને દબાવી રાખો\" વિકલ્પને બદલીને પાવર મેનૂ કરો." "નેટવર્કની વિગતો" "તમારા ડિવાઇસનું નામ તમારા ફોનની ઍપ પર જોઈ શકાય છે. તમે બ્લૂટૂથ ડિવાઇસથી કનેક્ટ કરો, વાઇ-ફાઇ નેટવર્કથી કનેક્ટ કરો અથવા વાઇ-ફાઇ હૉટસ્પૉટને સેટ કરો ત્યારે તે અન્ય લોકોને પણ દેખાઈ શકે છે." "ઉપકરણો" diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index 5848abb9931..5d00a86c591 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -4407,7 +4407,7 @@ "Փոխանցել ֆայլեր մեկ այլ սարքին" "PTP ռեժիմ" "Տեսանյութերի վերածում AVC ձևաչափի" - "Տեսանյութերը հնարավոր կլինի նվագարկել ավելի շատ մեդիա նվագարկիչներով, սակայն որակը կարող է իջնել։" + "Տեսանյութերը հնարավոր կլինի նվագարկել ավելի շատ մեդիա նվագարկիչներով, սակայն որակը կարող է ընկնել։" "Լուսանկարների կամ ֆայլերի փոխանցում, եթե MTP-ն չի աջակցվում (PTP)" "USB մոդեմ" "MIDI" diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index bd6379cda16..ea321d2608d 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -2982,7 +2982,7 @@ "Disinstalla certificati" "Rimuovi l\'app" "Rimuovere questa app?" - "Questa app non gestirà i certificati, ma rimarrà attiva sul dispositivo. Eventuali certificati installati dall\'app verranno disinstallati." + "Questa app non gestirà i certificati, ma rimarrà sul dispositivo. Eventuali certificati installati dall\'app verranno disinstallati." %d URL %d URL @@ -4407,7 +4407,7 @@ "Trasferisci i file su un altro dispositivo" "PTP" "Converti video in AVC" - "I video verranno riprodotti su più lettori multimediali, ma la qualità sarà ridotta" + "I video verranno riprodotti su più lettori multimediali, ma la qualità potrebbe essere inferiore" "Trasferisci foto o file se la modalità MTP non è supportata (PTP)" "Tethering USB" "MIDI" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index 78e08b9d4d3..41c20dfbb23 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -4773,10 +4773,8 @@ "विनस्कोप ट्रेस" "सेन्सर बंद आहेत" "कार्य प्रोफाइल सेटिंग्ज" - - - - + "वैयक्तिक ॲप्समध्ये कामासंबंधित डिरेक्टरीतील संपर्क शोधा" + "तुमचे शोध आणि इनकमिंग कॉल कदाचित तुमच्या आयटी ॲडमिनला दृश्यमान असू शकतात" "क्रॉस-प्रोफाइल कॅलेंडर" "तुमच्या वैयक्तिक कॅलेंडरवर कार्य इव्हेंट दाखवा" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index a470e77dd95..05ec7d737b3 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -4772,10 +4772,8 @@ "Winscope को ट्रेस" "सेन्सरहरू निष्क्रिय पार्नु…" "कार्यसम्बन्धी प्रोफाइलको सेटिङ" - - - - + "व्यक्तिगत एपहरूमा गई कामका डिरेक्टरीमा भएका सम्पर्क ठेगानाहरू खोज्नुहोस्" + "तपाईंका सूचना प्रविधि व्यवस्थापकले तपाईंका खोज तथा आगमन कलहरू हेर्न सक्ने सम्भावना हुन्छ" "अन्तरप्रोफाइल पात्रो" "व्यक्तिगत पात्रोमा कार्यस्थलसम्बन्धी कार्यक्रमहरू देखाउनुहोस्" diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 08134d7cc14..5f682ebe1aa 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -480,7 +480,7 @@ "Plaats je vinger op de sensor en til deze op nadat je een trilling hebt gevoeld." "Houd je vinger op de sensor totdat je een trilling voelt" "Raak de vingerafdruksensor aan en houd deze vast" - "Raak de sensor aan" + "Raak de sensor opnieuw aan" "Nog een keer" "Volg het vingerafdrukicoon" "Raak de sensor meerdere keren aan om de verschillende delen van je vingerafdruk toe te voegen." diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index e0ce108e842..1e6164a51f4 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -4772,10 +4772,8 @@ "Winscope ਟ੍ਰੇਸ" "ਸੈਂਸਰ ਬੰਦ ਕਰੋ" "ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਸੈਟਿੰਗਾਂ" - - - - + "ਨਿੱਜੀ ਐਪਾਂ ਵਿੱਚ ਕਾਰਜ-ਸਥਾਨ ਡਾਇਰੈਕਟਰੀ ਵਿਚਲੇ ਸੰਪਰਕਾਂ ਨੂੰ ਖੋਜੋ" + "ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਤੁਹਾਡੀਆਂ ਖੋਜਾਂ ਅਤੇ ਇਨਕਮਿੰਗ ਕਾਲਾਂ ਦਿਖਾਈ ਦੇ ਸਕਦੀਆਂ ਹਨ" "ਕਰਾਸ-ਪ੍ਰੋਫਾਈਲ ਕੈਲੰਡਰ" "ਤੁਹਾਡੇ ਨਿੱਜੀ ਕੈਲੰਡਰ \'ਤੇ ਕਾਰਜ-ਸਥਾਨ ਦੇ ਇਵੈਂਟ ਦਿਖਾਓ" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index e894d3e86ac..a616ce48e02 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -946,10 +946,10 @@ "%1$d Mb/s" "%s chce włączyć Wi-Fi" "%s chce wyłączyć Wi-Fi" - "Sprawdź kod bajtowy aplikacji do debugowania" + "Sprawdzaj kod bajtowy aplikacji do debugowania" "Zezwalaj ART na sprawdzanie kodu bajtowego aplikacji do debugowania" - "Pokaż częstotliwość odświeżania" - "Pokaż bieżącą częstotliwość odświeżania" + "Pokazuj częstotliwość odświeżania" + "Pokazuj bieżącą częstotliwość odświeżania" "Komunikacja NFC" "Zezwalaj na wymianę danych, gdy tablet dotyka innego urządzenia z NFC" "Zezwalaj na wymianę danych, gdy telefon dotyka innego urządzenia z NFC" @@ -4079,7 +4079,7 @@ "Zezwalaj na dostęp do trybu Nie przeszkadzać" "Żadne zainstalowane aplikacje nie prosiły o dostęp do funkcji „Nie przeszkadzać”." "Ładuję aplikacje…" - "Android na żądanie blokuje powiadomienia z tej aplikacji na urządzeniu" + "Na Twoje życzenie Android blokuje powiadomienia z tej aplikacji na urządzeniu" "Android na żądanie blokuje tę kategorię powiadomień na urządzeniu" "Android na żądanie blokuje tę grupę powiadomień na urządzeniu" "Kategorie" @@ -4289,7 +4289,7 @@ "Prześlij opinię o tym urządzeniu" "Wpisz kod PIN administratora" "Wł." - "Wył." + "Wyłączony" "Wł." "Wył." "Włączono" @@ -5492,7 +5492,7 @@ "Wymuś eksperymentalny tryb pulpitu na dodatkowych ekranach" "Włącz brak możliwości zmiany rozmiaru w trybie wielu okien" "Zezwala na wyświetlanie aplikacji bez możliwości zmiany rozmiaru w trybie wielu okien" - "Zastąp wymuszanie trybu ciemnego" + "Zastępuj wymuszanie trybu ciemnego" "Zastępuje ustawienie zawsze włączonej funkcji wymuszania trybu ciemnego" "Prywatność" "Uprawnienia, aktywność na koncie, dane osobiste" @@ -5590,8 +5590,8 @@ "Gdy używasz 2 kart SIM, tablet jest ograniczony do transmisji 4G. ""Więcej informacji" "Gdy używasz 2 kart SIM, urządzenie jest ograniczone do transmisji 4G. ""Więcej informacji" "Zawieś wykonywanie dla aplikacji z pamięci podręcznej" - "Zezwól na nakładki ekranowe w ustawieniach" - "Zezwól aplikacjom, które mogą wyświetlać się nad innymi, aby nakładały ekrany ustawień" + "Zezwalaj na nakładki ekranowe w ustawieniach" + "Zezwalaj aplikacjom, które mogą wyświetlać się nad innymi, aby nakładały ekrany ustawień" "Multimedia" "Przypnij odtwarzacz" "Aby można było szybko wznowić odtwarzanie, odtwarzacz pozostaje otwarty w Szybkich ustawieniach" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index 72bca72aa4c..427ee8c4872 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -4408,8 +4408,8 @@ "Fayl uzatish" "Boshqa qurilmaga fayl o‘tkazish" "PTP" - "Videolarni AVC formatga aylantirish" - "Videolar koʻplab multimedia pleyerlarida ijro etiladi, lekin sifati pasayishi mumkin" + "Videolarni AVC formatiga aylantirish" + "Aksariyat media pleyerlarda ijro etiladi, lekin sifati pasayishi mumkin" "Agar MTP qo‘llab-quvvatlanmasa, surat yoki fayllarni o‘tkazish (PTP)" "USB modem" "MIDI" @@ -4775,7 +4775,7 @@ "Sensorlar nofaol" "Ish profili sozlamalari" "Ish katalogidagi kontaktlarni shaxsiy ilovalar ichidan qidiring" - "Qidiruv va kiruvchi chaqiruvlar IT administratoriga koʻrinishi mumkin" + "Qidiruv va kiruvchi chaqiruvlar administratorga koʻrinishi mumkin" "Taqvimlarni sinxronlash" "Shaxsiy taqvimingizda ishchi tadbirlarni chiqarish" From f7073adf800ab7592f8522d31051b45910c9d686 Mon Sep 17 00:00:00 2001 From: SongFerngWang Date: Thu, 8 Jul 2021 03:43:23 +0800 Subject: [PATCH 10/11] Fix internet panel doesn't show data rat after dds changed The internet panel does not listen dds changed. Bug: 193029917 Test: atest NetworkProviderWorkerTest Change-Id: I58544ec2fd3f2bba5c6590ce54bcf68d0c83b06b --- .../telephony/NetworkProviderWorker.java | 50 ++++++++++++++----- 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/src/com/android/settings/network/telephony/NetworkProviderWorker.java b/src/com/android/settings/network/telephony/NetworkProviderWorker.java index a6b438a93e2..c731bfd2edd 100644 --- a/src/com/android/settings/network/telephony/NetworkProviderWorker.java +++ b/src/com/android/settings/network/telephony/NetworkProviderWorker.java @@ -20,7 +20,10 @@ import static com.android.settings.network.InternetUpdater.INTERNET_ETHERNET; import static com.android.settingslib.mobile.MobileMappings.getIconKey; import static com.android.settingslib.mobile.MobileMappings.mapIconSets; +import android.content.BroadcastReceiver; import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; @@ -60,11 +63,22 @@ public class NetworkProviderWorker extends WifiScanWorker implements private SubscriptionsChangeListener mSubscriptionsListener; private MobileDataEnabledListener mDataEnabledListener; private DataConnectivityListener mConnectivityListener; - private int mDefaultDataSubid = SubscriptionManager.INVALID_SUBSCRIPTION_ID; + private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; private final Context mContext; final Handler mHandler; @VisibleForTesting final NetworkProviderTelephonyCallback mTelephonyCallback; + private final BroadcastReceiver mConnectionChangeReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + final String action = intent.getAction(); + if (action.equals(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED)) { + Log.d(TAG, "ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED"); + updateListener(); + } + } + }; + private TelephonyManager mTelephonyManager; private Config mConfig = null; private TelephonyDisplayInfo mTelephonyDisplayInfo = @@ -80,10 +94,10 @@ public class NetworkProviderWorker extends WifiScanWorker implements mMobileDataObserver = new DataContentObserver(mHandler, this); mContext = context; - mDefaultDataSubid = getDefaultDataSubscriptionId(); - + mDefaultDataSubId = getDefaultDataSubscriptionId(); + Log.d(TAG, "Init, SubId: " + mDefaultDataSubId); mTelephonyManager = mContext.getSystemService( - TelephonyManager.class).createForSubscriptionId(mDefaultDataSubid); + TelephonyManager.class).createForSubscriptionId(mDefaultDataSubId); mTelephonyCallback = new NetworkProviderTelephonyCallback(); mSubscriptionsListener = new SubscriptionsChangeListener(context, this); mDataEnabledListener = new MobileDataEnabledListener(context, this); @@ -98,12 +112,15 @@ public class NetworkProviderWorker extends WifiScanWorker implements @Override protected void onSlicePinned() { Log.d(TAG, "onSlicePinned"); - mMobileDataObserver.register(mContext, mDefaultDataSubid); + mMobileDataObserver.register(mContext, mDefaultDataSubId); mSubscriptionsListener.start(); - mDataEnabledListener.start(mDefaultDataSubid); + mDataEnabledListener.start(mDefaultDataSubId); mConnectivityListener.start(); mSignalStrengthListener.resume(); mTelephonyManager.registerTelephonyCallback(mHandler::post, mTelephonyCallback); + IntentFilter filter = new IntentFilter(); + filter.addAction(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED); + mContext.registerReceiver(mConnectionChangeReceiver, filter); super.onSlicePinned(); } @@ -116,6 +133,9 @@ public class NetworkProviderWorker extends WifiScanWorker implements mConnectivityListener.stop(); mSignalStrengthListener.pause(); mTelephonyManager.unregisterTelephonyCallback(mTelephonyCallback); + if (mConnectionChangeReceiver != null) { + mContext.unregisterReceiver(mConnectionChangeReceiver); + } super.onSliceUnpinned(); } @@ -137,14 +157,14 @@ public class NetworkProviderWorker extends WifiScanWorker implements notifySliceChange(); } - @Override - public void onSubscriptionsChanged() { + private void updateListener() { int defaultDataSubId = getDefaultDataSubscriptionId(); - if (mDefaultDataSubid == defaultDataSubId) { - Log.d(TAG, "onSubscriptionsChanged: no change"); + if (mDefaultDataSubId == defaultDataSubId) { + Log.d(TAG, "DDS: no change"); return; } - Log.d(TAG, "onSubscriptionsChanged: defaultDataSubId:" + defaultDataSubId); + mDefaultDataSubId = defaultDataSubId; + Log.d(TAG, "DDS: defaultDataSubId:" + mDefaultDataSubId); if (SubscriptionManager.isUsableSubscriptionId(defaultDataSubId)) { mTelephonyManager.unregisterTelephonyCallback(mTelephonyCallback); mMobileDataObserver.unregister(mContext); @@ -160,6 +180,12 @@ public class NetworkProviderWorker extends WifiScanWorker implements updateSlice(); } + @Override + public void onSubscriptionsChanged() { + Log.d(TAG, "onSubscriptionsChanged"); + updateListener(); + } + @Override public void onSignalStrengthChanged() { Log.d(TAG, "onSignalStrengthChanged"); @@ -283,7 +309,7 @@ public class NetworkProviderWorker extends WifiScanWorker implements */ public String getNetworkTypeDescription() { return updateNetworkTypeName(mContext, mConfig, mTelephonyDisplayInfo, - mDefaultDataSubid); + mDefaultDataSubId); } /** From 17ef8294c323cf434f20d7d7ec0e1cc419826fb3 Mon Sep 17 00:00:00 2001 From: Meng Wang Date: Wed, 7 Jul 2021 13:46:43 -0700 Subject: [PATCH 11/11] Refine WFC location notice text. Bug: 190642193 Test: manual - see updated screenshot in the bug. Change-Id: Ia417c8486dc324a65e41bfb667eaaf3bc9894033 --- res/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index d59ae9d8e65..0fc6f777a78 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -13091,8 +13091,8 @@ Location - - Your service provider may collect your location in order to provide this service.\n\nPlease review your service provider\u2019s privacy policy. + + Your carrier may collect your location when you use this service for emergency calls.\n\nVisit your carrier\u2019s privacy policy for details. You may lose access to any remaining time or data. Check with your provider before removing.