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