19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.content; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.KeyEvent; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic interface DialogInterface { 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The identifier for the positive button. 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int BUTTON_POSITIVE = -1; 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The identifier for the negative button. 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int BUTTON_NEGATIVE = -2; 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The identifier for the neutral button. 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int BUTTON_NEUTRAL = -3; 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @deprecated Use {@link #BUTTON_POSITIVE} 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Deprecated 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int BUTTON1 = BUTTON_POSITIVE; 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @deprecated Use {@link #BUTTON_NEGATIVE} 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Deprecated 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int BUTTON2 = BUTTON_NEGATIVE; 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @deprecated Use {@link #BUTTON_NEUTRAL} 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Deprecated 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int BUTTON3 = BUTTON_NEUTRAL; 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void cancel(); 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void dismiss(); 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Interface used to allow the creator of a dialog to run some code when the 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dialog is canceled. 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p> 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This will only be called when the dialog is canceled, if the creator 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * needs to know when it is dismissed in general, use 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface.OnDismissListener}. 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project interface OnCancelListener { 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This method will be invoked when the dialog is canceled. 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialog The dialog that was canceled will be passed into the 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * method. 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void onCancel(DialogInterface dialog); 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Interface used to allow the creator of a dialog to run some code when the 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dialog is dismissed. 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project interface OnDismissListener { 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This method will be invoked when the dialog is dismissed. 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialog The dialog that was dismissed will be passed into the 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * method. 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void onDismiss(DialogInterface dialog); 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 95045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy * Interface used to allow the creator of a dialog to run some code when the 96045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy * dialog is shown. 97045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy */ 98045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy interface OnShowListener { 99045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy /** 100045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy * This method will be invoked when the dialog is shown. 101045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy * 102045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy * @param dialog The dialog that was shown will be passed into the 103045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy * method. 104045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy */ 105045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy public void onShow(DialogInterface dialog); 106045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy } 107045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy 108045163ac16d5fba694a3b46d0cecb3d84863eaedRomain Guy /** 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Interface used to allow the creator of a dialog to run some code when an 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * item on the dialog is clicked.. 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project interface OnClickListener { 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This method will be invoked when a button in the dialog is clicked. 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialog The dialog that received the click. 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param which The button that was clicked (e.g. 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link DialogInterface#BUTTON1}) or the position 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of the item clicked. 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /* TODO: Change to use BUTTON_POSITIVE after API council */ 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void onClick(DialogInterface dialog, int which); 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Interface used to allow the creator of a dialog to run some code when an 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * item in a multi-choice dialog is clicked. 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project interface OnMultiChoiceClickListener { 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This method will be invoked when an item in the dialog is clicked. 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialog The dialog where the selection was made. 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param which The position of the item in the list that was clicked. 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param isChecked True if the click checked the item, else false. 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void onClick(DialogInterface dialog, int which, boolean isChecked); 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Interface definition for a callback to be invoked when a key event is 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dispatched to this dialog. The callback will be invoked before the key 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * event is given to the dialog. 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project interface OnKeyListener { 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Called when a key is dispatched to a dialog. This allows listeners to 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * get a chance to respond before the dialog. 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialog The dialog the key has been dispatched to. 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param keyCode The code for the physical key that was pressed 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param event The KeyEvent object containing full information about 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the event. 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return True if the listener has consumed the event, false otherwise. 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event); 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 159