148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh/*
248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh * Copyright (C) 2010 The Android Open Source Project
348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh *
448090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh * Licensed under the Apache License, Version 2.0 (the "License");
548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh * you may not use this file except in compliance with the License.
648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh * You may obtain a copy of the License at
748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh *
848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh *      http://www.apache.org/licenses/LICENSE-2.0
948090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh *
1048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh * Unless required by applicable law or agreed to in writing, software
1148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh * distributed under the License is distributed on an "AS IS" BASIS,
1248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh * See the License for the specific language governing permissions and
1448090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh * limitations under the License.
1548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh */
1648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
1748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yehpackage com.android.settings.wifi;
1848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
195cd60eb8aa5a4d5cf1a850ddd05d4f94eae1eb2fDaisuke Miyakawaimport com.android.settings.R;
205cd60eb8aa5a4d5cf1a850ddd05d4f94eae1eb2fDaisuke Miyakawa
2148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yehimport android.app.AlertDialog;
2248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yehimport android.content.Context;
2348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yehimport android.content.DialogInterface;
2448090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yehimport android.os.Bundle;
2548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yehimport android.view.View;
26d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawaimport android.widget.Button;
2748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
28d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawaclass WifiDialog extends AlertDialog implements WifiConfigUiBase {
2948090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    static final int BUTTON_SUBMIT = DialogInterface.BUTTON_POSITIVE;
3048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    static final int BUTTON_FORGET = DialogInterface.BUTTON_NEUTRAL;
3148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
32d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    private final boolean mEdit;
3348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    private final DialogInterface.OnClickListener mListener;
3448090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    private final AccessPoint mAccessPoint;
3548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
3648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    private View mView;
37d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    private WifiConfigController mController;
3848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
39d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    public WifiDialog(Context context, DialogInterface.OnClickListener listener,
4048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh            AccessPoint accessPoint, boolean edit) {
4125b69ebcccec93798d1ebf6c77707bd79036be44Amith Yamasani        super(context, R.style.Theme_WifiDialog);
42d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa        mEdit = edit;
4348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh        mListener = listener;
4448090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh        mAccessPoint = accessPoint;
4548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    }
4648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
47d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    @Override
48d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    public WifiConfigController getController() {
49d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa        return mController;
5048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    }
5148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
5248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    @Override
5348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    protected void onCreate(Bundle savedInstanceState) {
5448090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh        mView = getLayoutInflater().inflate(R.layout.wifi_dialog, null);
5548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh        setView(mView);
5648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh        setInverseBackgroundForced(true);
5758b0291fe6e6e47bf3d7457d8cf2648b8ce4a1aeDaisuke Miyakawa        mController = new WifiConfigController(this, mView, mAccessPoint, mEdit);
5848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh        super.onCreate(savedInstanceState);
590c0bd827a104ee3a5891b8c5f1dae6db422e09e9Irfan Sheriff        /* During creation, the submit button can be unavailable to determine
600c0bd827a104ee3a5891b8c5f1dae6db422e09e9Irfan Sheriff         * visibility. Right after creation, update button visibility */
610c0bd827a104ee3a5891b8c5f1dae6db422e09e9Irfan Sheriff        mController.enableSubmitIfAppropriate();
6248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    }
6348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
64d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    @Override
65d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    public boolean isEdit() {
66d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa        return mEdit;
6748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    }
6848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
69d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    @Override
70d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    public Button getSubmitButton() {
71d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa        return getButton(BUTTON_SUBMIT);
7248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    }
7348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
74d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    @Override
75d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    public Button getForgetButton() {
76d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa        return getButton(BUTTON_FORGET);
7748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    }
7848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
79d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    @Override
80d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    public Button getCancelButton() {
81d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa        return getButton(BUTTON_NEGATIVE);
8248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    }
8348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
84d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    @Override
85d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    public void setSubmitButton(CharSequence text) {
86d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa        setButton(BUTTON_SUBMIT, text, mListener);
8748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    }
8848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
89d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    @Override
90d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    public void setForgetButton(CharSequence text) {
91d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa        setButton(BUTTON_FORGET, text, mListener);
9248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    }
9348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh
94d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    @Override
95d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa    public void setCancelButton(CharSequence text) {
96d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa        setButton(BUTTON_NEGATIVE, text, mListener);
9748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh    }
9848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh}
99