GroupDeletionDialogFragment.java revision e898a9fa52728b2ff6fcd3add693471e9e15553d
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 com.android.contacts.R; 19e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport com.android.contacts.views.ContactSaveService; 20e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 21e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport android.app.AlertDialog; 22e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport android.app.Dialog; 23e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport android.app.DialogFragment; 24e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport android.app.FragmentManager; 25e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport android.content.DialogInterface; 26e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovimport android.os.Bundle; 27e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 28e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov/** 29e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov * A dialog for deleting a group. 30e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov */ 31e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikovpublic class GroupDeletionDialogFragment extends DialogFragment { 32e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 33e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov private static final String ARG_GROUP_ID = "groupId"; 34e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov private static final String ARG_LABEL = "label"; 35e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 36e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov public static void show(FragmentManager fragmentManager, long groupId, String label) { 37e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov GroupDeletionDialogFragment dialog = new GroupDeletionDialogFragment(); 38e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov Bundle args = new Bundle(); 39e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov args.putLong(ARG_GROUP_ID, groupId); 40e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov args.putString(ARG_LABEL, label); 41e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov dialog.setArguments(args); 42e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov dialog.show(fragmentManager, "deleteGroup"); 43e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov } 44e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 45e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov @Override 46e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov public Dialog onCreateDialog(Bundle savedInstanceState) { 47e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov String label = getArguments().getString(ARG_LABEL); 48e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov String message = getActivity().getString(R.string.delete_group_dialog_message, label); 49e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 50e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov return new AlertDialog.Builder(getActivity()) 51e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov .setIcon(android.R.drawable.ic_dialog_alert) 52e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov .setTitle(R.string.delete_group_dialog_title) 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() { 67e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov Bundle arguments = getArguments(); 68e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov long groupId = arguments.getLong(ARG_GROUP_ID); 69e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov 70e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov getActivity().startService(ContactSaveService.createGroupDeletionIntent( 71e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov getActivity(), groupId)); 72e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov } 73e898a9fa52728b2ff6fcd3add693471e9e15553dDmitri Plotnikov} 74