[mainline] decouple ServiceState.bitmaskHasTech and getBitmaskForTech

Bug: 146314969
Test: Build pass.
      make RunSettingsRoboTests ROBOTEST_FILTER=ApnEditorTest

Change-Id: I1600a96a729fc3b555eab5bc80b069663c8eb00a
This commit is contained in:
SongFerngWang
2019-12-16 16:30:14 +08:00
parent 5828d8aea4
commit 6f4ceba6ed

View File

@@ -27,7 +27,6 @@ import android.os.Bundle;
import android.os.PersistableBundle; import android.os.PersistableBundle;
import android.provider.Telephony; import android.provider.Telephony;
import android.telephony.CarrierConfigManager; import android.telephony.CarrierConfigManager;
import android.telephony.ServiceState;
import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
@@ -1025,7 +1024,7 @@ public class ApnEditor extends SettingsPreferenceFragment
bearerBitmask = 0; bearerBitmask = 0;
break; break;
} else { } else {
bearerBitmask |= ServiceState.getBitmaskForTech(Integer.parseInt(bearer)); bearerBitmask |= getBitmaskForTech(Integer.parseInt(bearer));
} }
} }
callUpdate = setIntValueAndCheckIfDiff(values, callUpdate = setIntValueAndCheckIfDiff(values,
@@ -1037,7 +1036,7 @@ public class ApnEditor extends SettingsPreferenceFragment
int bearerVal; int bearerVal;
if (bearerBitmask == 0 || mBearerInitialVal == 0) { if (bearerBitmask == 0 || mBearerInitialVal == 0) {
bearerVal = 0; bearerVal = 0;
} else if (ServiceState.bitmaskHasTech(bearerBitmask, mBearerInitialVal)) { } else if (bitmaskHasTech(bearerBitmask, mBearerInitialVal)) {
bearerVal = mBearerInitialVal; bearerVal = mBearerInitialVal;
} else { } else {
// bearer field was being used but bitmask has changed now and does not include the // bearer field was being used but bitmask has changed now and does not include the
@@ -1329,4 +1328,20 @@ public class ApnEditor extends SettingsPreferenceFragment
return (String) mData[index]; return (String) mData[index];
} }
} }
private static int getBitmaskForTech(int radioTech) {
if (radioTech >= 1) {
return (1 << (radioTech - 1));
}
return 0;
}
private static boolean bitmaskHasTech(int bearerBitmask, int radioTech) {
if (bearerBitmask == 0) {
return true;
} else if (radioTech >= 1) {
return ((bearerBitmask & (1 << (radioTech - 1))) != 0);
}
return false;
}
} }