Refactoring contact list mode resolution.
Also, removing tons of obsolete code.
Change-Id: Ib661fae4f7568e18bb98d5f5e85d1ba75dc32cdb
diff --git a/src/com/android/contacts/ContactsSearchManager.java b/src/com/android/contacts/ContactsSearchManager.java
index 2297817..340d7d6 100644
--- a/src/com/android/contacts/ContactsSearchManager.java
+++ b/src/com/android/contacts/ContactsSearchManager.java
@@ -16,6 +16,8 @@
package com.android.contacts;
+import com.android.contacts.list.ContactsRequest;
+
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
@@ -46,6 +48,14 @@
public static final String ORIGINAL_TYPE_EXTRA_KEY = "originalType";
/**
+ * An extra that provides context for search UI and defines the scope for
+ * the search queries.
+ */
+ public static final String ORIGINAL_ACTION_CODE_EXTRA_KEY = "originalActionCode";
+
+ public static final String ORIGINAL_REQUEST_KEY = "originalRequest";
+
+ /**
* Starts the contact list activity in the search mode.
*/
public static void startSearch(Activity context, String initialQuery) {
@@ -53,13 +63,18 @@
}
public static void startSearchForResult(Activity context, String initialQuery,
- int requestCode, Bundle includedExtras) {
+ int requestCode, ContactsRequest originalRequest) {
context.startActivityForResult(
- buildIntent(context, initialQuery, includedExtras), requestCode);
+ buildIntent(context, initialQuery, originalRequest), requestCode);
+ }
+
+ public static void startSearch(Activity context, String initialQuery,
+ ContactsRequest originalRequest) {
+ context.startActivity(buildIntent(context, initialQuery, originalRequest));
}
private static Intent buildIntent(
- Activity context, String initialQuery, Bundle includedExtras) {
+ Activity context, String initialQuery, ContactsRequest originalRequest) {
Intent intent = new Intent();
intent.setData(ContactsContract.Contacts.CONTENT_URI);
intent.setAction(UI.FILTER_CONTACTS_ACTION);
@@ -70,11 +85,8 @@
intent.putExtras(originalExtras);
}
intent.putExtra(UI.FILTER_TEXT_EXTRA_KEY, initialQuery);
- intent.putExtra(ORIGINAL_ACTION_EXTRA_KEY, originalIntent.getAction());
- intent.putExtra(ORIGINAL_COMPONENT_EXTRA_KEY, originalIntent.getComponent().getClassName());
- intent.putExtra(ORIGINAL_TYPE_EXTRA_KEY, originalIntent.getType());
- if (includedExtras != null) {
- intent.putExtras(includedExtras);
+ if (originalRequest != null) {
+ intent.putExtra(ORIGINAL_REQUEST_KEY, originalRequest);
}
return intent;
}