diff options
Diffstat (limited to 'tests/src/com/android')
3 files changed, 77 insertions, 9 deletions
diff --git a/tests/src/com/android/providers/contacts/CallLogProviderTest.java b/tests/src/com/android/providers/contacts/CallLogProviderTest.java index 12ca128..29a42dc 100644 --- a/tests/src/com/android/providers/contacts/CallLogProviderTest.java +++ b/tests/src/com/android/providers/contacts/CallLogProviderTest.java @@ -23,6 +23,9 @@ import android.content.ContentProvider; import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; +import android.content.ContextWrapper; +import android.content.Intent; +import android.content.pm.PackageManager; import android.database.Cursor; import android.net.Uri; import android.provider.CallLog; @@ -342,6 +345,21 @@ public class CallLogProviderTest extends BaseContactsProvider2Test { protected String getCurrentCountryIso() { return "us"; } + + @Override + protected Context context() { + return new ContextWrapper(super.context()) { + @Override + public PackageManager getPackageManager() { + return new MockPackageManager("com.test.package1", "com.test.package2"); + } + + @Override + public void sendBroadcast(Intent intent, String receiverPermission) { + // Do nothing for now. + } + }; + } } } diff --git a/tests/src/com/android/providers/contacts/MockPackageManager.java b/tests/src/com/android/providers/contacts/MockPackageManager.java new file mode 100644 index 0000000..db1e79e --- /dev/null +++ b/tests/src/com/android/providers/contacts/MockPackageManager.java @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.providers.contacts; + +import android.content.Intent; +import android.content.pm.ActivityInfo; +import android.content.pm.ResolveInfo; + +import java.util.ArrayList; +import java.util.List; + +public class MockPackageManager extends android.test.mock.MockPackageManager { + private final String[] mPackages; + public MockPackageManager(String... packages) { + mPackages = packages; + } + + @Override + public List<ResolveInfo> queryBroadcastReceivers(Intent intent, int flags) { + List<ResolveInfo> resolveInfos = new ArrayList<ResolveInfo>(); + for (String pkg : mPackages) { + resolveInfos.add(createResolveInfo(pkg)); + } + return resolveInfos; + } + + private ResolveInfo createResolveInfo(String packageName) { + ActivityInfo activityInfo = new ActivityInfo(); + activityInfo.packageName = packageName; + activityInfo.name = "FooClass"; + ResolveInfo resolveInfo = new ResolveInfo(); + resolveInfo.activityInfo = activityInfo; + return resolveInfo; + } + + @Override + public String[] getPackagesForUid(int uid) { + return new String[] {mPackages[0]}; + } +} diff --git a/tests/src/com/android/providers/contacts/VoicemailProviderTest.java b/tests/src/com/android/providers/contacts/VoicemailProviderTest.java index baee751..e214f60 100644 --- a/tests/src/com/android/providers/contacts/VoicemailProviderTest.java +++ b/tests/src/com/android/providers/contacts/VoicemailProviderTest.java @@ -16,13 +16,13 @@ package com.android.providers.contacts; -import android.content.ComponentName; import android.content.ContentProvider; import android.content.ContentUris; import android.content.ContentValues; import android.content.Context; import android.content.ContextWrapper; import android.content.Intent; +import android.content.pm.PackageManager; import android.database.Cursor; import android.net.Uri; import android.provider.CallLog.Calls; @@ -539,6 +539,10 @@ public class VoicemailProviderTest extends BaseContactsProvider2Test { public void sendBroadcast(Intent intent, String receiverPermission) { mDelgate.sendOrderedBroadcast(intent, receiverPermission); } + @Override + public PackageManager getPackageManager() { + return new MockPackageManager("com.test.package1", "com.test.package2"); + } }; } @@ -546,14 +550,6 @@ public class VoicemailProviderTest extends BaseContactsProvider2Test { protected String getCallingPackage() { return getContext().getPackageName(); } - - @Override - protected List<ComponentName> getBroadcastReceiverComponents(String intentAction, Uri uri) { - List<ComponentName> broadcastReceiverComponents = new ArrayList<ComponentName>(); - broadcastReceiverComponents.add(new ComponentName( - getContext().getPackageName(), "TestReceiverClass")); - return broadcastReceiverComponents; - } } /** Lazily construct the test directory when required. */ |