13e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang/*
23e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang * Copyright (C) 2015 The Android Open Source Project
33e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang *
43e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang * Licensed under the Apache License, Version 2.0 (the "License");
53e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang * you may not use this file except in compliance with the License.
63e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang * You may obtain a copy of the License at
73e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang *
83e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang *      http://www.apache.org/licenses/LICENSE-2.0
93e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang *
103e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang * Unless required by applicable law or agreed to in writing, software
113e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang * distributed under the License is distributed on an "AS IS" BASIS,
123e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang * See the License for the specific language governing permissions and
143e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang * limitations under the License
153e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang */
163e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang
173e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jangpackage com.android.contacts.editor;
183e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang
193e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jangimport android.app.Dialog;
203e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jangimport android.app.DialogFragment;
213e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jangimport android.content.DialogInterface;
223e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jangimport android.net.Uri;
233e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jangimport android.os.Bundle;
24c40f3e945c43ff1ff90abb7fb2daf56aba315e10Gary Maiimport android.support.v7.app.AlertDialog;
253e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang
26678108ebb9926a79ad0d7ac4f11417dec1583d42Gary Maiimport com.android.contacts.R;
27678108ebb9926a79ad0d7ac4f11417dec1583d42Gary Mai
283e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jangpublic class SuggestionEditConfirmationDialogFragment extends DialogFragment {
293e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang
303e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang    private static final String ARG_CONTACT_URI = "contactUri";
31678108ebb9926a79ad0d7ac4f11417dec1583d42Gary Mai    private static final String ARG_RAW_CONTACT_ID = "rawContactId";
323e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang
33678108ebb9926a79ad0d7ac4f11417dec1583d42Gary Mai    public static void show(ContactEditorFragment fragment, Uri contactUri, long rawContactId) {
343e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang        final Bundle args = new Bundle();
353e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang        args.putParcelable(ARG_CONTACT_URI, contactUri);
36678108ebb9926a79ad0d7ac4f11417dec1583d42Gary Mai        args.putLong(ARG_RAW_CONTACT_ID, rawContactId);
373e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang
383e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang        final SuggestionEditConfirmationDialogFragment dialog = new
393e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                SuggestionEditConfirmationDialogFragment();
403e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang        dialog.setArguments(args);
413e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang        dialog.setTargetFragment(fragment, 0);
423e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang        dialog.show(fragment.getFragmentManager(), "edit");
433e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang    }
443e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang
453e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang    @Override
463e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang    public Dialog onCreateDialog(Bundle savedInstanceState) {
473e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang        return new AlertDialog.Builder(getActivity())
483e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                .setIconAttribute(android.R.attr.alertDialogIcon)
493e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                .setMessage(R.string.aggregation_suggestion_edit_dialog_message)
503e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                .setPositiveButton(android.R.string.yes,
513e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                        new DialogInterface.OnClickListener() {
523e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                            @Override
533e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                            public void onClick(DialogInterface dialog, int whichButton) {
54363af60ea23e5a3b945005712a16564ab69db18bGary Mai                                final ContactEditorFragment targetFragment =
55363af60ea23e5a3b945005712a16564ab69db18bGary Mai                                        (ContactEditorFragment) getTargetFragment();
563e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                                final Uri contactUri =
573e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                                        getArguments().getParcelable(ARG_CONTACT_URI);
58678108ebb9926a79ad0d7ac4f11417dec1583d42Gary Mai                                final long rawContactId =
59678108ebb9926a79ad0d7ac4f11417dec1583d42Gary Mai                                        getArguments().getLong(ARG_RAW_CONTACT_ID);
60678108ebb9926a79ad0d7ac4f11417dec1583d42Gary Mai                                targetFragment.doEditSuggestedContact(contactUri, rawContactId);
613e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                            }
623e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                        }
633e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                )
643e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                .setNegativeButton(android.R.string.no, null)
653e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang                .create();
663e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang    }
673e9a62449b8ca3a38b1d51019c6ea13972263bc2Walter Jang}
68