Merge "Update network type when RadioInfo is resumed" into sc-qpr1-dev
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 9d623a4..ecfb98d 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -310,7 +310,7 @@
<string name="sim_change_data_title" msgid="9142726786345906606">"Skift SIM-kortet til data?"</string>
<string name="sim_change_data_message" msgid="3567358694255933280">"Vil du bruge <xliff:g id="NEW_SIM">%1$s</xliff:g> i stedet for <xliff:g id="OLD_SIM">%2$s</xliff:g> til mobildata?"</string>
<string name="wifi_calling_settings_title" msgid="5800018845662016507">"Wi-Fi-opkald"</string>
- <string name="video_calling_settings_title" msgid="342829454913266078">"Videoopkald via mobilselskab"</string>
+ <string name="video_calling_settings_title" msgid="342829454913266078">"Videoopkald via mobilnetværk"</string>
<string name="gsm_umts_options" msgid="4968446771519376808">"Indstillinger for GSM/UMTS"</string>
<string name="cdma_options" msgid="3669592472226145665">"Indstillinger for CDMA"</string>
<string name="throttle_data_usage" msgid="1944145350660420711">"Databrug"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 277148c..1c88d8e 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -821,7 +821,7 @@
<string name="supp_service_call_resumed" msgid="3786864005920743546">"Η κλήση συνεχίστηκε."</string>
<string name="supp_service_deflected_call" msgid="7565979024562921707">"Έγινε εκτροπή της κλήσης."</string>
<string name="supp_service_forwarded_call" msgid="6475776013771821457">"Έγινε προώθηση της κλήσης."</string>
- <string name="supp_service_conference_call" msgid="4004193534408317148">"Συμμετοχή σε κλήση διάσκεψης."</string>
+ <string name="supp_service_conference_call" msgid="4004193534408317148">"Συμμετοχή σε τηλεδιάσκεψη."</string>
<string name="supp_service_held_call_released" msgid="2847835124639112410">"Έγινε αποδέσμευση της κλήσης σε κράτηση."</string>
<string name="callFailed_otasp_provisioning_in_process" msgid="3345666183602879326">"Δεν είναι δυνατή η πραγματοποίηση κλήσης, καθώς εκτελείται παροχή υπηρεσιών στη συσκευή αυτήν τη στιγμή."</string>
<string name="callFailed_already_dialing" msgid="7250591188960691086">"Δεν είναι δυνατή η πραγματοποίηση της κλήσης, επειδή βρίσκεται ήδη σε εξέλιξη εξερχόμενη κλήση."</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index d918672..3236666 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -578,7 +578,7 @@
<string name="onscreenHoldText" msgid="4025348842151665191">"Attente"</string>
<string name="onscreenEndCallText" msgid="6138725377654842757">"Terminé"</string>
<string name="onscreenShowDialpadText" msgid="658465753816164079">"Clavier numérique"</string>
- <string name="onscreenMuteText" msgid="5470306116733843621">"Ignorer"</string>
+ <string name="onscreenMuteText" msgid="5470306116733843621">"Couper le son"</string>
<string name="onscreenAddCallText" msgid="9075675082903611677">"Autre appel"</string>
<string name="onscreenMergeCallsText" msgid="3692389519611225407">"Fusionner les appels"</string>
<string name="onscreenSwapCallsText" msgid="2682542150803377991">"Permuter"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 17e8fd7..eb1106b 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -183,7 +183,7 @@
<string name="registration_done" msgid="5337407023566953292">"Terdaftar pada jaringan."</string>
<string name="already_auto" msgid="8607068290733079336">"Sudah ada di pemilihan otomatis."</string>
<string name="select_automatically" msgid="779750291257872651">"Pilih jaringan secara otomatis"</string>
- <string name="manual_mode_disallowed_summary" msgid="3970048592179890197">"Tidak tersedia saat tersambung ke %1$s"</string>
+ <string name="manual_mode_disallowed_summary" msgid="3970048592179890197">"Tidak tersedia saat terhubung ke %1$s"</string>
<string name="network_select_title" msgid="4117305053881611988">"Jaringan"</string>
<string name="register_automatically" msgid="3907580547590554834">"Pendaftaran otomatis..."</string>
<string name="preferred_network_mode_title" msgid="5253395265169539830">"Jenis jaringan yang dipilih"</string>
@@ -194,7 +194,7 @@
<string name="network_disconnected" msgid="8844141106841160825">"Terputus"</string>
<string name="network_connected" msgid="2760235679963580224">"Terhubung"</string>
<string name="network_connecting" msgid="160901383582774987">"Menghubungkan..."</string>
- <string name="network_could_not_connect" msgid="6547460848093727998">"Tidak dapat tersambung"</string>
+ <string name="network_could_not_connect" msgid="6547460848093727998">"Tidak dapat terhubung"</string>
<string-array name="preferred_network_mode_choices">
<item msgid="4531933377509551889">"GSM/WCDMA lebih disukai"</item>
<item msgid="5120532750027435355">"GSM saja"</item>
@@ -687,7 +687,7 @@
<string name="message_decode_error" msgid="1061856591500290887">"Terjadi kesalahan saat mendekode pesan."</string>
<string name="callFailed_cdma_activation" msgid="5392057031552253550">"Kartu SIM telah mengaktifkan layanan dan memperbarui kemampuan roaming ponsel."</string>
<string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Ada terlalu banyak panggilan aktif. Akhiri atau gabungkan panggilan yang ada sebelum melakukan panggilan baru."</string>
- <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Tidak dapat tersambung, masukkan kartu SIM yang valid."</string>
+ <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Tidak dapat terhubung, masukkan kartu SIM yang valid."</string>
<string name="callFailed_wifi_lost" msgid="1788036730589163141">"Sambungan Wi-Fi terputus. Panggilan diakhiri."</string>
<string name="dialFailed_low_battery" msgid="6857904237423407056">"Panggilan video tidak bisa dilakukan karena daya baterai lemah."</string>
<string name="callFailed_low_battery" msgid="4056828320214416182">"Panggilan video berakhir karena daya baterai lemah."</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 6a75909..9cc5b99 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -38,7 +38,7 @@
<string name="audio_mode_earpiece" msgid="2823700267171134282">"హ్యాండ్సెట్ ఇయర్పీస్"</string>
<string name="audio_mode_wired_headset" msgid="5028010823105817443">"వైర్ గల హెడ్సెట్"</string>
<string name="audio_mode_bluetooth" msgid="25732183428018809">"బ్లూటూత్"</string>
- <string name="wait_prompt_str" msgid="5136209532150094910">"క్రింది టోన్లు పంపాలా?\n"</string>
+ <string name="wait_prompt_str" msgid="5136209532150094910">"కింది టోన్లు పంపాలా?\n"</string>
<string name="pause_prompt_str" msgid="2308897950360272213">"టోన్లు పంపుతోంది\n"</string>
<string name="send_button" msgid="5070379600779031932">"పంపు"</string>
<string name="pause_prompt_yes" msgid="8184132073048369575">"అవును"</string>
@@ -96,7 +96,7 @@
<string name="sum_loading_settings" msgid="434063780286688775">"సెట్టింగ్లను లోడ్ చేస్తోంది…"</string>
<string name="sum_hide_caller_id" msgid="131100328602371933">"అవుట్గోయింగ్ కాల్స్లో నంబర్ దాచబడుతుంది"</string>
<string name="sum_show_caller_id" msgid="3571854755324664591">"అవుట్గోయింగ్ కాల్స్లో నంబర్ ప్రదర్శించబడుతుంది"</string>
- <string name="sum_default_caller_id" msgid="1767070797135682959">"అవుట్గోయింగ్ కాల్స్లో నా నంబర్ను ప్రదర్శించడానికి డిఫాల్ట్ ఆపరేటర్ సెట్టింగ్లను ఉపయోగించు"</string>
+ <string name="sum_default_caller_id" msgid="1767070797135682959">"అవుట్గోయింగ్ కాల్స్లో నా నంబర్ను ప్రదర్శించడానికి ఆటోమేటిక్ ఆపరేటర్ సెట్టింగ్లను ఉపయోగించు"</string>
<string name="labelCW" msgid="8449327023861428622">"కాల్ నిరీక్షణ"</string>
<string name="sum_cw_enabled" msgid="3977308526187139996">"కాల్ సమయంలో, ఇన్కమింగ్ కాల్స్ల గురించి నాకు తెలియజేయి"</string>
<string name="sum_cw_disabled" msgid="3658094589461768637">"కాల్ సమయంలో, ఇన్కమింగ్ కాల్స్ల గురించి నాకు తెలియజేయి"</string>
@@ -151,7 +151,7 @@
<string name="disable" msgid="1122698860799462116">"ఆఫ్ చేయి"</string>
<string name="change_num" msgid="6982164494063109334">"అప్డేట్ చేయి"</string>
<string-array name="clir_display_values">
- <item msgid="8477364191403806960">"నెట్వర్క్ డిఫాల్ట్"</item>
+ <item msgid="8477364191403806960">"నెట్వర్క్ ఆటోమేటిక్"</item>
<item msgid="6813323051965618926">"నంబర్ను దాచు"</item>
<item msgid="9150034130629852635">"నంబర్ను చూపు"</item>
</string-array>
@@ -480,9 +480,9 @@
<string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN నవీకరించబడలేదు. PIN2 చెల్లదు లేదా ఫోన్ నంబర్ తిరస్కరించబడింది."</string>
<string name="fdn_failed" msgid="216592346853420250">"FDN చర్య విఫలమైంది."</string>
<string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM కార్డు నుండి చదువుతోంది…"</string>
- <string name="simContacts_empty" msgid="1135632055473689521">"మీ SIM కార్డులో పరిచయాలు ఏవీ లేవు."</string>
- <string name="simContacts_title" msgid="2714029230160136647">"దిగుమతికి పరిచయాల ఎంపిక"</string>
- <string name="simContacts_airplaneMode" msgid="4654884030631503808">"SIM కార్డ్లోని పరిచయాలను దిగుమతి చేయడానికి ఎయిర్ప్లైన్ మోడ్ను ఆఫ్ చేయండి."</string>
+ <string name="simContacts_empty" msgid="1135632055473689521">"మీ SIM కార్డులో కాంటాక్ట్లు ఏవీ లేవు."</string>
+ <string name="simContacts_title" msgid="2714029230160136647">"దిగుమతి చేసుకోవాలనుకున్న కాంటాక్ట్లను ఎంచుకోండి"</string>
+ <string name="simContacts_airplaneMode" msgid="4654884030631503808">"SIM కార్డ్లోని కాంటాక్ట్లను దిగుమతి చేయడానికి ఎయిర్ప్లైన్ మోడ్ను ఆఫ్ చేయండి."</string>
<string name="enable_pin" msgid="967674051730845376">"SIM PINను ప్రారంభించండి/నిలిపివేయండి"</string>
<string name="change_pin" msgid="3657869530942905790">"SIM PINను మార్చండి"</string>
<string name="enter_pin_text" msgid="3182311451978663356">"SIM పిన్:"</string>
@@ -588,7 +588,7 @@
<string name="onscreenVideoCallText" msgid="1743992456126258698">"వీడియో కాల్"</string>
<string name="importSimEntry" msgid="3892354284082689894">"దిగుమతి చేయి"</string>
<string name="importAllSimEntries" msgid="2628391505643564007">"అన్నింటినీ దిగుమతి చేయి"</string>
- <string name="importingSimContacts" msgid="4995457122107888932">"SIM పరిచయాలను దిగుమతి చేస్తోంది"</string>
+ <string name="importingSimContacts" msgid="4995457122107888932">"SIM కాంటాక్ట్లను దిగుమతి చేస్తోంది"</string>
<string name="importToFDNfromContacts" msgid="5068664870738407341">"పరిచయాల నుండి దిగుమతి చేయి"</string>
<string name="singleContactImportedMsg" msgid="3619804066300998934">"కాంటాక్ట్ దిగుమతి చేయబడింది"</string>
<string name="failedToImportSingleContactMsg" msgid="228095510489830266">"కాంటాక్ట్ను దిగుమతి చేయడంలో విఫలమైంది"</string>
@@ -691,8 +691,8 @@
<string name="callFailed_wifi_lost" msgid="1788036730589163141">"Wi-Fi కనెక్షన్ పోయింది. కాల్ ముగిసింది."</string>
<string name="dialFailed_low_battery" msgid="6857904237423407056">"తక్కువ బ్యాటరీ కారణంగా మీ వీడియో కాల్ చేయడం సాధ్యపడదు."</string>
<string name="callFailed_low_battery" msgid="4056828320214416182">"తక్కువ బ్యాటరీ కారణంగా వీడియో కాల్ ముగిసింది."</string>
- <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"Wi-Fi కాలింగ్ ద్వారా అత్యవసర కాల్స్ ఈ స్థానంలో అందుబాటులో లేవు."</string>
- <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"ఈ స్థానంలో Wi-Fi కాలింగ్ అందుబాటులో లేదు."</string>
+ <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"Wi-Fi కాలింగ్ ద్వారా అత్యవసర కాల్స్ ఈ లొకేషన్లో అందుబాటులో లేవు."</string>
+ <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"ఈ లొకేషన్లో Wi-Fi కాలింగ్ అందుబాటులో లేదు."</string>
<string name="change_pin_title" msgid="3564254326626797321">"వాయిస్ మెయిల్ PINని మార్చండి"</string>
<string name="change_pin_continue_label" msgid="5177011752453506371">"కొనసాగించండి"</string>
<string name="change_pin_cancel_label" msgid="2301711566758827936">"రద్దు చేయి"</string>
@@ -877,7 +877,7 @@
<string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
<string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
<string name="radio_info_subid" msgid="6839966868621703203">"ప్రస్తుత subId:"</string>
- <string name="radio_info_dds" msgid="1122593144425697126">"డిఫాల్ట్ డేటా SIM యొక్క SubId:"</string>
+ <string name="radio_info_dds" msgid="1122593144425697126">"ఆటోమేటిక్ డేటా SIM యొక్క SubId:"</string>
<string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL బ్యాండ్విడ్త్ (kbps):"</string>
<string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL బ్యాండ్విడ్త్ (kbps):"</string>
<string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE భౌతిక ఛానెల్ కాన్ఫిగరేషన్:"</string>
diff --git a/sip/res/values-in/strings.xml b/sip/res/values-in/strings.xml
index 709205c..6c52a73 100644
--- a/sip/res/values-in/strings.xml
+++ b/sip/res/values-in/strings.xml
@@ -72,7 +72,7 @@
<string name="empty_alert" msgid="3693655518612836718">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> diwajibkan dan tidak boleh kosong."</string>
<string name="not_a_valid_port" msgid="3664668836663491376">"Nomor port harus dalam rentang 1000 dan 65534."</string>
<string name="no_internet_available" msgid="161720645084325479">"Untuk melakukan panggilan SIP, periksa koneksi internet terlebih dahulu."</string>
- <string name="no_wifi_available" msgid="1179092018692306312">"Anda harus tersambung ke jaringan Wi-Fi untuk melakukan panggilan SIP (gunakan setelan Nirkabel & Jaringan)."</string>
+ <string name="no_wifi_available" msgid="1179092018692306312">"Anda harus terhubung ke jaringan Wi-Fi untuk melakukan panggilan SIP (gunakan setelan Nirkabel & Jaringan)."</string>
<string name="no_voip" msgid="3366395789297981738">"Panggilan SIP tidak didukung"</string>
<string name="sip_system_decide" msgid="197230378376326430">"Otomatis"</string>
<string name="sip_always_send_keepalive" msgid="4986533673960084769">"Selalu kirim"</string>
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 64b2e4d..03b0be9 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -341,6 +341,10 @@
private static final int CMD_GET_SLICING_CONFIG = 110;
private static final int EVENT_GET_SLICING_CONFIG_DONE = 111;
private static final int CMD_ERASE_DATA_SHARED_PREFERENCES = 112;
+ private static final int CMD_ENABLE_VONR = 113;
+ private static final int EVENT_ENABLE_VONR_DONE = 114;
+ private static final int CMD_IS_VONR_ENABLED = 115;
+ private static final int EVENT_IS_VONR_ENABLED_DONE = 116;
// Parameters of select command.
private static final int SELECT_COMMAND = 0xA4;
@@ -834,7 +838,7 @@
} else {
// request.result must be set to something non-null
// for the calling thread to unblock
- if (request.result != null) {
+ if (ar.result != null) {
request.result = ar.result;
} else {
request.result = false;
@@ -851,6 +855,46 @@
notifyRequester(request);
break;
+ case CMD_IS_VONR_ENABLED: {
+ request = (MainThreadRequest) msg.obj;
+ onCompleted = obtainMessage(EVENT_IS_VONR_ENABLED_DONE,
+ request);
+ Phone phone = getPhoneFromRequest(request);
+ if (phone != null) {
+ phone.isVoNrEnabled(onCompleted, request.workSource);
+ } else {
+ loge("isVoNrEnabled: No phone object");
+ request.result = false;
+ notifyRequester(request);
+ }
+ break;
+ }
+
+ case EVENT_IS_VONR_ENABLED_DONE:
+ ar = (AsyncResult) msg.obj;
+ request = (MainThreadRequest) ar.userObj;
+ if (ar.exception == null && ar.result != null) {
+ request.result = ar.result;
+ } else {
+ // request.result must be set to something non-null
+ // for the calling thread to unblock
+ if (ar.result != null) {
+ request.result = ar.result;
+ } else {
+ request.result = false;
+ }
+ if (ar.result == null) {
+ loge("isVoNrEnabled: Empty response");
+ } else if (ar.exception instanceof CommandException) {
+ loge("isVoNrEnabled: CommandException: "
+ + ar.exception);
+ } else {
+ loge("isVoNrEnabled: Unknown exception");
+ }
+ }
+ notifyRequester(request);
+ break;
+
case CMD_ENABLE_NR_DUAL_CONNECTIVITY: {
request = (MainThreadRequest) msg.obj;
onCompleted = obtainMessage(EVENT_ENABLE_NR_DUAL_CONNECTIVITY_DONE, request);
@@ -899,6 +943,49 @@
break;
}
+ case CMD_ENABLE_VONR: {
+ request = (MainThreadRequest) msg.obj;
+ onCompleted = obtainMessage(EVENT_ENABLE_VONR_DONE, request);
+ Phone phone = getPhoneFromRequest(request);
+ if (phone != null) {
+ phone.setVoNrEnabled((boolean) request.argument, onCompleted,
+ request.workSource);
+ } else {
+ loge("setVoNrEnabled: No phone object");
+ request.result =
+ TelephonyManager.ENABLE_VONR_RADIO_NOT_AVAILABLE;
+ notifyRequester(request);
+ }
+ break;
+ }
+
+ case EVENT_ENABLE_VONR_DONE: {
+ ar = (AsyncResult) msg.obj;
+ request = (MainThreadRequest) ar.userObj;
+ if (ar.exception == null) {
+ request.result = TelephonyManager.ENABLE_VONR_SUCCESS;
+ } else {
+ request.result = TelephonyManager.ENABLE_VONR_RADIO_ERROR;
+ if (ar.exception instanceof CommandException) {
+ CommandException.Error error =
+ ((CommandException) (ar.exception)).getCommandError();
+ if (error == CommandException.Error.RADIO_NOT_AVAILABLE) {
+ request.result = TelephonyManager.ENABLE_VONR_RADIO_NOT_AVAILABLE;
+ } else if (error == CommandException.Error.REQUEST_NOT_SUPPORTED) {
+ request.result = TelephonyManager.ENABLE_VONR_REQUEST_NOT_SUPPORTED;
+ } else {
+ request.result = TelephonyManager.ENABLE_VONR_RADIO_ERROR;
+ }
+ loge("setVoNrEnabled" + ": CommandException: "
+ + ar.exception);
+ } else {
+ loge("setVoNrEnabled" + ": Unknown exception");
+ }
+ }
+ notifyRequester(request);
+ break;
+ }
+
case CMD_GET_ALLOWED_NETWORK_TYPES_BITMASK:
request = (MainThreadRequest) msg.obj;
onCompleted = obtainMessage(EVENT_GET_ALLOWED_NETWORK_TYPES_BITMASK_DONE,
@@ -2947,6 +3034,14 @@
@SuppressWarnings("unchecked")
public List<NeighboringCellInfo> getNeighboringCellInfo(String callingPackage,
String callingFeatureId) {
+ try {
+ mApp.getSystemService(AppOpsManager.class)
+ .checkPackage(Binder.getCallingUid(), callingPackage);
+ } catch (SecurityException e) {
+ EventLog.writeEvent(0x534e4554, "190619791", Binder.getCallingUid());
+ throw e;
+ }
+
final int targetSdk = TelephonyPermissions.getTargetSdk(mApp, callingPackage);
if (targetSdk >= android.os.Build.VERSION_CODES.Q) {
throw new SecurityException(
@@ -8205,6 +8300,53 @@
}
/**
+ * Enable or disable Voice over NR (VoNR)
+ * @param subId the subscription ID that this action applies to.
+ * @param enabled enable or disable VoNR.
+ * @return operation result.
+ */
+ @Override
+ public int setVoNrEnabled(int subId, boolean enabled) {
+ enforceModifyPermission();
+ final Phone phone = getPhone(subId);
+
+ final long identity = Binder.clearCallingIdentity();
+ if (phone == null) {
+ loge("setVoNrEnabled fails with no phone object for subId: " + subId);
+ return TelephonyManager.ENABLE_VONR_RADIO_NOT_AVAILABLE;
+ }
+
+ WorkSource workSource = getWorkSource(Binder.getCallingUid());
+ try {
+ int result = (int) sendRequest(CMD_ENABLE_VONR, enabled, subId,
+ workSource);
+ if (DBG) log("setVoNrEnabled result: " + result);
+ return result;
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+
+ /**
+ * Is voice over NR enabled
+ * @return true if VoNR is enabled else false
+ */
+ @Override
+ public boolean isVoNrEnabled(int subId) {
+ enforceReadPrivilegedPermission("isVoNrEnabled");
+ WorkSource workSource = getWorkSource(Binder.getCallingUid());
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ boolean isEnabled = (boolean) sendRequest(CMD_IS_VONR_ENABLED,
+ null, subId, workSource);
+ if (DBG) log("isVoNrEnabled: " + isEnabled);
+ return isEnabled;
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+
+ /**
* Action set from carrier signalling broadcast receivers to start/stop reporting the default
* network status based on which carrier apps could apply actions accordingly,
* enable/disable default url handler for example.