Merge "Address TODOs in WifiNoInternetDialog." into mnc-dev

This commit is contained in:
Lorenzo Colitti
2015-05-20 08:04:42 +00:00
committed by Android (Google) Code Review

View File

@@ -36,6 +36,8 @@ import com.android.internal.app.AlertActivity;
import com.android.internal.app.AlertController; import com.android.internal.app.AlertController;
import com.android.settings.R; import com.android.settings.R;
import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
public final class WifiNoInternetDialog extends AlertActivity implements public final class WifiNoInternetDialog extends AlertActivity implements
DialogInterface.OnClickListener { DialogInterface.OnClickListener {
private static final String TAG = "WifiNoInternetDialog"; private static final String TAG = "WifiNoInternetDialog";
@@ -67,14 +69,9 @@ public final class WifiNoInternetDialog extends AlertActivity implements
// TODO: add a registerNetworkCallback(Network network, NetworkCallback networkCallback) and // TODO: add a registerNetworkCallback(Network network, NetworkCallback networkCallback) and
// simplify this. // simplify this.
final NetworkRequest.Builder builder = new NetworkRequest.Builder(); final NetworkRequest request = new NetworkRequest.Builder().clearCapabilities().build();
for (int i = 0; i < 256; i++) {
try {
builder.removeCapability(i);
} catch (IllegalArgumentException e) {}
}
final NetworkRequest request = builder.build();
mNetworkCallback = new NetworkCallback() { mNetworkCallback = new NetworkCallback() {
@Override
public void onLost(Network network) { public void onLost(Network network) {
// Close the dialog if the network disconnects. // Close the dialog if the network disconnects.
if (mNetwork.equals(network)) { if (mNetwork.equals(network)) {
@@ -82,8 +79,14 @@ public final class WifiNoInternetDialog extends AlertActivity implements
finish(); finish();
} }
} }
// TODO: implement onNetworkCapabilitiesChanged so we can close the dialog if the @Override
// network is now validated. public void onCapabilitiesChanged(Network network, NetworkCapabilities nc) {
// Close the dialog if the network validates.
if (mNetwork.equals(network) && nc.hasCapability(NET_CAPABILITY_VALIDATED)) {
Log.d(TAG, "Network " + mNetwork + " validated");
finish();
}
}
}; };
mCM = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); mCM = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);