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
44cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn	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 {
965962b12bedc4a1d0354816c1cd6b06ba04f6d807Craig Mautner            mWm.addAppToken(0, null, 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 {
1672f0b17573d4324832f7a20402a3d2b5920bc4866Dianne Hackborn            mWm.setAppStartingWindow(null, "foo", 0, null, null, 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        }
225cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
226cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
227cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mWm.moveAppToken(0, null);
228cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IWindowManager.moveAppToken did not throw SecurityException as"
229cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
230cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
231cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
232cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
233cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
234cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
235cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
236cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
237cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mWm.moveAppTokensToTop(null);
238cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IWindowManager.moveAppTokensToTop did not throw SecurityException as"
239cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
240cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
241cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
242cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
243cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
244cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
245cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
246cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
247cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mWm.moveAppTokensToBottom(null);
248cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IWindowManager.moveAppTokensToBottom did not throw SecurityException as"
249cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
250cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
251cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
252cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
253cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
254cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
255cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn	}
256cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
257cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
258cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testDISABLE_KEYGUARD() {
259cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        Binder token = new Binder();
260cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
261cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mWm.disableKeyguard(token, "foo");
262cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IWindowManager.disableKeyguard did not throw SecurityException as"
263cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
264cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
265cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
266cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
267cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
268cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
269cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
270cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
271cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mWm.reenableKeyguard(token);
272cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IWindowManager.reenableKeyguard did not throw SecurityException as"
273cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
274cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
275cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
276cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
277cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
278cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
279cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
280cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
281cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mWm.exitKeyguardSecurely(null);
282cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IWindowManager.exitKeyguardSecurely did not throw SecurityException as"
283cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
284cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
285cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
286cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
287cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
288cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
289cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
290cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
291cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
292cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testSET_ANIMATION_SCALE() {
293cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
294cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mWm.setAnimationScale(0, 1);
295cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IWindowManager.setAnimationScale did not throw SecurityException as"
296cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
297cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
298cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
299cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
300cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
301cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
302cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
303cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
304cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mWm.setAnimationScales(new float[1]);
305cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IWindowManager.setAnimationScales did not throw SecurityException as"
306cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
307cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
308cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
309cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
310cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
311cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
312cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
313cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
314cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
315cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testSET_ORIENTATION() {
316cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
317f87d19621dc2a30232bba1f51862a0b671eb9729Dianne Hackborn            mWm.updateRotation(true, false);
31801a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown            fail("IWindowManager.updateRotation did not throw SecurityException as"
31901a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown                    + " expected");
32001a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown        } catch (SecurityException e) {
32101a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown            // expected
32201a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown        } catch (RemoteException e) {
32301a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown            fail("Unexpected remote exception");
32401a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown        }
32501a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown
32601a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown        try {
3273b2faf68e5a66ac67b28d6f79d4ba213b6c0d09cJeff Brown            mWm.freezeRotation(-1);
32801a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown            fail("IWindowManager.freezeRotation did not throw SecurityException as"
32901a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown                    + " expected");
33001a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown        } catch (SecurityException e) {
33101a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown            // expected
33201a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown        } catch (RemoteException e) {
33301a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown            fail("Unexpected remote exception");
33401a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown        }
33501a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown
33601a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown        try {
33701a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown            mWm.thawRotation();
33801a98ddbdfbaf1f0d2bc602537e6e314364902a3Jeff Brown            fail("IWindowManager.thawRotation did not throw SecurityException as"
339cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
340cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
341cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
342cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
343cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
344cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
345cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
346cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn}
347