Snap for 5749990 from c563fbb979 to qt-c2f2-release

Change-Id: Ic7a91c902b76d49f37919d33d33e7097a7880177
This commit is contained in:
android-build-team Robot
2019-07-24 03:00:31 +00:00
11 changed files with 191 additions and 28 deletions

View File

@@ -2940,9 +2940,9 @@
<item quantity="other">Proveri sertifikate</item> <item quantity="other">Proveri sertifikate</item>
</plurals> </plurals>
<string name="user_settings_title" msgid="3493908927709169019">"Više korisnika"</string> <string name="user_settings_title" msgid="3493908927709169019">"Više korisnika"</string>
<string name="user_settings_footer_text" product="device" msgid="5947601460660791129">"Delite uređaj tako što ćete dodati nove korisnike. Svaki korisnik ima lični prostor na uređaju za prilagođene početne ekrane, naloge, aplikacije, podešavanja i još mnogo toga."</string> <string name="user_settings_footer_text" product="device" msgid="5947601460660791129">"Delite uređaj tako što ćete dodati nove korisnike. Svaki korisnik ima lični prostor na uređaju za prilagođene početne ekrane, naloge, aplikacije, podešavanja i drugo."</string>
<string name="user_settings_footer_text" product="tablet" msgid="2153761434649733502">"Delite tablet tako što ćete dodati nove korisnike. Svaki korisnik ima lični prostor na tabletu za prilagođene početne ekrane, naloge, aplikacije, podešavanja i još mnogo toga."</string> <string name="user_settings_footer_text" product="tablet" msgid="2153761434649733502">"Delite tablet tako što ćete dodati nove korisnike. Svaki korisnik ima lični prostor na tabletu za prilagođene početne ekrane, naloge, aplikacije, podešavanja i drugo."</string>
<string name="user_settings_footer_text" product="default" msgid="2844602828189838075">"Delite telefon tako što ćete dodati nove korisnike. Svaki korisnik ima lični prostor na telefonu za prilagođene početne ekrane, naloge, aplikacije, podešavanja i još mnogo toga."</string> <string name="user_settings_footer_text" product="default" msgid="2844602828189838075">"Delite telefon tako što ćete dodati nove korisnike. Svaki korisnik ima lični prostor na telefonu za prilagođene početne ekrane, naloge, aplikacije, podešavanja i drugo."</string>
<string name="user_list_title" msgid="7937158411137563543">"Korisnici i profili"</string> <string name="user_list_title" msgid="7937158411137563543">"Korisnici i profili"</string>
<string name="user_add_user_or_profile_menu" msgid="6923838875175259418">"Dodaj korisnika ili profil"</string> <string name="user_add_user_or_profile_menu" msgid="6923838875175259418">"Dodaj korisnika ili profil"</string>
<string name="user_add_user_menu" msgid="1675956975014862382">"Dodaj korisnika"</string> <string name="user_add_user_menu" msgid="1675956975014862382">"Dodaj korisnika"</string>

View File

@@ -224,7 +224,7 @@
<string name="radio_info_call_redirect_label" msgid="2743797189722106231">"कॉल रीडयरेक्ट:"</string> <string name="radio_info_call_redirect_label" msgid="2743797189722106231">"कॉल रीडयरेक्ट:"</string>
<string name="radio_info_ppp_resets_label" msgid="3587319503902576102">"बूट के बाद से PPP रीसेट की संख्या:"</string> <string name="radio_info_ppp_resets_label" msgid="3587319503902576102">"बूट के बाद से PPP रीसेट की संख्या:"</string>
<string name="radio_info_current_network_label" msgid="9151285540639134945">"वर्तमान नेटवर्क:"</string> <string name="radio_info_current_network_label" msgid="9151285540639134945">"वर्तमान नेटवर्क:"</string>
<string name="radio_info_ppp_received_label" msgid="363579470428151850">"डेटा प्राप्त हुआ:"</string> <string name="radio_info_ppp_received_label" msgid="363579470428151850">"डेटा मिला:"</string>
<string name="radio_info_gsm_service_label" msgid="1370863866816125489">"वॉइस सेवा:"</string> <string name="radio_info_gsm_service_label" msgid="1370863866816125489">"वॉइस सेवा:"</string>
<string name="radio_info_signal_strength_label" msgid="5155734002519307416">"सिग्नल की शक्ति:"</string> <string name="radio_info_signal_strength_label" msgid="5155734002519307416">"सिग्नल की शक्ति:"</string>
<string name="radio_info_call_status_label" msgid="2611065018172747413">"वॉइस कॉल स्थिति:"</string> <string name="radio_info_call_status_label" msgid="2611065018172747413">"वॉइस कॉल स्थिति:"</string>
@@ -2426,10 +2426,10 @@
<string name="usage_type_phone" product="tablet" msgid="262638572890253393">"टैबलेट"</string> <string name="usage_type_phone" product="tablet" msgid="262638572890253393">"टैबलेट"</string>
<string name="usage_type_phone" product="default" msgid="9108247984998041853">"फ़ोन"</string> <string name="usage_type_phone" product="default" msgid="9108247984998041853">"फ़ोन"</string>
<string name="usage_type_data_send" msgid="8971710128438365919">"मोबाइल पैकेट भेजे गए"</string> <string name="usage_type_data_send" msgid="8971710128438365919">"मोबाइल पैकेट भेजे गए"</string>
<string name="usage_type_data_recv" msgid="5468564329333954445">"मोबाइल पैकेट प्राप्त हुए"</string> <string name="usage_type_data_recv" msgid="5468564329333954445">"मोबाइल पैकेट पए"</string>
<string name="usage_type_radio_active" msgid="1732647857619420121">"मोबाइल रेडियो सक्रिय"</string> <string name="usage_type_radio_active" msgid="1732647857619420121">"मोबाइल रेडियो सक्रिय"</string>
<string name="usage_type_data_wifi_send" msgid="1847552143597396162">"वाई-फ़ाई पैकेट भेजे गए"</string> <string name="usage_type_data_wifi_send" msgid="1847552143597396162">"वाई-फ़ाई पैकेट भेजे गए"</string>
<string name="usage_type_data_wifi_recv" msgid="5678475911549183829">"वाई-फ़ाई पैकेट प्राप्त हुए"</string> <string name="usage_type_data_wifi_recv" msgid="5678475911549183829">"वाई-फ़ाई पैकेट मिले"</string>
<string name="usage_type_audio" msgid="6957269406840886290">"ऑडियो"</string> <string name="usage_type_audio" msgid="6957269406840886290">"ऑडियो"</string>
<string name="usage_type_video" msgid="4295357792078579944">"वीडियो"</string> <string name="usage_type_video" msgid="4295357792078579944">"वीडियो"</string>
<string name="usage_type_camera" msgid="8299433109956769757">"कैमरा"</string> <string name="usage_type_camera" msgid="8299433109956769757">"कैमरा"</string>
@@ -2653,7 +2653,7 @@
<string name="work_mode_off_summary" msgid="2657138190560082508">"ऐप्लिकेशन और सूचनाएं बंद हैं"</string> <string name="work_mode_off_summary" msgid="2657138190560082508">"ऐप्लिकेशन और सूचनाएं बंद हैं"</string>
<string name="remove_managed_profile_label" msgid="3856519337797285325">"वर्क प्रोफ़ाइल निकालें"</string> <string name="remove_managed_profile_label" msgid="3856519337797285325">"वर्क प्रोफ़ाइल निकालें"</string>
<string name="background_data" msgid="5779592891375473817">"पृष्ठभूमि डेटा"</string> <string name="background_data" msgid="5779592891375473817">"पृष्ठभूमि डेटा"</string>
<string name="background_data_summary" msgid="8328521479872763452">"ऐप्लिकेशन किसी भी समय डेटा समन्वयित, भेज और प्राप्त कर सकते हैं"</string> <string name="background_data_summary" msgid="8328521479872763452">"ऐप्लिकेशन किसी भी समय डेटा सिंक कर सकते हैं, भेज और प सकते हैं"</string>
<string name="background_data_dialog_title" msgid="6059217698124786537">"पृष्ठभू. डेटा अक्षम करें?"</string> <string name="background_data_dialog_title" msgid="6059217698124786537">"पृष्ठभू. डेटा अक्षम करें?"</string>
<string name="background_data_dialog_message" msgid="6981661606680941633">"बैकग्राउंड डेटा को बंद करने से बैटरी ज़्यादा चलती है और डेटा कम खर्च होता है. हो सकता है कि कुछ ऐप अब भी बैकग्राउंड में डेटा इस्तेमाल कर रहे हों."</string> <string name="background_data_dialog_message" msgid="6981661606680941633">"बैकग्राउंड डेटा को बंद करने से बैटरी ज़्यादा चलती है और डेटा कम खर्च होता है. हो सकता है कि कुछ ऐप अब भी बैकग्राउंड में डेटा इस्तेमाल कर रहे हों."</string>
<string name="sync_automatically" msgid="1682730255435062059">"ऐप डेटा अपने आप सिंक करें"</string> <string name="sync_automatically" msgid="1682730255435062059">"ऐप डेटा अपने आप सिंक करें"</string>
@@ -2774,7 +2774,7 @@
<string name="data_usage_sweep_limit" msgid="860566507375933039"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"सीमा"</font></string> <string name="data_usage_sweep_limit" msgid="860566507375933039"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"सीमा"</font></string>
<string name="data_usage_uninstalled_apps" msgid="614263770923231598">"निकाले गए ऐप्लिकेशन"</string> <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"निकाले गए ऐप्लिकेशन"</string>
<string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"ऐप्लिकेशन और उपयोगकर्ताओं को निकालें"</string> <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"ऐप्लिकेशन और उपयोगकर्ताओं को निकालें"</string>
<string name="data_usage_received_sent" msgid="5039699009276621757">"<xliff:g id="RECEIVED">%1$s</xliff:g>्राप्त, <xliff:g id="SENT">%2$s</xliff:g> भेजा"</string> <string name="data_usage_received_sent" msgid="5039699009276621757">"<xliff:g id="RECEIVED">%1$s</xliff:g>ाया, <xliff:g id="SENT">%2$s</xliff:g> भेजा"</string>
<string name="data_usage_total_during_range" msgid="4091294280619255237">"<xliff:g id="RANGE">%2$s</xliff:g>: करीब <xliff:g id="TOTAL">%1$s</xliff:g> का उपयोग किया गया."</string> <string name="data_usage_total_during_range" msgid="4091294280619255237">"<xliff:g id="RANGE">%2$s</xliff:g>: करीब <xliff:g id="TOTAL">%1$s</xliff:g> का उपयोग किया गया."</string>
<string name="data_usage_total_during_range_mobile" product="tablet" msgid="1925687342154538972">"<xliff:g id="RANGE">%2$s</xliff:g>: आपके टैबलेट के द्वारा मापे जाने के अनुसार, करीब <xliff:g id="TOTAL">%1$s</xliff:g> का उपयोग किया गया. आपके कैरियर की डेटा गणना अलग हो सकती है."</string> <string name="data_usage_total_during_range_mobile" product="tablet" msgid="1925687342154538972">"<xliff:g id="RANGE">%2$s</xliff:g>: आपके टैबलेट के द्वारा मापे जाने के अनुसार, करीब <xliff:g id="TOTAL">%1$s</xliff:g> का उपयोग किया गया. आपके कैरियर की डेटा गणना अलग हो सकती है."</string>
<string name="data_usage_total_during_range_mobile" product="default" msgid="5063981061103812900">"<xliff:g id="RANGE">%2$s</xliff:g>: आपके फ़ोन के द्वारा मापे जाने के अनुसार, करीब <xliff:g id="TOTAL">%1$s</xliff:g> का उपयोग किया गया. आपके कैरियर की डेटा गणना अलग हो सकती है."</string> <string name="data_usage_total_during_range_mobile" product="default" msgid="5063981061103812900">"<xliff:g id="RANGE">%2$s</xliff:g>: आपके फ़ोन के द्वारा मापे जाने के अनुसार, करीब <xliff:g id="TOTAL">%1$s</xliff:g> का उपयोग किया गया. आपके कैरियर की डेटा गणना अलग हो सकती है."</string>
@@ -2809,7 +2809,7 @@
<string name="vpn_save_login" msgid="6350322456427484881">"खाते की जानकारी सेव करें"</string> <string name="vpn_save_login" msgid="6350322456427484881">"खाते की जानकारी सेव करें"</string>
<string name="vpn_not_used" msgid="9094191054524660891">"(उपयोग नहीं किया)"</string> <string name="vpn_not_used" msgid="9094191054524660891">"(उपयोग नहीं किया)"</string>
<string name="vpn_no_ca_cert" msgid="8776029412793353361">"(सर्वर सत्‍यापित न करें)"</string> <string name="vpn_no_ca_cert" msgid="8776029412793353361">"(सर्वर सत्‍यापित न करें)"</string>
<string name="vpn_no_server_cert" msgid="2167487440231913330">"(सर्वर से प्राप्त)"</string> <string name="vpn_no_server_cert" msgid="2167487440231913330">"(सर्वर से मिला)"</string>
<string name="vpn_always_on_invalid_reason_type" msgid="7574518311224455825">"यह वीपीएन प्रकार हमेशा कनेक्ट नहीं रह सकता"</string> <string name="vpn_always_on_invalid_reason_type" msgid="7574518311224455825">"यह वीपीएन प्रकार हमेशा कनेक्ट नहीं रह सकता"</string>
<string name="vpn_always_on_invalid_reason_server" msgid="477304620899799383">"हमेशा-चालू VPN सिर्फ़ संख्या वाले सर्वर पतों का समर्थन करता है"</string> <string name="vpn_always_on_invalid_reason_server" msgid="477304620899799383">"हमेशा-चालू VPN सिर्फ़ संख्या वाले सर्वर पतों का समर्थन करता है"</string>
<string name="vpn_always_on_invalid_reason_no_dns" msgid="2226648961940273294">"हमेशा-चालू VPN के लिए एक DNS सर्वर तय किया जाना चाहिए"</string> <string name="vpn_always_on_invalid_reason_no_dns" msgid="2226648961940273294">"हमेशा-चालू VPN के लिए एक DNS सर्वर तय किया जाना चाहिए"</string>
@@ -2995,7 +2995,7 @@
<string name="severe_threats_title" msgid="8362676353803170963">"गंभीर धमकियां"</string> <string name="severe_threats_title" msgid="8362676353803170963">"गंभीर धमकियां"</string>
<string name="severe_threats_summary" msgid="8848126509420177320">"जान और माल के गंभीर खतरों के लिए अलर्ट पाएं"</string> <string name="severe_threats_summary" msgid="8848126509420177320">"जान और माल के गंभीर खतरों के लिए अलर्ट पाएं"</string>
<string name="amber_alerts_title" msgid="2772220337031146529">"AMBER अलर्ट"</string> <string name="amber_alerts_title" msgid="2772220337031146529">"AMBER अलर्ट"</string>
<string name="amber_alerts_summary" msgid="4312984614037904489">"बाल अपहरणों के बारे में बुलेटिन प्राप्त करें"</string> <string name="amber_alerts_summary" msgid="4312984614037904489">"बाल अपहरणों के बारे में बुलेटिन पाएं"</string>
<string name="repeat_title" msgid="6473587828597786996">"दोहराएं"</string> <string name="repeat_title" msgid="6473587828597786996">"दोहराएं"</string>
<string name="call_manager_enable_title" msgid="7718226115535784017">"कॉल प्रबंधक चालू करें"</string> <string name="call_manager_enable_title" msgid="7718226115535784017">"कॉल प्रबंधक चालू करें"</string>
<string name="call_manager_enable_summary" msgid="8458447798019519240">"इस सेवा को कॉल करने का आपका तरीका प्रबंधित करने दें."</string> <string name="call_manager_enable_summary" msgid="8458447798019519240">"इस सेवा को कॉल करने का आपका तरीका प्रबंधित करने दें."</string>

View File

@@ -2940,9 +2940,9 @@
<item quantity="other">Провери сертификате</item> <item quantity="other">Провери сертификате</item>
</plurals> </plurals>
<string name="user_settings_title" msgid="3493908927709169019">"Више корисника"</string> <string name="user_settings_title" msgid="3493908927709169019">"Више корисника"</string>
<string name="user_settings_footer_text" product="device" msgid="5947601460660791129">"Делите уређај тако што ћете додати нове кориснике. Сваки корисник има лични простор на уређају за прилагођене почетне екране, налоге, апликације, подешавања и још много тога."</string> <string name="user_settings_footer_text" product="device" msgid="5947601460660791129">"Делите уређај тако што ћете додати нове кориснике. Сваки корисник има лични простор на уређају за прилагођене почетне екране, налоге, апликације, подешавања и друго."</string>
<string name="user_settings_footer_text" product="tablet" msgid="2153761434649733502">"Делите таблет тако што ћете додати нове кориснике. Сваки корисник има лични простор на таблету за прилагођене почетне екране, налоге, апликације, подешавања и још много тога."</string> <string name="user_settings_footer_text" product="tablet" msgid="2153761434649733502">"Делите таблет тако што ћете додати нове кориснике. Сваки корисник има лични простор на таблету за прилагођене почетне екране, налоге, апликације, подешавања и друго."</string>
<string name="user_settings_footer_text" product="default" msgid="2844602828189838075">"Делите телефон тако што ћете додати нове кориснике. Сваки корисник има лични простор на телефону за прилагођене почетне екране, налоге, апликације, подешавања и још много тога."</string> <string name="user_settings_footer_text" product="default" msgid="2844602828189838075">"Делите телефон тако што ћете додати нове кориснике. Сваки корисник има лични простор на телефону за прилагођене почетне екране, налоге, апликације, подешавања и друго."</string>
<string name="user_list_title" msgid="7937158411137563543">"Корисници и профили"</string> <string name="user_list_title" msgid="7937158411137563543">"Корисници и профили"</string>
<string name="user_add_user_or_profile_menu" msgid="6923838875175259418">"Додај корисника или профил"</string> <string name="user_add_user_or_profile_menu" msgid="6923838875175259418">"Додај корисника или профил"</string>
<string name="user_add_user_menu" msgid="1675956975014862382">"Додај корисника"</string> <string name="user_add_user_menu" msgid="1675956975014862382">"Додај корисника"</string>

View File

@@ -119,7 +119,8 @@ public class RegulatoryInfoDisplayActivity extends Activity implements
} }
} }
private int getResourceId() { @VisibleForTesting
int getResourceId() {
// Use regulatory_info by default. // Use regulatory_info by default.
int resId = getResources().getIdentifier( int resId = getResources().getIdentifier(
REGULATORY_INFO_RESOURCE, "drawable", getPackageName()); REGULATORY_INFO_RESOURCE, "drawable", getPackageName());
@@ -134,6 +135,18 @@ public class RegulatoryInfoDisplayActivity extends Activity implements
resId = id; resId = id;
} }
} }
// When hardware coo property exists, use regulatory_info_<sku>_<coo> resource if valid.
final String coo = getCoo();
if (!TextUtils.isEmpty(coo) && !TextUtils.isEmpty(sku)) {
final String regulatory_info_coo_res =
REGULATORY_INFO_RESOURCE + "_" + sku.toLowerCase() + "_" + coo.toLowerCase();
final int id = getResources().getIdentifier(
regulatory_info_coo_res, "drawable", getPackageName());
if (id != 0) {
resId = id;
}
}
return resId; return resId;
} }
@@ -142,13 +155,15 @@ public class RegulatoryInfoDisplayActivity extends Activity implements
finish(); // close the activity finish(); // close the activity
} }
@VisibleForTesting private String getCoo() {
public static String getSku() { return SystemProperties.get("ro.boot.hardware.coo", "");
}
private String getSku() {
return SystemProperties.get("ro.boot.hardware.sku", ""); return SystemProperties.get("ro.boot.hardware.sku", "");
} }
@VisibleForTesting private String getRegulatoryInfoImageFileName() {
public static String getRegulatoryInfoImageFileName() {
final String sku = getSku(); final String sku = getSku();
if (TextUtils.isEmpty(sku)) { if (TextUtils.isEmpty(sku)) {
return DEFAULT_REGULATORY_INFO_FILEPATH; return DEFAULT_REGULATORY_INFO_FILEPATH;

View File

@@ -134,7 +134,10 @@ public class FaceEnrollEducation extends BiometricEnrollBase {
final AccessibilityManager accessibilityManager = getApplicationContext().getSystemService( final AccessibilityManager accessibilityManager = getApplicationContext().getSystemService(
AccessibilityManager.class); AccessibilityManager.class);
if (accessibilityManager != null) { if (accessibilityManager != null) {
accessibilityEnabled = accessibilityManager.isEnabled(); // Add additional check for touch exploration. This prevents other accessibility
// features such as Live Transcribe from defaulting to the accessibility setup.
accessibilityEnabled = accessibilityManager.isEnabled()
&& accessibilityManager.isTouchExplorationEnabled();
} }
mFooterBarMixin.setPrimaryButton(footerButton); mFooterBarMixin.setPrimaryButton(footerButton);
final Context context = getApplicationContext(); final Context context = getApplicationContext();

View File

@@ -21,6 +21,7 @@ import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.format.DateFormat;
import android.util.Log; import android.util.Log;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
@@ -28,9 +29,20 @@ import androidx.preference.Preference;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Optional;
import java.util.TimeZone;
public class MainlineModuleVersionPreferenceController extends BasePreferenceController { public class MainlineModuleVersionPreferenceController extends BasePreferenceController {
private static final String TAG = "MainlineModuleControl"; private static final String TAG = "MainlineModuleControl";
private static final List<String> VERSION_NAME_DATE_PATTERNS = Arrays.asList("yyyy-MM-dd",
"yyyy-MM");
@VisibleForTesting @VisibleForTesting
static final Intent MODULE_UPDATE_INTENT = static final Intent MODULE_UPDATE_INTENT =
@@ -81,6 +93,30 @@ public class MainlineModuleVersionPreferenceController extends BasePreferenceCon
@Override @Override
public CharSequence getSummary() { public CharSequence getSummary() {
return mModuleVersion; if (TextUtils.isEmpty(mModuleVersion)) {
return mModuleVersion;
}
final Optional<Date> parsedDate = parseDateFromVersionName(mModuleVersion);
if (!parsedDate.isPresent()) {
Log.w("Could not parse mainline versionName (%s) as date.", mModuleVersion);
return mModuleVersion;
}
return DateFormat.getLongDateFormat(mContext).format(parsedDate.get());
}
private Optional<Date> parseDateFromVersionName(String text) {
for (String pattern : VERSION_NAME_DATE_PATTERNS) {
try {
final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern,
Locale.getDefault());
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
return Optional.of(simpleDateFormat.parse(text));
} catch (ParseException e) {
// ignore and try next pattern
}
}
return Optional.empty();
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

View File

@@ -0,0 +1,83 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License
*/
package com.android.settings;
import static com.google.common.truth.Truth.assertThat;
import android.os.SystemProperties;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class RegulatoryInfoDisplayActivityTest {
private static final String SKU_PROP_KEY = "ro.boot.hardware.sku";
private static final String COO_PROP_KEY = "ro.boot.hardware.coo";
private RegulatoryInfoDisplayActivity mRegulatoryInfoDisplayActivity;
@Before
public void setUp() {
mRegulatoryInfoDisplayActivity = Robolectric.buildActivity(
RegulatoryInfoDisplayActivity.class).create().get();
}
@Test
public void getResourceId_noSkuProperty_shouldReturnDefaultLabel() {
SystemProperties.set(SKU_PROP_KEY, "");
final int expectedResId = getResourceId("regulatory_info");
assertThat(mRegulatoryInfoDisplayActivity.getResourceId()).isEqualTo(expectedResId);
}
@Test
public void getResourceId_noCooProperty_shouldReturnSkuLabel() {
SystemProperties.set(SKU_PROP_KEY, "sku");
SystemProperties.set(COO_PROP_KEY, "");
final int expectedResId = getResourceId("regulatory_info_sku");
assertThat(mRegulatoryInfoDisplayActivity.getResourceId()).isEqualTo(expectedResId);
}
@Test
public void getResourceId_hasSkuAndCooProperties_shouldReturnCooLabel() {
SystemProperties.set(SKU_PROP_KEY, "sku1");
SystemProperties.set(COO_PROP_KEY, "coo");
final int expectedResId = getResourceId("regulatory_info_sku1_coo");
assertThat(mRegulatoryInfoDisplayActivity.getResourceId()).isEqualTo(expectedResId);
}
@Test
public void getResourceId_noCorrespondingCooLabel_shouldReturnSkuLabel() {
SystemProperties.set(SKU_PROP_KEY, "sku");
SystemProperties.set(COO_PROP_KEY, "unknown");
final int expectedResId = getResourceId("regulatory_info_sku");
assertThat(mRegulatoryInfoDisplayActivity.getResourceId()).isEqualTo(expectedResId);
}
private int getResourceId(String resourceName) {
return mRegulatoryInfoDisplayActivity.getResources().getIdentifier(resourceName, "drawable",
mRegulatoryInfoDisplayActivity.getPackageName());
}
}

View File

@@ -31,12 +31,9 @@ import android.content.Context;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.util.FeatureFlagUtils;
import androidx.preference.Preference; import androidx.preference.Preference;
import com.android.settings.core.FeatureFlags;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -91,7 +88,7 @@ public class MainlineModuleVersionPreferenceControllerTest {
@Test @Test
public void getAvailabilityStatus_hasMainlineModulePackageInfo_available() throws Exception { public void getAvailabilityStatus_hasMainlineModulePackageInfo_available() throws Exception {
setupModulePackage(); setupModulePackage("test version 123");
final MainlineModuleVersionPreferenceController controller = final MainlineModuleVersionPreferenceController controller =
new MainlineModuleVersionPreferenceController(mContext, "key"); new MainlineModuleVersionPreferenceController(mContext, "key");
@@ -101,7 +98,7 @@ public class MainlineModuleVersionPreferenceControllerTest {
@Test @Test
public void updateStates_canHandleIntent_setIntentToPreference() throws Exception { public void updateStates_canHandleIntent_setIntentToPreference() throws Exception {
setupModulePackage(); setupModulePackage("test version 123");
when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0)) when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0))
.thenReturn(new ResolveInfo()); .thenReturn(new ResolveInfo());
@@ -115,7 +112,7 @@ public class MainlineModuleVersionPreferenceControllerTest {
@Test @Test
public void updateStates_cannotHandleIntent_setNullToPreference() throws Exception { public void updateStates_cannotHandleIntent_setNullToPreference() throws Exception {
setupModulePackage(); setupModulePackage("test version 123");
when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0)) when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0))
.thenReturn(null); .thenReturn(null);
@@ -127,9 +124,38 @@ public class MainlineModuleVersionPreferenceControllerTest {
assertThat(mPreference.getIntent()).isNull(); assertThat(mPreference.getIntent()).isNull();
} }
private void setupModulePackage() throws Exception { @Test
public void getSummary_versionIsNull_returnNull() throws Exception {
setupModulePackage(null);
final MainlineModuleVersionPreferenceController controller =
new MainlineModuleVersionPreferenceController(mContext, "key");
assertThat(controller.getSummary()).isNull();
}
@Test
public void getSummary_versionIsMonth_returnMonth() throws Exception {
setupModulePackage("2019-05");
final MainlineModuleVersionPreferenceController controller =
new MainlineModuleVersionPreferenceController(mContext, "key");
assertThat(controller.getSummary()).isEqualTo("May 01, 2019");
}
@Test
public void getSummary_versionIsDate_returnDate() throws Exception {
setupModulePackage("2019-05-13");
final MainlineModuleVersionPreferenceController controller =
new MainlineModuleVersionPreferenceController(mContext, "key");
assertThat(controller.getSummary()).isEqualTo("May 13, 2019");
}
private void setupModulePackage(String version) throws Exception {
final String provider = "test.provider"; final String provider = "test.provider";
final String version = "test version 123";
final PackageInfo info = new PackageInfo(); final PackageInfo info = new PackageInfo();
info.versionName = version; info.versionName = version;
when(mContext.getString( when(mContext.getString(