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