Merge "Remove #createScreenshotNotificationSmartActionsProvider from SystemUIFactory" into tm-qpr-dev
This commit is contained in:
@@ -28,14 +28,12 @@ import com.android.systemui.dagger.DaggerGlobalRootComponent;
|
|||||||
import com.android.systemui.dagger.GlobalRootComponent;
|
import com.android.systemui.dagger.GlobalRootComponent;
|
||||||
import com.android.systemui.dagger.SysUIComponent;
|
import com.android.systemui.dagger.SysUIComponent;
|
||||||
import com.android.systemui.dagger.WMComponent;
|
import com.android.systemui.dagger.WMComponent;
|
||||||
import com.android.systemui.screenshot.ScreenshotNotificationSmartActionsProvider;
|
|
||||||
import com.android.wm.shell.dagger.WMShellConcurrencyModule;
|
import com.android.wm.shell.dagger.WMShellConcurrencyModule;
|
||||||
import com.android.wm.shell.transition.ShellTransitions;
|
import com.android.wm.shell.transition.ShellTransitions;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import java.util.concurrent.Executor;
|
|
||||||
|
|
||||||
import javax.inject.Provider;
|
import javax.inject.Provider;
|
||||||
|
|
||||||
@@ -239,14 +237,4 @@ public class SystemUIFactory {
|
|||||||
public Map<Class<?>, Provider<CoreStartable>> getStartableComponentsPerUser() {
|
public Map<Class<?>, Provider<CoreStartable>> getStartableComponentsPerUser() {
|
||||||
return mSysUIComponent.getPerUserStartables();
|
return mSysUIComponent.getPerUserStartables();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an instance of ScreenshotNotificationSmartActionsProvider.
|
|
||||||
* This method is overridden in vendor specific implementation of Sys UI.
|
|
||||||
*/
|
|
||||||
public ScreenshotNotificationSmartActionsProvider
|
|
||||||
createScreenshotNotificationSmartActionsProvider(
|
|
||||||
Context context, Executor executor, Handler uiHandler) {
|
|
||||||
return new ScreenshotNotificationSmartActionsProvider();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ import com.android.systemui.qs.dagger.QSModule;
|
|||||||
import com.android.systemui.qs.tileimpl.QSFactoryImpl;
|
import com.android.systemui.qs.tileimpl.QSFactoryImpl;
|
||||||
import com.android.systemui.recents.Recents;
|
import com.android.systemui.recents.Recents;
|
||||||
import com.android.systemui.recents.RecentsImplementation;
|
import com.android.systemui.recents.RecentsImplementation;
|
||||||
|
import com.android.systemui.screenshot.ReferenceScreenshotModule;
|
||||||
import com.android.systemui.statusbar.CommandQueue;
|
import com.android.systemui.statusbar.CommandQueue;
|
||||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||||
import com.android.systemui.statusbar.NotificationLockscreenUserManagerImpl;
|
import com.android.systemui.statusbar.NotificationLockscreenUserManagerImpl;
|
||||||
@@ -99,6 +100,7 @@ import dagger.Provides;
|
|||||||
MediaModule.class,
|
MediaModule.class,
|
||||||
PowerModule.class,
|
PowerModule.class,
|
||||||
QSModule.class,
|
QSModule.class,
|
||||||
|
ReferenceScreenshotModule.class,
|
||||||
StartCentralSurfacesModule.class,
|
StartCentralSurfacesModule.class,
|
||||||
VolumeModule.class
|
VolumeModule.class
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ public class ActionProxyReceiver extends BroadcastReceiver {
|
|||||||
? ACTION_TYPE_EDIT
|
? ACTION_TYPE_EDIT
|
||||||
: ACTION_TYPE_SHARE;
|
: ACTION_TYPE_SHARE;
|
||||||
mScreenshotSmartActions.notifyScreenshotAction(
|
mScreenshotSmartActions.notifyScreenshotAction(
|
||||||
context, intent.getStringExtra(EXTRA_ID), actionType, false, null);
|
intent.getStringExtra(EXTRA_ID), actionType, false, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public class DeleteScreenshotReceiver extends BroadcastReceiver {
|
|||||||
});
|
});
|
||||||
if (intent.getBooleanExtra(EXTRA_SMART_ACTIONS_ENABLED, false)) {
|
if (intent.getBooleanExtra(EXTRA_SMART_ACTIONS_ENABLED, false)) {
|
||||||
mScreenshotSmartActions.notifyScreenshotAction(
|
mScreenshotSmartActions.notifyScreenshotAction(
|
||||||
context, intent.getStringExtra(EXTRA_ID), ACTION_TYPE_DELETE, false, null);
|
intent.getStringExtra(EXTRA_ID), ACTION_TYPE_DELETE, false, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2022 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.systemui.screenshot;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Module
|
||||||
|
public interface ReferenceScreenshotModule {
|
||||||
|
/** */
|
||||||
|
@Provides
|
||||||
|
static ScreenshotNotificationSmartActionsProvider providesScrnshtNotifSmartActionsProvider() {
|
||||||
|
return new ScreenshotNotificationSmartActionsProvider();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -38,7 +38,6 @@ import android.graphics.drawable.Icon;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
@@ -49,7 +48,6 @@ import android.util.Log;
|
|||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
|
import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.SystemUIFactory;
|
|
||||||
import com.android.systemui.screenshot.ScreenshotController.SavedImageData.ActionTransition;
|
import com.android.systemui.screenshot.ScreenshotController.SavedImageData.ActionTransition;
|
||||||
|
|
||||||
import com.google.common.util.concurrent.ListenableFuture;
|
import com.google.common.util.concurrent.ListenableFuture;
|
||||||
@@ -89,7 +87,10 @@ class SaveImageInBackgroundTask extends AsyncTask<Void, Void, Void> {
|
|||||||
SaveImageInBackgroundTask(Context context, ImageExporter exporter,
|
SaveImageInBackgroundTask(Context context, ImageExporter exporter,
|
||||||
ScreenshotSmartActions screenshotSmartActions,
|
ScreenshotSmartActions screenshotSmartActions,
|
||||||
ScreenshotController.SaveImageInBackgroundData data,
|
ScreenshotController.SaveImageInBackgroundData data,
|
||||||
Supplier<ActionTransition> sharedElementTransition) {
|
Supplier<ActionTransition> sharedElementTransition,
|
||||||
|
ScreenshotNotificationSmartActionsProvider
|
||||||
|
screenshotNotificationSmartActionsProvider
|
||||||
|
) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mScreenshotSmartActions = screenshotSmartActions;
|
mScreenshotSmartActions = screenshotSmartActions;
|
||||||
mImageData = new ScreenshotController.SavedImageData();
|
mImageData = new ScreenshotController.SavedImageData();
|
||||||
@@ -103,15 +104,7 @@ class SaveImageInBackgroundTask extends AsyncTask<Void, Void, Void> {
|
|||||||
// Initialize screenshot notification smart actions provider.
|
// Initialize screenshot notification smart actions provider.
|
||||||
mSmartActionsEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
|
mSmartActionsEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
|
||||||
SystemUiDeviceConfigFlags.ENABLE_SCREENSHOT_NOTIFICATION_SMART_ACTIONS, true);
|
SystemUiDeviceConfigFlags.ENABLE_SCREENSHOT_NOTIFICATION_SMART_ACTIONS, true);
|
||||||
if (mSmartActionsEnabled) {
|
mSmartActionsProvider = screenshotNotificationSmartActionsProvider;
|
||||||
mSmartActionsProvider =
|
|
||||||
SystemUIFactory.getInstance()
|
|
||||||
.createScreenshotNotificationSmartActionsProvider(
|
|
||||||
context, THREAD_POOL_EXECUTOR, new Handler());
|
|
||||||
} else {
|
|
||||||
// If smart actions is not enabled use empty implementation.
|
|
||||||
mSmartActionsProvider = new ScreenshotNotificationSmartActionsProvider();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -263,6 +263,8 @@ public class ScreenshotController {
|
|||||||
private final ScrollCaptureController mScrollCaptureController;
|
private final ScrollCaptureController mScrollCaptureController;
|
||||||
private final LongScreenshotData mLongScreenshotHolder;
|
private final LongScreenshotData mLongScreenshotHolder;
|
||||||
private final boolean mIsLowRamDevice;
|
private final boolean mIsLowRamDevice;
|
||||||
|
private final ScreenshotNotificationSmartActionsProvider
|
||||||
|
mScreenshotNotificationSmartActionsProvider;
|
||||||
private final TimeoutHandler mScreenshotHandler;
|
private final TimeoutHandler mScreenshotHandler;
|
||||||
|
|
||||||
private ScreenshotView mScreenshotView;
|
private ScreenshotView mScreenshotView;
|
||||||
@@ -298,7 +300,9 @@ public class ScreenshotController {
|
|||||||
LongScreenshotData longScreenshotHolder,
|
LongScreenshotData longScreenshotHolder,
|
||||||
ActivityManager activityManager,
|
ActivityManager activityManager,
|
||||||
TimeoutHandler timeoutHandler,
|
TimeoutHandler timeoutHandler,
|
||||||
BroadcastSender broadcastSender) {
|
BroadcastSender broadcastSender,
|
||||||
|
ScreenshotNotificationSmartActionsProvider screenshotNotificationSmartActionsProvider
|
||||||
|
) {
|
||||||
mScreenshotSmartActions = screenshotSmartActions;
|
mScreenshotSmartActions = screenshotSmartActions;
|
||||||
mNotificationsController = screenshotNotificationsController;
|
mNotificationsController = screenshotNotificationsController;
|
||||||
mScrollCaptureClient = scrollCaptureClient;
|
mScrollCaptureClient = scrollCaptureClient;
|
||||||
@@ -308,6 +312,7 @@ public class ScreenshotController {
|
|||||||
mScrollCaptureController = scrollCaptureController;
|
mScrollCaptureController = scrollCaptureController;
|
||||||
mLongScreenshotHolder = longScreenshotHolder;
|
mLongScreenshotHolder = longScreenshotHolder;
|
||||||
mIsLowRamDevice = activityManager.isLowRamDevice();
|
mIsLowRamDevice = activityManager.isLowRamDevice();
|
||||||
|
mScreenshotNotificationSmartActionsProvider = screenshotNotificationSmartActionsProvider;
|
||||||
mBgExecutor = Executors.newSingleThreadExecutor();
|
mBgExecutor = Executors.newSingleThreadExecutor();
|
||||||
mBroadcastSender = broadcastSender;
|
mBroadcastSender = broadcastSender;
|
||||||
|
|
||||||
@@ -956,7 +961,8 @@ public class ScreenshotController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mSaveInBgTask = new SaveImageInBackgroundTask(mContext, mImageExporter,
|
mSaveInBgTask = new SaveImageInBackgroundTask(mContext, mImageExporter,
|
||||||
mScreenshotSmartActions, data, getActionTransitionSupplier());
|
mScreenshotSmartActions, data, getActionTransitionSupplier(),
|
||||||
|
mScreenshotNotificationSmartActionsProvider);
|
||||||
mSaveInBgTask.execute();
|
mSaveInBgTask.execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,8 +16,6 @@
|
|||||||
|
|
||||||
package com.android.systemui.screenshot;
|
package com.android.systemui.screenshot;
|
||||||
|
|
||||||
import static android.os.AsyncTask.THREAD_POOL_EXECUTOR;
|
|
||||||
|
|
||||||
import static com.android.systemui.screenshot.LogConfig.DEBUG_ACTIONS;
|
import static com.android.systemui.screenshot.LogConfig.DEBUG_ACTIONS;
|
||||||
import static com.android.systemui.screenshot.LogConfig.logTag;
|
import static com.android.systemui.screenshot.LogConfig.logTag;
|
||||||
import static com.android.systemui.screenshot.ScreenshotNotificationSmartActionsProvider.ScreenshotSmartActionType;
|
import static com.android.systemui.screenshot.ScreenshotNotificationSmartActionsProvider.ScreenshotSmartActionType;
|
||||||
@@ -25,17 +23,14 @@ import static com.android.systemui.screenshot.ScreenshotNotificationSmartActions
|
|||||||
import android.app.ActivityManager;
|
import android.app.ActivityManager;
|
||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Handler;
|
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.systemui.SystemUIFactory;
|
|
||||||
import com.android.systemui.dagger.SysUISingleton;
|
import com.android.systemui.dagger.SysUISingleton;
|
||||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
||||||
|
|
||||||
@@ -46,6 +41,7 @@ import java.util.concurrent.TimeUnit;
|
|||||||
import java.util.concurrent.TimeoutException;
|
import java.util.concurrent.TimeoutException;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
import javax.inject.Provider;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Collects the static functions for retrieving and acting on smart actions.
|
* Collects the static functions for retrieving and acting on smart actions.
|
||||||
@@ -53,9 +49,17 @@ import javax.inject.Inject;
|
|||||||
@SysUISingleton
|
@SysUISingleton
|
||||||
public class ScreenshotSmartActions {
|
public class ScreenshotSmartActions {
|
||||||
private static final String TAG = logTag(ScreenshotSmartActions.class);
|
private static final String TAG = logTag(ScreenshotSmartActions.class);
|
||||||
|
private final Provider<ScreenshotNotificationSmartActionsProvider>
|
||||||
|
mScreenshotNotificationSmartActionsProviderProvider;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ScreenshotSmartActions() {}
|
public ScreenshotSmartActions(
|
||||||
|
Provider<ScreenshotNotificationSmartActionsProvider>
|
||||||
|
screenshotNotificationSmartActionsProviderProvider
|
||||||
|
) {
|
||||||
|
mScreenshotNotificationSmartActionsProviderProvider =
|
||||||
|
screenshotNotificationSmartActionsProviderProvider;
|
||||||
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
CompletableFuture<List<Notification.Action>> getSmartActionsFuture(
|
CompletableFuture<List<Notification.Action>> getSmartActionsFuture(
|
||||||
@@ -165,12 +169,11 @@ public class ScreenshotSmartActions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void notifyScreenshotAction(Context context, String screenshotId, String action,
|
void notifyScreenshotAction(String screenshotId, String action,
|
||||||
boolean isSmartAction, Intent intent) {
|
boolean isSmartAction, Intent intent) {
|
||||||
try {
|
try {
|
||||||
ScreenshotNotificationSmartActionsProvider provider =
|
ScreenshotNotificationSmartActionsProvider provider =
|
||||||
SystemUIFactory.getInstance().createScreenshotNotificationSmartActionsProvider(
|
mScreenshotNotificationSmartActionsProviderProvider.get();
|
||||||
context, THREAD_POOL_EXECUTOR, new Handler());
|
|
||||||
if (DEBUG_ACTIONS) {
|
if (DEBUG_ACTIONS) {
|
||||||
Log.d(TAG, String.format("%s notifyAction: %s id=%s, isSmartAction=%b",
|
Log.d(TAG, String.format("%s notifyAction: %s id=%s, isSmartAction=%b",
|
||||||
provider.getClass(), action, screenshotId, isSmartAction));
|
provider.getClass(), action, screenshotId, isSmartAction));
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class SmartActionsReceiver extends BroadcastReceiver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mScreenshotSmartActions.notifyScreenshotAction(
|
mScreenshotSmartActions.notifyScreenshotAction(
|
||||||
context, intent.getStringExtra(EXTRA_ID), actionType, true,
|
intent.getStringExtra(EXTRA_ID), actionType, true,
|
||||||
pendingIntent.getIntent());
|
pendingIntent.getIntent());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ import com.android.systemui.qs.dagger.QSModule;
|
|||||||
import com.android.systemui.qs.tileimpl.QSFactoryImpl;
|
import com.android.systemui.qs.tileimpl.QSFactoryImpl;
|
||||||
import com.android.systemui.recents.Recents;
|
import com.android.systemui.recents.Recents;
|
||||||
import com.android.systemui.recents.RecentsImplementation;
|
import com.android.systemui.recents.RecentsImplementation;
|
||||||
|
import com.android.systemui.screenshot.ReferenceScreenshotModule;
|
||||||
import com.android.systemui.statusbar.CommandQueue;
|
import com.android.systemui.statusbar.CommandQueue;
|
||||||
import com.android.systemui.statusbar.NotificationListener;
|
import com.android.systemui.statusbar.NotificationListener;
|
||||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||||
@@ -91,6 +92,7 @@ import dagger.multibindings.IntoSet;
|
|||||||
GestureModule.class,
|
GestureModule.class,
|
||||||
PowerModule.class,
|
PowerModule.class,
|
||||||
QSModule.class,
|
QSModule.class,
|
||||||
|
ReferenceScreenshotModule.class,
|
||||||
VolumeModule.class,
|
VolumeModule.class,
|
||||||
},
|
},
|
||||||
subcomponents = {
|
subcomponents = {
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ import static org.mockito.Mockito.never;
|
|||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.testing.AndroidTestingRunner;
|
import android.testing.AndroidTestingRunner;
|
||||||
@@ -115,7 +114,7 @@ public class ActionProxyReceiverTest extends SysuiTestCase {
|
|||||||
actionProxyReceiver.onReceive(mContext, mIntent);
|
actionProxyReceiver.onReceive(mContext, mIntent);
|
||||||
|
|
||||||
verify(mMockScreenshotSmartActions, never())
|
verify(mMockScreenshotSmartActions, never())
|
||||||
.notifyScreenshotAction(any(Context.class), anyString(), anyString(), anyBoolean(),
|
.notifyScreenshotAction(anyString(), anyString(), anyBoolean(),
|
||||||
any(Intent.class));
|
any(Intent.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,7 +128,7 @@ public class ActionProxyReceiverTest extends SysuiTestCase {
|
|||||||
actionProxyReceiver.onReceive(mContext, mIntent);
|
actionProxyReceiver.onReceive(mContext, mIntent);
|
||||||
|
|
||||||
verify(mMockScreenshotSmartActions).notifyScreenshotAction(
|
verify(mMockScreenshotSmartActions).notifyScreenshotAction(
|
||||||
mContext, testId, ACTION_TYPE_SHARE, false, null);
|
testId, ACTION_TYPE_SHARE, false, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ActionProxyReceiver constructActionProxyReceiver(boolean withStatusBar) {
|
private ActionProxyReceiver constructActionProxyReceiver(boolean withStatusBar) {
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ import static org.mockito.Mockito.verify;
|
|||||||
|
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.ContentValues;
|
import android.content.ContentValues;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
@@ -81,7 +80,7 @@ public class DeleteScreenshotReceiverTest extends SysuiTestCase {
|
|||||||
|
|
||||||
verify(mMockExecutor, never()).execute(any(Runnable.class));
|
verify(mMockExecutor, never()).execute(any(Runnable.class));
|
||||||
verify(mMockScreenshotSmartActions, never()).notifyScreenshotAction(
|
verify(mMockScreenshotSmartActions, never()).notifyScreenshotAction(
|
||||||
any(Context.class), any(String.class), any(String.class), anyBoolean(),
|
any(String.class), any(String.class), anyBoolean(),
|
||||||
any(Intent.class));
|
any(Intent.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,7 +112,7 @@ public class DeleteScreenshotReceiverTest extends SysuiTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ensure smart actions not called by default
|
// ensure smart actions not called by default
|
||||||
verify(mMockScreenshotSmartActions, never()).notifyScreenshotAction(any(Context.class),
|
verify(mMockScreenshotSmartActions, never()).notifyScreenshotAction(
|
||||||
any(String.class), any(String.class), anyBoolean(), any(Intent.class));
|
any(String.class), any(String.class), anyBoolean(), any(Intent.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,7 +128,7 @@ public class DeleteScreenshotReceiverTest extends SysuiTestCase {
|
|||||||
mDeleteScreenshotReceiver.onReceive(mContext, intent);
|
mDeleteScreenshotReceiver.onReceive(mContext, intent);
|
||||||
|
|
||||||
verify(mMockExecutor).execute(any(Runnable.class));
|
verify(mMockExecutor).execute(any(Runnable.class));
|
||||||
verify(mMockScreenshotSmartActions).notifyScreenshotAction(mContext, testId,
|
verify(mMockScreenshotSmartActions).notifyScreenshotAction(testId,
|
||||||
ACTION_TYPE_DELETE, false, null);
|
ACTION_TYPE_DELETE, false, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ import android.testing.AndroidTestingRunner;
|
|||||||
|
|
||||||
import androidx.test.filters.SmallTest;
|
import androidx.test.filters.SmallTest;
|
||||||
|
|
||||||
import com.android.systemui.SystemUIFactory;
|
|
||||||
import com.android.systemui.SysuiTestCase;
|
import com.android.systemui.SysuiTestCase;
|
||||||
import com.android.systemui.screenshot.ScreenshotController.SavedImageData.ActionTransition;
|
import com.android.systemui.screenshot.ScreenshotController.SavedImageData.ActionTransition;
|
||||||
|
|
||||||
@@ -71,7 +70,7 @@ public class ScreenshotNotificationSmartActionsTest extends SysuiTestCase {
|
|||||||
public void setup() {
|
public void setup() {
|
||||||
mSmartActionsProvider = mock(
|
mSmartActionsProvider = mock(
|
||||||
ScreenshotNotificationSmartActionsProvider.class);
|
ScreenshotNotificationSmartActionsProvider.class);
|
||||||
mScreenshotSmartActions = new ScreenshotSmartActions();
|
mScreenshotSmartActions = new ScreenshotSmartActions(() -> mSmartActionsProvider);
|
||||||
mHandler = mock(Handler.class);
|
mHandler = mock(Handler.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,8 +157,7 @@ public class ScreenshotNotificationSmartActionsTest extends SysuiTestCase {
|
|||||||
Bitmap bitmap = mock(Bitmap.class);
|
Bitmap bitmap = mock(Bitmap.class);
|
||||||
when(bitmap.getConfig()).thenReturn(Bitmap.Config.HARDWARE);
|
when(bitmap.getConfig()).thenReturn(Bitmap.Config.HARDWARE);
|
||||||
ScreenshotNotificationSmartActionsProvider actionsProvider =
|
ScreenshotNotificationSmartActionsProvider actionsProvider =
|
||||||
SystemUIFactory.getInstance().createScreenshotNotificationSmartActionsProvider(
|
new ScreenshotNotificationSmartActionsProvider();
|
||||||
mContext, null, mHandler);
|
|
||||||
CompletableFuture<List<Notification.Action>> smartActionsFuture =
|
CompletableFuture<List<Notification.Action>> smartActionsFuture =
|
||||||
mScreenshotSmartActions.getSmartActionsFuture("", null, bitmap,
|
mScreenshotSmartActions.getSmartActionsFuture("", null, bitmap,
|
||||||
actionsProvider, REGULAR_SMART_ACTIONS,
|
actionsProvider, REGULAR_SMART_ACTIONS,
|
||||||
@@ -183,7 +181,7 @@ public class ScreenshotNotificationSmartActionsTest extends SysuiTestCase {
|
|||||||
data.mActionsReadyListener = null;
|
data.mActionsReadyListener = null;
|
||||||
SaveImageInBackgroundTask task =
|
SaveImageInBackgroundTask task =
|
||||||
new SaveImageInBackgroundTask(mContext, null, mScreenshotSmartActions, data,
|
new SaveImageInBackgroundTask(mContext, null, mScreenshotSmartActions, data,
|
||||||
ActionTransition::new);
|
ActionTransition::new, mSmartActionsProvider);
|
||||||
|
|
||||||
Notification.Action shareAction = task.createShareAction(mContext, mContext.getResources(),
|
Notification.Action shareAction = task.createShareAction(mContext, mContext.getResources(),
|
||||||
Uri.parse("Screenshot_123.png")).get().action;
|
Uri.parse("Screenshot_123.png")).get().action;
|
||||||
@@ -211,7 +209,7 @@ public class ScreenshotNotificationSmartActionsTest extends SysuiTestCase {
|
|||||||
data.mActionsReadyListener = null;
|
data.mActionsReadyListener = null;
|
||||||
SaveImageInBackgroundTask task =
|
SaveImageInBackgroundTask task =
|
||||||
new SaveImageInBackgroundTask(mContext, null, mScreenshotSmartActions, data,
|
new SaveImageInBackgroundTask(mContext, null, mScreenshotSmartActions, data,
|
||||||
ActionTransition::new);
|
ActionTransition::new, mSmartActionsProvider);
|
||||||
|
|
||||||
Notification.Action editAction = task.createEditAction(mContext, mContext.getResources(),
|
Notification.Action editAction = task.createEditAction(mContext, mContext.getResources(),
|
||||||
Uri.parse("Screenshot_123.png")).get().action;
|
Uri.parse("Screenshot_123.png")).get().action;
|
||||||
@@ -239,7 +237,7 @@ public class ScreenshotNotificationSmartActionsTest extends SysuiTestCase {
|
|||||||
data.mActionsReadyListener = null;
|
data.mActionsReadyListener = null;
|
||||||
SaveImageInBackgroundTask task =
|
SaveImageInBackgroundTask task =
|
||||||
new SaveImageInBackgroundTask(mContext, null, mScreenshotSmartActions, data,
|
new SaveImageInBackgroundTask(mContext, null, mScreenshotSmartActions, data,
|
||||||
ActionTransition::new);
|
ActionTransition::new, mSmartActionsProvider);
|
||||||
|
|
||||||
Notification.Action deleteAction = task.createDeleteAction(mContext,
|
Notification.Action deleteAction = task.createDeleteAction(mContext,
|
||||||
mContext.getResources(),
|
mContext.getResources(),
|
||||||
|
|||||||
@@ -74,6 +74,6 @@ public class SmartActionsReceiverTest extends SysuiTestCase {
|
|||||||
verify(mMockPendingIntent).send(
|
verify(mMockPendingIntent).send(
|
||||||
eq(mContext), eq(0), isNull(), isNull(), isNull(), isNull(), any(Bundle.class));
|
eq(mContext), eq(0), isNull(), isNull(), isNull(), isNull(), any(Bundle.class));
|
||||||
verify(mMockScreenshotSmartActions).notifyScreenshotAction(
|
verify(mMockScreenshotSmartActions).notifyScreenshotAction(
|
||||||
mContext, testId, testActionType, true, intent);
|
testId, testActionType, true, intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user