Merge "Fixes for CBRS" into qt-r1-dev
am: 65e4bc410d
Change-Id: I8d90c69aa52f76bbc5ffae5f9883f3ca81bd323c
This commit is contained in:
@@ -303,6 +303,11 @@ public class CarrierTextController {
|
||||
}
|
||||
} else {
|
||||
subs = mKeyguardUpdateMonitor.getSubscriptionInfo(false);
|
||||
if (subs == null) {
|
||||
subs = new ArrayList<>();
|
||||
} else {
|
||||
filterMobileSubscriptionInSameGroup(subs);
|
||||
}
|
||||
}
|
||||
return subs;
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user