Start VPN as early as possible during startup

- Switch from USER_STARTING to USER_STARTED which is the foreground
  version of the broadcast

- Set the new VPN network as CONNECTING initially to avoid spamming
  apps with useless notifications ahead of the network being fully
  available

Bug: 26694104
Fix: 28335277
Change-Id: I31d5260dda62ff440c31c44eb0aa5c891e2717e5
This commit is contained in:
Robin Lee
2016-05-04 16:38:06 +01:00
parent a8c0b6ef7e
commit c4980d88aa

View File

@@ -729,7 +729,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
//set up the listener for user state for creating user VPNs //set up the listener for user state for creating user VPNs
IntentFilter intentFilter = new IntentFilter(); IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_USER_STARTING); intentFilter.addAction(Intent.ACTION_USER_STARTED);
intentFilter.addAction(Intent.ACTION_USER_STOPPED); intentFilter.addAction(Intent.ACTION_USER_STOPPED);
intentFilter.addAction(Intent.ACTION_USER_ADDED); intentFilter.addAction(Intent.ACTION_USER_ADDED);
intentFilter.addAction(Intent.ACTION_USER_REMOVED); intentFilter.addAction(Intent.ACTION_USER_REMOVED);
@@ -3663,7 +3663,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL); final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL);
if (userId == UserHandle.USER_NULL) return; if (userId == UserHandle.USER_NULL) return;
if (Intent.ACTION_USER_STARTING.equals(action)) { if (Intent.ACTION_USER_STARTED.equals(action)) {
onUserStart(userId); onUserStart(userId);
} else if (Intent.ACTION_USER_STOPPED.equals(action)) { } else if (Intent.ACTION_USER_STOPPED.equals(action)) {
onUserStop(userId); onUserStop(userId);