ActivityManagerPermissionTests.java revision cfaef699e1dfb3a75d5b51f3b15816f13670fd51
1cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornpackage com.android.framework.permission.tests;
2cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
3cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.app.ActivityManagerNative;
4cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.app.IActivityManager;
5cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.content.res.Configuration;
6cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.os.RemoteException;
7cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport android.test.suitebuilder.annotation.SmallTest;
8cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
9cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornimport junit.framework.TestCase;
10cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
11cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn/**
12cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn * TODO: Remove this. This is only a placeholder, need to implement this.
13cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn */
14cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackbornpublic class ActivityManagerPermissionTests extends TestCase {
15cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    IActivityManager mAm;
16cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
17cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @Override
18cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    protected void setUp() throws Exception {
19cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        super.setUp();
20cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        mAm = ActivityManagerNative.getDefault();
21cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
22cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
23cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
24cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn	public void testREORDER_TASKS() {
25cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
26cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.moveTaskToFront(-1);
27cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.moveTaskToFront did not throw SecurityException as"
28cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
29cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
30cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
31cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
32cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
33cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
34cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
35cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
36cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.moveTaskToBack(-1);
37cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.moveTaskToBack did not throw SecurityException as"
38cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
39cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
40cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
41cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
42cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
43cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
44cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
45cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
46cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.moveTaskBackwards(-1);
47cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.moveTaskToFront 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
56cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
57cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testCHANGE_CONFIGURATION() {
58cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
59cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.updateConfiguration(new Configuration());
60cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.updateConfiguration did not throw SecurityException as"
61cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
62cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
63cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
64cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
65cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
66cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
67cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
68cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
69cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
70cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testSET_DEBUG_APP() {
71cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
72cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.setDebugApp(null, false, false);
73cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.setDebugApp did not throw SecurityException as"
74cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
75cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
76cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
77cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
78cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
79cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
80cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
81cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
82cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
83cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testSET_PROCESS_LIMIT() {
84cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
85cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.setProcessLimit(10);
86cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.setProcessLimit 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        }
93cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
94cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
95cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
96cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testALWAYS_FINISH() {
97cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
98cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.setAlwaysFinish(false);
99cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.setAlwaysFinish did not throw SecurityException as"
100cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
101cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
102cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
103cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
104cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
105cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
106cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
107cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
108cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
109cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testSIGNAL_PERSISTENT_PROCESSES() {
110cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
111cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.signalPersistentProcesses(-1);
112cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.signalPersistentProcesses did not throw SecurityException as"
113cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
114cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
115cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
116cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
117cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
118cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
119cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
120cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
121cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
122cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testFORCE_BACK() {
123cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
124cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.unhandledBack();
125cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.unhandledBack did not throw SecurityException as"
126cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
127cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
128cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
129cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
130cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
131cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
132cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
133cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
134cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
135cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testSET_ACTIVITY_WATCHER() {
136cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
137cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.setActivityWatcher(null);
138cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.setActivityWatcher 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
147cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
148cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testSHUTDOWN() {
149cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
150cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.shutdown(0);
151cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.shutdown did not throw SecurityException as"
152cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
153cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
154cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
155cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
156cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
157cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
158cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
159cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
160cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    @SmallTest
161cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    public void testSTOP_APP_SWITCHES() {
162cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
163cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.stopAppSwitches();
164cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.stopAppSwitches did not throw SecurityException as"
165cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
166cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
167cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
168cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
169cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
170cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
171cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn
172cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        try {
173cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            mAm.resumeAppSwitches();
174cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("IActivityManager.resumeAppSwitches did not throw SecurityException as"
175cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn                    + " expected");
176cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (SecurityException e) {
177cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            // expected
178cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        } catch (RemoteException e) {
179cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn            fail("Unexpected remote exception");
180cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn        }
181cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn    }
182cfaef699e1dfb3a75d5b51f3b15816f13670fd51Dianne Hackborn}
183