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 junit.framework.TestCase; 26cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 272998eef694f6e3bb348df98a6127890e71427381Wale Ogunwaleimport static android.app.ActivityManager.StackId.INVALID_STACK_ID; 282998eef694f6e3bb348df98a6127890e71427381Wale Ogunwale 29cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn/** 30cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn * TODO: Remove this. This is only a placeholder, need to implement this. 31cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn */ 32cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornpublic class WindowManagerPermissionTests extends TestCase { 33cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn IWindowManager mWm; 34ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 35cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn @Override 36cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn protected void setUp() throws Exception { 37cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn super.setUp(); 38cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm = IWindowManager.Stub.asInterface( 39cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn ServiceManager.getService("window")); 40cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 41cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 42cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn @SmallTest 438a985d24ce9a38f40ed88fecbdcd0e75e3a68f44John Spurlock public void testMANAGE_APP_TOKENS() { 44cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 45cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.pauseKeyDispatching(null); 46cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.pauseKeyDispatching did not throw SecurityException as" 47cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 48cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 49cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 50cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 51cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 52cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 53ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 54cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 55cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.resumeKeyDispatching(null); 56cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.resumeKeyDispatching did not throw SecurityException as" 57cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 58cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 59cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 60cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 61cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 62cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 63ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 64cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 65cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setEventDispatching(true); 66cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setEventDispatching did not throw SecurityException as" 67cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 68cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 69cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 70cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 71cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 72cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 73ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 74cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 75cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.addWindowToken(null, 0); 76cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.addWindowToken did not throw SecurityException as" 77cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 78cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 79cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 80cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 81cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 82cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 83ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 84cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 85cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.removeWindowToken(null); 86cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.removeWindowToken did not throw SecurityException as" 87cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 88cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 89cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 90cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 91cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 92cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 93ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 94cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 95ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski mWm.addAppToken(0, null, 0, 0, 0, false, false, 0, 0, false, false, null, 96fd10cd1989966d01011a0cf75f3282f3e12ca5a6Robert Carr Configuration.EMPTY, 0, false, false, 0, -1); 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 } 104ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 105cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 106b1faf60b896afe235175354ffd90290ff93a54b4Wale Ogunwale mWm.setAppTask(null, 0, INVALID_STACK_ID, null, null, 0, false); 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 } 114ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 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 } 124ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 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 } 135ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 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 } 145ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 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 } 155ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 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 } 165ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 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 } 175ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 176cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 177cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setAppVisibility(null, false); 178cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setAppVisibility 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 } 185ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 186cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 187cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.startAppFreezingScreen(null, 0); 188cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.startAppFreezingScreen 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 } 195ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 196cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 197cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.stopAppFreezingScreen(null, false); 198cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.stopAppFreezingScreen 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 } 205ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 206cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 207cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.removeAppToken(null); 208cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.removeAppToken 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 } 215ee006a14b2b28de45420e1357ddbc2c111db5a59Craig Mautner } 216cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn 217cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn @SmallTest 218cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn public void testDISABLE_KEYGUARD() { 219cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn Binder token = new Binder(); 220cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 221cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.disableKeyguard(token, "foo"); 222cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.disableKeyguard did not throw SecurityException as" 223cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 224cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 225cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 226cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 227cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 228cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 229ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 230cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 231cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.reenableKeyguard(token); 232cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.reenableKeyguard 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 } 239ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 240cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 241cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.exitKeyguardSecurely(null); 242cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.exitKeyguardSecurely 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 } 250ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 251cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn @SmallTest 252cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn public void testSET_ANIMATION_SCALE() { 253cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 254cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setAnimationScale(0, 1); 255cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setAnimationScale did not throw SecurityException as" 256cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 257cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 258cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 259cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 260cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 261cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 262ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 263cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 264cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn mWm.setAnimationScales(new float[1]); 265cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("IWindowManager.setAnimationScales 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 } 273ebcc875f10f05db7365cd8afbf4e9425221ab14dFilip Gruszczynski 274cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn @SmallTest 275cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn public void testSET_ORIENTATION() { 276cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn try { 277f87d19621dc2a30232bba1f51862a0b671eb9729Dianne Hackborn mWm.updateRotation(true, false); 27801a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown fail("IWindowManager.updateRotation did not throw SecurityException as" 27901a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown + " expected"); 28001a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown } catch (SecurityException e) { 28101a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown // expected 28201a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown } catch (RemoteException e) { 28301a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown fail("Unexpected remote exception"); 28401a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown } 28501a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown 28601a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown try { 2873b2faf68e5a66ac67b28d6f79d4ba213b6c0d09cJeff Brown mWm.freezeRotation(-1); 28801a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown fail("IWindowManager.freezeRotation 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 { 29701a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown mWm.thawRotation(); 29801a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown fail("IWindowManager.thawRotation did not throw SecurityException as" 299cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn + " expected"); 300cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (SecurityException e) { 301cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn // expected 302cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } catch (RemoteException e) { 303cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn fail("Unexpected remote exception"); 304cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 305cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn } 306cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn} 307