• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /*
2   * Copyright (C) 2009 The Android Open Source Project
3   *
4   * Licensed under the Apache License, Version 2.0 (the "License");
5   * you may not use this file except in compliance with the License.
6   * You may obtain a copy of the License at
7   *
8   *      http://www.apache.org/licenses/LICENSE-2.0
9   *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package android.app.stubs;
18  
19  import java.util.ArrayList;
20  import java.util.List;
21  import android.app.Activity;
22  import android.content.Context;
23  import android.content.Intent;
24  import android.os.Bundle;
25  import android.view.KeyEvent;
26  import android.view.Menu;
27  import android.view.MenuInflater;
28  import android.view.MenuItem;
29  import android.view.MotionEvent;
30  import android.view.View;
31  import android.view.WindowManager;
32  import android.widget.TextView;
33  
34  public class InstrumentationTestActivity extends Activity {
35  
36      public static final String START_INTENT = "android.app.stubs.activity.INSTRUMENTATION_TEST";
37  
38      private boolean mOnCreateCalled;
39      private boolean mOnDestroyCalled ;
40      private boolean mOnNewIntentCalled;
41      private boolean mOnPauseCalled;
42      private boolean mOnPostCreate;
43      private boolean mOnRestart;
44      private boolean mOnRestoreInstanceState;
45      private boolean mOnResume;
46      private boolean mOnSaveInstanceState;
47      private boolean mOnStart;
48      private boolean mOnStop;
49      private boolean mOnMenuOpened;
50      private boolean mOnLeave;
51      private int mMenuID;
52      private boolean mOnTouchEventCalled;
53      private int mKeyDownCode;
54      private int mKeyUpCode;
55      private MotionEvent mMotionEvent;
56      private Bundle mBundle;
57      private MockTextView mTextView;
58      private List<KeyEvent> mKeyDownList = new ArrayList<KeyEvent>();
59      private List<KeyEvent> mKeyUpList = new ArrayList<KeyEvent>();
60  
61      @Override
onCreate(Bundle savedInstanceState)62      public void onCreate(Bundle savedInstanceState) {
63          super.onCreate(savedInstanceState);
64          mTextView = new MockTextView(this);
65          setContentView(mTextView);
66          mOnCreateCalled = true;
67          getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
68                  | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
69                  | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
70      }
71  
72      class MockTextView extends TextView {
73  
MockTextView(Context context)74          public MockTextView(Context context) {
75              super(context);
76          }
77  
78          @Override
onTouchEvent(MotionEvent event)79          public boolean onTouchEvent(MotionEvent event) {
80              return super.onTouchEvent(event);
81          }
82  
83          @Override
onTrackballEvent(MotionEvent event)84          public boolean onTrackballEvent(MotionEvent event) {
85              return super.onTrackballEvent(event);
86          }
87  
88          @Override
getLocationOnScreen(int[] location)89          public void getLocationOnScreen(int[] location) {
90              super.getLocationOnScreen(location);
91              location[0] = location[1] = 10;
92          }
93      }
94  
95      @Override
onDestroy()96      protected void onDestroy() {
97          super.onDestroy();
98          mOnDestroyCalled = true;
99      }
100  
101      @Override
onNewIntent(Intent intent)102      protected void onNewIntent(Intent intent) {
103          super.onNewIntent(intent);
104          mOnNewIntentCalled = true;
105      }
106  
107      @Override
onPause()108      protected void onPause() {
109          super.onPause();
110          mOnPauseCalled = true;
111      }
112  
113      @Override
onPostCreate(Bundle savedInstanceState)114      protected void onPostCreate(Bundle savedInstanceState) {
115          super.onPostCreate(savedInstanceState);
116          mOnPostCreate = true;
117      }
118  
119      @Override
onRestart()120      protected void onRestart() {
121          super.onRestart();
122          mOnRestart = true;
123      }
124  
125      @Override
onRestoreInstanceState(Bundle savedInstanceState)126      protected void onRestoreInstanceState(Bundle savedInstanceState) {
127          super.onRestoreInstanceState(savedInstanceState);
128          mOnRestoreInstanceState = true;
129      }
130  
131      @Override
onTouchEvent(MotionEvent event)132      public boolean onTouchEvent(MotionEvent event) {
133          mOnTouchEventCalled = true;
134          mMotionEvent = event;
135          return super.onTouchEvent(event);
136      }
137  
138      @Override
onResume()139      protected void onResume() {
140          super.onResume();
141          mOnResume = true;
142      }
143  
144      @Override
onSaveInstanceState(Bundle outState)145      protected void onSaveInstanceState(Bundle outState) {
146          super.onSaveInstanceState(outState);
147          mOnSaveInstanceState = true;
148          mBundle = outState;
149      }
150  
151      @Override
onStart()152      protected void onStart() {
153          super.onStart();
154          mOnStart = true;
155      }
156  
157      @Override
onStop()158      protected void onStop() {
159          super.onStop();
160          mOnStop = true;
161      }
162  
163      @Override
onUserLeaveHint()164      protected void onUserLeaveHint() {
165          super.onUserLeaveHint();
166          mOnLeave = true;
167      }
168  
169      @Override
onMenuOpened(int featureId, Menu menu)170      public boolean onMenuOpened(int featureId, Menu menu) {
171          mOnMenuOpened = true;
172          return super.onMenuOpened(featureId, menu);
173      }
174  
175      @Override
onCreateOptionsMenu(Menu menu)176      public boolean onCreateOptionsMenu(Menu menu) {
177          super.onCreateOptionsMenu(menu);
178          MenuInflater inflater = getMenuInflater();
179          inflater.inflate(R.menu.browser, menu);
180  
181          menu.add("title");
182          mOnMenuOpened = true;
183          return true;
184      }
185  
186      @Override
onCreatePanelMenu(int featureId, Menu menu)187      public boolean onCreatePanelMenu(int featureId, Menu menu) {
188          return super.onCreatePanelMenu(featureId, menu);
189      }
190  
191      @Override
onMenuItemSelected(int featureId, MenuItem item)192      public boolean onMenuItemSelected(int featureId, MenuItem item) {
193          mMenuID = item.getItemId();
194          return super.onMenuItemSelected(featureId, item);
195      }
196  
197      @Override
openContextMenu(View view)198      public void openContextMenu(View view) {
199          super.openContextMenu(view);
200      }
201  
202      @Override
openOptionsMenu()203      public void openOptionsMenu() {
204          super.openOptionsMenu();
205      }
206  
207      @Override
onOptionsItemSelected(MenuItem item)208      public boolean onOptionsItemSelected(MenuItem item) {
209          return super.onOptionsItemSelected(item);
210      }
211  
212      @Override
onKeyDown(int keyCode, KeyEvent event)213      public boolean onKeyDown(int keyCode, KeyEvent event) {
214          mKeyDownList.add(event);
215          mKeyDownCode = keyCode;
216          return super.onKeyDown(keyCode, event);
217      }
218  
219      @Override
onTrackballEvent(MotionEvent event)220      public boolean onTrackballEvent(MotionEvent event) {
221          mMotionEvent = event;
222          return super.onTrackballEvent(event);
223      }
224  
225      @Override
onKeyUp(int keyCode, KeyEvent event)226      public boolean onKeyUp(int keyCode, KeyEvent event) {
227          mKeyUpList.add(event);
228          mKeyUpCode = keyCode;
229          return super.onKeyUp(keyCode, event);
230      }
231  
isOnCreateCalled()232      public boolean isOnCreateCalled() {
233          return mOnCreateCalled;
234      }
235  
setOnCreateCalled(boolean onCreateCalled)236      public void setOnCreateCalled(boolean onCreateCalled) {
237          mOnCreateCalled = onCreateCalled;
238      }
239  
isOnDestroyCalled()240      public boolean isOnDestroyCalled() {
241          return mOnDestroyCalled;
242      }
243  
setOnDestroyCalled(boolean onDestroyCalled)244      public void setOnDestroyCalled(boolean onDestroyCalled) {
245          mOnDestroyCalled = onDestroyCalled;
246      }
247  
isOnNewIntentCalled()248      public boolean isOnNewIntentCalled() {
249          return mOnNewIntentCalled;
250      }
251  
setOnNewIntentCalled(boolean onNewIntentCalled)252      public void setOnNewIntentCalled(boolean onNewIntentCalled) {
253          mOnNewIntentCalled = onNewIntentCalled;
254      }
255  
isOnPauseCalled()256      public boolean isOnPauseCalled() {
257          return mOnPauseCalled;
258      }
259  
setOnPauseCalled(boolean onPauseCalled)260      public void setOnPauseCalled(boolean onPauseCalled) {
261          mOnPauseCalled = onPauseCalled;
262      }
263  
isOnPostCreate()264      public boolean isOnPostCreate() {
265          return mOnPostCreate;
266      }
267  
setOnPostCreate(boolean onPostCreate)268      public void setOnPostCreate(boolean onPostCreate) {
269          mOnPostCreate = onPostCreate;
270      }
271  
isOnRestart()272      public boolean isOnRestart() {
273          return mOnRestart;
274      }
275  
setOnRestart(boolean onRestart)276      public void setOnRestart(boolean onRestart) {
277          mOnRestart = onRestart;
278      }
279  
isOnRestoreInstanceState()280      public boolean isOnRestoreInstanceState() {
281          return mOnRestoreInstanceState;
282      }
283  
setOnRestoreInstanceState(boolean onRestoreInstanceState)284      public void setOnRestoreInstanceState(boolean onRestoreInstanceState) {
285          mOnRestoreInstanceState = onRestoreInstanceState;
286      }
287  
isOnResume()288      public boolean isOnResume() {
289          return mOnResume;
290      }
291  
setOnResume(boolean onResume)292      public void setOnResume(boolean onResume) {
293          mOnResume = onResume;
294      }
295  
isOnSaveInstanceState()296      public boolean isOnSaveInstanceState() {
297          return mOnSaveInstanceState;
298      }
299  
setOnSaveInstanceState(boolean onSaveInstanceState)300      public void setOnSaveInstanceState(boolean onSaveInstanceState) {
301          mOnSaveInstanceState = onSaveInstanceState;
302      }
303  
isOnStart()304      public boolean isOnStart() {
305          return mOnStart;
306      }
307  
setOnStart(boolean onStart)308      public void setOnStart(boolean onStart) {
309          mOnStart = onStart;
310      }
311  
isOnStop()312      public boolean isOnStop() {
313          return mOnStop;
314      }
315  
isOnLeave()316      public boolean isOnLeave() {
317          return mOnLeave;
318      }
319  
setOnStop(boolean onStop)320      public void setOnStop(boolean onStop) {
321          mOnStop = onStop;
322      }
323  
isMOnMenuOpened()324      public boolean isMOnMenuOpened() {
325          return mOnMenuOpened;
326      }
327  
setOnMenuOpened(boolean onMenuOpened)328      public void setOnMenuOpened(boolean onMenuOpened) {
329          mOnMenuOpened = onMenuOpened;
330      }
331  
getMenuID()332      public int getMenuID() {
333          return mMenuID;
334      }
335  
setMenuID(int menuID)336      public void setMenuID(int menuID) {
337          mMenuID = menuID;
338      }
339  
getMotionEvent()340      public MotionEvent getMotionEvent() {
341          return mMotionEvent;
342      }
343  
getBundle()344      public Bundle getBundle() {
345          return mBundle;
346      }
347  
isOnTouchEventCalled()348      public boolean isOnTouchEventCalled() {
349          return mOnTouchEventCalled;
350      }
351  
setOnTouchEventCalled(boolean onTouchEventCalled)352      public void setOnTouchEventCalled(boolean onTouchEventCalled) {
353          mOnTouchEventCalled = onTouchEventCalled;
354      }
355  
getKeyUpCode()356      public int getKeyUpCode() {
357          return mKeyUpCode;
358      }
359  
getKeyDownCode()360      public int getKeyDownCode() {
361          return mKeyDownCode;
362      }
363  
getKeyUpList()364      public List<KeyEvent> getKeyUpList() {
365          return mKeyUpList;
366      }
367  
getKeyDownList()368      public List<KeyEvent> getKeyDownList() {
369          return mKeyDownList;
370      }
371  }
372