diff options
| -rw-r--r-- | services/core/java/com/android/server/ConnectivityService.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index fe0c17a94bf0..954a94ea24c0 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -815,6 +815,8 @@ public class ConnectivityService extends IConnectivityManager.Stub intentFilter.addAction(Intent.ACTION_USER_UNLOCKED); mContext.registerReceiverAsUser( mUserIntentReceiver, UserHandle.ALL, intentFilter, null, null); + mContext.registerReceiverAsUser(mUserPresentReceiver, UserHandle.SYSTEM, + new IntentFilter(Intent.ACTION_USER_PRESENT), null, null); try { mNetd.registerObserver(mTethering); @@ -4005,6 +4007,16 @@ public class ConnectivityService extends IConnectivityManager.Stub } }; + private BroadcastReceiver mUserPresentReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + // Try creating lockdown tracker, since user present usually means + // unlocked keystore. + updateLockdownVpn(); + mContext.unregisterReceiver(this); + } + }; + private final HashMap<Messenger, NetworkFactoryInfo> mNetworkFactoryInfos = new HashMap<Messenger, NetworkFactoryInfo>(); private final HashMap<NetworkRequest, NetworkRequestInfo> mNetworkRequests = |