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; 38a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest private boolean mHideSubmitButton; 39a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest 40a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest public WifiDialog(Context context, DialogInterface.OnClickListener listener, 41a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest AccessPoint accessPoint, boolean edit, boolean hideSubmitButton) { 42a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest this(context, listener, accessPoint, edit); 43a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest mHideSubmitButton = hideSubmitButton; 44a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest } 4548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 46d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public WifiDialog(Context context, DialogInterface.OnClickListener listener, 4748090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh AccessPoint accessPoint, boolean edit) { 48e8a80b5db3418ee9824e457420c3536f0eb71139Russell Brenner super(context); 49d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa mEdit = edit; 5048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh mListener = listener; 5148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh mAccessPoint = accessPoint; 52a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest mHideSubmitButton = false; 5348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 5448090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 55d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 56d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public WifiConfigController getController() { 57d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa return mController; 5848090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 5948090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 6048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh @Override 6148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh protected void onCreate(Bundle savedInstanceState) { 6248090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh mView = getLayoutInflater().inflate(R.layout.wifi_dialog, null); 6348090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh setView(mView); 6448090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh setInverseBackgroundForced(true); 6558b0291fe6e6e47bf3d7457d8cf2648b8ce4a1aeDaisuke Miyakawa mController = new WifiConfigController(this, mView, mAccessPoint, mEdit); 6648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh super.onCreate(savedInstanceState); 67a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest 68a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest if (mHideSubmitButton) { 69a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest mController.hideSubmitButton(); 70a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest } else { 71a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest /* During creation, the submit button can be unavailable to determine 72a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest * visibility. Right after creation, update button visibility */ 73a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest mController.enableSubmitIfAppropriate(); 74a7383f3862232fefe060a7e2aa9e1ae02c676bffPauloftheWest } 7548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 7648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 77d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 78d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public boolean isEdit() { 79d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa return mEdit; 8048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 8148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 82d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 83d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public Button getSubmitButton() { 84d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa return getButton(BUTTON_SUBMIT); 8548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 8648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 87d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 88d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public Button getForgetButton() { 89d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa return getButton(BUTTON_FORGET); 9048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 9148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 92d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 93d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public Button getCancelButton() { 94d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa return getButton(BUTTON_NEGATIVE); 9548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 9648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 97d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 98d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public void setSubmitButton(CharSequence text) { 99d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa setButton(BUTTON_SUBMIT, text, mListener); 10048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 10148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 102d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 103d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public void setForgetButton(CharSequence text) { 104d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa setButton(BUTTON_FORGET, text, mListener); 10548090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 10648090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh 107d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa @Override 108d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa public void setCancelButton(CharSequence text) { 109d36699282cbd0a6897f425106081d3f2c0db55d4Daisuke Miyakawa setButton(BUTTON_NEGATIVE, text, mListener); 11048090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh } 11148090d4066fdf3084a4fb31277e785149c1bce37Chia-chi Yeh} 112