Class ShadowActivity

Direct Known Subclasses:
ShadowActivityGroup

  • Field Details

  • Constructor Details

    • ShadowActivity

      public ShadowActivity()
  • Method Details

    • setApplication

      public void setApplication(Application application)
    • callAttach

      public void callAttach(Intent intent)
    • callAttach

      public void callAttach(Intent intent, @Nullable Bundle activityOptions)
    • callAttach

      public void callAttach(Intent intent, @Nullable Bundle activityOptions, @Nullable Object lastNonConfigurationInstances)
    • callAttach

      public void callAttach(Intent intent, @Nullable Bundle activityOptions, @Nullable Object lastNonConfigurationInstances, @Nullable Configuration overrideConfig)
    • setCallingActivity

      public void setCallingActivity(@Nullable ComponentName activityName)
      Sets the calling activity that will be reflected in Activity.getCallingActivity() and Activity.getCallingPackage().
    • getCallingActivity

      @Implementation protected ComponentName getCallingActivity()
    • setCallingPackage

      public void setCallingPackage(@Nullable String packageName)
      Sets the calling package that will be reflected in Activity.getCallingActivity() and Activity.getCallingPackage().

      Activity name defaults to some default value.

    • getCallingPackage

      @Implementation protected String getCallingPackage()
    • setDefaultKeyMode

      @Implementation protected void setDefaultKeyMode(int keyMode)
    • getDefaultKeymode

      public int getDefaultKeymode()
    • setShowWhenLocked

      @Implementation(minSdk=27) protected void setShowWhenLocked(boolean showWhenLocked)
    • getShowWhenLocked

      @RequiresApi(api=27) public boolean getShowWhenLocked()
    • setTurnScreenOn

      @Implementation(minSdk=27) protected void setTurnScreenOn(boolean turnScreenOn)
    • getTurnScreenOn

      @RequiresApi(api=27) public boolean getTurnScreenOn()
    • setResult

      @Implementation protected final void setResult(int resultCode)
    • setResult

      @Implementation protected final void setResult(int resultCode, Intent data)
    • getLayoutInflater

      @Implementation protected LayoutInflater getLayoutInflater()
    • getMenuInflater

      @Implementation protected MenuInflater getMenuInflater()
    • findViewById

      @Implementation protected View findViewById(int id)
      Checks to ensure that thecontentView has been set
      Parameters:
      id - ID of the view to find
      Returns:
      the view
      Throws:
      RuntimeException - if the contentView has not been called first
    • getParent

      @Implementation protected final Activity getParent()
    • setParent

      @HiddenApi @Implementation public void setParent(Activity parent)
      Allow setting of Parent fragmentActivity (for unit testing purposes only)
      Parameters:
      parent - Parent fragmentActivity to set on this fragmentActivity
    • onBackPressed

      @Implementation protected void onBackPressed()
    • finish

      @Implementation protected void finish()
    • finishAndRemoveTask

      @Implementation(minSdk=21) protected void finishAndRemoveTask()
    • finishAffinity

      @Implementation protected void finishAffinity()
    • resetIsFinishing

      public void resetIsFinishing()
    • isFinishing

      @Implementation(minSdk=16) protected boolean isFinishing()
      Returns whether finish() was called.

      Note: this method seems redundant, but removing it will cause problems for Mockito spies of Activities that call Activity.finish() followed by Activity.isFinishing(). This is because `finish` modifies the members of realActivity, so `isFinishing` should refer to those same members.

    • getWindow

      @Implementation protected Window getWindow()
      Constructs a new Window (a PhoneWindow) if no window has previously been set.
      Returns:
      the window associated with this Activity
    • getSplashScreen

      @Implementation(minSdk=31) protected Object getSplashScreen()
      Returns:
      fake SplashScreen
    • setWindow

      public void setWindow(Window window)
    • runOnUiThread

      @Implementation protected void runOnUiThread(Runnable action)
    • setRequestedOrientation

      @Implementation protected void setRequestedOrientation(int requestedOrientation)
    • getRequestedOrientation

      @Implementation protected int getRequestedOrientation()
    • getTaskId

      @Implementation protected int 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

      @Implementation(minSdk=19) protected void reportFullyDrawn()
    • getReportFullyDrawn

      public boolean getReportFullyDrawn()
      Returns:
      whether ReportFullyDrawn() methods has been called.
    • getContentView

      public View getContentView()
      Returns:
      the contentView set by one of the setContentView() methods
    • getResultCode

      public int getResultCode()
      Returns:
      the resultCode set by one of the setResult() methods
    • getResultIntent

      public Intent getResultIntent()
      Returns:
      the Intent set by setResult(int, android.content.Intent)
    • getNextStartedActivityForResult

      public ShadowActivity.IntentForResult getNextStartedActivityForResult()
      Consumes and returns the next Intent on the started activities for results stack.
      Overrides:
      getNextStartedActivityForResult in class ShadowContextWrapper
      Returns:
      the next started Intent for an activity, wrapped in an ShadowActivity.IntentForResult object
    • peekNextStartedActivityForResult

      public ShadowActivity.IntentForResult peekNextStartedActivityForResult()
      Returns the most recent Intent started by Activity.startActivityForResult(Intent, int) without consuming it.
      Overrides:
      peekNextStartedActivityForResult in class ShadowContextWrapper
      Returns:
      the most recently started Intent, wrapped in an ShadowActivity.IntentForResult object
    • getLastNonConfigurationInstance

      @Implementation protected Object getLastNonConfigurationInstance()
    • setLastNonConfigurationInstance

      @Deprecated public void setLastNonConfigurationInstance(Object lastNonConfigurationInstance)
    • setCurrentFocus

      public void setCurrentFocus(View view)
      Parameters:
      view - View to focus.
    • getCurrentFocus

      @Implementation protected View getCurrentFocus()
    • getPendingTransitionEnterAnimationResourceId

      public int getPendingTransitionEnterAnimationResourceId()
    • getPendingTransitionExitAnimationResourceId

      public int getPendingTransitionExitAnimationResourceId()
    • onCreateOptionsMenu

      @Implementation protected boolean onCreateOptionsMenu(Menu menu)
    • getOptionsMenu

      public Menu 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 public void callOnActivityResult(int requestCode, int resultCode, Intent resultData)
      Deprecated.
    • internalCallDispatchActivityResult

      public void internalCallDispatchActivityResult(String who, int requestCode, int resultCode, Intent data)
      For internal use only. Not for public use.
    • attachController

      public <T extends Activity> void attachController(ActivityController controller)
      For internal use only. Not for public use.
    • setThrowIntentSenderException

      public void setThrowIntentSenderException(boolean throwIntentSenderException)
      Sets if startIntentSenderForRequestCode will throw an IntentSender.SendIntentException.
    • receiveResult

      public void receiveResult(Intent requestIntent, int resultCode, Intent resultIntent)
    • showDialog

      @Implementation protected final void showDialog(int id)
    • dismissDialog

      @Implementation protected final void dismissDialog(int id)
    • removeDialog

      @Implementation protected final void removeDialog(int id)
    • showDialog

      @Implementation protected final boolean showDialog(int id, Bundle bundle)
    • setIsTaskRoot

      public void setIsTaskRoot(boolean isRoot)
    • isTaskRoot

      @Implementation protected final boolean isTaskRoot()
    • getLastShownDialogId

      public Integer getLastShownDialogId()
      Returns:
      the dialog resource id passed into Activity.showDialog(int, Bundle) or Activity.showDialog(int)
    • hasCancelledPendingTransitions

      public boolean hasCancelledPendingTransitions()
    • overridePendingTransition

      @Implementation protected void overridePendingTransition(int enterAnim, int exitAnim)
    • getDialogById

      public Dialog getDialogById(int dialogId)
    • onDestroy

      @Implementation protected void onDestroy()
    • recreate

      @Implementation protected void recreate()
    • startManagingCursor

      @Implementation protected void startManagingCursor(Cursor c)
    • stopManagingCursor

      @Implementation protected void stopManagingCursor(Cursor c)
    • getManagedCursors

      public List<Cursor> getManagedCursors()
    • setVolumeControlStream

      @Implementation protected final void setVolumeControlStream(int streamType)
    • getVolumeControlStream

      @Implementation protected final int getVolumeControlStream()
    • requestPermissions

      @Implementation(minSdk=23) protected final void requestPermissions(String[] permissions, int requestCode)
    • startLockTask

      @Implementation(minSdk=21) protected void startLockTask()
      Starts a lock task.

      The status of the lock task can be verified using isLockTask() method. Otherwise this implementation has no effect.

    • stopLockTask

      @Implementation(minSdk=21) protected void 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 public boolean isLockTask()
      Deprecated.
      Returns if the activity is in the lock task mode.
    • setInMultiWindowMode

      public void setInMultiWindowMode(boolean value)
      Changes state of isInMultiWindowMode() method.
    • isInMultiWindowMode

      @Implementation(minSdk=24) protected boolean isInMultiWindowMode()
    • isInPictureInPictureMode

      @Implementation(minSdk=24) protected boolean isInPictureInPictureMode()
    • enterPictureInPictureMode

      @Implementation(minSdk=24) protected void enterPictureInPictureMode()
    • enterPictureInPictureMode

      @Implementation(minSdk=26) protected boolean enterPictureInPictureMode(PictureInPictureParams params)
    • moveTaskToBack

      @Implementation protected boolean moveTaskToBack(boolean nonRoot)
    • getLastIntentSenderRequest

      public ShadowActivity.IntentSenderRequest getLastIntentSenderRequest()
      Gets the last startIntentSenderForResult request made to this activity.
      Returns:
      The IntentSender request details.
    • getLastRequestedPermission

      public ShadowActivity.PermissionsRequest getLastRequestedPermission()
      Gets the last permission request submitted to this activity.
      Returns:
      The permission request details.
    • initializeVoiceInteractor

      public void initializeVoiceInteractor()
      Initializes the associated Activity with an VoiceInteractor instance. Subsequent Activity.getVoiceInteractor() calls on the associated activity will return a VoiceInteractor 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.