Home | History | Annotate | Download | only in stubs
      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
     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 
     74         public MockTextView(Context context) {
     75             super(context);
     76         }
     77 
     78         @Override
     79         public boolean onTouchEvent(MotionEvent event) {
     80             return super.onTouchEvent(event);
     81         }
     82 
     83         @Override
     84         public boolean onTrackballEvent(MotionEvent event) {
     85             return super.onTrackballEvent(event);
     86         }
     87 
     88         @Override
     89         public void getLocationOnScreen(int[] location) {
     90             super.getLocationOnScreen(location);
     91             location[0] = location[1] = 10;
     92         }
     93     }
     94 
     95     @Override
     96     protected void onDestroy() {
     97         super.onDestroy();
     98         mOnDestroyCalled = true;
     99     }
    100 
    101     @Override
    102     protected void onNewIntent(Intent intent) {
    103         super.onNewIntent(intent);
    104         mOnNewIntentCalled = true;
    105     }
    106 
    107     @Override
    108     protected void onPause() {
    109         super.onPause();
    110         mOnPauseCalled = true;
    111     }
    112 
    113     @Override
    114     protected void onPostCreate(Bundle savedInstanceState) {
    115         super.onPostCreate(savedInstanceState);
    116         mOnPostCreate = true;
    117     }
    118 
    119     @Override
    120     protected void onRestart() {
    121         super.onRestart();
    122         mOnRestart = true;
    123     }
    124 
    125     @Override
    126     protected void onRestoreInstanceState(Bundle savedInstanceState) {
    127         super.onRestoreInstanceState(savedInstanceState);
    128         mOnRestoreInstanceState = true;
    129     }
    130 
    131     @Override
    132     public boolean onTouchEvent(MotionEvent event) {
    133         mOnTouchEventCalled = true;
    134         mMotionEvent = event;
    135         return super.onTouchEvent(event);
    136     }
    137 
    138     @Override
    139     protected void onResume() {
    140         super.onResume();
    141         mOnResume = true;
    142     }
    143 
    144     @Override
    145     protected void onSaveInstanceState(Bundle outState) {
    146         super.onSaveInstanceState(outState);
    147         mOnSaveInstanceState = true;
    148         mBundle = outState;
    149     }
    150 
    151     @Override
    152     protected void onStart() {
    153         super.onStart();
    154         mOnStart = true;
    155     }
    156 
    157     @Override
    158     protected void onStop() {
    159         super.onStop();
    160         mOnStop = true;
    161     }
    162 
    163     @Override
    164     protected void onUserLeaveHint() {
    165         super.onUserLeaveHint();
    166         mOnLeave = true;
    167     }
    168 
    169     @Override
    170     public boolean onMenuOpened(int featureId, Menu menu) {
    171         mOnMenuOpened = true;
    172         return super.onMenuOpened(featureId, menu);
    173     }
    174 
    175     @Override
    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
    187     public boolean onCreatePanelMenu(int featureId, Menu menu) {
    188         return super.onCreatePanelMenu(featureId, menu);
    189     }
    190 
    191     @Override
    192     public boolean onMenuItemSelected(int featureId, MenuItem item) {
    193         mMenuID = item.getItemId();
    194         return super.onMenuItemSelected(featureId, item);
    195     }
    196 
    197     @Override
    198     public void openContextMenu(View view) {
    199         super.openContextMenu(view);
    200     }
    201 
    202     @Override
    203     public void openOptionsMenu() {
    204         super.openOptionsMenu();
    205     }
    206 
    207     @Override
    208     public boolean onOptionsItemSelected(MenuItem item) {
    209         return super.onOptionsItemSelected(item);
    210     }
    211 
    212     @Override
    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
    220     public boolean onTrackballEvent(MotionEvent event) {
    221         mMotionEvent = event;
    222         return super.onTrackballEvent(event);
    223     }
    224 
    225     @Override
    226     public boolean onKeyUp(int keyCode, KeyEvent event) {
    227         mKeyUpList.add(event);
    228         mKeyUpCode = keyCode;
    229         return super.onKeyUp(keyCode, event);
    230     }
    231 
    232     public boolean isOnCreateCalled() {
    233         return mOnCreateCalled;
    234     }
    235 
    236     public void setOnCreateCalled(boolean onCreateCalled) {
    237         mOnCreateCalled = onCreateCalled;
    238     }
    239 
    240     public boolean isOnDestroyCalled() {
    241         return mOnDestroyCalled;
    242     }
    243 
    244     public void setOnDestroyCalled(boolean onDestroyCalled) {
    245         mOnDestroyCalled = onDestroyCalled;
    246     }
    247 
    248     public boolean isOnNewIntentCalled() {
    249         return mOnNewIntentCalled;
    250     }
    251 
    252     public void setOnNewIntentCalled(boolean onNewIntentCalled) {
    253         mOnNewIntentCalled = onNewIntentCalled;
    254     }
    255 
    256     public boolean isOnPauseCalled() {
    257         return mOnPauseCalled;
    258     }
    259 
    260     public void setOnPauseCalled(boolean onPauseCalled) {
    261         mOnPauseCalled = onPauseCalled;
    262     }
    263 
    264     public boolean isOnPostCreate() {
    265         return mOnPostCreate;
    266     }
    267 
    268     public void setOnPostCreate(boolean onPostCreate) {
    269         mOnPostCreate = onPostCreate;
    270     }
    271 
    272     public boolean isOnRestart() {
    273         return mOnRestart;
    274     }
    275 
    276     public void setOnRestart(boolean onRestart) {
    277         mOnRestart = onRestart;
    278     }
    279 
    280     public boolean isOnRestoreInstanceState() {
    281         return mOnRestoreInstanceState;
    282     }
    283 
    284     public void setOnRestoreInstanceState(boolean onRestoreInstanceState) {
    285         mOnRestoreInstanceState = onRestoreInstanceState;
    286     }
    287 
    288     public boolean isOnResume() {
    289         return mOnResume;
    290     }
    291 
    292     public void setOnResume(boolean onResume) {
    293         mOnResume = onResume;
    294     }
    295 
    296     public boolean isOnSaveInstanceState() {
    297         return mOnSaveInstanceState;
    298     }
    299 
    300     public void setOnSaveInstanceState(boolean onSaveInstanceState) {
    301         mOnSaveInstanceState = onSaveInstanceState;
    302     }
    303 
    304     public boolean isOnStart() {
    305         return mOnStart;
    306     }
    307 
    308     public void setOnStart(boolean onStart) {
    309         mOnStart = onStart;
    310     }
    311 
    312     public boolean isOnStop() {
    313         return mOnStop;
    314     }
    315 
    316     public boolean isOnLeave() {
    317         return mOnLeave;
    318     }
    319 
    320     public void setOnStop(boolean onStop) {
    321         mOnStop = onStop;
    322     }
    323 
    324     public boolean isMOnMenuOpened() {
    325         return mOnMenuOpened;
    326     }
    327 
    328     public void setOnMenuOpened(boolean onMenuOpened) {
    329         mOnMenuOpened = onMenuOpened;
    330     }
    331 
    332     public int getMenuID() {
    333         return mMenuID;
    334     }
    335 
    336     public void setMenuID(int menuID) {
    337         mMenuID = menuID;
    338     }
    339 
    340     public MotionEvent getMotionEvent() {
    341         return mMotionEvent;
    342     }
    343 
    344     public Bundle getBundle() {
    345         return mBundle;
    346     }
    347 
    348     public boolean isOnTouchEventCalled() {
    349         return mOnTouchEventCalled;
    350     }
    351 
    352     public void setOnTouchEventCalled(boolean onTouchEventCalled) {
    353         mOnTouchEventCalled = onTouchEventCalled;
    354     }
    355 
    356     public int getKeyUpCode() {
    357         return mKeyUpCode;
    358     }
    359 
    360     public int getKeyDownCode() {
    361         return mKeyDownCode;
    362     }
    363 
    364     public List<KeyEvent> getKeyUpList() {
    365         return mKeyUpList;
    366     }
    367 
    368     public List<KeyEvent> getKeyDownList() {
    369         return mKeyDownList;
    370     }
    371 }
    372