WifiSettings: revise and add support for editing EAP networks.
Use arrays.xml to store translations for enumerations; avoid race conditions happened when pop up menu or dialog; avoid saving configurations with networks disabled; use the same layout for all the dialogs; support editing EAP networks; only unlock keystore before connecting; and many bug fixes I cannot remember. The number of lines in the new code is about 1/3 of the old one, and it improves the readability a lot!
This commit is contained in:
		
							
								
								
									
										161
									
								
								res/layout/wifi_dialog.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								res/layout/wifi_dialog.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,161 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<!-- Copyright (C) 2010 The Android Open Source Project
 | 
			
		||||
 | 
			
		||||
     Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
     you may not use this file except in compliance with the License.
 | 
			
		||||
     You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
          http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
     Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
     distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
     See the License for the specific language governing permissions and
 | 
			
		||||
     limitations under the License.
 | 
			
		||||
-->
 | 
			
		||||
 | 
			
		||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
         android:layout_width="300sp"
 | 
			
		||||
         android:layout_height="wrap_content">
 | 
			
		||||
 | 
			
		||||
    <LinearLayout
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:padding="8dip"
 | 
			
		||||
            android:orientation="vertical">
 | 
			
		||||
 | 
			
		||||
        <LinearLayout android:id="@+id/info"
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:orientation="vertical" />
 | 
			
		||||
 | 
			
		||||
        <LinearLayout android:id="@+id/type"
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:orientation="vertical"
 | 
			
		||||
                android:visibility="gone">
 | 
			
		||||
 | 
			
		||||
            <TextView
 | 
			
		||||
                    style="?android:attr/textAppearanceSmallInverse"
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="wrap_content"
 | 
			
		||||
                    android:layout_marginTop="8dip"
 | 
			
		||||
                    android:text="@string/wifi_ssid" />
 | 
			
		||||
 | 
			
		||||
            <EditText android:id="@+id/ssid"
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="wrap_content"
 | 
			
		||||
                    android:singleLine="true"
 | 
			
		||||
                    android:inputType="textNoSuggestions" />
 | 
			
		||||
 | 
			
		||||
            <TextView
 | 
			
		||||
                    style="?android:attr/textAppearanceSmallInverse"
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="wrap_content"
 | 
			
		||||
                    android:layout_marginTop="8dip"
 | 
			
		||||
                    android:text="@string/wifi_security" />
 | 
			
		||||
 | 
			
		||||
            <Spinner android:id="@+id/security"
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="wrap_content"
 | 
			
		||||
                    android:prompt="@string/wifi_security"
 | 
			
		||||
                    android:entries="@array/wifi_security" />
 | 
			
		||||
        </LinearLayout>
 | 
			
		||||
 | 
			
		||||
        <LinearLayout android:id="@+id/fields"
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="wrap_content"
 | 
			
		||||
                android:orientation="vertical"
 | 
			
		||||
                android:visibility="gone">
 | 
			
		||||
 | 
			
		||||
            <LinearLayout android:id="@+id/eap"
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="wrap_content"
 | 
			
		||||
                    android:orientation="vertical"
 | 
			
		||||
                    android:visibility="gone">
 | 
			
		||||
 | 
			
		||||
                <TextView
 | 
			
		||||
                        style="?android:attr/textAppearanceSmallInverse"
 | 
			
		||||
                        android:layout_width="match_parent"
 | 
			
		||||
                        android:layout_height="wrap_content"
 | 
			
		||||
                        android:layout_marginTop="4dip"
 | 
			
		||||
                        android:text="@string/wifi_eap_method" />
 | 
			
		||||
 | 
			
		||||
                <Spinner android:id="@+id/method"
 | 
			
		||||
                        android:layout_width="match_parent"
 | 
			
		||||
                        android:layout_height="wrap_content"
 | 
			
		||||
                        android:prompt="@string/wifi_eap_method"
 | 
			
		||||
                        android:entries="@array/wifi_eap_method" />
 | 
			
		||||
 | 
			
		||||
                <TextView
 | 
			
		||||
                        style="?android:attr/textAppearanceSmallInverse"
 | 
			
		||||
                        android:layout_width="match_parent"
 | 
			
		||||
                        android:layout_height="wrap_content"
 | 
			
		||||
                        android:layout_marginTop="4dip"
 | 
			
		||||
                        android:text="@string/wifi_eap_ca_cert" />
 | 
			
		||||
 | 
			
		||||
                <Spinner android:id="@+id/ca_cert"
 | 
			
		||||
                        android:layout_width="match_parent"
 | 
			
		||||
                        android:layout_height="wrap_content"
 | 
			
		||||
                        android:prompt="@string/wifi_eap_ca_cert" />
 | 
			
		||||
 | 
			
		||||
                <TextView
 | 
			
		||||
                        style="?android:attr/textAppearanceSmallInverse"
 | 
			
		||||
                        android:layout_width="match_parent"
 | 
			
		||||
                        android:layout_height="wrap_content"
 | 
			
		||||
                        android:layout_marginTop="4dip"
 | 
			
		||||
                        android:text="@string/wifi_eap_user_cert" />
 | 
			
		||||
 | 
			
		||||
                <Spinner android:id="@+id/user_cert"
 | 
			
		||||
                        android:layout_width="match_parent"
 | 
			
		||||
                        android:layout_height="wrap_content"
 | 
			
		||||
                        android:prompt="@string/wifi_eap_user_cert" />
 | 
			
		||||
 | 
			
		||||
                <TextView
 | 
			
		||||
                        style="?android:attr/textAppearanceSmallInverse"
 | 
			
		||||
                        android:layout_width="match_parent"
 | 
			
		||||
                        android:layout_height="wrap_content"
 | 
			
		||||
                        android:layout_marginTop="4dip"
 | 
			
		||||
                        android:text="@string/wifi_eap_identity" />
 | 
			
		||||
 | 
			
		||||
                <EditText android:id="@+id/identity"
 | 
			
		||||
                        android:layout_width="match_parent"
 | 
			
		||||
                        android:layout_height="wrap_content"
 | 
			
		||||
                        android:singleLine="true"
 | 
			
		||||
                        android:inputType="textNoSuggestions" />
 | 
			
		||||
 | 
			
		||||
                <TextView
 | 
			
		||||
                        style="?android:attr/textAppearanceSmallInverse"
 | 
			
		||||
                        android:layout_width="match_parent"
 | 
			
		||||
                        android:layout_height="wrap_content"
 | 
			
		||||
                        android:layout_marginTop="4dip"
 | 
			
		||||
                        android:text="@string/wifi_eap_anonymous" />
 | 
			
		||||
 | 
			
		||||
                <EditText android:id="@+id/anonymous"
 | 
			
		||||
                        android:layout_width="match_parent"
 | 
			
		||||
                        android:layout_height="wrap_content"
 | 
			
		||||
                        android:singleLine="true"
 | 
			
		||||
                        android:inputType="textNoSuggestions" />
 | 
			
		||||
            </LinearLayout>
 | 
			
		||||
 | 
			
		||||
            <TextView
 | 
			
		||||
                    style="?android:attr/textAppearanceSmallInverse"
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="wrap_content"
 | 
			
		||||
                    android:layout_marginTop="4dip"
 | 
			
		||||
                    android:text="@string/wifi_password" />
 | 
			
		||||
 | 
			
		||||
            <EditText android:id="@+id/password"
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="wrap_content"
 | 
			
		||||
                    android:singleLine="true"
 | 
			
		||||
                    android:password="true" />
 | 
			
		||||
 | 
			
		||||
            <CheckBox android:id="@+id/show_password"
 | 
			
		||||
                    style="?android:attr/textAppearanceSmallInverse"
 | 
			
		||||
                    android:layout_width="match_parent"
 | 
			
		||||
                    android:layout_height="wrap_content"
 | 
			
		||||
                    android:text="@string/wifi_show_password" />
 | 
			
		||||
        </LinearLayout>
 | 
			
		||||
    </LinearLayout>
 | 
			
		||||
</ScrollView>
 | 
			
		||||
		Reference in New Issue
	
	Block a user