115a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root/* 215a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Copyright (C) 2009 The Android Open Source Project 315a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 415a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Licensed under the Apache License, Version 2.0 (the "License"); 515a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * you may not use this file except in compliance with the License. 615a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * You may obtain a copy of the License at 715a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 815a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * http://www.apache.org/licenses/LICENSE-2.0 915a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 1015a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Unless required by applicable law or agreed to in writing, software 1115a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * distributed under the License is distributed on an "AS IS" BASIS, 1215a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1315a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * See the License for the specific language governing permissions and 1415a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * limitations under the License. 1515a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root */ 1615a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root 17cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornpackage com.android.framework.permission.tests; 18cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 19cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.content.res.Configuration; 20cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.os.Binder; 21cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.os.RemoteException; 22cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.os.ServiceManager; 23cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.test.suitebuilder.annotation.SmallTest; 24cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.view.IWindowManager; 25cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.view.KeyEvent; 26cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.view.MotionEvent; 27cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 28cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport junit.framework.TestCase; 29cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 30cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn/** 31cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn * TODO: Remove this. This is only a placeholder, need to implement this. 32cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn */ 33cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornpublic class WindowManagerPermissionTests extends TestCase { 34cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn IWindowManager mWm; 35cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 36cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn @Override 37cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn protected void setUp() throws Exception { 38cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn super.setUp(); 39cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm = IWindowManager.Stub.asInterface( 40cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn ServiceManager.getService("window")); 41cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 42cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 43cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn @SmallTest 448a985d24ce9a38f40ed88fecbdcd0e75e3a68f44John Spurlock public void testMANAGE_APP_TOKENS() { 45cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 46cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.pauseKeyDispatching(null); 47cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.pauseKeyDispatching did not throw SecurityException as" 48cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 49cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 50cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 51cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 52cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 53cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 54cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 55cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 56cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.resumeKeyDispatching(null); 57cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.resumeKeyDispatching did not throw SecurityException as" 58cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 59cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 60cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 61cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 62cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 63cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 64cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 65cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 66cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setEventDispatching(true); 67cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setEventDispatching did not throw SecurityException as" 68cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 69cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 70cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 71cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 72cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 73cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 74cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 75cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 76cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.addWindowToken(null, 0); 77cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.addWindowToken did not throw SecurityException as" 78cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 79cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 80cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 81cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 82cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 83cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 84cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 85cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 86cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.removeWindowToken(null); 87cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.removeWindowToken did not throw SecurityException as" 88cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 89cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 90cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 91cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 92cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 93cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 94cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 95cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 96c2d6400fb6e563b789f1dbc6cff3f379af0c3b25Craig Mautner mWm.addAppToken(0, null, 0, 0, 0, false, false, 0, 0, false, false); 97cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.addAppToken did not throw SecurityException as" 98cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 99cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 100cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 101cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 102cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 103cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 104cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 105cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 106cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setAppGroupId(null, 0); 107cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setAppGroupId did not throw SecurityException as" 108cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 109cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 110cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 111cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 112cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 113cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 114cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 115cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 116cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.updateOrientationFromAppTokens(new Configuration(), null); 117cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.updateOrientationFromAppTokens did not throw SecurityException as" 118cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 119cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 120cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 121cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 122cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 123cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 124cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 125cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 126cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setAppOrientation(null, 0); 127cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.addWindowToken(null, 0); 128cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setAppOrientation did not throw SecurityException as" 129cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 130cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 131cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 132cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 133cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 134cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 135cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 136cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 137cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setFocusedApp(null, false); 138cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setFocusedApp did not throw SecurityException as" 139cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 140cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 141cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 142cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 143cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 144cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 145cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 146cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 1477da6ac33a9de82be52e22846d5f22d502452854cDianne Hackborn mWm.prepareAppTransition(0, false); 148cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.prepareAppTransition did not throw SecurityException as" 149cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 150cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 151cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 152cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 153cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 154cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 155cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 156cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 157cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.executeAppTransition(); 158cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.executeAppTransition did not throw SecurityException as" 159cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 160cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 161cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 162cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 163cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 164cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 165cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 166cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 1673d6a3800c8c99bd086f2d8e605e3b01e4cb20f79Adam Powell mWm.setAppStartingWindow(null, "foo", 0, null, null, 0, 0, 0, 0, null, false); 168cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setAppStartingWindow did not throw SecurityException as" 169cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 170cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 171cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 172cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 173cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 174cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 175cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 176cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 177cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setAppWillBeHidden(null); 178cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setAppWillBeHidden did not throw SecurityException as" 179cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 180cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 181cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 182cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 183cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 184cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 185cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 186cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 187cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setAppVisibility(null, false); 188cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setAppVisibility did not throw SecurityException as" 189cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 190cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 191cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 192cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 193cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 194cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 195cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 196cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 197cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.startAppFreezingScreen(null, 0); 198cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.startAppFreezingScreen did not throw SecurityException as" 199cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 200cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 201cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 202cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 203cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 204cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 205cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 206cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 207cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.stopAppFreezingScreen(null, false); 208cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.stopAppFreezingScreen did not throw SecurityException as" 209cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 210cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 211cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 212cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 213cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 214cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 215cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 216cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 217cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.removeAppToken(null); 218cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.removeAppToken did not throw SecurityException as" 219cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 220cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 221cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 222cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 223cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 224cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 225ee006a14b2b28de45420e1357ddbc2c111db5a59Craig Mautner } 226cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 227cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn @SmallTest 228cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn public void testDISABLE_KEYGUARD() { 229cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn Binder token = new Binder(); 230cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 231cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.disableKeyguard(token, "foo"); 232cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.disableKeyguard did not throw SecurityException as" 233cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 234cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 235cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 236cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 237cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 238cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 239cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 240cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 241cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.reenableKeyguard(token); 242cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.reenableKeyguard did not throw SecurityException as" 243cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 244cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 245cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 246cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 247cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 248cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 249cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 250cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 251cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.exitKeyguardSecurely(null); 252cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.exitKeyguardSecurely did not throw SecurityException as" 253cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 254cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 255cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 256cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 257cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 258cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 259cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 260cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 261cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn @SmallTest 262cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn public void testSET_ANIMATION_SCALE() { 263cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 264cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setAnimationScale(0, 1); 265cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setAnimationScale did not throw SecurityException as" 266cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 267cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 268cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 269cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 270cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 271cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 272cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 273cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 274cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setAnimationScales(new float[1]); 275cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setAnimationScales did not throw SecurityException as" 276cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 277cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 278cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 279cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 280cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 281cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 282cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 283cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 284cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn @SmallTest 285cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn public void testSET_ORIENTATION() { 286cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 287f87d19621dc2a30232bba1f51862a0b671eb9729Dianne Hackborn mWm.updateRotation(true, false); 28801a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown fail("IWindowManager.updateRotation did not throw SecurityException as" 28901a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown + " expected"); 29001a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown } catch (SecurityException e) { 29101a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown // expected 29201a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown } catch (RemoteException e) { 29301a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown fail("Unexpected remote exception"); 29401a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown } 29501a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown 29601a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown try { 2973b2faf68e5a66ac67b28d6f79d4ba213b6c0d09cJeff Brown mWm.freezeRotation(-1); 29801a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown fail("IWindowManager.freezeRotation did not throw SecurityException as" 29901a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown + " expected"); 30001a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown } catch (SecurityException e) { 30101a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown // expected 30201a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown } catch (RemoteException e) { 30301a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown fail("Unexpected remote exception"); 30401a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown } 30501a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown 30601a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown try { 30701a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown mWm.thawRotation(); 30801a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown fail("IWindowManager.thawRotation did not throw SecurityException as" 309cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 310cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 311cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 312cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 313cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 314cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 315cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 316cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn} 317