19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 170dc59e78e18493aecd37427531d093e800846c3eBrett Chabotpackage android.content.pm; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabotimport static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DEFAULT; 20f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabotimport static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED; 21f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabotimport static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED; 22f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabotimport static android.content.pm.PackageManager.GET_DISABLED_COMPONENTS; 23f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot 24f90177629a5b69ca3a80466c0ab55abfeb6d26b2Abodunrinwa Tokiimport android.test.suitebuilder.annotation.Suppress; 250dc59e78e18493aecd37427531d093e800846c3eBrett Chabotimport com.android.frameworks.coretests.enabled_app.DisabledActivity; 260dc59e78e18493aecd37427531d093e800846c3eBrett Chabotimport com.android.frameworks.coretests.enabled_app.DisabledProvider; 270dc59e78e18493aecd37427531d093e800846c3eBrett Chabotimport com.android.frameworks.coretests.enabled_app.DisabledReceiver; 280dc59e78e18493aecd37427531d093e800846c3eBrett Chabotimport com.android.frameworks.coretests.enabled_app.DisabledService; 290dc59e78e18493aecd37427531d093e800846c3eBrett Chabotimport com.android.frameworks.coretests.enabled_app.EnabledActivity; 300dc59e78e18493aecd37427531d093e800846c3eBrett Chabotimport com.android.frameworks.coretests.enabled_app.EnabledProvider; 310dc59e78e18493aecd37427531d093e800846c3eBrett Chabotimport com.android.frameworks.coretests.enabled_app.EnabledReceiver; 320dc59e78e18493aecd37427531d093e800846c3eBrett Chabotimport com.android.frameworks.coretests.enabled_app.EnabledService; 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.ComponentName; 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Intent; 36f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabotimport android.test.AndroidTestCase; 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.test.suitebuilder.annotation.MediumTest; 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.test.suitebuilder.annotation.SmallTest; 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.List; 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Tests for disabling and enabling application components. 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Note: These tests are on the slow side. This is probably because most of the tests trigger the 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * package settings file to get written out by the PackageManagerService. Better, more unit-y test 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * would fix this. 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 49f90177629a5b69ca3a80466c0ab55abfeb6d26b2Abodunrinwa Toki@Suppress // Failing. 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class ComponentTest extends AndroidTestCase { 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private PackageManager mPackageManager; 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private Intent mDisabledActivityIntent; 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private Intent mEnabledActivityIntent; 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private Intent mDisabledServiceIntent; 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private Intent mEnabledServiceIntent; 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private Intent mDisabledReceiverIntent; 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private Intent mEnabledReceiverIntent; 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private Intent mDisabledAppEnabledActivityIntent; 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String ENABLED_PACKAGENAME = 620dc59e78e18493aecd37427531d093e800846c3eBrett Chabot "com.android.frameworks.coretests.enabled_app"; 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String DISABLED_PACKAGENAME = 640dc59e78e18493aecd37427531d093e800846c3eBrett Chabot "com.android.frameworks.coretests.disabled_app"; 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String DISABLED_ACTIVITY_CLASSNAME = 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project DisabledActivity.class.getName(); 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final ComponentName DISABLED_ACTIVITY_COMPONENTNAME = 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new ComponentName(ENABLED_PACKAGENAME, DISABLED_ACTIVITY_CLASSNAME); 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String ENABLED_ACTIVITY_CLASSNAME = 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project EnabledActivity.class.getName(); 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final ComponentName ENABLED_ACTIVITY_COMPONENTNAME = 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new ComponentName(ENABLED_PACKAGENAME, ENABLED_ACTIVITY_CLASSNAME); 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String DISABLED_SERVICE_CLASSNAME = 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project DisabledService.class.getName(); 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final ComponentName DISABLED_SERVICE_COMPONENTNAME = 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new ComponentName(ENABLED_PACKAGENAME, DISABLED_SERVICE_CLASSNAME); 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String DISABLED_PROVIDER_CLASSNAME = 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project DisabledProvider.class.getName(); 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final ComponentName DISABLED_PROVIDER_COMPONENTNAME = 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new ComponentName(ENABLED_PACKAGENAME, DISABLED_PROVIDER_CLASSNAME); 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String DISABLED_PROVIDER_NAME = DisabledProvider.class.getName(); 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String ENABLED_SERVICE_CLASSNAME = 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project EnabledService.class.getName(); 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final ComponentName ENABLED_SERVICE_COMPONENTNAME = 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new ComponentName(ENABLED_PACKAGENAME, ENABLED_SERVICE_CLASSNAME); 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String DISABLED_RECEIVER_CLASSNAME = 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project DisabledReceiver.class.getName(); 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final ComponentName DISABLED_RECEIVER_COMPONENTNAME = 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new ComponentName(ENABLED_PACKAGENAME, DISABLED_RECEIVER_CLASSNAME); 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String ENABLED_RECEIVER_CLASSNAME = 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project EnabledReceiver.class.getName(); 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final ComponentName ENABLED_RECEIVER_COMPONENTNAME = 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new ComponentName(ENABLED_PACKAGENAME, ENABLED_RECEIVER_CLASSNAME); 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String ENABLED_PROVIDER_CLASSNAME = 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project EnabledProvider.class.getName(); 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final ComponentName ENABLED_PROVIDER_COMPONENTNAME = 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new ComponentName(ENABLED_PACKAGENAME, ENABLED_PROVIDER_CLASSNAME); 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String ENABLED_PROVIDER_NAME = EnabledProvider.class.getName(); 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String DISABLED_APP_ENABLED_ACTIVITY_CLASSNAME = 1000dc59e78e18493aecd37427531d093e800846c3eBrett Chabot com.android.frameworks.coretests.disabled_app.EnabledActivity.class.getName(); 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final ComponentName DISABLED_APP_ENABLED_ACTIVITY_COMPONENTNAME = 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new ComponentName(DISABLED_PACKAGENAME, DISABLED_APP_ENABLED_ACTIVITY_CLASSNAME); 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private static final String TEST_CATEGORY = 1040dc59e78e18493aecd37427531d093e800846c3eBrett Chabot "com.android.frameworks.coretests.enabled_app.TEST_CATEGORY"; 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected void setUp() throws Exception { 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super.setUp(); 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager = mContext.getPackageManager(); 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledActivityIntent = new Intent(); 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledActivityIntent.setComponent(DISABLED_ACTIVITY_COMPONENTNAME); 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mEnabledActivityIntent = new Intent(); 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mEnabledActivityIntent.setComponent(ENABLED_ACTIVITY_COMPONENTNAME); 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledServiceIntent = new Intent(); 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledServiceIntent.setComponent(DISABLED_SERVICE_COMPONENTNAME); 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mEnabledServiceIntent = new Intent(); 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mEnabledServiceIntent.setComponent(ENABLED_SERVICE_COMPONENTNAME); 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledReceiverIntent = new Intent("android.intent.action.ENABLED_APP_DISABLED_RECEIVER"); 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledReceiverIntent.setComponent(DISABLED_RECEIVER_COMPONENTNAME); 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mEnabledReceiverIntent = new Intent("android.intent.action.ENABLED_APP_ENABLED_RECEIVER"); 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mEnabledReceiverIntent.setComponent(ENABLED_RECEIVER_COMPONENTNAME); 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledAppEnabledActivityIntent = new Intent(); 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledAppEnabledActivityIntent.setComponent(DISABLED_APP_ENABLED_ACTIVITY_COMPONENTNAME); 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @SmallTest 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testContextNotNull() throws Exception { 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(mContext); 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 131f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testResolveDisabledActivity() throws Exception { 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_ACTIVITY_COMPONENTNAME, 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = mPackageManager.resolveActivity(mDisabledActivityIntent, 0); 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(info); 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info2 = mPackageManager.resolveActivity( 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledActivityIntent, GET_DISABLED_COMPONENTS); 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2); 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2.activityInfo); 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(info2.activityInfo.enabled); 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 147f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testResolveEnabledActivity() throws Exception { 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_ACTIVITY_COMPONENTNAME, 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = mPackageManager.resolveActivity(mEnabledActivityIntent, 0); 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info.activityInfo); 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(info.activityInfo.enabled); 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testQueryDisabledActivity() throws Exception { 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_ACTIVITY_COMPONENTNAME, 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 1659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> infoList = 1679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryIntentActivities(mDisabledActivityIntent, 0); 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(0, infoList.size()); 1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> infoList2 = 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryIntentActivities(mDisabledActivityIntent, 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GET_DISABLED_COMPONENTS); 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(1, infoList2.size()); 1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = infoList2.get(0); 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info.activityInfo); 1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(info.activityInfo.enabled); 1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 180f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 1819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testQueryEnabledActivity() throws Exception { 1829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_ACTIVITY_COMPONENTNAME, 1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 1849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> infoList = 1879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryIntentActivities(mEnabledActivityIntent, 0); 1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(1, infoList.size()); 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = infoList.get(0); 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info.activityInfo); 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(info.activityInfo.enabled); 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 1969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testGetDisabledActivityInfo() throws Exception { 1979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_ACTIVITY_COMPONENTNAME, 1989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getActivityInfo(DISABLED_ACTIVITY_COMPONENTNAME, 0); 2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project fail("Attempt to get info on disabled component should fail."); 2049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (PackageManager.NameNotFoundException e) { 2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // expected 2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ActivityInfo activityInfo = 2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getActivityInfo(DISABLED_ACTIVITY_COMPONENTNAME, 2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GET_DISABLED_COMPONENTS); 2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(activityInfo); 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(activityInfo.enabled); 2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 215f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testGetEnabledActivityInfo() throws Exception { 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_ACTIVITY_COMPONENTNAME, 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 2209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ActivityInfo activityInfo = 2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getActivityInfo(ENABLED_ACTIVITY_COMPONENTNAME, 0); 2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(activityInfo); 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(activityInfo.enabled); 2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testEnableActivity() throws Exception { 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_ACTIVITY_COMPONENTNAME, 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = mPackageManager.resolveActivity(mDisabledActivityIntent, 0); 2349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(info); 2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_ACTIVITY_COMPONENTNAME, 2369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_ENABLED, 2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info2 = 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveActivity(mDisabledActivityIntent, 2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 0); 2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2); 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2.activityInfo); 2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(info2.activityInfo.enabled); 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> infoList = 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryIntentActivities(mDisabledActivityIntent, 0); 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(1, infoList.size()); 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 250f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @MediumTest 2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testDisableActivity() throws Exception { 2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_ACTIVITY_COMPONENTNAME, 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = mPackageManager.resolveActivity(mEnabledActivityIntent, 0); 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info.activityInfo); 2599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_ACTIVITY_COMPONENTNAME, 2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DISABLED, 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info2 = 2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveActivity(mEnabledActivityIntent, 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 0); 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(info2); 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info3 = mPackageManager.resolveActivity(mEnabledActivityIntent, 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GET_DISABLED_COMPONENTS); 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info3); 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info3.activityInfo); 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(info3.activityInfo.enabled); 2729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> infoList = 2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryIntentActivities(mEnabledActivityIntent, 0); 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(0, infoList.size()); 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 278f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testResolveDisabledService() throws Exception { 2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_SERVICE_COMPONENTNAME, 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = mPackageManager.resolveService(mDisabledServiceIntent, 0); 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(info); 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info2 = mPackageManager.resolveService( 2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledServiceIntent, GET_DISABLED_COMPONENTS); 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2); 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2.serviceInfo); 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(info2.serviceInfo.enabled); 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 294f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testResolveEnabledService() throws Exception { 2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_SERVICE_COMPONENTNAME, 2979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 2989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 2999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = mPackageManager.resolveService(mEnabledServiceIntent, 0); 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info.serviceInfo); 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(info.serviceInfo.enabled); 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 307f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testQueryDisabledService() throws Exception { 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_SERVICE_COMPONENTNAME, 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> infoList = 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryIntentServices(mDisabledServiceIntent, 0); 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(0, infoList.size()); 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> infoList2 = 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryIntentServices(mDisabledServiceIntent, 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GET_DISABLED_COMPONENTS); 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(1, infoList2.size()); 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = infoList2.get(0); 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info.serviceInfo); 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(info.serviceInfo.enabled); 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 327f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testQueryEnabledService() throws Exception { 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_SERVICE_COMPONENTNAME, 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> infoList = 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryIntentServices(mEnabledServiceIntent, 0); 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(1, infoList.size()); 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = infoList.get(0); 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info.serviceInfo); 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(info.serviceInfo.enabled); 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testGetDisabledServiceInfo() throws Exception { 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_SERVICE_COMPONENTNAME, 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getServiceInfo(DISABLED_SERVICE_COMPONENTNAME, 0); 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project fail("Attempt to get info on disabled component should fail."); 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (PackageManager.NameNotFoundException e) { 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // expected 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ServiceInfo serviceInfo = 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getServiceInfo(DISABLED_SERVICE_COMPONENTNAME, 3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GET_DISABLED_COMPONENTS); 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(serviceInfo); 3599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(serviceInfo.enabled); 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 362f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testGetEnabledServiceInfo() throws Exception { 3649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_SERVICE_COMPONENTNAME, 3659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 3679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ServiceInfo serviceInfo = 3699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getServiceInfo(ENABLED_SERVICE_COMPONENTNAME, 0); 3709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(serviceInfo); 3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(serviceInfo.enabled); 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testEnableService() throws Exception { 3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_SERVICE_COMPONENTNAME, 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = mPackageManager.resolveService(mDisabledServiceIntent, 0); 3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(info); 3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_SERVICE_COMPONENTNAME, 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_ENABLED, 3849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info2 = 3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveService(mDisabledServiceIntent, 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 0); 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2); 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2.serviceInfo); 3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(info2.serviceInfo.enabled); 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 393f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @MediumTest 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testDisableService() throws Exception { 3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_SERVICE_COMPONENTNAME, 3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = mPackageManager.resolveService(mEnabledServiceIntent, 0); 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info.serviceInfo); 4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_SERVICE_COMPONENTNAME, 4039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DISABLED, 4049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 4059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info2 = 4069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveService(mEnabledServiceIntent, 4079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 0); 4089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(info2); 4099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info3 = mPackageManager.resolveService(mEnabledServiceIntent, 4119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GET_DISABLED_COMPONENTS); 4129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info3); 4139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info3.serviceInfo); 4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(info3.serviceInfo.enabled); 4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 417f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testQueryDisabledReceiver() throws Exception { 4199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_RECEIVER_COMPONENTNAME, 4209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 4219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 4229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> infoList = 4249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryBroadcastReceivers(mDisabledReceiverIntent, 0); 4259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(0, infoList.size()); 4269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> infoList2 = 4289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryBroadcastReceivers(mDisabledReceiverIntent, 4299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GET_DISABLED_COMPONENTS); 4309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(1, infoList2.size()); 4319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = infoList2.get(0); 4329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 4339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info.activityInfo); 4349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(info.activityInfo.enabled); 4359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 437f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 4389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testQueryEnabledReceiver() throws Exception { 4399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_RECEIVER_COMPONENTNAME, 4409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 4419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 4429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> infoList = 4449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryBroadcastReceivers(mEnabledReceiverIntent, 0); 4459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(1, infoList.size()); 4469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = infoList.get(0); 4479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 4489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info.activityInfo); 4499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(info.activityInfo.enabled); 4509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 4539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testGetDisabledReceiverInfo() throws Exception { 4549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_RECEIVER_COMPONENTNAME, 4559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 4569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 4579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getReceiverInfo(DISABLED_RECEIVER_COMPONENTNAME, 0); 4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project fail("Attempt to get info on disabled component should fail."); 4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (PackageManager.NameNotFoundException e) { 4629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // expected 4639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ActivityInfo activityInfo = 4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getReceiverInfo(DISABLED_RECEIVER_COMPONENTNAME, 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GET_DISABLED_COMPONENTS); 4689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(activityInfo); 4699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(activityInfo.enabled); 4709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 472f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 4739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testGetEnabledReceiverInfo() throws Exception { 4749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_RECEIVER_COMPONENTNAME, 4759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 4769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 4779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ActivityInfo activityInfo = 4799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getReceiverInfo(ENABLED_RECEIVER_COMPONENTNAME, 0); 4809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(activityInfo); 4819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(activityInfo.enabled); 4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 4859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testEnableReceiver() throws Exception { 4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_RECEIVER_COMPONENTNAME, 4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 4889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 4919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getReceiverInfo(DISABLED_RECEIVER_COMPONENTNAME, 0); 4929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project fail("Attempt to get info on disabled component should fail."); 4939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (PackageManager.NameNotFoundException e) { 4949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // expected 4959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_RECEIVER_COMPONENTNAME, 4989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_ENABLED, 4999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ActivityInfo activityInfo = 5019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getReceiverInfo(DISABLED_RECEIVER_COMPONENTNAME, 0); 5029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(activityInfo); 5039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(activityInfo.enabled); 5049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 5079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testDisableReceiver() throws Exception { 5089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_RECEIVER_COMPONENTNAME, 5099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 5109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ActivityInfo activityInfo = 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getReceiverInfo(ENABLED_RECEIVER_COMPONENTNAME, 0); 5149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(activityInfo); 5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(activityInfo.enabled); 5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_RECEIVER_COMPONENTNAME, 5179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DISABLED, 5189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 5199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 5209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.getReceiverInfo(DISABLED_RECEIVER_COMPONENTNAME, 0); 5219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project fail("Attempt to get info on disabled component should fail."); 5229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (PackageManager.NameNotFoundException e) { 5239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // expected 5249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 527f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 5289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testResolveEnabledProvider() throws Exception { 5299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_PROVIDER_COMPONENTNAME, 5309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 5319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 5329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ProviderInfo providerInfo = 5349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveContentProvider(ENABLED_PROVIDER_NAME, 0); 5359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(providerInfo); 5369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(providerInfo.enabled); 5379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 539f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 5409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testResolveDisabledProvider() throws Exception { 5419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_PROVIDER_COMPONENTNAME, 5429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 5439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 5449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ProviderInfo providerInfo = 5469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveContentProvider(DISABLED_PROVIDER_NAME, 0); 5479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(providerInfo); 5489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ProviderInfo providerInfo2 = 5499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveContentProvider(DISABLED_PROVIDER_NAME, 5509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GET_DISABLED_COMPONENTS); 5519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(providerInfo2); 5529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(providerInfo2.enabled); 5539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 5569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testEnableProvider() throws Exception { 5579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_PROVIDER_COMPONENTNAME, 5589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 5599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 5609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ProviderInfo providerInfo = 5619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveContentProvider(DISABLED_PROVIDER_NAME, 0); 5629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(providerInfo); 5639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_PROVIDER_COMPONENTNAME, 5659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_ENABLED, 5669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 5679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ProviderInfo providerInfo2 = 5689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveContentProvider(DISABLED_PROVIDER_NAME, 0); 5699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(providerInfo2); 5709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertFalse(providerInfo2.enabled); 5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 5749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testDisableProvider() throws Exception { 5759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_PROVIDER_COMPONENTNAME, 5769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 5779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 5789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ProviderInfo providerInfo = 5799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveContentProvider(ENABLED_PROVIDER_NAME, 0); 5809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(providerInfo); 5819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(providerInfo.enabled); 5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_PROVIDER_COMPONENTNAME, 5849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DISABLED, 5859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 5869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ProviderInfo providerInfo2 = 5879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveContentProvider(ENABLED_PROVIDER_NAME, 0); 5889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(providerInfo2); 5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 591f76c56bcaa9df1d1afa711177f813dc63f399795Brett Chabot @SmallTest 5929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testQueryEnabledProvider() throws Exception { 5939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_PROVIDER_COMPONENTNAME, 5949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 5959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 5969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String enabledProviderProcessName = getComponentProcessName(ENABLED_PROVIDER_NAME); 5989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageInfo pi = mPackageManager.getPackageInfo(ENABLED_PACKAGENAME, 0); 5999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<ProviderInfo> providerInfoList = 6009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryContentProviders(enabledProviderProcessName, 6019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project pi.applicationInfo.uid, 0); 6029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(providerInfoList); 6039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(1, providerInfoList.size()); 6049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(ENABLED_PROVIDER_CLASSNAME, 6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project providerInfoList.get(0).name); 6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 6099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testQueryDisabledProvider() throws Exception { 6109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_PROVIDER_COMPONENTNAME, 6119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageInfo pi = mPackageManager.getPackageInfo(ENABLED_PACKAGENAME, 0); 6159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String disabledProviderProcessName = getComponentProcessName(DISABLED_PROVIDER_NAME); 6179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<ProviderInfo> providerInfoList = 6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryContentProviders(disabledProviderProcessName, 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project pi.applicationInfo.uid, 0); 6209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(providerInfoList); 6219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<ProviderInfo> providerInfoList2 = 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryContentProviders(disabledProviderProcessName, 6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project pi.applicationInfo.uid, GET_DISABLED_COMPONENTS); 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(providerInfoList2); 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(1, providerInfoList2.size()); 6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(DISABLED_PROVIDER_CLASSNAME, 6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project providerInfoList2.get(0).name); 6309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private String getComponentProcessName(String componentNameStr) { 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ComponentInfo providerInfo = 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveContentProvider(componentNameStr, 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project GET_DISABLED_COMPONENTS); 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return providerInfo.processName; 6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void DISABLED_testResolveEnabledActivityInDisabledApp() throws Exception { 6409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setApplicationEnabledSetting(DISABLED_PACKAGENAME, 6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 0); 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_APP_ENABLED_ACTIVITY_COMPONENTNAME, 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = 6489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveActivity(mDisabledAppEnabledActivityIntent, 0); 6499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(info); 6509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info2 = mPackageManager.resolveActivity( 6529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledAppEnabledActivityIntent, GET_DISABLED_COMPONENTS); 6539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2); 6549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2.activityInfo); 6559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(info2.activityInfo.enabled); 6569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void DISABLED_testEnableApplication() throws Exception { 6599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setApplicationEnabledSetting(DISABLED_PACKAGENAME, 6609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 6619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 0); 6629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_APP_ENABLED_ACTIVITY_COMPONENTNAME, 6639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 6659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = 6679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.resolveActivity(mDisabledAppEnabledActivityIntent, 0); 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(info); 6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setApplicationEnabledSetting(DISABLED_PACKAGENAME, 6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_ENABLED, 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 0); 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info2 = mPackageManager.resolveActivity( 6749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mDisabledAppEnabledActivityIntent, 0); 6759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2); 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info2.activityInfo); 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(info2.activityInfo.enabled); 6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void DISABLED_testDisableApplication() throws Exception { 6829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setApplicationEnabledSetting(ENABLED_PACKAGENAME, 6839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 6849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 0); 6859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(ENABLED_ACTIVITY_COMPONENTNAME, 6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 6889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info = mPackageManager.resolveActivity(mEnabledActivityIntent, 0); 6909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info); 6919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNotNull(info.activityInfo); 6929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertTrue(info.activityInfo.enabled); 6939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setApplicationEnabledSetting(ENABLED_PACKAGENAME, 6959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DISABLED, 6969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 0); 6979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final ResolveInfo info2 = mPackageManager.resolveActivity(mEnabledActivityIntent, 0); 6989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertNull(info2); 6999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Clean up 7019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setApplicationEnabledSetting(ENABLED_PACKAGENAME, 7029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 7039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 0); 7049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @MediumTest 7089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void testNonExplicitResolveAfterEnabling() throws Exception { 7099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_ACTIVITY_COMPONENTNAME, 7109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_DEFAULT, 7119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 7129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Intent intent = new Intent(Intent.ACTION_MAIN, null); 7149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project intent.addCategory(TEST_CATEGORY); 7159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> launchables = 7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryIntentActivities(intent, 0); 7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int numItems = launchables.size(); 7209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(0, numItems); 7219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.setComponentEnabledSetting(DISABLED_ACTIVITY_COMPONENTNAME, 7239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project COMPONENT_ENABLED_STATE_ENABLED, 7249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project PackageManager.DONT_KILL_APP); 7259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project final List<ResolveInfo> launchables2 = 7279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPackageManager.queryIntentActivities(intent, 0); 7289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int numItems2 = launchables2.size(); 7309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project assertEquals(1, numItems2); 7319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 733