1 /* 2 * Copyright (C) 2008 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 package android.app.cts; 17 18 import android.app.Dialog; 19 import android.content.Context; 20 import android.os.Bundle; 21 import android.view.ContextMenu; 22 import android.view.KeyEvent; 23 import android.view.Menu; 24 import android.view.MenuItem; 25 import android.view.MotionEvent; 26 import android.view.View; 27 import android.view.Window; 28 import android.view.ContextMenu.ContextMenuInfo; 29 import android.view.WindowManager.LayoutParams; 30 31 public class TestDialog extends Dialog { 32 private static final int OPTIONS_MENU_ITEM_0 = Menu.FIRST; 33 private static final int OPTIONS_MENU_ITEM_1 = Menu.FIRST + 1; 34 private static final int OPTIONS_MENU_ITEM_2 = Menu.FIRST + 2; 35 private static final int OPTIONS_MENU_ITEM_3 = Menu.FIRST + 3; 36 private static final int OPTIONS_MENU_ITEM_4 = Menu.FIRST + 4; 37 private static final int OPTIONS_MENU_ITEM_5 = Menu.FIRST + 5; 38 private static final int OPTIONS_MENU_ITEM_6 = Menu.FIRST + 6; 39 private static final int CONTEXT_MENU_ITEM_0 = Menu.FIRST + 7; 40 private static final int CONTEXT_MENU_ITEM_1 = Menu.FIRST + 8; 41 private static final int CONTEXT_MENU_ITEM_2 = Menu.FIRST + 9; 42 public boolean isOnStartCalled; 43 public boolean isOnStopCalled; 44 public boolean isOnCreateCalled; 45 public boolean isRequestWindowFeature; 46 public boolean isOnContentChangedCalled; 47 public boolean isOnWindowFocusChangedCalled; 48 public boolean isOnTouchEventCalled; 49 public boolean isOnTrackballEventCalled; 50 public boolean isOnKeyDownCalled; 51 public boolean isOnKeyUpCalled; 52 public boolean isOnKeyMultipleCalled; 53 public boolean isOnSaveInstanceStateCalled; 54 public static boolean isOnRestoreInstanceStateCalled; 55 public boolean isOnWindowAttributesChangedCalled; 56 public boolean isOnCreatePanelMenuCalled; 57 public boolean isOnCreatePanelViewCalled; 58 public boolean isOnPreparePanelCalled; 59 public boolean isOnMenuOpenedCalled; 60 public boolean isOnMenuItemSelectedCalled; 61 public boolean isOnPanelClosedCalled; 62 public boolean isOnCreateOptionsMenuCalled; 63 public boolean isOnPrepareOptionsMenuCalled; 64 public boolean isOnOptionsItemSelectedCalled; 65 public boolean isOnOptionsMenuClosedCalled; 66 public boolean isOnContextItemSelectedCalled; 67 public boolean isOnContextMenuClosedCalled; 68 public boolean isOnCreateContextMenuCalled; 69 public boolean isOnSearchRequestedCalled; 70 public boolean onKeyDownReturn; 71 public boolean onKeyMultipleReturn; 72 public boolean dispatchTouchEventResult; 73 public boolean dispatchKeyEventResult; 74 public int keyDownCode = -1; 75 public Window window; 76 public Bundle saveInstanceState; 77 public Bundle savedInstanceState; 78 public KeyEvent keyEvent; 79 public MotionEvent touchEvent; 80 public MotionEvent trackballEvent; 81 public MotionEvent onTrackballEvent; 82 public MotionEvent onTouchEvent; 83 public KeyEvent keyMultipleEvent; 84 85 public TestDialog(Context context) { 86 super(context); 87 } 88 89 public TestDialog(Context context, int theme) { 90 super(context, theme); 91 } 92 93 public TestDialog(Context context, boolean cancelable, OnCancelListener cancelListener) { 94 super(context, cancelable, cancelListener); 95 } 96 97 @Override 98 protected void onStart() { 99 super.onStart(); 100 isOnStartCalled = true; 101 } 102 103 @Override 104 protected void onStop() { 105 super.onStop(); 106 isOnStopCalled = true; 107 } 108 109 @Override 110 protected void onCreate(Bundle savedInstanceState) { 111 isRequestWindowFeature = requestWindowFeature(Window.FEATURE_LEFT_ICON); 112 super.onCreate(savedInstanceState); 113 isOnCreateCalled = true; 114 } 115 116 @Override 117 public void onContentChanged() { 118 super.onContentChanged(); 119 120 isOnContentChangedCalled = true; 121 } 122 123 @Override 124 public void onWindowFocusChanged(boolean hasFocus) { 125 super.onWindowFocusChanged(hasFocus); 126 127 isOnWindowFocusChangedCalled = true; 128 } 129 130 @Override 131 public boolean onTouchEvent(MotionEvent event) { 132 isOnTouchEventCalled = true; 133 onTouchEvent = event; 134 return super.onTouchEvent(event); 135 } 136 137 @Override 138 public boolean onTrackballEvent(MotionEvent event) { 139 isOnTrackballEventCalled = true; 140 onTrackballEvent = event; 141 return super.onTrackballEvent(event); 142 } 143 144 @Override 145 public boolean onKeyDown(int keyCode, KeyEvent event) { 146 isOnKeyDownCalled = true; 147 keyDownCode = keyCode; 148 onKeyDownReturn = super.onKeyDown(keyCode, event); 149 150 return onKeyDownReturn; 151 } 152 153 @Override 154 public boolean onKeyUp(int keyCode, KeyEvent event) { 155 isOnKeyUpCalled = true; 156 157 return super.onKeyUp(keyCode, event); 158 } 159 160 @Override 161 public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) { 162 isOnKeyMultipleCalled = true; 163 onKeyMultipleReturn = super.onKeyMultiple(keyCode, repeatCount, event); 164 keyMultipleEvent = event; 165 return onKeyMultipleReturn; 166 } 167 168 @Override 169 public Bundle onSaveInstanceState() { 170 isOnSaveInstanceStateCalled = true; 171 saveInstanceState = super.onSaveInstanceState(); 172 return saveInstanceState; 173 } 174 175 @Override 176 public void onRestoreInstanceState(Bundle savedInstanceState) { 177 isOnRestoreInstanceStateCalled = true; 178 this.savedInstanceState = savedInstanceState; 179 180 super.onRestoreInstanceState(savedInstanceState); 181 } 182 183 @Override 184 public void onWindowAttributesChanged(LayoutParams params) { 185 isOnWindowAttributesChangedCalled = true; 186 super.onWindowAttributesChanged(params); 187 } 188 189 @Override 190 public boolean onCreatePanelMenu(int featureId, Menu menu) { 191 isOnCreatePanelMenuCalled = true; 192 return super.onCreatePanelMenu(featureId, menu); 193 } 194 195 @Override 196 public View onCreatePanelView(int featureId) { 197 isOnCreatePanelViewCalled = true; 198 return super.onCreatePanelView(featureId); 199 } 200 201 @Override 202 public boolean onPreparePanel(int featureId, View view, Menu menu) { 203 isOnPreparePanelCalled = true; 204 return super.onPreparePanel(featureId, view, menu); 205 } 206 207 @Override 208 public boolean onMenuItemSelected(int featureId, MenuItem item) { 209 isOnMenuItemSelectedCalled = true; 210 return super.onMenuItemSelected(featureId, item); 211 } 212 213 @Override 214 public boolean onMenuOpened(int featureId, Menu menu) { 215 isOnMenuOpenedCalled = true; 216 return super.onMenuOpened(featureId, menu); 217 } 218 219 @Override 220 public void onPanelClosed(int featureId, Menu menu) { 221 isOnPanelClosedCalled = true; 222 super.onPanelClosed(featureId, menu); 223 } 224 225 @Override 226 public boolean onPrepareOptionsMenu(Menu menu) { 227 isOnPrepareOptionsMenuCalled = true; 228 return super.onPrepareOptionsMenu(menu); 229 } 230 231 @Override 232 public boolean onCreateOptionsMenu(Menu menu) { 233 super.onCreateOptionsMenu(menu); 234 menu.add(0, OPTIONS_MENU_ITEM_0, 0, "OptionsMenuItem0"); 235 menu.add(0, OPTIONS_MENU_ITEM_1, 0, "OptionsMenuItem1"); 236 menu.add(0, OPTIONS_MENU_ITEM_2, 0, "OptionsMenuItem2"); 237 menu.add(0, OPTIONS_MENU_ITEM_3, 0, "OptionsMenuItem3"); 238 menu.add(0, OPTIONS_MENU_ITEM_4, 0, "OptionsMenuItem4"); 239 menu.add(0, OPTIONS_MENU_ITEM_5, 0, "OptionsMenuItem5"); 240 menu.add(0, OPTIONS_MENU_ITEM_6, 0, "OptionsMenuItem6"); 241 isOnCreateOptionsMenuCalled = true; 242 return true; 243 } 244 245 @Override 246 public boolean onOptionsItemSelected(MenuItem item) { 247 isOnOptionsItemSelectedCalled = true; 248 switch (item.getItemId()) { 249 case OPTIONS_MENU_ITEM_0: 250 case OPTIONS_MENU_ITEM_1: 251 case OPTIONS_MENU_ITEM_2: 252 case OPTIONS_MENU_ITEM_3: 253 case OPTIONS_MENU_ITEM_4: 254 case OPTIONS_MENU_ITEM_5: 255 case OPTIONS_MENU_ITEM_6: 256 return true; 257 default: 258 return super.onOptionsItemSelected(item); 259 } 260 } 261 262 @Override 263 public void onOptionsMenuClosed(Menu menu) { 264 isOnOptionsMenuClosedCalled = true; 265 super.onOptionsMenuClosed(menu); 266 } 267 268 @Override 269 public boolean onContextItemSelected(MenuItem item) { 270 isOnContextItemSelectedCalled = true; 271 switch (item.getItemId()) { 272 case CONTEXT_MENU_ITEM_0: 273 case CONTEXT_MENU_ITEM_1: 274 case CONTEXT_MENU_ITEM_2: 275 return true; 276 default: 277 return super.onContextItemSelected(item); 278 } 279 } 280 281 @Override 282 public void onContextMenuClosed(Menu menu) { 283 isOnContextMenuClosedCalled = true; 284 super.onContextMenuClosed(menu); 285 } 286 287 @Override 288 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 289 menu.add(0, CONTEXT_MENU_ITEM_0, 0, "ContextMenuItem0"); 290 menu.add(0, CONTEXT_MENU_ITEM_1, 0, "ContextMenuItem1"); 291 menu.add(0, CONTEXT_MENU_ITEM_2, 0, "ContextMenuItem2"); 292 isOnCreateContextMenuCalled = true; 293 } 294 295 @Override 296 public boolean onSearchRequested() { 297 isOnSearchRequestedCalled = true; 298 return super.onSearchRequested(); 299 } 300 301 @Override 302 public boolean dispatchKeyEvent(KeyEvent event) { 303 keyEvent = event; 304 dispatchKeyEventResult = super.dispatchKeyEvent(event); 305 return dispatchKeyEventResult; 306 } 307 308 @Override 309 public boolean dispatchTrackballEvent(MotionEvent ev) { 310 trackballEvent = ev; 311 return super.dispatchTrackballEvent(ev); 312 } 313 314 @Override 315 public boolean dispatchTouchEvent(MotionEvent ev) { 316 touchEvent = ev; 317 dispatchTouchEventResult = super.dispatchTouchEvent(ev); 318 return dispatchTouchEventResult; 319 } 320 } 321