Merge "Add a menu item to add new groups"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index ed4189e..da9e52e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -19,7 +19,7 @@
     android:versionCode="10500"
     android:versionName="1.5.0">
 
-    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="24" />
+    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="23" />
     <original-package android:name="com.android.contacts" />
 
     <uses-permission android:name="android.permission.CALL_PHONE" />
diff --git a/src/com/android/contacts/interactions/JoinContactsDialogFragment.java b/src/com/android/contacts/interactions/JoinContactsDialogFragment.java
index 205e18e..1dae5dc 100644
--- a/src/com/android/contacts/interactions/JoinContactsDialogFragment.java
+++ b/src/com/android/contacts/interactions/JoinContactsDialogFragment.java
@@ -39,15 +39,23 @@
     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 void start(Activity activity, TreeSet<Long> contactIds) {
+    public static JoinContactsDialogFragment 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) {
@@ -58,6 +66,10 @@
         return fragment;
     }
 
+    public void setJoinContactsListener(JoinContactsListener listener) {
+        mListener = listener;
+    }
+
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         final TreeSet<Long> contactIds =
@@ -99,9 +111,8 @@
     }
 
     private void notifyListener() {
-        if (getActivity() instanceof JoinContactsListener) {
-            ((JoinContactsListener) getActivity()).onContactsJoined();
+        if (mListener != null) {
+            mListener.onContactsJoined();
         }
     }
-
 }