Move DuplicatesActivity to GContacts
Bug: 27796451
Change-Id: Ia6a7c6309f584d7cddb7546b766c5dc45b121f5a
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 0b669fb..4467cde 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -78,7 +78,6 @@
import com.android.contacts.common.util.ImplicitIntentsUtil;
import com.android.contacts.common.util.ViewUtil;
import com.android.contacts.common.widget.FloatingActionButtonController;
-import com.android.contacts.commonbind.ObjectFactory;
import com.android.contacts.editor.EditorIntents;
import com.android.contacts.group.GroupListItem;
import com.android.contacts.group.GroupUtil;
@@ -102,6 +101,7 @@
import com.android.contacts.quickcontact.QuickContactActivity;
import com.android.contacts.util.DialogManager;
import com.android.contacts.util.PhoneCapabilityTester;
+import com.android.contactsbind.Assistants;
import com.android.contactsbind.HelpUtils;
import java.util.List;
@@ -1170,7 +1170,7 @@
makeMenuItemVisible(menu, R.id.menu_accounts, showMiscOptions);
makeMenuItemVisible(menu, R.id.menu_blocked_numbers, showMiscOptions && showBlockedNumbers);
makeMenuItemVisible(menu, R.id.menu_duplicates,
- showMiscOptions && ObjectFactory.getDuplicatesActivityIntent(this) != null);
+ showMiscOptions && Assistants.getDuplicatesActivityIntent(this) != null);
final boolean showSelectedContactOptions = mActionBarAdapter.isSelectionMode()
&& mAllFragment.getSelectedContactIds().size() != 0;
@@ -1271,7 +1271,7 @@
}
case R.id.menu_duplicates: {
ImplicitIntentsUtil.startActivityInAppIfPossible(this,
- ObjectFactory.getDuplicatesActivityIntent(this));
+ Assistants.getDuplicatesActivityIntent(this));
return true;
}
case R.id.export_database: {
diff --git a/src/com/android/contacts/interactions/JoinContactsDialogFragment.java b/src/com/android/contacts/interactions/JoinContactsDialogFragment.java
index 1dae5dc..205e18e 100644
--- a/src/com/android/contacts/interactions/JoinContactsDialogFragment.java
+++ b/src/com/android/contacts/interactions/JoinContactsDialogFragment.java
@@ -39,23 +39,15 @@
private static final String FRAGMENT_TAG = "joinDialog";
private static final String KEY_CONTACT_IDS = "contactIds";
- private JoinContactsListener mListener;
-
public interface JoinContactsListener {
void onContactsJoined();
}
- public static JoinContactsDialogFragment start(Activity activity, TreeSet<Long> contactIds) {
+ public static void start(Activity activity, TreeSet<Long> contactIds) {
final FragmentTransaction ft = activity.getFragmentManager().beginTransaction();
final JoinContactsDialogFragment newFragment
= JoinContactsDialogFragment.newInstance(contactIds);
newFragment.show(ft, FRAGMENT_TAG);
-
- if (activity instanceof JoinContactsListener) {
- newFragment.setJoinContactsListener(((JoinContactsListener) activity));
- }
-
- return newFragment;
}
private static JoinContactsDialogFragment newInstance(TreeSet<Long> contactIds) {
@@ -66,10 +58,6 @@
return fragment;
}
- public void setJoinContactsListener(JoinContactsListener listener) {
- mListener = listener;
- }
-
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final TreeSet<Long> contactIds =
@@ -111,8 +99,9 @@
}
private void notifyListener() {
- if (mListener != null) {
- mListener.onContactsJoined();
+ if (getActivity() instanceof JoinContactsListener) {
+ ((JoinContactsListener) getActivity()).onContactsJoined();
}
}
+
}
diff --git a/src/com/android/contactsbind/Assistants.java b/src/com/android/contactsbind/Assistants.java
new file mode 100644
index 0000000..3fba91c
--- /dev/null
+++ b/src/com/android/contactsbind/Assistants.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2016 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.contactsbind;
+
+import android.content.Context;
+import android.content.Intent;
+
+/**
+ * Creates default implementations of contacts assistants.
+ */
+public final class Assistants {
+
+ private Assistants() {
+ }
+
+ /**
+ * Returns an Intent to start an Activity to clean up duplicate contacts or null
+ * if it is not a supported feature.
+ */
+ public static Intent getDuplicatesActivityIntent(Context context) {
+ return null;
+ }
+}