Package org.robolectric.shadows
Class ShadowApplication
java.lang.Object
org.robolectric.shadows.ShadowContextWrapper
org.robolectric.shadows.ShadowApplication
@Implements(android.app.Application.class)
public class ShadowApplication
extends ShadowContextWrapper
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Deprecated.use PowerManager APIs insteadvoid
assertNoBroadcastListenersOfActionRegistered
(ContextWrapper context, String action) void
callAttach
(Context context) Attaches an application to a base context.void
checkActivities
(boolean checkActivities) Set to true if you'd like Robolectric to strictly simulate the real Android behavior when callingContext.startActivity(android.content.Intent)
.void
Clears the list ofShadowApplication.Wrapper
s for registered receiversvoid
Deprecated.use ShadowPowerManager.clearWakeLocksvoid
declareActionUnbindable
(String action) void
declareComponentUnbindable
(ComponentName component) Configures the ShadowApplication so that bindService calls for the given ComponentName return false and do not call onServiceConnected.Deprecated.Please useContext.getSystemService(Context.APPWIDGET_SERVICE)
intstead.Deprecated.Deprecated.UseBluetoothAdapter.getDefaultAdapter()
()} instead.Deprecated.static ShadowApplication
Deprecated.UseshadowOf({@link ApplicationProvider#getApplicationContext()})
instead.Deprecated.UseShadowAlertDialog.getLatestAlertDialog()
instead.Deprecated.UseShadowDialog.getLatestDialog()
instead.Deprecated.UseShadowPopupMenu.getLatestPopupMenu()
instead.Deprecated.use ShadowPowerManager.getLatestWakeLockgetReceiversForIntent
(Intent intent) Deprecated.use PackageManager.queryBroadcastReceivers insteadcom.google.common.collect.ImmutableList<ShadowApplication.Wrapper>
<T> T
getSingleton
(Class<T> clazz, Provider<T> provider) boolean
hasReceiverForIntent
(Intent intent) Deprecated.use PackageManager.queryBroadcastReceivers insteadstatic void
Runs any background tasks previously queued byAsyncTask.execute(Object[])
.void
setBindServiceCallsOnServiceConnectedDirectly
(boolean callDirectly) Configures the ShadowApplication so that calls to bindService will call ServiceConnection#onServiceConnected before returning.void
setComponentNameAndServiceForBindService
(ComponentName name, IBinder service) void
setComponentNameAndServiceForBindServiceForIntent
(Intent intent, ComponentName name, IBinder service) static void
setEnableOnBackInvokedCallback
(boolean isEnabled) Enables or disables predictive back for the current application.protected void
setLatestListPopupWindow
(ListPopupWindow latestListPopupWindow) protected void
setLatestPopupMenu
(ShadowPopupMenu latestPopupMenu) protected void
setLatestPopupWindow
(PopupWindow latestPopupWindow) static void
setProcessName
(String processName) Configures the value to be returned byApplication.getProcessName()
.void
setSystemService
(String key, Object service) Deprecated.Do not depend on this method to override services as it will be removed in a future update.void
Configures the ShadowApplication so that calls to bindService will throw the given SecurityException.void
setUnbindServiceCallsOnServiceDisconnected
(boolean flag) Sets whether or not calls to unbindService should call onServiceDisconnected().void
setUnbindServiceShouldThrowIllegalArgument
(boolean flag) Methods inherited from class org.robolectric.shadows.ShadowContextWrapper
clearBroadcastIntents, clearNextStartedActivities, clearStartedServices, denyPermissions, denyPermissions, getAllStartedServices, getBroadcastIntents, getBroadcastIntentsForUser, getBroadcastOptions, getNextStartedActivity, getNextStartedActivityForResult, getNextStartedService, getNextStoppedService, grantPermissions, grantPermissions, peekNextStartedActivity, peekNextStartedActivityForResult, peekNextStartedService, removeSystemService
-
Constructor Details
-
ShadowApplication
public ShadowApplication()
-
-
Method Details
-
getInstance
Deprecated.UseshadowOf({@link ApplicationProvider#getApplicationContext()})
instead. -
runBackgroundTasks
public static void runBackgroundTasks()Runs any background tasks previously queued byAsyncTask.execute(Object[])
.Note: calling this method does not pause or un-pause the scheduler.
-
setProcessName
Configures the value to be returned byApplication.getProcessName()
. -
callAttach
Attaches an application to a base context.- Parameters:
context
- The context with which to initialize the application, whose base context will be attached to the application
-
getShownToasts
-
getForegroundThreadScheduler
Deprecated.Return the foreground scheduler.- Returns:
- Foreground scheduler.
-
getBackgroundThreadScheduler
Deprecated.Return the background scheduler.- Returns:
- Background scheduler.
-
setUnbindServiceCallsOnServiceDisconnected
public void setUnbindServiceCallsOnServiceDisconnected(boolean flag) Sets whether or not calls to unbindService should call onServiceDisconnected().The default for this is currently
true
because that is the historical behavior. However, this does not correctly mirror Android's actual behavior. This value will eventually default tofalse
once users have had a chance to migrate, and eventually the option will be removed altogether. -
setComponentNameAndServiceForBindService
-
setComponentNameAndServiceForBindServiceForIntent
public void setComponentNameAndServiceForBindServiceForIntent(Intent intent, ComponentName name, IBinder service) -
assertNoBroadcastListenersOfActionRegistered
-
getBoundServiceConnections
-
setUnbindServiceShouldThrowIllegalArgument
public void setUnbindServiceShouldThrowIllegalArgument(boolean flag) -
setThrowInBindService
Configures the ShadowApplication so that calls to bindService will throw the given SecurityException. -
setBindServiceCallsOnServiceConnectedDirectly
public void setBindServiceCallsOnServiceConnectedDirectly(boolean callDirectly) Configures the ShadowApplication so that calls to bindService will call ServiceConnection#onServiceConnected before returning. -
getUnboundServiceConnections
-
hasReceiverForIntent
Deprecated.use PackageManager.queryBroadcastReceivers instead -
getReceiversForIntent
Deprecated.use PackageManager.queryBroadcastReceivers instead -
getRegisteredReceivers
- Returns:
- list of
ShadowApplication.Wrapper
s for registered receivers
-
clearRegisteredReceivers
public void clearRegisteredReceivers()Clears the list ofShadowApplication.Wrapper
s for registered receivers -
getAppWidgetManager
Deprecated.Please useContext.getSystemService(Context.APPWIDGET_SERVICE)
intstead. -
getLatestAlertDialog
Deprecated.UseShadowAlertDialog.getLatestAlertDialog()
instead. -
getLatestDialog
Deprecated.UseShadowDialog.getLatestDialog()
instead. -
getBluetoothAdapter
Deprecated.UseBluetoothAdapter.getDefaultAdapter()
()} instead. -
declareActionUnbindable
-
declareComponentUnbindable
Configures the ShadowApplication so that bindService calls for the given ComponentName return false and do not call onServiceConnected. -
getLatestWakeLock
Deprecated.use ShadowPowerManager.getLatestWakeLock -
addWakeLock
Deprecated.use PowerManager APIs instead -
clearWakeLocks
Deprecated.use ShadowPowerManager.clearWakeLocks -
getSingleton
-
checkActivities
public void checkActivities(boolean checkActivities) Set to true if you'd like Robolectric to strictly simulate the real Android behavior when callingContext.startActivity(android.content.Intent)
. Real Android throws aActivityNotFoundException
if given anIntent
that is not known to thePackageManager
By default, this behavior is off (false).
- Parameters:
checkActivities
- True to validate activities.
-
getLatestPopupMenu
Deprecated.UseShadowPopupMenu.getLatestPopupMenu()
instead. -
setLatestPopupMenu
-
getLatestPopupWindow
-
setLatestPopupWindow
-
getLatestListPopupWindow
-
setLatestListPopupWindow
-
setSystemService
Deprecated.Do not depend on this method to override services as it will be removed in a future update. The preferered method is use the shadow of the corresponding service. -
setEnableOnBackInvokedCallback
public static void setEnableOnBackInvokedCallback(boolean isEnabled) Enables or disables predictive back for the current application.This is the equivalent of specifying {code android:enableOnBackInvokedCallback} on the
<application>
tag in the Android manifest.
-