Merge "Remove SHELL UID permission check from overrideConfig" into qt-dev
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f5c277c..dbc0af4 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -240,7 +240,7 @@
<string name="network_operator_category" msgid="4830701959205735636">"नेटवर्क"</string>
<string name="enhanced_4g_lte_mode_title" msgid="522191650223239171">"बेहतर 4G LTE मोड"</string>
<!-- no translation found for enhanced_4g_lte_mode_title_variant:0 (4447454259719947406) -->
- <string name="enhanced_4g_lte_mode_summary" msgid="2332175070522125850">"ध्वनि और अन्य संचारों को बेहतर बनाने हेतु LTE सेवाओं का उपयोग करें (अनुशंसित)"</string>
+ <string name="enhanced_4g_lte_mode_summary" msgid="2332175070522125850">"ध्वनि और अन्य संचारों को बेहतर बनाने के लिए LTE सेवाओं का उपयोग करें (अनुशंसित)"</string>
<string name="enhanced_4g_lte_mode_summary_o2" msgid="2467813449068614988">"ध्वनि और दूसरे संचारों को बेहतर बनाने के लिए 4G सेवाओं का इस्तेमाल करें (सुझाया गया)"</string>
<!-- no translation found for enhanced_4g_lte_mode_sumary_variant:0 (2602242047481988063) -->
<!-- no translation found for enhanced_4g_lte_mode_sumary_variant:1 (989876442920201921) -->
@@ -435,7 +435,7 @@
<string name="fdn_contact_deleted" msgid="7154162327112259569">"फ़िक्स्ड डायलिंग नंबर हटाया गया."</string>
<string name="pin2_invalid" msgid="5470854099230755944">"FDN पे नई जानकारी नहीं है क्योंकि आपने गलत पिन लिखा है."</string>
<string name="fdn_invalid_number" msgid="2062898833049589309">"FDN अपडेट नहीं किया जा सका, क्योंकि नंबर में 20 से ज़्यादा अंक हैं."</string>
- <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"FDN पे नई जानकारी नहीं है. PIN2 गलत था, या फ़ोन नंबर अस्वीकृत था."</string>
+ <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"FDN पे नई जानकारी नहीं है. PIN2 गलत था, या फ़ोन नंबर नामंजूर था."</string>
<string name="fdn_failed" msgid="540018079008319747">"FDN की कार्यवाही विफल रही."</string>
<string name="simContacts_emptyLoading" msgid="2203331234764498011">"सिम कार्ड से पढ़ रहा है…"</string>
<string name="simContacts_empty" msgid="5270660846489561932">"आपके सिम कार्ड पर कोई संपर्क नहीं है."</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 6eca6ee..2c877f5 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -516,14 +516,14 @@
<string name="emergency_information_owner_hint" msgid="688331472291637149">"Proprietário"</string>
<string name="emergency_information_confirm_hint" msgid="4039012670779853030">"Toque novamente para ver as informações"</string>
<string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Chamada de emergência"</string>
- <string name="single_emergency_number_title" msgid="4959203129714396515">"Número de emergência"</string>
+ <string name="single_emergency_number_title" msgid="4959203129714396515">"Telefone de emergência"</string>
<string name="numerous_emergency_numbers_title" msgid="754158099451343898">"Números de emergência"</string>
<string name="emergency_call_shortcut_hint" msgid="6506167229097004348">"Toque novamente para ligar para <xliff:g id="EMERGENCY_NUMBER">%s</xliff:g>"</string>
<string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Ativando o rádio…"</string>
<string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Sem serviço. Tentando novamente..."</string>
<string name="radio_off_during_emergency_call" msgid="2535800034010306830">"Não é possível usar o modo avião durante uma chamada de emergência."</string>
- <string name="dial_emergency_error" msgid="1509085166367420355">"Não é possível realizar chamadas. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> não é um número de emergência."</string>
- <string name="dial_emergency_empty_error" msgid="9130194953830414638">"Não é possível realizar chamadas. Disque um número de emergência."</string>
+ <string name="dial_emergency_error" msgid="1509085166367420355">"Não é possível realizar chamadas. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> não é um telefone de emergência."</string>
+ <string name="dial_emergency_empty_error" msgid="9130194953830414638">"Não é possível realizar chamadas. Disque o número de telefone de emergência."</string>
<string name="dial_emergency_calling_not_available" msgid="5675557523782491826">"Chamada de emergência indisponível"</string>
<string name="police_type_description" msgid="5324410799919829693">"Polícia"</string>
<string name="ambulance_type_description" msgid="4114815025408089866">"Ambulância"</string>
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index b6346c9..8299d86 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -954,21 +954,17 @@
log("Ignore invalid phoneId: " + phoneId + " for subId: " + subId);
return;
}
- String callingPackageName = mContext.getPackageManager().getNameForUid(
- Binder.getCallingUid());
- // TODO: Check that the calling packages is privileged for subId specifically.
- int privilegeStatus = TelephonyManager.from(mContext).checkCarrierPrivilegesForPackage(
- callingPackageName);
- // Requires the calling app to be either a carrier privileged app or
+
+ // Requires the calling app to be either a carrier privileged app for this subId or
// system privileged app with MODIFY_PHONE_STATE permission.
- if (privilegeStatus != TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) {
- mContext.enforceCallingOrSelfPermission(android.Manifest.permission.MODIFY_PHONE_STATE,
- "Require carrier privileges or MODIFY_PHONE_STATE permission.");
- }
+ TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(mContext, subId,
+ "Require carrier privileges or MODIFY_PHONE_STATE permission.");
// This method should block until deleting has completed, so that an error which prevents us
// from clearing the cache is passed back to the carrier app. With the files successfully
// deleted, this can return and we will eventually bind to the carrier app.
+ String callingPackageName = mContext.getPackageManager().getNameForUid(
+ Binder.getCallingUid());
clearCachedConfigForPackage(callingPackageName);
updateConfigForPhoneId(phoneId);
}
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index acfd658..a9757d1 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -4449,9 +4449,16 @@
}
}
}
- return mNetworkScanRequestTracker.startNetworkScan(
- request, messenger, binder, getPhone(subId),
- callingPackage);
+ int callingUid = Binder.getCallingUid();
+ int callingPid = Binder.getCallingPid();
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ return mNetworkScanRequestTracker.startNetworkScan(
+ request, messenger, binder, getPhone(subId),
+ callingUid, callingPid, callingPackage);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
private SecurityException checkNetworkRequestForSanitizedLocationAccess(
@@ -4485,9 +4492,10 @@
TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
mApp, subId, "stopNetworkScan");
+ int callingUid = Binder.getCallingUid();
final long identity = Binder.clearCallingIdentity();
try {
- mNetworkScanRequestTracker.stopNetworkScan(scanId);
+ mNetworkScanRequestTracker.stopNetworkScan(scanId, callingUid);
} finally {
Binder.restoreCallingIdentity(identity);
}