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

Commit 08866038 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Merge cherrypicks of ['googleplex-android-review.googlesource.com/29282851',...

Merge cherrypicks of ['googleplex-android-review.googlesource.com/29282851', 'googleplex-android-review.googlesource.com/29116422'] into security-aosp-udc-release.

Change-Id: I1ef20fcf288d99eaa78605f35fc740a1efa099c6
parents c0358908 ae43ac7f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -240,6 +240,11 @@ public class RemoteViewsAdapter extends BaseAdapter implements Handler.Callback
            }
        }

        @Override
        public void onNullBinding(ComponentName name) {
            enqueueDeferredUnbindServiceMessage();
        }

        @Override
        public void handleMessage(Message msg) {
            RemoteViewsAdapter adapter = mAdapter.get();
+7 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static com.android.systemui.clipboardoverlay.ClipboardOverlayEvent.CLIPBO

import static com.google.android.setupcompat.util.WizardManagerHelper.SETTINGS_SECURE_USER_SETUP_COMPLETE;

import android.app.KeyguardManager;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
@@ -57,6 +58,7 @@ public class ClipboardListener implements
    private final Provider<ClipboardOverlayController> mOverlayProvider;
    private final ClipboardToast mClipboardToast;
    private final ClipboardManager mClipboardManager;
    private final KeyguardManager mKeyguardManager;
    private final UiEventLogger mUiEventLogger;
    private ClipboardOverlay mClipboardOverlay;

@@ -65,11 +67,13 @@ public class ClipboardListener implements
            Provider<ClipboardOverlayController> clipboardOverlayControllerProvider,
            ClipboardToast clipboardToast,
            ClipboardManager clipboardManager,
            KeyguardManager keyguardManager,
            UiEventLogger uiEventLogger) {
        mContext = context;
        mOverlayProvider = clipboardOverlayControllerProvider;
        mClipboardToast = clipboardToast;
        mClipboardManager = clipboardManager;
        mKeyguardManager = keyguardManager;
        mUiEventLogger = uiEventLogger;
    }

@@ -92,7 +96,9 @@ public class ClipboardListener implements
            return;
        }

        if (!isUserSetupComplete() // user should not access intents from this state
        // user should not access intents before setup or while device is locked
        if (mKeyguardManager.isDeviceLocked()
                || !isUserSetupComplete()
                || clipData == null // shouldn't happen, but just in case
                || clipData.getItemCount() == 0) {
            if (shouldShowToast(clipData)) {
+17 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;

import android.app.KeyguardManager;
import android.content.ClipData;
import android.content.ClipDescription;
import android.content.ClipboardManager;
@@ -59,6 +60,8 @@ public class ClipboardListenerTest extends SysuiTestCase {
    @Mock
    private ClipboardManager mClipboardManager;
    @Mock
    private KeyguardManager mKeyguardManager;
    @Mock
    private ClipboardOverlayController mOverlayController;
    @Mock
    private ClipboardToast mClipboardToast;
@@ -96,7 +99,7 @@ public class ClipboardListenerTest extends SysuiTestCase {
        when(mClipboardManager.getPrimaryClipSource()).thenReturn(mSampleSource);

        mClipboardListener = new ClipboardListener(getContext(), mOverlayControllerProvider,
                mClipboardToast, mClipboardManager, mUiEventLogger);
                mClipboardToast, mClipboardManager, mKeyguardManager, mUiEventLogger);
    }


@@ -190,6 +193,19 @@ public class ClipboardListenerTest extends SysuiTestCase {
        verifyZeroInteractions(mOverlayControllerProvider);
    }

    @Test
    public void test_deviceLocked_showsToast() {
        when(mKeyguardManager.isDeviceLocked()).thenReturn(true);

        mClipboardListener.start();
        mClipboardListener.onPrimaryClipChanged();

        verify(mUiEventLogger, times(1)).log(
                ClipboardOverlayEvent.CLIPBOARD_TOAST_SHOWN, 0, mSampleSource);
        verify(mClipboardToast, times(1)).showCopiedToast();
        verifyZeroInteractions(mOverlayControllerProvider);
    }

    @Test
    public void test_nullClipData_showsNothing() {
        when(mClipboardManager.getPrimaryClip()).thenReturn(null);
+10 −0
Original line number Diff line number Diff line
@@ -1874,6 +1874,11 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
                mContext.unbindService(this);
            }

            @Override
            public void onNullBinding(ComponentName name) {
                mContext.unbindService(this);
            }

            @Override
            public void onServiceDisconnected(ComponentName name) {
                // Do nothing
@@ -2014,6 +2019,11 @@ class AppWidgetServiceImpl extends IAppWidgetService.Stub implements WidgetBacku
                                mContext.unbindService(this);
                            }

                            @Override
                            public void onNullBinding(ComponentName name) {
                                mContext.unbindService(this);
                            }

                            @Override
                            public void onServiceDisconnected(android.content.ComponentName name) {
                                // Do nothing