Merge "Import translations. DO NOT MERGE ANYWHERE" into udc-mainline-prod
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index d36dfec..8d03ed7 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -164,6 +164,9 @@
<!-- Needed to set user association to a certain sim -->
<uses-permission android:name="android.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION"/>
+ <!-- Needed to register for UWB state changes for satellite communication -->
+ <uses-permission android:name="android.permission.UWB_PRIVILEGED"/>
+
<permission android:name="com.android.phone.permission.ACCESS_LAST_KNOWN_CELL_ID"
android:label="Access last known cell identity."
android:protectionLevel="signature"/>
diff --git a/assets/CarrierRestrictionOperatorDetails.json b/assets/CarrierRestrictionOperatorDetails.json
index 166cc39..f3da100 100644
--- a/assets/CarrierRestrictionOperatorDetails.json
+++ b/assets/CarrierRestrictionOperatorDetails.json
@@ -1,4 +1,5 @@
{
"_comment": "Operator should register with its application package name, carrierId and all the corresponding SHAIDs",
- "_comment": "Example format :: << \"packageName\" : {\"carrierId\":<int>, \"callerSHA1Id\":[<SHAID1>, <SHAID2>]} >>"
+ "_comment": "Example format :: << \"packageName\" : {\"carrierId\":<int>, \"callerSHA1Id\":[<SHAID1>, <SHAID2>]} >>",
+ "com.vzw.hss.myverizon":{"carrierId":1839,"callerSHA1Id":["C58EE7871896786F8BF70EBDB137DE10074043E9","AE23A03436DF07B0CD70FE881CDA2EC1D21215D7B7B0CC68E67B67F5DF89526A"]}
}
\ No newline at end of file
diff --git a/ecc/input/eccdata.txt b/ecc/input/eccdata.txt
index 3b860dd..e78c48b 100644
--- a/ecc/input/eccdata.txt
+++ b/ecc/input/eccdata.txt
@@ -1150,14 +1150,17 @@
eccs {
phone_number: "17"
types: POLICE
+ routing: NORMAL
}
eccs {
phone_number: "15"
types: AMBULANCE
+ routing: NORMAL
}
eccs {
phone_number: "18"
types: FIRE
+ routing: NORMAL
}
ecc_fallback: "112"
}
@@ -2413,14 +2416,17 @@
eccs {
phone_number: "17"
types: POLICE
+ routing: NORMAL
}
eccs {
phone_number: "15"
types: AMBULANCE
+ routing: NORMAL
}
eccs {
phone_number: "18"
types: FIRE
+ routing: NORMAL
}
ecc_fallback: "112"
}
diff --git a/ecc/output/eccdata b/ecc/output/eccdata
index e34e47b..5633c41 100644
--- a/ecc/output/eccdata
+++ b/ecc/output/eccdata
Binary files differ
diff --git a/src/com/android/phone/slice/SlicePurchaseController.java b/src/com/android/phone/slice/SlicePurchaseController.java
index 4166b1e..ef8780c 100644
--- a/src/com/android/phone/slice/SlicePurchaseController.java
+++ b/src/com/android/phone/slice/SlicePurchaseController.java
@@ -679,8 +679,8 @@
}
}
- /*
- return a new PremiumNetworkEntitlementApi object.
+ /**
+ * @return A new PremiumNetworkEntitlementApi object.
*/
@VisibleForTesting
public PremiumNetworkEntitlementApi getPremiumNetworkEntitlementApi() {
@@ -987,6 +987,7 @@
int[] supportedCapabilities = getCarrierConfigs().getIntArray(
CarrierConfigManager.KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY);
if (supportedCapabilities == null) {
+ logd("No premium capabilities are supported by the carrier.");
return false;
}
return Arrays.stream(supportedCapabilities)
@@ -1015,8 +1016,13 @@
private boolean arePremiumCapabilitiesSupportedByDevice() {
if ((mPhone.getCachedAllowedNetworkTypesBitmask()
& TelephonyManager.NETWORK_TYPE_BITMASK_NR) == 0) {
+ logd("Premium capabilities unsupported because NR is not allowed on the device.");
return false;
}
+ if (!mIsSlicingUpsellEnabled) {
+ logd("Premium capabilities unsupported because "
+ + "slicing upsell is disabled on the device.");
+ }
return mIsSlicingUpsellEnabled;
}
@@ -1048,7 +1054,13 @@
private boolean isNetworkAvailable() {
if (mPhone.getServiceState().getDataRoaming()) {
- logd("Network unavailable because it is roaming.");
+ logd("Network unavailable because device is roaming.");
+ return false;
+ }
+
+ if (!mPhone.getDataSettingsManager().isDataEnabledForReason(
+ TelephonyManager.DATA_ENABLED_REASON_USER)) {
+ logd("Network unavailable because user data is disabled.");
return false;
}
diff --git a/tests/src/com/android/phone/slice/SlicePurchaseControllerTest.java b/tests/src/com/android/phone/slice/SlicePurchaseControllerTest.java
index a29ed09..d79b305 100644
--- a/tests/src/com/android/phone/slice/SlicePurchaseControllerTest.java
+++ b/tests/src/com/android/phone/slice/SlicePurchaseControllerTest.java
@@ -57,6 +57,7 @@
import com.android.TelephonyTestBase;
import com.android.internal.telephony.CommandsInterface;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.data.DataSettingsManager;
import org.junit.Before;
import org.junit.Test;
@@ -88,6 +89,7 @@
@Mock CarrierConfigManager mCarrierConfigManager;
@Mock CommandsInterface mCommandsInterface;
@Mock ServiceState mServiceState;
+ @Mock DataSettingsManager mDataSettingsManager;
@Mock PremiumNetworkEntitlementApi mPremiumNetworkEntitlementApi;
@Mock SharedPreferences mSharedPreferences;
@Mock SharedPreferences.Editor mEditor;
@@ -116,6 +118,7 @@
doReturn(PHONE_ID).when(mPhone).getPhoneId();
doReturn(mContext).when(mPhone).getContext();
doReturn(mServiceState).when(mPhone).getServiceState();
+ doReturn(mDataSettingsManager).when(mPhone).getDataSettingsManager();
mPhone.mCi = mCommandsInterface;
doReturn(mCarrierConfigManager).when(mContext)
@@ -357,6 +360,7 @@
// retry with valid network
doReturn(TelephonyManager.NETWORK_TYPE_NR).when(mServiceState).getDataNetworkType();
+ doReturn(true).when(mDataSettingsManager).isDataEnabledForReason(anyInt());
mSlicePurchaseController.purchasePremiumCapability(
TelephonyManager.PREMIUM_CAPABILITY_PRIORITIZE_LATENCY, mHandler.obtainMessage());
@@ -375,6 +379,7 @@
SlicePurchaseController.SLICE_PURCHASE_TEST_FILE);
doReturn(SubscriptionManager.getDefaultDataSubscriptionId()).when(mPhone).getSubId();
doReturn(TelephonyManager.NETWORK_TYPE_NR).when(mServiceState).getDataNetworkType();
+ doReturn(true).when(mDataSettingsManager).isDataEnabledForReason(anyInt());
doReturn(null).when(mPremiumNetworkEntitlementApi).checkEntitlementStatus(anyInt());
mSlicePurchaseController.purchasePremiumCapability(
@@ -713,6 +718,7 @@
doReturn(SubscriptionManager.getDefaultDataSubscriptionId()).when(mPhone).getSubId();
// network available
doReturn(TelephonyManager.NETWORK_TYPE_NR).when(mServiceState).getDataNetworkType();
+ doReturn(true).when(mDataSettingsManager).isDataEnabledForReason(anyInt());
// entitlement check passed
mEntitlementResponse.mEntitlementStatus =
PremiumNetworkEntitlementResponse.PREMIUM_NETWORK_ENTITLEMENT_STATUS_DISABLED;