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

Commit f1005fca authored by Matt Casey's avatar Matt Casey Committed by Android (Google) Code Review
Browse files

Merge "Provide ClipboardManager as a UserScopedService." into main

parents b9b8faf2 6e60af46
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.os.Build;
import android.os.UserHandle;
import android.provider.Settings;
import android.util.Log;

@@ -37,6 +38,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.UiEventLogger;
import com.android.systemui.CoreStartable;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.user.utils.UserScopedService;

import javax.inject.Inject;
import javax.inject.Provider;
@@ -67,13 +69,13 @@ public class ClipboardListener implements
    public ClipboardListener(Context context,
            Provider<ClipboardOverlayController> clipboardOverlayControllerProvider,
            ClipboardToast clipboardToast,
            ClipboardManager clipboardManager,
            UserScopedService<ClipboardManager> clipboardManager,
            KeyguardManager keyguardManager,
            UiEventLogger uiEventLogger) {
        mContext = context;
        mOverlayProvider = clipboardOverlayControllerProvider;
        mClipboardToast = clipboardToast;
        mClipboardManager = clipboardManager;
        mClipboardManager = clipboardManager.forUser(UserHandle.CURRENT);
        mKeyguardManager = keyguardManager;
        mUiEventLogger = uiEventLogger;
    }
+2 −3
Original line number Diff line number Diff line
@@ -733,9 +733,8 @@ public class FrameworkServicesModule {
    }

    @Provides
    @Singleton
    static ClipboardManager provideClipboardManager(Context context) {
        return context.getSystemService(ClipboardManager.class);
    static UserScopedService<ClipboardManager> provideClipboardManager(Context context) {
        return new UserScopedServiceImpl<>(context, ClipboardManager.class);
    }

    @Provides
+13 −2
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.content.ClipData;
import android.content.ClipDescription;
import android.content.ClipboardManager;
import android.os.PersistableBundle;
import android.os.UserHandle;
import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.EnableFlags;
import android.provider.Settings;
@@ -101,8 +102,18 @@ public class ClipboardListenerTest extends SysuiTestCase {
        when(mClipboardManager.getPrimaryClip()).thenReturn(mSampleClipData);
        when(mClipboardManager.getPrimaryClipSource()).thenReturn(mSampleSource);

        mClipboardListener = new ClipboardListener(getContext(), mOverlayControllerProvider,
                mClipboardToast, mClipboardManager, mKeyguardManager, mUiEventLogger);
        mClipboardListener = new ClipboardListener(
                getContext(),
                mOverlayControllerProvider,
                mClipboardToast,
                user -> {
                    if (UserHandle.CURRENT.equals(user)) {
                        return mClipboardManager;
                    }
                    return null;
                },
                mKeyguardManager,
                mUiEventLogger);
    }