Merge "Check ServiceState when showing dialog" into rvc-qpr-dev am: c121ae683d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12538430 Change-Id: I64b508ba72f973b00ccd493d597e2a3da004a284
This commit is contained in:
@@ -117,7 +117,8 @@ public class CellularTile extends QSTileImpl<SignalState> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String carrierName = mController.getMobileDataNetworkName();
|
String carrierName = mController.getMobileDataNetworkName();
|
||||||
if (TextUtils.isEmpty(carrierName)) {
|
boolean isInService = mController.isMobileDataNetworkInService();
|
||||||
|
if (TextUtils.isEmpty(carrierName) || !isInService) {
|
||||||
carrierName = mContext.getString(R.string.mobile_data_disable_message_default_carrier);
|
carrierName = mContext.getString(R.string.mobile_data_disable_message_default_carrier);
|
||||||
}
|
}
|
||||||
AlertDialog dialog = new Builder(mContext)
|
AlertDialog dialog = new Builder(mContext)
|
||||||
|
|||||||
@@ -418,6 +418,10 @@ public class MobileSignalController extends SignalController<
|
|||||||
return (mServiceState != null && mServiceState.isEmergencyOnly());
|
return (mServiceState != null && mServiceState.isEmergencyOnly());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isInService() {
|
||||||
|
return Utils.isInService(mServiceState);
|
||||||
|
}
|
||||||
|
|
||||||
private boolean isRoaming() {
|
private boolean isRoaming() {
|
||||||
// During a carrier change, roaming indications need to be supressed.
|
// During a carrier change, roaming indications need to be supressed.
|
||||||
if (isCarrierNetworkChangeActive()) {
|
if (isCarrierNetworkChangeActive()) {
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ public interface NetworkController extends CallbackController<SignalCallback>, D
|
|||||||
DataUsageController getMobileDataController();
|
DataUsageController getMobileDataController();
|
||||||
DataSaverController getDataSaverController();
|
DataSaverController getDataSaverController();
|
||||||
String getMobileDataNetworkName();
|
String getMobileDataNetworkName();
|
||||||
|
boolean isMobileDataNetworkInService();
|
||||||
int getNumberSubscriptions();
|
int getNumberSubscriptions();
|
||||||
|
|
||||||
boolean hasVoiceCallingFeature();
|
boolean hasVoiceCallingFeature();
|
||||||
|
|||||||
@@ -445,6 +445,12 @@ public class NetworkControllerImpl extends BroadcastReceiver
|
|||||||
return controller != null ? controller.getState().networkNameData : "";
|
return controller != null ? controller.getState().networkNameData : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isMobileDataNetworkInService() {
|
||||||
|
MobileSignalController controller = getDataController();
|
||||||
|
return controller != null && controller.isInService();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getNumberSubscriptions() {
|
public int getNumberSubscriptions() {
|
||||||
return mMobileSignalControllers.size();
|
return mMobileSignalControllers.size();
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ package com.android.systemui.statusbar.policy;
|
|||||||
import static android.telephony.AccessNetworkConstants.TRANSPORT_TYPE_WWAN;
|
import static android.telephony.AccessNetworkConstants.TRANSPORT_TYPE_WWAN;
|
||||||
import static android.telephony.NetworkRegistrationInfo.DOMAIN_PS;
|
import static android.telephony.NetworkRegistrationInfo.DOMAIN_PS;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.mockito.Matchers.anyInt;
|
import static org.mockito.Matchers.anyInt;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
@@ -10,6 +12,7 @@ import static org.mockito.Mockito.when;
|
|||||||
import android.net.NetworkCapabilities;
|
import android.net.NetworkCapabilities;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.telephony.NetworkRegistrationInfo;
|
import android.telephony.NetworkRegistrationInfo;
|
||||||
|
import android.telephony.ServiceState;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.test.suitebuilder.annotation.SmallTest;
|
import android.test.suitebuilder.annotation.SmallTest;
|
||||||
import android.testing.AndroidTestingRunner;
|
import android.testing.AndroidTestingRunner;
|
||||||
@@ -259,6 +262,25 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
|
|||||||
assertDataNetworkNameEquals(newDataName);
|
assertDataNetworkNameEquals(newDataName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsDataInService_true() {
|
||||||
|
setupDefaultSignal();
|
||||||
|
assertTrue(mNetworkController.isMobileDataNetworkInService());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsDataInService_noSignal_false() {
|
||||||
|
assertFalse(mNetworkController.isMobileDataNetworkInService());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsDataInService_notInService_false() {
|
||||||
|
setupDefaultSignal();
|
||||||
|
setVoiceRegState(ServiceState.STATE_OUT_OF_SERVICE);
|
||||||
|
setDataRegState(ServiceState.STATE_OUT_OF_SERVICE);
|
||||||
|
assertFalse(mNetworkController.isMobileDataNetworkInService());
|
||||||
|
}
|
||||||
|
|
||||||
private void testDataActivity(int direction, boolean in, boolean out) {
|
private void testDataActivity(int direction, boolean in, boolean out) {
|
||||||
updateDataActivity(direction);
|
updateDataActivity(direction);
|
||||||
|
|
||||||
|
|||||||
@@ -94,6 +94,11 @@ public class FakeNetworkController extends BaseLeakChecker<SignalCallback>
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isMobileDataNetworkInService() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getNumberSubscriptions() {
|
public int getNumberSubscriptions() {
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user