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