Merge "Fixes for CBRS" into qt-r1-dev

am: 65e4bc410d

Change-Id: I8d90c69aa52f76bbc5ffae5f9883f3ca81bd323c
This commit is contained in:
Fabian Kozynski
2019-06-28 16:48:14 -07:00
committed by android-build-merger
5 changed files with 34 additions and 6 deletions

View File

@@ -303,6 +303,11 @@ public class CarrierTextController {
}
} else {
subs = mKeyguardUpdateMonitor.getSubscriptionInfo(false);
if (subs == null) {
subs = new ArrayList<>();
} else {
filterMobileSubscriptionInSameGroup(subs);
}
}
return subs;
}

View File

@@ -28,6 +28,7 @@ import static android.os.BatteryManager.EXTRA_MAX_CHARGING_CURRENT;
import static android.os.BatteryManager.EXTRA_MAX_CHARGING_VOLTAGE;
import static android.os.BatteryManager.EXTRA_PLUGGED;
import static android.os.BatteryManager.EXTRA_STATUS;
import static android.telephony.PhoneStateListener.LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE;
import android.annotation.AnyThread;
import android.annotation.MainThread;
@@ -70,6 +71,7 @@ import android.os.UserManager;
import android.provider.Settings;
import android.service.dreams.DreamService;
import android.service.dreams.IDreamManager;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
@@ -382,6 +384,13 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
}
};
private PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
@Override
public void onActiveDataSubscriptionIdChanged(int subId) {
mHandler.sendEmptyMessage(MSG_SIM_SUBSCRIPTION_INFO_CHANGED);
}
};
private OnSubscriptionsChangedListener mSubscriptionListener =
new OnSubscriptionsChangedListener() {
@Override
@@ -431,7 +440,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
private void handleSimSubscriptionInfoChanged() {
if (DEBUG_SIM_STATES) {
Log.v(TAG, "onSubscriptionInfoChanged()");
List<SubscriptionInfo> sil = mSubscriptionManager.getActiveSubscriptionInfoList();
List<SubscriptionInfo> sil = mSubscriptionManager.getActiveSubscriptionInfoList(false);
if (sil != null) {
for (SubscriptionInfo subInfo : sil) {
Log.v(TAG, "SubInfo:" + subInfo);
@@ -483,7 +492,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
public List<SubscriptionInfo> getSubscriptionInfo(boolean forceReload) {
List<SubscriptionInfo> sil = mSubscriptionInfo;
if (sil == null || forceReload) {
sil = mSubscriptionManager.getActiveSubscriptionInfoList();
sil = mSubscriptionManager.getActiveSubscriptionInfoList(false);
}
if (sil == null) {
// getActiveSubscriptionInfoList was null callers expect an empty list.
@@ -1080,6 +1089,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
}
mHandler.sendMessage(
mHandler.obtainMessage(MSG_SERVICE_STATE_CHANGE, subId, 0, serviceState));
} else if (TelephonyIntents.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED.equals(action)) {
mHandler.sendEmptyMessage(MSG_SIM_SUBSCRIPTION_INFO_CHANGED);
} else if (DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED.equals(
action)) {
mHandler.sendEmptyMessage(MSG_DEVICE_POLICY_MANAGER_STATE_CHANGED);
@@ -1490,6 +1501,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
filter.addAction(TelephonyIntents.ACTION_SERVICE_STATE_CHANGED);
filter.addAction(TelephonyIntents.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
filter.addAction(TelephonyManager.ACTION_PHONE_STATE_CHANGED);
filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION);
filter.addAction(DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED);
@@ -1563,6 +1575,12 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
mLogoutEnabled = mDevicePolicyManager.isLogoutEnabled();
updateAirplaneModeState();
TelephonyManager telephony =
(TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
if (telephony != null) {
telephony.listen(mPhoneStateListener, LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE);
}
}
private void updateAirplaneModeState() {

View File

@@ -376,9 +376,9 @@ public class MobileSignalController extends SignalController<
}
private void updateDataSim() {
int defaultDataSub = mDefaults.getDefaultDataSubId();
if (SubscriptionManager.isValidSubscriptionId(defaultDataSub)) {
mCurrentState.dataSim = defaultDataSub == mSubscriptionInfo.getSubscriptionId();
int activeDataSubId = mDefaults.getActiveDataSubId();
if (SubscriptionManager.isValidSubscriptionId(activeDataSubId)) {
mCurrentState.dataSim = activeDataSubId == mSubscriptionInfo.getSubscriptionId();
} else {
// There doesn't seem to be a data sim selected, however if
// there isn't a MobileSignalController with dataSim set, then

View File

@@ -361,7 +361,7 @@ public class NetworkControllerImpl extends BroadcastReceiver
}
private MobileSignalController getDataController() {
int dataSubId = mSubDefaults.getDefaultDataSubId();
int dataSubId = mSubDefaults.getActiveDataSubId();
if (!SubscriptionManager.isValidSubscriptionId(dataSubId)) {
if (DEBUG) Log.e(TAG, "No data sim selected");
return mDefaultSignalController;
@@ -1098,6 +1098,10 @@ public class NetworkControllerImpl extends BroadcastReceiver
public int getDefaultDataSubId() {
return SubscriptionManager.getDefaultDataSubscriptionId();
}
public int getActiveDataSubId() {
return SubscriptionManager.getActiveDataSubscriptionId();
}
}
@VisibleForTesting

View File

@@ -181,6 +181,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
protected void setDefaultSubId(int subId) {
when(mMockSubDefaults.getDefaultDataSubId()).thenReturn(subId);
when(mMockSubDefaults.getDefaultVoiceSubId()).thenReturn(subId);
when(mMockSubDefaults.getActiveDataSubId()).thenReturn(subId);
}
protected void setSubscriptions(int... subIds) {