Fixing PhoneNumberInteractionTest
Bug: 3330180
Change-Id: I8431d08405bd5ad71b94679cec803ebe5315df2e
diff --git a/src/com/android/contacts/interactions/PhoneNumberInteraction.java b/src/com/android/contacts/interactions/PhoneNumberInteraction.java
index 1a43c9a..277fa56 100644
--- a/src/com/android/contacts/interactions/PhoneNumberInteraction.java
+++ b/src/com/android/contacts/interactions/PhoneNumberInteraction.java
@@ -213,7 +213,7 @@
null,
null);
mLoader.registerListener(0, this);
- startLoading(mLoader);
+ mLoader.startLoading();
}
@Override
@@ -355,7 +355,7 @@
}
/* Visible for testing */
- void startLoading(Loader<Cursor> loader) {
- loader.startLoading();
+ CursorLoader getLoader() {
+ return mLoader;
}
}
diff --git a/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java b/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java
index 8c6a1ac..43e844e 100644
--- a/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java
+++ b/tests/src/com/android/contacts/interactions/PhoneNumberInteractionTest.java
@@ -22,16 +22,13 @@
import com.android.contacts.tests.mocks.MockContentProvider;
import com.android.contacts.tests.mocks.MockContentProvider.Query;
-import android.content.AsyncTaskLoader;
import android.content.ContentUris;
import android.content.Context;
import android.content.DialogInterface.OnDismissListener;
import android.content.Intent;
-import android.content.Loader;
-import android.database.Cursor;
import android.net.Uri;
+import android.os.AsyncTask;
import android.os.Bundle;
-import android.os.Parcelable;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.RawContacts;
@@ -53,6 +50,11 @@
@Smoke
public class PhoneNumberInteractionTest extends InstrumentationTestCase {
+ static {
+ // AsyncTask class needs to be initialized on the main thread.
+ AsyncTask.init();
+ }
+
private final static class TestPhoneNumberInteraction extends PhoneNumberInteraction {
Intent startedIntent;
int dialogId;
@@ -64,14 +66,6 @@
}
@Override
- void startLoading(Loader<Cursor> loader) {
- // Execute the loader synchronously
- AsyncTaskLoader<Cursor> atLoader = (AsyncTaskLoader<Cursor>)loader;
- Cursor data = atLoader.loadInBackground();
- atLoader.deliverResult(data);
- }
-
- @Override
void startActivity(Intent intent) {
this.startedIntent = intent;
}
@@ -108,6 +102,7 @@
mContext, true, null);
interaction.startInteraction(contactUri);
+ interaction.getLoader().waitForLoader();
assertEquals(Intent.ACTION_SENDTO, interaction.startedIntent.getAction());
assertEquals("sms:123", interaction.startedIntent.getDataString());
@@ -123,6 +118,7 @@
mContext, true, null);
interaction.startInteraction(contactUri);
+ interaction.getLoader().waitForLoader();
assertEquals(Intent.ACTION_SENDTO, interaction.startedIntent.getAction());
assertEquals("sms:456", interaction.startedIntent.getDataString());
@@ -138,6 +134,7 @@
mContext, false, null);
interaction.startInteraction(contactUri);
+ interaction.getLoader().waitForLoader();
assertEquals(Intent.ACTION_CALL_PRIVILEGED, interaction.startedIntent.getAction());
assertEquals("tel:123", interaction.startedIntent.getDataString());
@@ -153,6 +150,7 @@
mContext, false, null);
interaction.startInteraction(contactUri);
+ interaction.getLoader().waitForLoader();
assertEquals(R.id.dialog_phone_number_call_disambiguation, interaction.dialogId);