ConnectivityService: regroup bool <-> int conversions

This patch cleanups conversion of boolean values to ints when reading
configuration values or sending Messages whose arg1 or arg2 has boolean
semantics.

Test: runtest frameworks-net
Change-Id: I5187d17cd746486f63b1c410d191c30edd93ff6f
This commit is contained in:
Hugo Benichi
2017-04-21 15:07:12 +09:00
parent d6b510a23e
commit f4210294ac

View File

@@ -876,8 +876,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
} }
private void handleMobileDataAlwaysOn() { private void handleMobileDataAlwaysOn() {
final boolean enable = (Settings.Global.getInt( final boolean enable = toBool(Settings.Global.getInt(
mContext.getContentResolver(), Settings.Global.MOBILE_DATA_ALWAYS_ON, 1) == 1); mContext.getContentResolver(), Settings.Global.MOBILE_DATA_ALWAYS_ON, 1));
final boolean isEnabled = (mNetworkRequests.get(mDefaultMobileDataRequest) != null); final boolean isEnabled = (mNetworkRequests.get(mDefaultMobileDataRequest) != null);
if (enable == isEnabled) { if (enable == isEnabled) {
return; // Nothing to do. return; // Nothing to do.
@@ -2230,7 +2230,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
} }
case NetworkMonitor.EVENT_PROVISIONING_NOTIFICATION: { case NetworkMonitor.EVENT_PROVISIONING_NOTIFICATION: {
final int netId = msg.arg2; final int netId = msg.arg2;
final boolean visible = (msg.arg1 != 0); final boolean visible = toBool(msg.arg1);
final NetworkAgentInfo nai; final NetworkAgentInfo nai;
synchronized (mNetworkForNetId) { synchronized (mNetworkForNetId) {
nai = mNetworkForNetId.get(netId); nai = mNetworkForNetId.get(netId);
@@ -2683,7 +2683,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
public void setAcceptUnvalidated(Network network, boolean accept, boolean always) { public void setAcceptUnvalidated(Network network, boolean accept, boolean always) {
enforceConnectivityInternalPermission(); enforceConnectivityInternalPermission();
mHandler.sendMessage(mHandler.obtainMessage(EVENT_SET_ACCEPT_UNVALIDATED, mHandler.sendMessage(mHandler.obtainMessage(EVENT_SET_ACCEPT_UNVALIDATED,
accept ? 1 : 0, always ? 1: 0, network)); encodeBool(accept), encodeBool(always), network));
} }
@Override @Override
@@ -2720,7 +2720,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
if (always) { if (always) {
nai.asyncChannel.sendMessage( nai.asyncChannel.sendMessage(
NetworkAgent.CMD_SAVE_ACCEPT_UNVALIDATED, accept ? 1 : 0); NetworkAgent.CMD_SAVE_ACCEPT_UNVALIDATED, encodeBool(accept));
} }
if (!accept) { if (!accept) {
@@ -2921,7 +2921,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
break; break;
} }
case EVENT_SET_ACCEPT_UNVALIDATED: { case EVENT_SET_ACCEPT_UNVALIDATED: {
handleSetAcceptUnvalidated((Network) msg.obj, msg.arg1 != 0, msg.arg2 != 0); Network network = (Network) msg.obj;
handleSetAcceptUnvalidated(network, toBool(msg.arg1), toBool(msg.arg2));
break; break;
} }
case EVENT_SET_AVOID_UNVALIDATED: { case EVENT_SET_AVOID_UNVALIDATED: {
@@ -2956,8 +2957,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
break; break;
} }
case EVENT_REVALIDATE_NETWORK: { case EVENT_REVALIDATE_NETWORK: {
boolean hasConnectivity = (msg.arg2 == 1); handleReportNetworkConnectivity((Network) msg.obj, msg.arg1, toBool(msg.arg2));
handleReportNetworkConnectivity((Network) msg.obj, msg.arg1, hasConnectivity);
break; break;
} }
} }
@@ -3074,9 +3074,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
@Override @Override
public boolean isTetheringSupported() { public boolean isTetheringSupported() {
enforceTetherAccessPermission(); enforceTetherAccessPermission();
int defaultVal = (mSystemProperties.get("ro.tether.denied").equals("true") ? 0 : 1); int defaultVal = encodeBool(!mSystemProperties.get("ro.tether.denied").equals("true"));
boolean tetherEnabledInSettings = (Settings.Global.getInt(mContext.getContentResolver(), boolean tetherSupported = toBool(Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.TETHER_SUPPORTED, defaultVal) != 0) Settings.Global.TETHER_SUPPORTED, defaultVal));
boolean tetherEnabledInSettings = tetherSupported
&& !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_TETHERING); && !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_TETHERING);
// Elevate to system UID to avoid caller requiring MANAGE_USERS permission. // Elevate to system UID to avoid caller requiring MANAGE_USERS permission.
@@ -3088,8 +3089,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
Binder.restoreCallingIdentity(token); Binder.restoreCallingIdentity(token);
} }
return tetherEnabledInSettings && adminUser && return tetherEnabledInSettings && adminUser && mTethering.hasTetherableConfiguration();
mTethering.hasTetherableConfiguration();
} }
@Override @Override
@@ -3168,7 +3168,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
enforceAccessPermission(); enforceAccessPermission();
enforceInternetPermission(); enforceInternetPermission();
final int uid = Binder.getCallingUid(); final int uid = Binder.getCallingUid();
final int connectivityInfo = hasConnectivity ? 1 : 0; final int connectivityInfo = encodeBool(hasConnectivity);
mHandler.sendMessage( mHandler.sendMessage(
mHandler.obtainMessage(EVENT_REVALIDATE_NETWORK, uid, connectivityInfo, network)); mHandler.obtainMessage(EVENT_REVALIDATE_NETWORK, uid, connectivityInfo, network));
} }
@@ -3902,7 +3902,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
final long ident = Binder.clearCallingIdentity(); final long ident = Binder.clearCallingIdentity();
try { try {
final ContentResolver cr = mContext.getContentResolver(); final ContentResolver cr = mContext.getContentResolver();
Settings.Global.putInt(cr, Settings.Global.AIRPLANE_MODE_ON, enable ? 1 : 0); Settings.Global.putInt(cr, Settings.Global.AIRPLANE_MODE_ON, encodeBool(enable));
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", enable); intent.putExtra("state", enable);
mContext.sendBroadcastAsUser(intent, UserHandle.ALL); mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
@@ -5578,4 +5578,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
private void logNetworkEvent(NetworkAgentInfo nai, int evtype) { private void logNetworkEvent(NetworkAgentInfo nai, int evtype) {
mMetricsLog.log(new NetworkEvent(nai.network.netId, evtype)); mMetricsLog.log(new NetworkEvent(nai.network.netId, evtype));
} }
private static boolean toBool(int encodedBoolean) {
return encodedBoolean != 0; // Only 0 means false.
}
private static int encodeBool(boolean b) {
return b ? 1 : 0;
}
} }