109a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla/* 209a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * Copyright (C) 2016 The Android Open Source Project 309a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * 409a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * Licensed under the Apache License, Version 2.0 (the "License"); 509a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * you may not use this file except in compliance with the License. 609a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * You may obtain a copy of the License at 709a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * 809a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * http://www.apache.org/licenses/LICENSE-2.0 909a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * 1009a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * Unless required by applicable law or agreed to in writing, software 1109a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * distributed under the License is distributed on an "AS IS" BASIS, 1209a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1309a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * See the License for the specific language governing permissions and 1409a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla * limitations under the License. 1509a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla */ 1609a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla 1709a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shuklapackage com.android.server.am; 1809a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla 1909a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shuklaimport android.app.ActivityManager; 2009a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shuklaimport android.app.IActivityManager; 2109a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shuklaimport android.os.ServiceManager; 2209a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shuklaimport android.os.UserHandle; 2309a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shuklaimport android.os.RemoteException; 2409a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shuklaimport android.test.AndroidTestCase; 2509a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla 2609a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shuklaimport java.util.List; 2709a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla 2809a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shuklapublic class ActivityManagerTest extends AndroidTestCase { 2909a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla 3009a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla IActivityManager service; 3109a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla @Override 3209a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla public void setUp() throws Exception { 3309a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla super.setUp(); 34dc589ac82b5fe2063f4cfd94c8ae26d43d5420a0Sudheer Shanka service = ActivityManager.getService(); 3509a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla } 3609a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla 3709a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla public void testTaskIdsForRunningUsers() throws RemoteException { 3809a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla for(int userId : service.getRunningUserIds()) { 3909a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla testTaskIdsForUser(userId); 4009a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla } 4109a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla } 4209a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla 4309a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla private void testTaskIdsForUser(int userId) throws RemoteException { 4409a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla List<ActivityManager.RecentTaskInfo> recentTasks = service.getRecentTasks( 45479212cf500193db6f1cf109ee58d72885f60a74Jeff Sharkey 100, 0, userId).getList(); 4609a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla if(recentTasks != null) { 4709a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla for(ActivityManager.RecentTaskInfo recentTask : recentTasks) { 4809a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla int taskId = recentTask.persistentId; 4909a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla assertEquals("The task id " + taskId + " should not belong to user " + userId, 5009a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla taskId / UserHandle.PER_USER_RANGE, userId); 5109a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla } 5209a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla } 5309a88f5f3e7d4a3bbfce04ac06594ac590c67d27Suprabh Shukla } 54dc589ac82b5fe2063f4cfd94c8ae26d43d5420a0Sudheer Shanka} 55