Package org.robolectric.shadows
Class ShadowActivity
java.lang.Object
org.robolectric.shadows.ShadowContextWrapper
org.robolectric.shadows.ShadowContextThemeWrapper
org.robolectric.shadows.ShadowActivity
- Direct Known Subclasses:
ShadowActivityGroup
@Implements(android.app.Activity.class)
public class ShadowActivity
extends ShadowContextThemeWrapper
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Container object to hold an Intent, together with the requestCode used in a call toActivity.startActivityForResult(Intent, int)
static class
Class to holds details of a startIntentSenderForResult request.static class
Class to hold overridden activity transition details after callingActivity.overrideActivityTransition(int, int, int, int)
static class
Class to hold a permissions request, including its request code. -
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<T extends Activity>
voidattachController
(ActivityController controller) For internal use only.void
callAttach
(Intent intent) void
callAttach
(Intent intent, Bundle activityOptions) void
callAttach
(Intent intent, Bundle activityOptions, Object lastNonConfigurationInstances) void
callAttach
(Intent intent, Bundle activityOptions, Object lastNonConfigurationInstances, Configuration overrideConfig) void
callOnActivityResult
(int requestCode, int resultCode, Intent resultData) Deprecated.void
callOnGetDirectActions
(CancellationSignal cancellationSignal, Consumer<List<DirectAction>> callback) Calls Activity#onGetDirectActions with the given parameters.protected void
clearOverrideActivityTransition
(int overrideType) boolean
clickMenuItem
(int menuItemResId) Perform a click on a menu item.protected void
dismissDialog
(int id) protected void
protected boolean
protected View
findViewById
(int id) Checks to ensure that thecontentView
has been setprotected void
finish()
protected void
protected void
protected ComponentName
protected String
protected View
int
getDialogById
(int dialogId) Gets the last startIntentSenderForResult request made to this activity.protected Object
Gets the last permission request submitted to this activity.protected LayoutInflater
protected MenuInflater
Consumes and returns the nextIntent
on the started activities for results stack.Return the options menu.getOverriddenActivityTransition
(int overrideType) Get the overriddenActivity
transition, set byActivity.overrideActivityTransition(int, int, int)
.protected Activity
int
int
boolean
protected int
int
boolean
protected Object
protected int
boolean
protected int
protected Window
Constructs a new Window (aPhoneWindow
) if no window has previously been set.boolean
void
Initializes the associated Activity with anVoiceInteractor
instance.void
internalCallDispatchActivityResult
(String who, int requestCode, int resultCode, Intent data) For internal use only.protected boolean
Returns whetherfinish()
was called.protected boolean
protected boolean
boolean
Deprecated.protected boolean
protected boolean
moveTaskToBack
(boolean nonRoot) protected void
protected boolean
onCreateOptionsMenu
(Menu menu) protected void
protected void
overrideActivityTransition
(int overrideType, int enterAnim, int exitAnim, int backgroundColor) protected void
overridePendingTransition
(int enterAnim, int exitAnim) Returns the most recentIntent
started byActivity.startActivityForResult(Intent, int)
without consuming it.void
receiveResult
(Intent requestIntent, int resultCode, Intent resultIntent) protected void
recreate()
protected void
removeDialog
(int id) protected void
protected void
requestPermissions
(String[] permissions, int requestCode) protected void
requestPermissions
(String[] permissions, int requestCode, int deviceId) void
protected void
runOnUiThread
(Runnable action) void
setApplication
(Application application) void
setCallingActivity
(ComponentName activityName) Sets the calling activity that will be reflected inActivity.getCallingActivity()
andActivity.getCallingPackage()
.void
setCallingPackage
(String packageName) Sets the calling package that will be reflected inActivity.getCallingActivity()
andActivity.getCallingPackage()
.void
setCurrentFocus
(View view) protected void
setDefaultKeyMode
(int keyMode) void
setInMultiWindowMode
(boolean value) Changes state ofisInMultiWindowMode()
method.void
setIsTaskRoot
(boolean isRoot) void
setLastNonConfigurationInstance
(Object lastNonConfigurationInstance) Deprecated.void
Allow setting of Parent fragmentActivity (for unit testing purposes only)protected void
setRequestedOrientation
(int requestedOrientation) protected void
setResult
(int resultCode) protected void
protected void
setShowWhenLocked
(boolean showWhenLocked) void
setThrowIntentSenderException
(boolean throwIntentSenderException) Sets if startIntentSenderForRequestCode will throw an IntentSender.SendIntentException.protected void
setTurnScreenOn
(boolean turnScreenOn) protected void
setVolumeControlStream
(int streamType) void
protected void
showDialog
(int id) protected boolean
showDialog
(int id, Bundle bundle) void
startIntentSenderForResult
(IntentSender intentSender, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options) protected void
Starts a lock task.protected void
protected void
Stops a lock task.protected void
Methods inherited from class org.robolectric.shadows.ShadowContextThemeWrapper
callGetThemeResId
Methods inherited from class org.robolectric.shadows.ShadowContextWrapper
clearBroadcastIntents, clearNextStartedActivities, clearStartedServices, denyPermissions, denyPermissions, getAllStartedServices, getBroadcastIntents, getBroadcastIntentsForUser, getBroadcastOptions, getNextStartedActivity, getNextStartedService, getNextStoppedService, grantPermissions, grantPermissions, peekNextStartedActivity, peekNextStartedService, removeSystemService
-
Field Details
-
realActivity
-
-
Constructor Details
-
ShadowActivity
public ShadowActivity()
-
-
Method Details
-
setApplication
-
callAttach
-
callAttach
-
callAttach
-
callAttach
public void callAttach(Intent intent, @Nullable Bundle activityOptions, @Nullable Object lastNonConfigurationInstances, @Nullable Configuration overrideConfig) -
setCallingActivity
Sets the calling activity that will be reflected inActivity.getCallingActivity()
andActivity.getCallingPackage()
. -
getCallingActivity
-
setCallingPackage
Sets the calling package that will be reflected inActivity.getCallingActivity()
andActivity.getCallingPackage()
.Activity name defaults to some default value.
-
getCallingPackage
-
setDefaultKeyMode
-
getDefaultKeymode
public int getDefaultKeymode() -
setShowWhenLocked
-
getShowWhenLocked
-
setTurnScreenOn
-
getTurnScreenOn
-
setResult
-
setResult
-
getLayoutInflater
-
getMenuInflater
-
findViewById
Checks to ensure that thecontentView
has been set- Parameters:
id
- ID of the view to find- Returns:
- the view
- Throws:
RuntimeException
- if thecontentView
has not been called first
-
getParent
-
setParent
Allow setting of Parent fragmentActivity (for unit testing purposes only)- Parameters:
parent
- Parent fragmentActivity to set on this fragmentActivity
-
onBackPressed
-
finish
-
finishAndRemoveTask
-
finishAffinity
-
resetIsFinishing
public void resetIsFinishing() -
isFinishing
Returns whetherfinish()
was called.Note: this method seems redundant, but removing it will cause problems for Mockito spies of Activities that call
Activity.finish()
followed byActivity.isFinishing()
. This is because `finish` modifies the members ofrealActivity
, so `isFinishing` should refer to those same members. -
getWindow
Constructs a new Window (aPhoneWindow
) if no window has previously been set.- Returns:
- the window associated with this Activity
-
getSplashScreen
- Returns:
- fake SplashScreen
-
setWindow
-
runOnUiThread
-
setRequestedOrientation
-
getRequestedOrientation
-
getTaskId
-
startIntentSenderForResult
@Implementation public void startIntentSenderForResult(IntentSender intentSender, int requestCode, @Nullable Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options) throws IntentSender.SendIntentException - Throws:
IntentSender.SendIntentException
-
reportFullyDrawn
-
getReportFullyDrawn
public boolean getReportFullyDrawn()- Returns:
- whether
ReportFullyDrawn()
methods has been called.
-
getContentView
- Returns:
- the
contentView
set by one of thesetContentView()
methods
-
getResultCode
public int getResultCode()- Returns:
- the
resultCode
set by one of thesetResult()
methods
-
getResultIntent
- Returns:
- the
Intent
set bysetResult(int, android.content.Intent)
-
getNextStartedActivityForResult
Consumes and returns the nextIntent
on the started activities for results stack.- Overrides:
getNextStartedActivityForResult
in classShadowContextWrapper
- Returns:
- the next started
Intent
for an activity, wrapped in anShadowActivity.IntentForResult
object
-
peekNextStartedActivityForResult
Returns the most recentIntent
started byActivity.startActivityForResult(Intent, int)
without consuming it.- Overrides:
peekNextStartedActivityForResult
in classShadowContextWrapper
- Returns:
- the most recently started
Intent
, wrapped in anShadowActivity.IntentForResult
object
-
getLastNonConfigurationInstance
-
setLastNonConfigurationInstance
Deprecated. -
setCurrentFocus
- Parameters:
view
- View to focus.
-
getCurrentFocus
-
getPendingTransitionEnterAnimationResourceId
public int getPendingTransitionEnterAnimationResourceId() -
getPendingTransitionExitAnimationResourceId
public int getPendingTransitionExitAnimationResourceId() -
getOverriddenActivityTransition
@Nullable @RequiresApi(34) public ShadowActivity.OverriddenActivityTransition getOverriddenActivityTransition(int overrideType) Get the overriddenActivity
transition, set byActivity.overrideActivityTransition(int, int, int)
.- Parameters:
overrideType
- UseActivity.OVERRIDE_TRANSITION_OPEN
to get the overridden activity transition animation details when starting/entering an activity. UseActivity.OVERRIDE_TRANSITION_CLOSE
to get the overridden activity transition animation details when finishing/closing an activity.- Returns:
- overridden activity transition details after calling
Activity.overrideActivityTransition(int, int, int, int)
or null if was not overridden. - See Also:
-
onCreateOptionsMenu
-
getOptionsMenu
Return the options menu.- Returns:
- Options menu.
-
clickMenuItem
public boolean clickMenuItem(int menuItemResId) Perform a click on a menu item.- Parameters:
menuItemResId
- Menu item resource ID.- Returns:
- True if the click was handled, false otherwise.
-
callOnActivityResult
Deprecated. -
internalCallDispatchActivityResult
public void internalCallDispatchActivityResult(String who, int requestCode, int resultCode, Intent data) For internal use only. Not for public use. -
attachController
For internal use only. Not for public use. -
setThrowIntentSenderException
public void setThrowIntentSenderException(boolean throwIntentSenderException) Sets if startIntentSenderForRequestCode will throw an IntentSender.SendIntentException. -
receiveResult
-
showDialog
-
showDialog
-
dismissDialog
-
removeDialog
-
setIsTaskRoot
public void setIsTaskRoot(boolean isRoot) -
isTaskRoot
-
getLastShownDialogId
- Returns:
- the dialog resource id passed into
Activity.showDialog(int, Bundle)
orActivity.showDialog(int)
-
hasCancelledPendingTransitions
public boolean hasCancelledPendingTransitions() -
overridePendingTransition
-
overrideActivityTransition
@Implementation(minSdk=34) protected void overrideActivityTransition(int overrideType, @AnimRes int enterAnim, @AnimRes int exitAnim, int backgroundColor) -
clearOverrideActivityTransition
-
getDialogById
-
onDestroy
-
recreate
-
startManagingCursor
-
stopManagingCursor
-
getManagedCursors
-
setVolumeControlStream
-
getVolumeControlStream
-
requestPermissions
@Implementation(minSdk=23, maxSdk=34) protected void requestPermissions(String[] permissions, int requestCode) -
requestPermissions
@Implementation(minSdk=35) protected void requestPermissions(String[] permissions, int requestCode, int deviceId) -
startLockTask
Starts a lock task.The status of the lock task can be verified using
isLockTask()
method. Otherwise this implementation has no effect. -
stopLockTask
Stops a lock task.The status of the lock task can be verified using
isLockTask()
method. Otherwise this implementation has no effect. -
isLockTask
Deprecated.UseActivityManager.getLockTaskModeState()
instead.Returns if the activity is in the lock task mode. -
setInMultiWindowMode
public void setInMultiWindowMode(boolean value) Changes state ofisInMultiWindowMode()
method. -
isInMultiWindowMode
-
isInPictureInPictureMode
-
enterPictureInPictureMode
-
enterPictureInPictureMode
@Implementation(minSdk=26) protected boolean enterPictureInPictureMode(PictureInPictureParams params) -
moveTaskToBack
-
getLastIntentSenderRequest
Gets the last startIntentSenderForResult request made to this activity.- Returns:
- The IntentSender request details.
-
getLastRequestedPermission
Gets the last permission request submitted to this activity.- Returns:
- The permission request details.
-
initializeVoiceInteractor
public void initializeVoiceInteractor()Initializes the associated Activity with anVoiceInteractor
instance. SubsequentActivity.getVoiceInteractor()
calls on the associated activity will return aVoiceInteractor
instance -
callOnGetDirectActions
public void callOnGetDirectActions(CancellationSignal cancellationSignal, Consumer<List<DirectAction>> callback) Calls Activity#onGetDirectActions with the given parameters. This method also simulates the Parcel serialization/deserialization which occurs when assistant requests DirectAction.
-
ActivityManager.getLockTaskModeState()
instead.