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

Commit 66224219 authored by Matthew Sedam's avatar Matthew Sedam Committed by Android (Google) Code Review
Browse files

Merge "Properly handle HSUM no-user in the ContextHubService" into udc-qpr-dev

parents 5e6e14f9 df38221d
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ import android.os.ResultReceiver;
import android.os.ShellCallback;
import android.os.SystemClock;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import android.util.Log;
import android.util.Pair;
@@ -169,6 +170,8 @@ public class ContextHubService extends IContextHubService.Stub {

    private SensorPrivacyManagerInternal mSensorPrivacyManagerInternal;

    private UserManager mUserManager = null;

    private final Map<Integer, AtomicLong> mLastRestartTimestampMap = new HashMap<>();

    /**
@@ -491,6 +494,14 @@ public class ContextHubService extends IContextHubService.Stub {
            return;
        }

        if (mUserManager == null) {
            mUserManager = mContext.getSystemService(UserManager.class);
            if (mUserManager == null) {
                Log.e(TAG, "Unable to get the UserManager service");
                return;
            }
        }

        sendMicrophoneDisableSettingUpdateForCurrentUser();
        if (mSensorPrivacyManagerInternal == null) {
            Log.e(TAG, "Unable to add a sensor privacy listener for all users");
@@ -499,7 +510,8 @@ public class ContextHubService extends IContextHubService.Stub {

        mSensorPrivacyManagerInternal.addSensorPrivacyListenerForAllUsers(
                SensorPrivacyManager.Sensors.MICROPHONE, (userId, enabled) -> {
                    if (userId == getCurrentUserId()) {
                    // If we are in HSUM mode, any user can change the microphone setting
                    if (mUserManager.isHeadlessSystemUserMode() || userId == getCurrentUserId()) {
                        Log.d(TAG, "User: " + userId + " mic privacy: " + enabled);
                        sendMicrophoneDisableSettingUpdate(enabled);
                    }