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; 20fc1b00cfe439b0c462b3acbba709c3cbc1132a1fJason Monkimport com.android.settingslib.wifi.AccessPoint; 215cd60eb8aa5a4d5cf1a850ddd05d4f94eae1eb2fDaisuke Miyakawa 2248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yehimport android.app.AlertDialog; 2348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yehimport android.content.Context; 2448090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yehimport android.content.DialogInterface; 2548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yehimport android.os.Bundle; 2648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yehimport android.view.View; 27d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawaimport android.widget.Button; 2848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 29d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawaclass WifiDialog extends AlertDialog implements WifiConfigUiBase { 3048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh static final int BUTTON_SUBMIT = DialogInterface.BUTTON_POSITIVE; 3148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh static final int BUTTON_FORGET = DialogInterface.BUTTON_NEUTRAL; 3248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 33d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa private final boolean mEdit; 343bf0db8d10fee87c6c2cb7f012dcf97d1ce458f3Sanket Padawe private final boolean mModify; 3548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh private final DialogInterface.OnClickListener mListener; 3648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh private final AccessPoint mAccessPoint; 3748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 3848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh private View mView; 39d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa private WifiConfigController mController; 40a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest private boolean mHideSubmitButton; 4189403529adf7584ded2bdadf985fde12a346ec3bZoltan Szatmary-Ban private boolean mHideForgetButton; 42a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest 43a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest public WifiDialog(Context context, DialogInterface.OnClickListener listener, 443bf0db8d10fee87c6c2cb7f012dcf97d1ce458f3Sanket Padawe AccessPoint accessPoint, boolean edit, boolean modify, 453bf0db8d10fee87c6c2cb7f012dcf97d1ce458f3Sanket Padawe boolean hideSubmitButton, boolean hideForgetButton) { 463bf0db8d10fee87c6c2cb7f012dcf97d1ce458f3Sanket Padawe this(context, listener, accessPoint, edit, modify); 47a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest mHideSubmitButton = hideSubmitButton; 4889403529adf7584ded2bdadf985fde12a346ec3bZoltan Szatmary-Ban mHideForgetButton = hideForgetButton; 49a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest } 5048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 51d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public WifiDialog(Context context, DialogInterface.OnClickListener listener, 523bf0db8d10fee87c6c2cb7f012dcf97d1ce458f3Sanket Padawe AccessPoint accessPoint, boolean edit, boolean modify) { 53e8a80b5db3418ee9824e457420c3536f0eb71139Russell Brenner super(context); 54d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa mEdit = edit; 553bf0db8d10fee87c6c2cb7f012dcf97d1ce458f3Sanket Padawe mModify = modify; 5648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh mListener = listener; 5748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh mAccessPoint = accessPoint; 58a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest mHideSubmitButton = false; 5989403529adf7584ded2bdadf985fde12a346ec3bZoltan Szatmary-Ban mHideForgetButton = false; 6048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 6148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 62d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 63d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public WifiConfigController getController() { 64d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa return mController; 6548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 6648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 6748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh @Override 6848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh protected void onCreate(Bundle savedInstanceState) { 6948090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh mView = getLayoutInflater().inflate(R.layout.wifi_dialog, null); 7048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh setView(mView); 7148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh setInverseBackgroundForced(true); 723bf0db8d10fee87c6c2cb7f012dcf97d1ce458f3Sanket Padawe mController = new WifiConfigController(this, mView, mAccessPoint, mEdit, mModify); 7348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh super.onCreate(savedInstanceState); 74a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest 75a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest if (mHideSubmitButton) { 76a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest mController.hideSubmitButton(); 77a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest } else { 78a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest /* During creation, the submit button can be unavailable to determine 79a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest * visibility. Right after creation, update button visibility */ 80a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest mController.enableSubmitIfAppropriate(); 81a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest } 8289403529adf7584ded2bdadf985fde12a346ec3bZoltan Szatmary-Ban 8389403529adf7584ded2bdadf985fde12a346ec3bZoltan Szatmary-Ban if (mHideForgetButton) { 8489403529adf7584ded2bdadf985fde12a346ec3bZoltan Szatmary-Ban mController.hideForgetButton(); 8589403529adf7584ded2bdadf985fde12a346ec3bZoltan Szatmary-Ban } 8648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 8748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 883eb3b104d7f05ae330e2d91b346d4ecf765845f2Sanket Padawe public void onRestoreInstanceState(Bundle savedInstanceState) { 893eb3b104d7f05ae330e2d91b346d4ecf765845f2Sanket Padawe super.onRestoreInstanceState(savedInstanceState); 903eb3b104d7f05ae330e2d91b346d4ecf765845f2Sanket Padawe mController.updatePassword(); 913eb3b104d7f05ae330e2d91b346d4ecf765845f2Sanket Padawe } 923eb3b104d7f05ae330e2d91b346d4ecf765845f2Sanket Padawe 93d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 94d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public boolean isEdit() { 95d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa return mEdit; 9648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 9748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 98d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 99d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public Button getSubmitButton() { 100d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa return getButton(BUTTON_SUBMIT); 10148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 10248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 103d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 104d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public Button getForgetButton() { 105d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa return getButton(BUTTON_FORGET); 10648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 10748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 108d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 109d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public Button getCancelButton() { 110d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa return getButton(BUTTON_NEGATIVE); 11148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 11248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 113d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 114d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public void setSubmitButton(CharSequence text) { 115d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa setButton(BUTTON_SUBMIT, text, mListener); 11648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 11748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 118d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 119d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public void setForgetButton(CharSequence text) { 120d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa setButton(BUTTON_FORGET, text, mListener); 12148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 12248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 123d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 124d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public void setCancelButton(CharSequence text) { 125d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa setButton(BUTTON_NEGATIVE, text, mListener); 12648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 12748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh} 128