• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.robolectric.shadows;
2 
3 import android.app.Activity;
4 import android.app.ActivityThread;
5 import android.app.Application;
6 import android.app.Dialog;
7 import android.app.Instrumentation;
8 import android.content.Context;
9 import android.content.Intent;
10 import android.content.pm.ActivityInfo;
11 import android.content.res.Configuration;
12 import android.os.Build;
13 import android.os.Build.VERSION_CODES;
14 import android.os.Bundle;
15 import android.os.IBinder;
16 import android.view.View;
17 import android.view.Window;
18 import org.robolectric.RuntimeEnvironment;
19 import org.robolectric.shadow.api.Shadow;
20 import org.robolectric.util.reflector.Accessor;
21 import org.robolectric.util.reflector.ForType;
22 import org.robolectric.util.reflector.WithType;
23 
24 /** Accessor interface for {@link Activity}'s internals. */
25 @ForType(Activity.class)
26 public interface _Activity_ {
27 
28   @Accessor("mToken")
getToken()29   IBinder getToken();
30 
31   // <= LOLLIPOP:
attach( Context context, ActivityThread activityThread, Instrumentation instrumentation, IBinder token, int ident, Application application, Intent intent, ActivityInfo activityInfo, CharSequence title, Activity parent, String id, @WithType("android.app.Activity$NonConfigurationInstances") Object lastNonConfigurationInstances, Configuration configuration, @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor)32   void attach(
33       Context context,
34       ActivityThread activityThread,
35       Instrumentation instrumentation,
36       IBinder token,
37       int ident,
38       Application application,
39       Intent intent,
40       ActivityInfo activityInfo,
41       CharSequence title,
42       Activity parent,
43       String id,
44       @WithType("android.app.Activity$NonConfigurationInstances")
45           Object lastNonConfigurationInstances,
46       Configuration configuration,
47       @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor);
48 
49   // <= M
attach( Context context, ActivityThread activityThread, Instrumentation instrumentation, IBinder token, int ident, Application application, Intent intent, ActivityInfo activityInfo, CharSequence title, Activity parent, String id, @WithType("android.app.Activity$NonConfigurationInstances") Object lastNonConfigurationInstances, Configuration configuration, String referer, @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor)50   void attach(
51       Context context,
52       ActivityThread activityThread,
53       Instrumentation instrumentation,
54       IBinder token,
55       int ident,
56       Application application,
57       Intent intent,
58       ActivityInfo activityInfo,
59       CharSequence title,
60       Activity parent,
61       String id,
62       @WithType("android.app.Activity$NonConfigurationInstances")
63           Object lastNonConfigurationInstances,
64       Configuration configuration,
65       String referer,
66       @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor);
67 
68   // <= N_MR1
attach( Context context, ActivityThread activityThread, Instrumentation instrumentation, IBinder token, int ident, Application application, Intent intent, ActivityInfo activityInfo, CharSequence title, Activity parent, String id, @WithType("android.app.Activity$NonConfigurationInstances") Object lastNonConfigurationInstances, Configuration configuration, String referer, @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor, Window window)69   void attach(
70       Context context,
71       ActivityThread activityThread,
72       Instrumentation instrumentation,
73       IBinder token,
74       int ident,
75       Application application,
76       Intent intent,
77       ActivityInfo activityInfo,
78       CharSequence title,
79       Activity parent,
80       String id,
81       @WithType("android.app.Activity$NonConfigurationInstances")
82           Object lastNonConfigurationInstances,
83       Configuration configuration,
84       String referer,
85       @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor,
86       Window window);
87 
88   // <= P
attach( Context context, ActivityThread activityThread, Instrumentation instrumentation, IBinder token, int ident, Application application, Intent intent, ActivityInfo activityInfo, CharSequence title, Activity parent, String id, @WithType("android.app.Activity$NonConfigurationInstances") Object lastNonConfigurationInstances, Configuration configuration, String referer, @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor, Window window, @WithType("android.view.ViewRootImpl$ActivityConfigCallback") Object activityConfigCallback)89   void attach(
90       Context context,
91       ActivityThread activityThread,
92       Instrumentation instrumentation,
93       IBinder token,
94       int ident,
95       Application application,
96       Intent intent,
97       ActivityInfo activityInfo,
98       CharSequence title,
99       Activity parent,
100       String id,
101       @WithType("android.app.Activity$NonConfigurationInstances")
102           Object lastNonConfigurationInstances,
103       Configuration configuration,
104       String referer,
105       @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor,
106       Window window,
107       @WithType("android.view.ViewRootImpl$ActivityConfigCallback") Object activityConfigCallback);
108 
109   // <= R
attach( Context context, ActivityThread activityThread, Instrumentation instrumentation, IBinder token, int ident, Application application, Intent intent, ActivityInfo activityInfo, CharSequence title, Activity parent, String id, @WithType("android.app.Activity$NonConfigurationInstances") Object lastNonConfigurationInstances, Configuration configuration, String referer, @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor, Window window, @WithType("android.view.ViewRootImpl$ActivityConfigCallback") Object activityConfigCallback, IBinder assistToken)110   void attach(
111       Context context,
112       ActivityThread activityThread,
113       Instrumentation instrumentation,
114       IBinder token,
115       int ident,
116       Application application,
117       Intent intent,
118       ActivityInfo activityInfo,
119       CharSequence title,
120       Activity parent,
121       String id,
122       @WithType("android.app.Activity$NonConfigurationInstances")
123           Object lastNonConfigurationInstances,
124       Configuration configuration,
125       String referer,
126       @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor,
127       Window window,
128       @WithType("android.view.ViewRootImpl$ActivityConfigCallback") Object activityConfigCallback,
129       IBinder assistToken);
130 
131   // >= S
attach( Context context, ActivityThread activityThread, Instrumentation instrumentation, IBinder token, int ident, Application application, Intent intent, ActivityInfo activityInfo, CharSequence title, Activity parent, String id, @WithType("android.app.Activity$NonConfigurationInstances") Object lastNonConfigurationInstances, Configuration configuration, String referer, @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor, Window window, @WithType("android.view.ViewRootImpl$ActivityConfigCallback") Object activityConfigCallback, IBinder assistToken, IBinder shareableActivityToken)132   void attach(
133       Context context,
134       ActivityThread activityThread,
135       Instrumentation instrumentation,
136       IBinder token,
137       int ident,
138       Application application,
139       Intent intent,
140       ActivityInfo activityInfo,
141       CharSequence title,
142       Activity parent,
143       String id,
144       @WithType("android.app.Activity$NonConfigurationInstances")
145           Object lastNonConfigurationInstances,
146       Configuration configuration,
147       String referer,
148       @WithType("com.android.internal.app.IVoiceInteractor") Object iVoiceInteractor,
149       Window window,
150       @WithType("android.view.ViewRootImpl$ActivityConfigCallback") Object activityConfigCallback,
151       IBinder assistToken,
152       IBinder shareableActivityToken);
153 
callAttach( Activity realActivity, Context baseContext, ActivityThread activityThread, Instrumentation instrumentation, Application application, Intent intent, ActivityInfo activityInfo, IBinder token, CharSequence activityTitle, @WithType("android.app.Activity$NonConfigurationInstances") Object lastNonConfigurationInstances)154   default void callAttach(
155       Activity realActivity,
156       Context baseContext,
157       ActivityThread activityThread,
158       Instrumentation instrumentation,
159       Application application,
160       Intent intent,
161       ActivityInfo activityInfo,
162       IBinder token,
163       CharSequence activityTitle,
164       @WithType("android.app.Activity$NonConfigurationInstances")
165           Object lastNonConfigurationInstances) {
166     int apiLevel = RuntimeEnvironment.getApiLevel();
167     if (apiLevel <= Build.VERSION_CODES.LOLLIPOP) {
168       attach(
169           baseContext,
170           activityThread,
171           instrumentation,
172           token,
173           0,
174           application,
175           intent,
176           activityInfo,
177           activityTitle,
178           null,
179           null,
180           lastNonConfigurationInstances,
181           application.getResources().getConfiguration(),
182           null);
183     } else if (apiLevel <= Build.VERSION_CODES.M) {
184       attach(
185           baseContext,
186           activityThread,
187           instrumentation,
188           token,
189           0,
190           application,
191           intent,
192           activityInfo,
193           activityTitle,
194           null,
195           null,
196           lastNonConfigurationInstances,
197           application.getResources().getConfiguration(),
198           "referrer",
199           null);
200     } else if (apiLevel <= Build.VERSION_CODES.N_MR1) {
201       attach(
202           baseContext,
203           activityThread,
204           instrumentation,
205           token,
206           0,
207           application,
208           intent,
209           activityInfo,
210           activityTitle,
211           null,
212           null,
213           lastNonConfigurationInstances,
214           application.getResources().getConfiguration(),
215           "referrer",
216           null,
217           null);
218     } else if (apiLevel <= Build.VERSION_CODES.P) {
219       attach(
220           baseContext,
221           activityThread,
222           instrumentation,
223           token,
224           0,
225           application,
226           intent,
227           activityInfo,
228           activityTitle,
229           null,
230           null,
231           lastNonConfigurationInstances,
232           application.getResources().getConfiguration(),
233           "referrer",
234           null,
235           null,
236           null);
237     } else if (apiLevel <= VERSION_CODES.R) {
238       attach(
239           baseContext,
240           activityThread,
241           instrumentation,
242           token,
243           0,
244           application,
245           intent,
246           activityInfo,
247           activityTitle,
248           null,
249           null,
250           lastNonConfigurationInstances,
251           application.getResources().getConfiguration(),
252           "referrer",
253           null,
254           null,
255           null,
256           null);
257     } else if (apiLevel > Build.VERSION_CODES.R) {
258       attach(
259           baseContext,
260           activityThread,
261           instrumentation,
262           token,
263           0,
264           application,
265           intent,
266           activityInfo,
267           activityTitle,
268           null,
269           null,
270           lastNonConfigurationInstances,
271           application.getResources().getConfiguration(),
272           "referrer",
273           null,
274           null,
275           null,
276           null,
277           null);
278     }
279     Shadow.<ShadowActivityThread>extract(activityThread)
280         .registerActivityLaunch(intent, activityInfo, realActivity, token);
281   }
282 
performCreate(Bundle icicle)283   void performCreate(Bundle icicle);
284 
performDestroy()285   void performDestroy();
286 
performPause()287   void performPause();
288 
performRestart()289   void performRestart();
290 
performRestart(boolean start, String reason)291   void performRestart(boolean start, String reason);
292 
performRestart(boolean start)293   void performRestart(boolean start);
294 
performRestoreInstanceState(Bundle savedInstanceState)295   void performRestoreInstanceState(Bundle savedInstanceState);
296 
performResume()297   void performResume();
298 
performResume(boolean followedByPause, String reason)299   void performResume(boolean followedByPause, String reason);
300 
performTopResumedActivityChanged(boolean isTopResumedActivity, String reason)301   void performTopResumedActivityChanged(boolean isTopResumedActivity, String reason);
302 
performSaveInstanceState(Bundle outState)303   void performSaveInstanceState(Bundle outState);
304 
performStart()305   void performStart();
306 
performStart(String reason)307   void performStart(String reason);
308 
performStop()309   void performStop();
310 
performStop(boolean preserveWindow)311   void performStop(boolean preserveWindow);
312 
performStop(boolean preserveWindow, String reason)313   void performStop(boolean preserveWindow, String reason);
314 
onPostCreate(Bundle savedInstanceState)315   void onPostCreate(Bundle savedInstanceState);
316 
onPostResume()317   void onPostResume();
318 
makeVisible()319   void makeVisible();
320 
onNewIntent(Intent intent)321   void onNewIntent(Intent intent);
322 
onActivityResult(int requestCode, int resultCode, Intent data)323   void onActivityResult(int requestCode, int resultCode, Intent data);
324 
dispatchActivityResult(String who, int requestCode, int resultCode, Intent data)325   void dispatchActivityResult(String who, int requestCode, int resultCode, Intent data);
326 
dispatchActivityResult( String who, int requestCode, int resultCode, Intent data, String type)327   void dispatchActivityResult(
328       String who, int requestCode, int resultCode, Intent data, String type);
329 
onCreateDialog(int id)330   Dialog onCreateDialog(int id);
331 
onPrepareDialog(int id, Dialog dialog, Bundle args)332   void onPrepareDialog(int id, Dialog dialog, Bundle args);
333 
onPrepareDialog(int id, Dialog dialog)334   void onPrepareDialog(int id, Dialog dialog);
335 
retainNonConfigurationInstances()336   Object retainNonConfigurationInstances();
337 
338   @Accessor("mApplication")
setApplication(Application application)339   void setApplication(Application application);
340 
341   @Accessor("mDecor")
setDecor(View decorView)342   void setDecor(View decorView);
343 
344   @Accessor("mFinished")
setFinished(boolean finished)345   void setFinished(boolean finished);
346 
347   @Accessor("mLastNonConfigurationInstances")
setLastNonConfigurationInstances(Object nonConfigInstance)348   void setLastNonConfigurationInstances(Object nonConfigInstance);
349 
setVoiceInteractor( @ithType"com.android.internal.app.IVoiceInteractor") Object voiceInteractor)350   void setVoiceInteractor(
351       @WithType("com.android.internal.app.IVoiceInteractor") Object voiceInteractor);
352 
353   @Accessor("mWindowAdded")
getWindowAdded()354   boolean getWindowAdded();
355 
356   @Accessor("mWindow")
setWindow(Window window)357   void setWindow(Window window);
358 
359   @Accessor("mChangingConfigurations")
setChangingConfigurations(boolean value)360   void setChangingConfigurations(boolean value);
361 
362   @Accessor("mConfigChangeFlags")
setConfigChangeFlags(int value)363   void setConfigChangeFlags(int value);
364 
365   @Accessor("mInstrumentation")
getInstrumentation()366   Instrumentation getInstrumentation();
367 }
368