Merge "Fixed network name for about/sim_status" into qt-dev
am: b73d3c70c8
Change-Id: I4163adc7824982b06324335651b8a5c681d6eef6
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.settings.deviceinfo.simstatus;
|
|||||||
import static android.content.Context.CARRIER_CONFIG_SERVICE;
|
import static android.content.Context.CARRIER_CONFIG_SERVICE;
|
||||||
import static android.content.Context.EUICC_SERVICE;
|
import static android.content.Context.EUICC_SERVICE;
|
||||||
import static android.content.Context.TELEPHONY_SERVICE;
|
import static android.content.Context.TELEPHONY_SERVICE;
|
||||||
|
import static android.content.Context.TELEPHONY_SUBSCRIPTION_SERVICE;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
@@ -36,6 +37,7 @@ import android.telephony.ServiceState;
|
|||||||
import android.telephony.SignalStrength;
|
import android.telephony.SignalStrength;
|
||||||
import android.telephony.SubscriptionInfo;
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
|
import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.telephony.euicc.EuiccManager;
|
import android.telephony.euicc.EuiccManager;
|
||||||
import android.text.BidiFormatter;
|
import android.text.BidiFormatter;
|
||||||
@@ -53,8 +55,6 @@ import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
|||||||
import com.android.settingslib.core.lifecycle.events.OnPause;
|
import com.android.settingslib.core.lifecycle.events.OnPause;
|
||||||
import com.android.settingslib.core.lifecycle.events.OnResume;
|
import com.android.settingslib.core.lifecycle.events.OnResume;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class SimStatusDialogController implements LifecycleObserver, OnResume, OnPause {
|
public class SimStatusDialogController implements LifecycleObserver, OnResume, OnPause {
|
||||||
|
|
||||||
private final static String TAG = "SimStatusDialogCtrl";
|
private final static String TAG = "SimStatusDialogCtrl";
|
||||||
@@ -98,9 +98,21 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
"com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO";
|
"com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO";
|
||||||
private final static String CELL_BROADCAST_RECEIVER_APP = "com.android.cellbroadcastreceiver";
|
private final static String CELL_BROADCAST_RECEIVER_APP = "com.android.cellbroadcastreceiver";
|
||||||
|
|
||||||
|
private final OnSubscriptionsChangedListener mOnSubscriptionsChangedListener =
|
||||||
|
new OnSubscriptionsChangedListener() {
|
||||||
|
@Override
|
||||||
|
public void onSubscriptionsChanged() {
|
||||||
|
mSubscriptionInfo = mSubscriptionManager.getActiveSubscriptionInfo(
|
||||||
|
mSubscriptionInfo.getSubscriptionId());
|
||||||
|
updateNetworkProvider();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private SubscriptionInfo mSubscriptionInfo;
|
||||||
|
|
||||||
private final SimStatusDialogFragment mDialog;
|
private final SimStatusDialogFragment mDialog;
|
||||||
private final SubscriptionInfo mSubscriptionInfo;
|
|
||||||
private final TelephonyManager mTelephonyManager;
|
private final TelephonyManager mTelephonyManager;
|
||||||
|
private final SubscriptionManager mSubscriptionManager;
|
||||||
private final CarrierConfigManager mCarrierConfigManager;
|
private final CarrierConfigManager mCarrierConfigManager;
|
||||||
private final EuiccManager mEuiccManager;
|
private final EuiccManager mEuiccManager;
|
||||||
private final Resources mRes;
|
private final Resources mRes;
|
||||||
@@ -134,11 +146,10 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
mDialog = dialog;
|
mDialog = dialog;
|
||||||
mContext = dialog.getContext();
|
mContext = dialog.getContext();
|
||||||
mSubscriptionInfo = getPhoneSubscriptionInfo(slotId);
|
mSubscriptionInfo = getPhoneSubscriptionInfo(slotId);
|
||||||
mTelephonyManager = (TelephonyManager) mContext.getSystemService(
|
mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
|
||||||
TELEPHONY_SERVICE);
|
mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
|
||||||
mCarrierConfigManager = (CarrierConfigManager) mContext.getSystemService(
|
mEuiccManager = mContext.getSystemService(EuiccManager.class);
|
||||||
CARRIER_CONFIG_SERVICE);
|
mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
|
||||||
mEuiccManager = (EuiccManager) mContext.getSystemService(EUICC_SERVICE);
|
|
||||||
|
|
||||||
mRes = mContext.getResources();
|
mRes = mContext.getResources();
|
||||||
|
|
||||||
@@ -155,9 +166,9 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
}
|
}
|
||||||
|
|
||||||
mPhoneStateListener = getPhoneStateListener();
|
mPhoneStateListener = getPhoneStateListener();
|
||||||
|
updateNetworkProvider();
|
||||||
|
|
||||||
final ServiceState serviceState = getCurrentServiceState();
|
final ServiceState serviceState = getCurrentServiceState();
|
||||||
updateNetworkProvider(serviceState);
|
|
||||||
updatePhoneNumber();
|
updatePhoneNumber();
|
||||||
updateLatestAreaInfo();
|
updateLatestAreaInfo();
|
||||||
updateServiceState(serviceState);
|
updateServiceState(serviceState);
|
||||||
@@ -179,6 +190,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
PhoneStateListener.LISTEN_DATA_CONNECTION_STATE
|
PhoneStateListener.LISTEN_DATA_CONNECTION_STATE
|
||||||
| PhoneStateListener.LISTEN_SIGNAL_STRENGTHS
|
| PhoneStateListener.LISTEN_SIGNAL_STRENGTHS
|
||||||
| PhoneStateListener.LISTEN_SERVICE_STATE);
|
| PhoneStateListener.LISTEN_SERVICE_STATE);
|
||||||
|
mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
|
||||||
|
|
||||||
if (mShowLatestAreaInfo) {
|
if (mShowLatestAreaInfo) {
|
||||||
mContext.registerReceiver(mAreaInfoReceiver,
|
mContext.registerReceiver(mAreaInfoReceiver,
|
||||||
@@ -198,6 +210,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mSubscriptionManager.removeOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
|
||||||
mTelephonyManager.createForSubscriptionId(mSubscriptionInfo.getSubscriptionId())
|
mTelephonyManager.createForSubscriptionId(mSubscriptionInfo.getSubscriptionId())
|
||||||
.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
|
.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
|
||||||
|
|
||||||
@@ -206,8 +219,10 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateNetworkProvider(ServiceState serviceState) {
|
private void updateNetworkProvider() {
|
||||||
mDialog.setText(NETWORK_PROVIDER_VALUE_ID, serviceState.getOperatorAlphaLong());
|
final CharSequence carrierName =
|
||||||
|
mSubscriptionInfo != null ? mSubscriptionInfo.getCarrierName() : null;
|
||||||
|
mDialog.setText(NETWORK_PROVIDER_VALUE_ID, carrierName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updatePhoneNumber() {
|
private void updatePhoneNumber() {
|
||||||
@@ -441,7 +456,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onServiceStateChanged(ServiceState serviceState) {
|
public void onServiceStateChanged(ServiceState serviceState) {
|
||||||
updateNetworkProvider(serviceState);
|
updateNetworkProvider();
|
||||||
updateServiceState(serviceState);
|
updateServiceState(serviceState);
|
||||||
updateRoamingStatus(serviceState);
|
updateRoamingStatus(serviceState);
|
||||||
}
|
}
|
||||||
|
@@ -63,6 +63,7 @@ import android.telephony.PhoneStateListener;
|
|||||||
import android.telephony.ServiceState;
|
import android.telephony.ServiceState;
|
||||||
import android.telephony.SignalStrength;
|
import android.telephony.SignalStrength;
|
||||||
import android.telephony.SubscriptionInfo;
|
import android.telephony.SubscriptionInfo;
|
||||||
|
import android.telephony.SubscriptionManager;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.telephony.euicc.EuiccManager;
|
import android.telephony.euicc.EuiccManager;
|
||||||
|
|
||||||
@@ -103,6 +104,8 @@ public class SimStatusDialogControllerTest {
|
|||||||
private PersistableBundle mPersistableBundle;
|
private PersistableBundle mPersistableBundle;
|
||||||
@Mock
|
@Mock
|
||||||
private EuiccManager mEuiccManager;
|
private EuiccManager mEuiccManager;
|
||||||
|
@Mock
|
||||||
|
private SubscriptionManager mSubscriptionManager;
|
||||||
|
|
||||||
private SimStatusDialogController mController;
|
private SimStatusDialogController mController;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
@@ -123,6 +126,7 @@ public class SimStatusDialogControllerTest {
|
|||||||
doReturn(mPhoneStateListener).when(mController).getPhoneStateListener();
|
doReturn(mPhoneStateListener).when(mController).getPhoneStateListener();
|
||||||
doReturn("").when(mController).getPhoneNumber();
|
doReturn("").when(mController).getPhoneNumber();
|
||||||
doReturn(mSignalStrength).when(mController).getSignalStrength();
|
doReturn(mSignalStrength).when(mController).getSignalStrength();
|
||||||
|
doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt());
|
||||||
|
|
||||||
when(mEuiccManager.isEnabled()).thenReturn(true);
|
when(mEuiccManager.isEnabled()).thenReturn(true);
|
||||||
when(mEuiccManager.getEid()).thenReturn("");
|
when(mEuiccManager.getEid()).thenReturn("");
|
||||||
@@ -130,6 +134,7 @@ public class SimStatusDialogControllerTest {
|
|||||||
ReflectionHelpers.setField(mController, "mCarrierConfigManager", mCarrierConfigManager);
|
ReflectionHelpers.setField(mController, "mCarrierConfigManager", mCarrierConfigManager);
|
||||||
ReflectionHelpers.setField(mController, "mSubscriptionInfo", mSubscriptionInfo);
|
ReflectionHelpers.setField(mController, "mSubscriptionInfo", mSubscriptionInfo);
|
||||||
ReflectionHelpers.setField(mController, "mEuiccManager", mEuiccManager);
|
ReflectionHelpers.setField(mController, "mEuiccManager", mEuiccManager);
|
||||||
|
ReflectionHelpers.setField(mController, "mSubscriptionManager", mSubscriptionManager);
|
||||||
when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(mPersistableBundle);
|
when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(mPersistableBundle);
|
||||||
|
|
||||||
final ShadowPackageManager shadowPackageManager =
|
final ShadowPackageManager shadowPackageManager =
|
||||||
@@ -141,8 +146,8 @@ public class SimStatusDialogControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void initialize_updateNetworkProviderWithFoobarCarrier_shouldUpdateCarrierWithFoobar() {
|
public void initialize_updateNetworkProviderWithFoobarCarrier_shouldUpdateCarrierWithFoobar() {
|
||||||
final String carrierName = "foobar";
|
final CharSequence carrierName = "foobar";
|
||||||
when(mServiceState.getOperatorAlphaLong()).thenReturn(carrierName);
|
doReturn(carrierName).when(mSubscriptionInfo).getCarrierName();
|
||||||
|
|
||||||
mController.initialize();
|
mController.initialize();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user