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:
Fabian Kozynski
2020-09-22 19:34:50 +00:00
committed by Automerger Merge Worker
6 changed files with 40 additions and 1 deletions

View File

@@ -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)

View File

@@ -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()) {

View File

@@ -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();

View File

@@ -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();

View File

@@ -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);

View File

@@ -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;