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

Commit 30ff6173 authored by Ioana Alexandru's avatar Ioana Alexandru Committed by Android (Google) Code Review
Browse files

Merge "Remove UserTracker dependency from SecureSettings&co" into main

parents b9991223 be6547a1
Loading
Loading
Loading
Loading
+15 −8
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@ import com.android.systemui.screenrecord.ScreenRecordModule;
import com.android.systemui.screenshot.dagger.ScreenshotModule;
import com.android.systemui.security.data.repository.SecurityRepositoryModule;
import com.android.systemui.settings.DisplayTracker;
import com.android.systemui.settings.UserTracker;
import com.android.systemui.shade.ShadeController;
import com.android.systemui.shade.transition.LargeScreenShadeInterpolator;
import com.android.systemui.shade.transition.LargeScreenShadeInterpolatorImpl;
@@ -154,6 +155,7 @@ import com.android.systemui.util.dagger.UtilModule;
import com.android.systemui.util.kotlin.SysUICoroutinesModule;
import com.android.systemui.util.reference.ReferenceModule;
import com.android.systemui.util.sensors.SensorModule;
import com.android.systemui.util.settings.SettingsProxy;
import com.android.systemui.util.settings.SettingsUtilModule;
import com.android.systemui.util.time.SystemClock;
import com.android.systemui.util.time.SystemClockImpl;
@@ -443,4 +445,9 @@ public abstract class SystemUIModule {

    @Binds
    abstract SceneDataSource bindSceneDataSource(SceneDataSourceDelegator delegator);

    @Provides
    static SettingsProxy.CurrentUserIdProvider provideCurrentUserId(UserTracker userTracker) {
        return userTracker::getUserId;
    }
}
+9 −8
Original line number Diff line number Diff line
@@ -22,23 +22,24 @@ import android.provider.Settings;

import androidx.annotation.NonNull;

import com.android.systemui.settings.UserTracker;
import com.android.systemui.util.kotlin.SettingsSingleThreadBackground;

import javax.inject.Inject;

import kotlinx.coroutines.CoroutineDispatcher;

import javax.inject.Inject;

class SecureSettingsImpl implements SecureSettings {
    private final ContentResolver mContentResolver;
    private final UserTracker mUserTracker;
    private final CurrentUserIdProvider mCurrentUserProvider;
    private final CoroutineDispatcher mBgDispatcher;

    @Inject
    SecureSettingsImpl(ContentResolver contentResolver, UserTracker userTracker,
    SecureSettingsImpl(
            ContentResolver contentResolver,
            CurrentUserIdProvider currentUserProvider,
            @SettingsSingleThreadBackground CoroutineDispatcher bgDispatcher) {
        mContentResolver = contentResolver;
        mUserTracker = userTracker;
        mCurrentUserProvider = currentUserProvider;
        mBgDispatcher = bgDispatcher;
    }

@@ -48,8 +49,8 @@ class SecureSettingsImpl implements SecureSettings {
    }

    @Override
    public UserTracker getUserTracker() {
        return mUserTracker;
    public CurrentUserIdProvider getCurrentUserProvider() {
        return mCurrentUserProvider;
    }

    @Override
+5 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
 */
package com.android.systemui.util.settings

import android.annotation.UserIdInt
import android.content.ContentResolver
import android.database.ContentObserver
import android.net.Uri
@@ -629,4 +630,8 @@ interface SettingsProxy {
            }
        }
    }

    fun interface CurrentUserIdProvider {
        @UserIdInt fun getUserId(): Int
    }
}
+8 −8
Original line number Diff line number Diff line
@@ -22,23 +22,23 @@ import android.provider.Settings;

import androidx.annotation.NonNull;

import com.android.systemui.settings.UserTracker;
import com.android.systemui.util.kotlin.SettingsSingleThreadBackground;

import javax.inject.Inject;

import kotlinx.coroutines.CoroutineDispatcher;

import javax.inject.Inject;

class SystemSettingsImpl implements SystemSettings {
    private final ContentResolver mContentResolver;
    private final UserTracker mUserTracker;
    private final CurrentUserIdProvider mCurrentUserProvider;
    private final CoroutineDispatcher mBgCoroutineDispatcher;

    @Inject
    SystemSettingsImpl(ContentResolver contentResolver, UserTracker userTracker,
    SystemSettingsImpl(ContentResolver contentResolver,
            CurrentUserIdProvider currentUserProvider,
            @SettingsSingleThreadBackground CoroutineDispatcher bgDispatcher) {
        mContentResolver = contentResolver;
        mUserTracker = userTracker;
        mCurrentUserProvider = currentUserProvider;
        mBgCoroutineDispatcher = bgDispatcher;
    }

@@ -48,8 +48,8 @@ class SystemSettingsImpl implements SystemSettings {
    }

    @Override
    public UserTracker getUserTracker() {
        return mUserTracker;
    public CurrentUserIdProvider getCurrentUserProvider() {
        return mCurrentUserProvider;
    }

    @Override
+3 −4
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import android.net.Uri
import android.os.UserHandle
import android.provider.Settings.SettingNotFoundException
import com.android.app.tracing.TraceUtils.trace
import com.android.systemui.settings.UserTracker
import com.android.systemui.util.settings.SettingsProxy.Companion.parseFloat
import com.android.systemui.util.settings.SettingsProxy.Companion.parseFloatOrThrow
import com.android.systemui.util.settings.SettingsProxy.Companion.parseLongOrThrow
@@ -46,8 +45,8 @@ import kotlinx.coroutines.withContext
 * instances, unifying setting related actions in one place.
 */
interface UserSettingsProxy : SettingsProxy {
    /** Returns that [UserTracker] this instance was constructed with. */
    val userTracker: UserTracker
    val currentUserProvider: SettingsProxy.CurrentUserIdProvider

    /** Returns the user id for the associated [ContentResolver]. */
    var userId: Int
        get() = getContentResolver().userId
@@ -64,7 +63,7 @@ interface UserSettingsProxy : SettingsProxy {
    fun getRealUserHandle(userHandle: Int): Int {
        return if (userHandle != UserHandle.USER_CURRENT) {
            userHandle
        } else userTracker.userId
        } else currentUserProvider.getUserId()
    }

    @WorkerThread
Loading