1e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov/* 2e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * Copyright (C) 2010 The Android Open Source Project 3e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * 4e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * Licensed under the Apache License, Version 2.0 (the "License"); 5e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * you may not use this file except in compliance with the License. 6e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * You may obtain a copy of the License at 7e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * 8e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * http://www.apache.org/licenses/LICENSE-2.0 9e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * 10e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * Unless required by applicable law or agreed to in writing, software 11e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * distributed under the License is distributed on an "AS IS" BASIS, 12e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * See the License for the specific language governing permissions and 14e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * limitations under the License. 15e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov */ 16e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovpackage com.android.contacts.interactions; 17e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 18e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport android.app.AlertDialog; 19e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport android.app.Dialog; 20a3e498a1d189010791f98183c1267d869f0d941bBrian Attwellimport android.app.DialogFragment; 21e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport android.app.FragmentManager; 22e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport android.content.DialogInterface; 23e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport android.os.Bundle; 24e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 25e0b2f1e2d01d1ac52ba207dc7ce76971d853298eChiao Chengimport com.android.contacts.ContactSaveService; 26e0b2f1e2d01d1ac52ba207dc7ce76971d853298eChiao Chengimport com.android.contacts.R; 2784a21cc711742f34f19978b2e02cba5f1743e9a5Wenyi Wangimport com.android.contacts.activities.PeopleActivity; 28e0b2f1e2d01d1ac52ba207dc7ce76971d853298eChiao Cheng 29e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov/** 30e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * A dialog for deleting a group. 31e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov */ 32a3e498a1d189010791f98183c1267d869f0d941bBrian Attwellpublic class GroupDeletionDialogFragment extends DialogFragment { 33e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 34e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov private static final String ARG_GROUP_ID = "groupId"; 35e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov private static final String ARG_LABEL = "label"; 36267073407439d7df012a2e0df577e39a1f89c4a8Isaac Katzenelson 37bea2b8508930630a4665d83bc2e95a4ddf9557ccMarcus Hagerott public static void show(FragmentManager fragmentManager, long groupId, String label) { 382b995e2c10e23834b224cad8205c30acc88219d9Katherine Kuan GroupDeletionDialogFragment dialog = new GroupDeletionDialogFragment(); 39e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov Bundle args = new Bundle(); 40e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov args.putLong(ARG_GROUP_ID, groupId); 41e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov args.putString(ARG_LABEL, label); 42e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov dialog.setArguments(args); 43e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov dialog.show(fragmentManager, "deleteGroup"); 44e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov } 45e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 46e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov @Override 47e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov public Dialog onCreateDialog(Bundle savedInstanceState) { 48e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov String label = getArguments().getString(ARG_LABEL); 49e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov String message = getActivity().getString(R.string.delete_group_dialog_message, label); 50e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 51e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov return new AlertDialog.Builder(getActivity()) 524292dfa46123a6c0e1de9862b4d8694bfb87875aDmitri Plotnikov .setIconAttribute(android.R.attr.alertDialogIcon) 53e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov .setMessage(message) 54e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov .setPositiveButton(android.R.string.ok, 55e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov new DialogInterface.OnClickListener() { 56e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov @Override 57e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov public void onClick(DialogInterface dialog, int whichButton) { 58e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov deleteGroup(); 59e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov } 60e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov } 61e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov ) 62e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov .setNegativeButton(android.R.string.cancel, null) 63e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov .create(); 64e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov } 65e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 66e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov protected void deleteGroup() { 67bea2b8508930630a4665d83bc2e95a4ddf9557ccMarcus Hagerott final long groupId = getArguments().getLong(ARG_GROUP_ID); 6884a21cc711742f34f19978b2e02cba5f1743e9a5Wenyi Wang final PeopleActivity activity = ((PeopleActivity) getActivity()); 697967545e62b473503473b2c9e127cef405f67201Wenyi Wang activity.startService(ContactSaveService.createGroupDeletionIntent( 70bea2b8508930630a4665d83bc2e95a4ddf9557ccMarcus Hagerott getActivity(), groupId)); 717967545e62b473503473b2c9e127cef405f67201Wenyi Wang activity.switchToAllContacts(); 722b995e2c10e23834b224cad8205c30acc88219d9Katherine Kuan } 73e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov} 74