Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89e7a696 authored by Robin Lee's avatar Robin Lee
Browse files

ConnectivityService: listen to USER_UNLOCKED too

When the credential-encrypted private storage for the target user is
unlocked, we should try to start up VPN for them.

Bug: 27357283
Change-Id: Id9079230d00e3cea08a49ae66bd1f553416b4f54
parent 42d8b7d7
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -750,7 +750,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
        intentFilter.addAction(Intent.ACTION_USER_STOPPING);
        intentFilter.addAction(Intent.ACTION_USER_ADDED);
        intentFilter.addAction(Intent.ACTION_USER_REMOVED);
        intentFilter.addAction(Intent.ACTION_USER_PRESENT);
        intentFilter.addAction(Intent.ACTION_USER_UNLOCKED);
        mContext.registerReceiverAsUser(
                mUserIntentReceiver, UserHandle.ALL, intentFilter, null, null);

@@ -3633,7 +3633,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
        }
    }

    private void onUserPresent(int userId) {
    private void onUserUnlocked(int userId) {
        // User present may be sent because of an unlock, which might mean an unlocked keystore.
        if (mUserManager.getUserInfo(userId).isPrimary() && LockdownVpnTracker.isEnabled()) {
            updateLockdownVpn();
@@ -3657,8 +3657,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
                onUserAdded(userId);
            } else if (Intent.ACTION_USER_REMOVED.equals(action)) {
                onUserRemoved(userId);
            } else if (Intent.ACTION_USER_PRESENT.equals(action)) {
                onUserPresent(userId);
            } else if (Intent.ACTION_USER_UNLOCKED.equals(action)) {
                onUserUnlocked(userId);
            }
        }
    };