Merge "add is_opportunistic into related atoms" into main
diff --git a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
index cc68ca1..f4475b5 100644
--- a/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
+++ b/src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java
@@ -259,6 +259,8 @@
private Optional<Integer> mCurrentlyConnectedSubId = Optional.empty();
private final MmTelFeatureListener mMmTelFeatureListener = new MmTelFeatureListener();
+ private com.android.server.telecom.flags.FeatureFlags mTelecomFlags =
+ new com.android.server.telecom.flags.FeatureFlagsImpl();
private class MmTelFeatureListener extends MmTelFeature.Listener {
private IImsCallSessionListener processIncomingCall(@NonNull IImsCallSession c,
@@ -4083,6 +4085,13 @@
+ " in the single call unhold case");
}
}
+ ImsPhoneConnection conn = findConnection(imsCall);
+ // Send connection event so that Telecom can unhold the call the bg call that was held
+ // for calls across phone accounts.
+ if (mTelecomFlags.enableCallSequencing() && conn != null
+ && conn.getState() != ImsPhoneCall.State.DISCONNECTED) {
+ conn.onConnectionEvent(android.telecom.Connection.EVENT_CALL_RESUME_FAILED, null);
+ }
mPhone.notifySuppServiceFailed(Phone.SuppService.RESUME);
mMetrics.writeOnImsCallResumeFailed(mPhone.getPhoneId(), imsCall.getCallSession(),
reasonInfo);
diff --git a/src/java/com/android/internal/telephony/satellite/DatagramController.java b/src/java/com/android/internal/telephony/satellite/DatagramController.java
index 370f0a1..05aef83 100644
--- a/src/java/com/android/internal/telephony/satellite/DatagramController.java
+++ b/src/java/com/android/internal/telephony/satellite/DatagramController.java
@@ -35,10 +35,10 @@
import android.os.Looper;
import android.os.SystemProperties;
import android.telephony.PersistentLogger;
-import android.telephony.Rlog;
import android.telephony.satellite.ISatelliteDatagramCallback;
import android.telephony.satellite.SatelliteDatagram;
import android.telephony.satellite.SatelliteManager;
+import android.util.Log;
import com.android.internal.R;
import com.android.internal.annotations.GuardedBy;
@@ -682,22 +682,22 @@
}
private static void logd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
}
private static void loge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
}
private void plogd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.debug(TAG, log);
}
}
private void ploge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.error(TAG, log);
}
diff --git a/src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java b/src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java
index bc7d5d1..0d4a2da 100644
--- a/src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java
+++ b/src/java/com/android/internal/telephony/satellite/DatagramDispatcher.java
@@ -40,7 +40,6 @@
import android.os.Looper;
import android.os.Message;
import android.telephony.PersistentLogger;
-import android.telephony.Rlog;
import android.telephony.satellite.SatelliteDatagram;
import android.telephony.satellite.SatelliteManager;
import android.telephony.satellite.SatelliteSessionStats;
@@ -1418,31 +1417,31 @@
}
private static void logd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
}
private static void loge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
}
- private static void logw(@NonNull String log) { Rlog.w(TAG, log); }
+ private static void logw(@NonNull String log) { Log.w(TAG, log); }
private void plogd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.debug(TAG, log);
}
}
private void plogw(@NonNull String log) {
- Rlog.w(TAG, log);
+ Log.w(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.warn(TAG, log);
}
}
private void ploge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.error(TAG, log);
}
diff --git a/src/java/com/android/internal/telephony/satellite/DatagramReceiver.java b/src/java/com/android/internal/telephony/satellite/DatagramReceiver.java
index 9995c4f..26d456b 100644
--- a/src/java/com/android/internal/telephony/satellite/DatagramReceiver.java
+++ b/src/java/com/android/internal/telephony/satellite/DatagramReceiver.java
@@ -38,11 +38,11 @@
import android.os.RemoteException;
import android.provider.Telephony;
import android.telephony.PersistentLogger;
-import android.telephony.Rlog;
import android.telephony.SubscriptionManager;
import android.telephony.satellite.ISatelliteDatagramCallback;
import android.telephony.satellite.SatelliteDatagram;
import android.telephony.satellite.SatelliteManager;
+import android.util.Log;
import android.util.Pair;
import com.android.internal.R;
@@ -892,33 +892,33 @@
}
private static void logd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
}
private static void loge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
}
private static void logw(@NonNull String log) {
- Rlog.w(TAG, log);
+ Log.w(TAG, log);
}
private void plogd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.debug(TAG, log);
}
}
private void plogw(@NonNull String log) {
- Rlog.w(TAG, log);
+ Log.w(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.warn(TAG, log);
}
}
private void ploge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.error(TAG, log);
}
diff --git a/src/java/com/android/internal/telephony/satellite/NtnCapabilityResolver.java b/src/java/com/android/internal/telephony/satellite/NtnCapabilityResolver.java
index 4b53178..0e6233a 100644
--- a/src/java/com/android/internal/telephony/satellite/NtnCapabilityResolver.java
+++ b/src/java/com/android/internal/telephony/satellite/NtnCapabilityResolver.java
@@ -18,8 +18,8 @@
import android.annotation.NonNull;
import android.telephony.NetworkRegistrationInfo;
-import android.telephony.Rlog;
import android.text.TextUtils;
+import android.util.Log;
import java.util.List;
@@ -60,6 +60,6 @@
}
private static void logd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
}
}
diff --git a/src/java/com/android/internal/telephony/satellite/PointingAppController.java b/src/java/com/android/internal/telephony/satellite/PointingAppController.java
index 5b3550a..4846323 100644
--- a/src/java/com/android/internal/telephony/satellite/PointingAppController.java
+++ b/src/java/com/android/internal/telephony/satellite/PointingAppController.java
@@ -36,12 +36,12 @@
import android.os.SystemProperties;
import android.os.UserHandle;
import android.telephony.PersistentLogger;
-import android.telephony.Rlog;
import android.telephony.SubscriptionManager;
import android.telephony.satellite.ISatelliteTransmissionUpdateCallback;
import android.telephony.satellite.PointingInfo;
import android.telephony.satellite.SatelliteManager;
import android.text.TextUtils;
+import android.util.Log;
import com.android.internal.R;
import com.android.internal.annotations.GuardedBy;
@@ -563,22 +563,22 @@
}
private static void logd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
}
private static void loge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
}
private void plogd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.debug(TAG, log);
}
}
private void ploge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.error(TAG, log);
}
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteController.java b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
index 0d6a225..e4cf041 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteController.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteController.java
@@ -7337,44 +7337,44 @@
}
private static void logv(@NonNull String log) {
- Rlog.v(TAG, log);
+ Log.v(TAG, log);
}
private static void logd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
}
private static void logw(@NonNull String log) {
- Rlog.w(TAG, log);
+ Log.w(TAG, log);
}
private static void loge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
}
private void plogd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.debug(TAG, log);
}
}
private void plogw(@NonNull String log) {
- Rlog.w(TAG, log);
+ Log.w(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.warn(TAG, log);
}
}
private void ploge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.error(TAG, log);
}
}
private void plogv(@NonNull String log) {
- Rlog.v(TAG, log);
+ Log.v(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.debug(TAG, log);
}
@@ -7865,6 +7865,8 @@
if (preSelectedSatelliteSubId != getSelectedSatelliteSubId()) {
plogd("selectBindingSatelliteSubscription: SelectedSatelliteSubId changed");
mSatelliteSubIdChangedRegistrants.notifyRegistrants();
+ handleEventSelectedNbIotSatelliteSubscriptionChanged(selectedSubId);
+ handleCarrierRoamingNtnAvailableServicesChanged();
evaluateCarrierRoamingNtnEligibilityChange();
}
@@ -7879,8 +7881,6 @@
mControllerMetricsStats.setIsNtnOnlyCarrier(isNtnOnlyCarrier());
}
plogd("selectBindingSatelliteSubscription: SelectedSatelliteSubId=" + selectedSubId);
- handleEventSelectedNbIotSatelliteSubscriptionChanged(selectedSubId);
- handleCarrierRoamingNtnAvailableServicesChanged();
}
@VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
@@ -8563,6 +8563,7 @@
}
mCtsSatelliteAccessAllowedSubIds.clear();
mCtsSatelliteAccessAllowedSubIds.addAll(subIdList);
+ selectBindingSatelliteSubscription(false);
return true;
}
@@ -9195,23 +9196,42 @@
* @return Supported modes {@link CarrierConfigManager.SATELLITE_DATA_SUPPORT_MODE}
*/
public int getSatelliteDataServicePolicyForPlmn(int subId, String plmn) {
- if (plmn != null && isValidSubscriptionId(subId)) {
+ plogd("getSatelliteDataServicePolicyForPlmn: subId=" + subId + " plmn=" + plmn);
+ if (isValidSubscriptionId(subId)) {
+ Map<String, Integer> dataServicePolicy;
synchronized (mSupportedSatelliteServicesLock) {
- Map<String, Integer> dataServicePolicy =
- mEntitlementDataServicePolicyMapPerCarrier.get(
- subId);
- logd("data policy available for sub id:" + dataServicePolicy);
- if (dataServicePolicy != null && dataServicePolicy.containsKey(plmn)
- && !plmn.isEmpty()) {
+ dataServicePolicy = mEntitlementDataServicePolicyMapPerCarrier.get(subId);
+ }
+ plogd("getSatelliteDataServicePolicyForPlmn: dataServicePolicy=" + dataServicePolicy);
+
+ if (dataServicePolicy != null) {
+ if (!TextUtils.isEmpty(plmn) && dataServicePolicy.containsKey(plmn)) {
+ plogd("getSatelliteDataServicePolicyForPlmn: "
+ + "return policy using dataServicePolicy map");
return dataServicePolicy.get(plmn);
+ } else if (TextUtils.isEmpty(plmn)) {
+ int preferredPolicy =
+ CarrierConfigManager.SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED;
+ for (String plmnKey : dataServicePolicy.keySet()) {
+ int policy = dataServicePolicy.get(plmnKey);
+ // higher value has higher preference
+ if (policy > preferredPolicy) {
+ preferredPolicy = policy;
+ }
+ }
+ plogd("getSatelliteDataServicePolicyForPlmn: "
+ + "return preferredPolicy=" + preferredPolicy);
+ return preferredPolicy;
}
}
if (isSatelliteDataServicesAllowed(subId, plmn)) {
+ plogd("getSatelliteDataServicePolicyForPlmn: return data support mode from config");
return getCarrierSatelliteDataSupportedModeFromConfig(subId);
}
}
+ plogd("getSatelliteDataServicePolicyForPlmn: return data support only restricted");
return CarrierConfigManager.SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED;
}
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteModemInterface.java b/src/java/com/android/internal/telephony/satellite/SatelliteModemInterface.java
index 9ceca72..2ebd258 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteModemInterface.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteModemInterface.java
@@ -33,7 +33,6 @@
import android.telephony.IBooleanConsumer;
import android.telephony.IIntegerConsumer;
import android.telephony.PersistentLogger;
-import android.telephony.Rlog;
import android.telephony.satellite.NtnSignalStrength;
import android.telephony.satellite.SatelliteCapabilities;
import android.telephony.satellite.SatelliteDatagram;
@@ -48,6 +47,7 @@
import android.telephony.satellite.stub.SatelliteModemState;
import android.telephony.satellite.stub.SatelliteService;
import android.text.TextUtils;
+import android.util.Log;
import android.util.Pair;
import com.android.internal.R;
@@ -1426,22 +1426,22 @@
}
private static void logd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
}
private static void loge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
}
private void plogd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.debug(TAG, log);
}
}
private void ploge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.error(TAG, log);
}
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteOptimizedApplicationsTracker.java b/src/java/com/android/internal/telephony/satellite/SatelliteOptimizedApplicationsTracker.java
index 636c04e..df656df 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteOptimizedApplicationsTracker.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteOptimizedApplicationsTracker.java
@@ -31,9 +31,9 @@
import android.os.Message;
import android.os.UserHandle;
import android.os.UserManager;
+import android.util.Log;
import com.android.internal.telephony.PackageChangeReceiver;
-import com.android.telephony.Rlog;
import java.util.ArrayList;
import java.util.HashMap;
@@ -247,10 +247,10 @@
}
private void log(String str) {
- Rlog.i(TAG, str);
+ Log.i(TAG, str);
}
private void loge(String str) {
- Rlog.e(TAG, str);
+ Log.e(TAG, str);
}
}
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteSOSMessageRecommender.java b/src/java/com/android/internal/telephony/satellite/SatelliteSOSMessageRecommender.java
index d33f828..a7e35c9 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteSOSMessageRecommender.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteSOSMessageRecommender.java
@@ -48,7 +48,6 @@
import android.provider.DeviceConfig;
import android.telecom.Connection;
import android.telephony.PersistentLogger;
-import android.telephony.Rlog;
import android.telephony.ServiceState;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -59,6 +58,7 @@
import android.telephony.satellite.SatelliteManager;
import android.telephony.satellite.SatelliteSubscriberProvisionStatus;
import android.text.TextUtils;
+import android.util.Log;
import android.util.Pair;
import android.util.SparseArray;
@@ -859,26 +859,26 @@
}
private static void logv(@NonNull String log) {
- Rlog.v(TAG, log);
+ Log.v(TAG, log);
}
private static void logd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
}
private static void loge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
}
private void plogd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.debug(TAG, log);
}
}
private void ploge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
if (mPersistentLogger != null) {
mPersistentLogger.error(TAG, log);
}
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteServiceUtils.java b/src/java/com/android/internal/telephony/satellite/SatelliteServiceUtils.java
index 3afaf9f..a658139 100644
--- a/src/java/com/android/internal/telephony/satellite/SatelliteServiceUtils.java
+++ b/src/java/com/android/internal/telephony/satellite/SatelliteServiceUtils.java
@@ -33,7 +33,6 @@
import android.telephony.DropBoxManagerLoggerBackend;
import android.telephony.NetworkRegistrationInfo;
import android.telephony.PersistentLogger;
-import android.telephony.Rlog;
import android.telephony.ServiceState;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
@@ -52,6 +51,7 @@
import android.telephony.satellite.stub.SatelliteModemState;
import android.telephony.satellite.stub.SatelliteResult;
import android.text.TextUtils;
+import android.util.Log;
import com.android.internal.R;
import com.android.internal.telephony.CommandException;
@@ -738,14 +738,14 @@
}
private static void logd(@NonNull String log) {
- Rlog.d(TAG, log);
+ Log.d(TAG, log);
}
private static void loge(@NonNull String log) {
- Rlog.e(TAG, log);
+ Log.e(TAG, log);
}
private static void logv(@NonNull String log) {
- Rlog.v(TAG, log);
+ Log.v(TAG, log);
}
}
diff --git a/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java b/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
index bc50894..a519067 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java
@@ -6593,6 +6593,13 @@
.getSatelliteDataServicePolicyForPlmn(SUB_ID, "00102");
assertEquals(SATELLITE_DATA_SUPPORT_ALL, dataSupportModeForPlmn);
+ dataSupportModeForPlmn = mSatelliteControllerUT
+ .getSatelliteDataServicePolicyForPlmn(SUB_ID, "");
+ assertEquals(SATELLITE_DATA_SUPPORT_ALL, dataSupportModeForPlmn);
+
+ dataSupportModeForPlmn = mSatelliteControllerUT
+ .getSatelliteDataServicePolicyForPlmn(SUB_ID, null);
+ assertEquals(SATELLITE_DATA_SUPPORT_ALL, dataSupportModeForPlmn);
}
@Test
@@ -6626,6 +6633,14 @@
.getSatelliteDataServicePolicyForPlmn(SUB_ID, "00101");
assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn);
+ dataSupportModeForPlmn = mSatelliteControllerUT
+ .getSatelliteDataServicePolicyForPlmn(SUB_ID, "");
+ assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn);
+
+ dataSupportModeForPlmn = mSatelliteControllerUT
+ .getSatelliteDataServicePolicyForPlmn(SUB_ID, null);
+ assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn);
+
setConfigData(new ArrayList<>());
PersistableBundle carrierSupportedSatelliteServicesPerProvider =
new PersistableBundle();
@@ -6642,6 +6657,13 @@
.getSatelliteDataServicePolicyForPlmn(SUB_ID, "00101");
assertEquals(SATELLITE_DATA_SUPPORT_BANDWIDTH_CONSTRAINED, dataSupportModeForPlmn);
+ dataSupportModeForPlmn = mSatelliteControllerUT
+ .getSatelliteDataServicePolicyForPlmn(SUB_ID, "");
+ assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn);
+
+ dataSupportModeForPlmn = mSatelliteControllerUT
+ .getSatelliteDataServicePolicyForPlmn(SUB_ID, null);
+ assertEquals(SATELLITE_DATA_SUPPORT_ONLY_RESTRICTED, dataSupportModeForPlmn);
}
@Test