Merge "Use InetAddress.isNumeric."
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 4729785..2462725 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -52,7 +52,7 @@
<activity android:name="Settings"
android:label="@string/settings_label_launcher"
android:taskAffinity="com.android.settings"
- android:theme="@android:style/Theme.Holo"
+ android:theme="@android:style/Theme.Holo.Extended"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -71,9 +71,9 @@
<!-- Wireless Controls -->
- <activity-alias android:name="WirelessSettings"
+ <activity android:name="Settings$WirelessSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/wireless_networks_settings_title"
- android:targetActivity="Settings"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -82,16 +82,20 @@
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.WirelessSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/wireless_settings" />
+ </activity>
<!-- Top-level settings -->
- <activity-alias android:name=".wifi.WifiSettings"
+ <activity android:name="Settings$WifiSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/wifi_settings"
android:configChanges="orientation|keyboardHidden"
android:clearTaskOnLaunch="true"
- android:targetActivity="Settings"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -101,7 +105,11 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.wifi.WifiSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/wireless_settings" />
+ </activity>
<activity android:name=".wifi.WifiSettingsForSetupWizardXL"
android:theme="@android:style/Theme.Holo.NoActionBar"
@@ -174,11 +182,10 @@
</intent-filter>
</activity>
- <activity-alias android:name=".bluetooth.BluetoothSettings"
- android:label="@string/bluetooth_settings_title"
- android:clearTaskOnLaunch="true"
- android:targetActivity="Settings"
- >
+ <activity android:name="Settings$BluetoothSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/bluetooth_settings_title"
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.BLUETOOTH_SETTINGS" />
@@ -190,22 +197,31 @@
<action android:name="android.bluetooth.devicepicker.action.LAUNCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.bluetooth.BluetoothSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/wireless_settings" />
+ </activity>
- <activity-alias android:name=".TetherSettings"
- android:clearTaskOnLaunch="true"
- android:targetActivity="Settings">
+ <activity android:name="Settings$TetherSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.TetherSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/wireless_settings" />
+ </activity>
- <activity-alias android:name=".vpn.VpnSettings"
+ <activity android:name="Settings$VpnSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/vpn_settings_activity_title"
android:configChanges="orientation|keyboardHidden"
- android:clearTaskOnLaunch="true"
- android:targetActivity="Settings">
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.net.vpn.SETTINGS" />
@@ -213,19 +229,26 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.vpn.VpnSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/wireless_settings" />
+ </activity>
- <activity-alias android:name="DateTimeSettings"
- android:label="@string/date_and_time"
- android:targetActivity="Settings"
- >
+ <activity android:name="Settings$DateTimeSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/date_and_time" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.DATE_SETTINGS" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.DateTimeSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/date_time_settings" />
+ </activity>
<activity android:name="DateTimeSettingsSetupWizard"
android:label="@string/date_and_time"
@@ -236,23 +259,26 @@
</intent-filter>
</activity>
- <activity-alias android:name="LocalePicker"
- android:label="@string/language_picker_title"
- android:clearTaskOnLaunch="true"
- android:targetActivity="Settings">
+ <activity android:name="Settings$LocalePickerActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/language_picker_title"
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.LOCALE_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.LocalePicker" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/language_settings" />
+ </activity>
- <activity-alias android:name=".inputmethod.InputMethodAndLanguageSettings"
+ <activity android:name="Settings$InputMethodAndLanguageSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/language_keyboard_settings_title"
- android:clearTaskOnLaunch="true"
- android:targetActivity="Settings"
- >
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.INPUT_METHOD_SETTINGS" />
@@ -260,12 +286,16 @@
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.inputmethod.InputMethodAndLanguageSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/language_settings" />
+ </activity>
- <activity-alias android:name=".inputmethod.InputMethodAndSubtypeEnabler"
- android:label="@string/input_methods_and_subtype_enabler_title"
- android:clearTaskOnLaunch="true"
- android:targetActivity="Settings">
+ <activity android:name="Settings$InputMethodAndSubtypeEnablerActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/input_methods_and_subtype_enabler_title"
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.INPUT_METHOD_AND_SUBTYPE_ENABLER" />
@@ -273,7 +303,11 @@
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.inputmethod.InputMethodAndSubtypeEnabler" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/language_settings" />
+ </activity>
<activity android:name="PhysicalKeyboardSettings"
android:label="@string/builtin_keyboard_settings_title">
@@ -283,7 +317,8 @@
</intent-filter>
</activity>
- <activity android:name="UserDictionarySettings"
+ <activity android:name="Settings$UserDictionarySettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/user_dict_settings_titlebar"
android:clearTaskOnLaunch="true">
<intent-filter>
@@ -294,13 +329,16 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.UserDictionarySettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/language_settings" />
</activity>
- <activity-alias android:name="SoundSettings"
+ <activity android:name="Settings$SoundSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/sound_settings"
- android:clearTaskOnLaunch="true"
- android:targetActivity="Settings"
- >
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="com.android.settings.SOUND_SETTINGS" />
@@ -309,11 +347,15 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.SoundSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/sound_settings" />
+ </activity>
- <activity-alias android:name="DisplaySettings"
+ <activity android:name="Settings$DisplaySettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/display_settings"
- android:targetActivity="Settings"
android:clearTaskOnLaunch="true"
>
<intent-filter>
@@ -324,13 +366,16 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.DisplaySettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/display_settings" />
+ </activity>
- <activity-alias android:name="DockSettings"
+ <activity android:name="Settings$DockSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/dock_settings_title"
- android:clearTaskOnLaunch="true"
- android:targetActivity="Settings"
- >
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="com.android.settings.DOCK_SETTINGS" />
@@ -338,19 +383,26 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.DockSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/dock_settings" />
+ </activity>
- <activity-alias android:name="DeviceInfoSettings"
- android:label="@string/device_info_settings"
- android:targetActivity="Settings"
- >
+ <activity android:name="Settings$DeviceInfoSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/device_info_settings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.DEVICE_INFO_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.DeviceInfoSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/about_settings" />
+ </activity>
<activity android:name="SettingsLicenseActivity"
android:label="@string/settings_license_activity_title"
@@ -370,22 +422,25 @@
</intent-filter>
</activity>
- <activity-alias android:name="ApplicationSettings"
- android:label="@string/applications_settings_header"
- android:targetActivity="Settings"
- >
+ <activity android:name="Settings$ApplicationSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/applications_settings_header">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.APPLICATION_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.ApplicationSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/application_settings" />
+ </activity>
- <activity-alias android:name=".applications.ManageApplications"
- android:label="@string/manageapplications_settings_title"
- android:clearTaskOnLaunch="true"
- android:targetActivity="Settings">
+ <activity android:name="Settings$ManageApplicationsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/manageapplications_settings_title"
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.MANAGE_PACKAGE_STORAGE" />
@@ -395,14 +450,18 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.applications.ManageApplications" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/application_settings" />
+ </activity>
<!-- Keep compatibility with old shortcuts. -->
<activity-alias android:name=".ManageApplications"
android:label="@string/manageapplications_settings_title"
android:clearTaskOnLaunch="true"
android:exported="true"
- android:targetActivity="Settings">
+ android:targetActivity="Settings$ManageApplicationsActivity">
</activity-alias>
<!-- Still need a top-level activity for showing app details. Aliasing
@@ -455,9 +514,9 @@
-->
<!-- Provide direct entry into manage apps showing running services. -->
- <activity-alias android:name=".RunningServices"
- android:label="@string/runningservices_settings_title"
- android:targetActivity="Settings">
+ <activity android:name="Settings$RunningServicesActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/runningservices_settings_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
@@ -465,12 +524,16 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.applications.ManageApplications" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/application_settings" />
+ </activity>
<!-- Provide direct entry into manage apps showing running services. -->
- <activity-alias android:name=".applications.StorageUse"
- android:label="@string/storageuse_settings_title"
- android:targetActivity="Settings">
+ <activity android:name="Settings$StorageUseActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/storageuse_settings_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
@@ -478,14 +541,17 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.applications.ManageApplications" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/application_settings" />
+ </activity>
- <activity-alias android:name="SecuritySettings"
+ <activity android:name="Settings$SecuritySettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/location_security_settings_title"
android:configChanges="orientation|keyboardHidden"
- android:targetActivity="Settings"
- android:clearTaskOnLaunch="true"
- >
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.SECURITY_SETTINGS" />
@@ -495,7 +561,11 @@
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.SecuritySettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/security_settings" />
+ </activity>
<activity android:name="CredentialInstaller"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
@@ -505,19 +575,22 @@
</intent-filter>
</activity>
- <activity-alias android:name="PrivacySettings"
+ <activity android:name="Settings$PrivacySettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/privacy_settings_title"
android:configChanges="orientation|keyboardHidden"
- android:clearTaskOnLaunch="true"
- android:targetActivity="Settings"
- >
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.PRIVACY_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.PrivacySettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/privacy_settings" />
+ </activity>
<activity android:name="DeviceAdminSettings"
android:label="@string/device_admin_settings_title"
@@ -552,20 +625,23 @@
</intent-filter>
</activity>
- <activity-alias android:name="AccessibilitySettings"
- android:label="@string/accessibility_settings_title"
- android:targetActivity="Settings">
+ <activity android:name="Settings$AccessibilitySettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/accessibility_settings_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.ACCESSIBILITY_SETTINGS" />
- <!-- Wtf... this action is bogus! Can we remove it? -->
- <action android:name="ACCESSIBILITY_FEEDBACK_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.AccessibilitySettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/accessibility_settings" />
+ </activity>
- <activity-alias android:name="VoiceInputOutputSettings"
+ <activity android:name="Settings$VoiceInputOutputSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/voice_input_output_settings"
android:targetActivity="Settings">
<intent-filter>
@@ -573,7 +649,11 @@
<action android:name="com.android.settings.VOICE_INPUT_OUTPUT_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.VoiceInputOutputSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/voice_input_output_settings" />
+ </activity>
<activity android:name="TextToSpeechSettings" android:label="@string/tts_settings">
<intent-filter>
@@ -616,6 +696,7 @@
android:label="@string/lockpattern_change_lock_pattern_label">
</activity>
+ <!-- Runs in the phone process since it needs access to the Phone object -->
<activity android:name=".deviceinfo.Status" android:label="@string/device_status_activity_title"
android:process="com.android.phone">
<intent-filter>
@@ -625,8 +706,8 @@
</intent-filter>
</activity>
- <activity-alias android:name=".deviceinfo.Memory"
- android:targetActivity="Settings"
+ <activity android:name="Settings$StorageSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/storage_settings_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -635,7 +716,11 @@
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.deviceinfo.Memory" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/storage_settings" />
+ </activity>
<activity android:name="ApnEditor" android:label="@string/apn_edit">
<intent-filter>
@@ -681,17 +766,20 @@
</intent-filter>
</activity>
- <activity-alias android:name="DevelopmentSettings"
+ <activity android:name="Settings$DevelopmentSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/development_settings_title"
- android:targetActivity="Settings"
- android:clearTaskOnLaunch="true"
- >
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.DevelopmentSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/application_settings" />
+ </activity>
@@ -883,16 +971,20 @@
</intent-filter>
</activity>
- <activity-alias
- android:name="ManageAccountsSettings"
- android:label="@string/sync_settings"
- android:targetActivity="Settings">
+ <activity
+ android:name="Settings$ManageAccountsSettingsActivity"
+ android:theme="@android:style/Theme.Holo.Extended"
+ android:label="@string/sync_settings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.SYNC_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
- </activity-alias>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.ManageAccountsSettings" />
+ <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+ android:resource="@id/sync_settings" />
+ </activity>
<receiver android:name=".widget.SettingsAppWidgetProvider"
android:label="@string/gadget_title" android:exported="false">
diff --git a/res/layout-xlarge/wifi_settings_for_setup_wizard_xl.xml b/res/layout-xlarge/wifi_settings_for_setup_wizard_xl.xml
index a6a8e8a..6aa825a 100644
--- a/res/layout-xlarge/wifi_settings_for_setup_wizard_xl.xml
+++ b/res/layout-xlarge/wifi_settings_for_setup_wizard_xl.xml
@@ -93,12 +93,6 @@
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true">
- <Button android:id="@+id/wifi_setup_connect"
- android:layout_width="260dip"
- android:layout_height="60dip"
- android:textSize="24dip"
- android:text="@string/wifi_connect"
- android:visibility="gone" />
<Button android:id="@+id/wifi_setup_forget"
android:layout_width="260dip"
android:layout_height="60dip"
@@ -106,6 +100,14 @@
android:text="@string/wifi_forget"
android:visibility="gone" />
+ <Button android:id="@+id/wifi_setup_connect"
+ android:layout_width="260dip"
+ android:layout_height="60dip"
+ android:layout_marginTop="20dip"
+ android:textSize="24dip"
+ android:text="@string/wifi_connect"
+ android:visibility="gone" />
+
<Button android:id="@+id/wifi_setup_add_network"
android:layout_width="260dip"
android:layout_height="60dip"
@@ -134,7 +136,6 @@
android:layout_height="60dip"
android:layout_above="@+id/wifi_setup_cancel"
android:layout_alignLeft="@+id/wifi_setup_cancel"
- android:layout_marginBottom="30dip"
android:textSize="24dip"
android:text="@string/wifi_detail"
android:visibility="gone" />
@@ -142,6 +143,7 @@
<Button android:id="@+id/wifi_setup_cancel"
android:layout_width="260dip"
android:layout_height="60dip"
+ android:layout_marginTop="20dip"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@id/right_buttons"
android:textSize="24dip"
diff --git a/res/layout/wifi_config_preference2.xml b/res/layout/wifi_config_preference2.xml
index 29cb585..bbda2f9 100644
--- a/res/layout/wifi_config_preference2.xml
+++ b/res/layout/wifi_config_preference2.xml
@@ -56,7 +56,32 @@
android:layout_height="wrap_content"
android:text="@string/wifi_show_password" />
</LinearLayout>
+ <LinearLayout android:id="@+id/type"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone">
+ <TextView android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_ssid" />
+
+ <EditText android:id="@+id/ssid"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions" />
+
+ <TextView android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/wifi_security" />
+
+ <Spinner android:id="@+id/security"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:prompt="@string/wifi_security"
+ android:entries="@array/wifi_security" />
+ </LinearLayout> <!-- android:id="@+id/type" -->
<!-- All the views below are "gone".
We want them as data storage, not as UI components. -->
@@ -109,33 +134,6 @@
android:inputType="textPassword" />
</LinearLayout> -->
- <LinearLayout android:id="@+id/type"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:visibility="gone">
-
- <TextView android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/wifi_ssid" />
-
- <EditText android:id="@+id/ssid"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:inputType="textNoSuggestions" />
-
- <TextView android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/wifi_security" />
-
- <Spinner android:id="@+id/security"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:prompt="@string/wifi_security"
- android:entries="@array/wifi_security" />
- </LinearLayout> <!-- android:id="@+id/type" -->
-
<!-- android:id="@+id/security_fields" -->
<LinearLayout
android:layout_width="fill_parent"
diff --git a/res/xml/application_settings.xml b/res/xml/application_settings.xml
index 76fa0bc..2e446a2 100644
--- a/res/xml/application_settings.xml
+++ b/res/xml/application_settings.xml
@@ -53,7 +53,7 @@
android:fragment="com.android.settings.applications.ManageApplications"
android:title="@string/runningservices_settings_title"
android:summary="@string/runningservices_settings_summary">
- <extra android:name="classname" android:value="com.android.settings.RunningServices" />
+ <extra android:name="classname" android:value="com.android.settings.Settings$RunningServicesActivity" />
</PreferenceScreen>
<PreferenceScreen
@@ -61,7 +61,7 @@
android:title="@string/storageuse_settings_title"
android:summary="@string/storageuse_settings_summary">
<extra android:name="classname"
- android:value="com.android.settings.applications.StorageUse" />
+ android:value="com.android.settings.Settings$StorageUseActivity" />
</PreferenceScreen>
<PreferenceScreen
@@ -75,10 +75,8 @@
<PreferenceScreen
android:title="@string/development_settings_title"
- android:summary="@string/development_settings_summary">
- <intent android:action="android.intent.action.MAIN"
- android:targetPackage="com.android.settings"
- android:targetClass="com.android.settings.DevelopmentSettings" />
+ android:summary="@string/development_settings_summary"
+ android:fragment="com.android.settings.DevelopmentSettings">
</PreferenceScreen>
</PreferenceScreen>
diff --git a/res/xml/settings_headers.xml b/res/xml/settings_headers.xml
index 26e3873..5c99c5f 100644
--- a/res/xml/settings_headers.xml
+++ b/res/xml/settings_headers.xml
@@ -36,10 +36,10 @@
<!-- Wireless controls -->
<header
+ android:id="@+id/wireless_settings"
android:title="@string/radio_controls_title"
android:fragment="com.android.settings.WirelessSettings"
- android:icon="@drawable/ic_settings_wireless">
- </header>
+ android:icon="@drawable/ic_settings_wireless" />
<!-- Call settings - this is in the phone process -->
@@ -56,18 +56,18 @@
<!-- Sound -->
<header
+ android:id="@+id/sound_settings"
android:icon="@drawable/ic_settings_sound"
android:fragment="com.android.settings.SoundSettings"
- android:title="@string/sound_settings_title">
- </header>
+ android:title="@string/sound_settings_title" />
<!-- Display -->
<header
+ android:id="@+id/display_settings"
android:icon="@drawable/ic_settings_display"
android:fragment="com.android.settings.DisplaySettings"
- android:title="@string/display_settings_title">
- </header>
+ android:title="@string/display_settings_title" />
<!-- Security & Location -->
@@ -75,8 +75,7 @@
android:fragment="com.android.settings.SecuritySettings"
android:icon="@drawable/ic_settings_security"
android:title="@string/security_settings_title"
- android:id="@+id/security_settings">
- </header>
+ android:id="@+id/security_settings" />
<!-- Application Settings -->
@@ -84,8 +83,7 @@
android:fragment="com.android.settings.ApplicationSettings"
android:icon="@drawable/ic_settings_applications"
android:title="@string/applications_settings"
- android:id="@+id/applications_settings">
- </header>
+ android:id="@+id/application_settings" />
<!-- Data Sync. The settings activity will ensure this is resolved to an
activity on the system image, otherwise it will remove this
@@ -95,8 +93,7 @@
android:fragment="com.android.settings.ManageAccountsSettings"
android:icon="@drawable/ic_settings_sync"
android:title="@string/sync_settings"
- android:id="@+id/sync_settings">
- </header>
+ android:id="@+id/sync_settings" />
<!-- Privacy -->
@@ -104,40 +101,39 @@
android:fragment="com.android.settings.PrivacySettings"
android:icon="@drawable/ic_settings_privacy"
android:title="@string/privacy_settings"
- android:id="@+id/privacy_settings">
- </header>
+ android:id="@+id/privacy_settings" />
<!-- Storage -->
<header
+ android:id="@+id/storage_settings"
android:fragment="com.android.settings.deviceinfo.Memory"
android:icon="@drawable/ic_settings_storage"
- android:title="@string/storage_settings">
- </header>
+ android:title="@string/storage_settings" />
<!-- Language -->
<header
+ android:id="@+id/language_settings"
android:fragment="com.android.settings.inputmethod.InputMethodAndLanguageSettings"
android:icon="@drawable/ic_settings_language"
- android:title="@string/language_settings">
- </header>
+ android:title="@string/language_settings" />
<!-- Voice input & output -->
<header
+ android:id="@+id/voice_input_output_settings"
android:fragment="com.android.settings.VoiceInputOutputSettings"
android:icon="@drawable/ic_settings_speech"
- android:title="@string/voice_input_output_settings">
- </header>
+ android:title="@string/voice_input_output_settings" />
<!-- Accessibility feedback -->
<header
+ android:id="@+id/accessibility_settings"
android:fragment="com.android.settings.AccessibilitySettings"
android:icon="@drawable/ic_settings_accessibility"
- android:title="@string/accessibility_settings">
- </header>
+ android:title="@string/accessibility_settings" />
<!-- Dock -->
@@ -145,30 +141,30 @@
android:id="@+id/dock_settings"
android:fragment="com.android.settings.DockSettings"
android:icon="@drawable/ic_settings_dock"
- android:title="@string/dock_settings">
- </header>
+ android:title="@string/dock_settings" />
<!-- Date & Time -->
<header
+ android:id="@+id/date_time_settings"
android:fragment="com.android.settings.DateTimeSettings"
android:icon="@drawable/ic_settings_date_time"
- android:title="@string/date_and_time_settings_title">
- </header>
+ android:title="@string/date_and_time_settings_title" />
<!-- Owner info -->
<header
+ android:id="@+id/owner_info_settings"
android:fragment="com.android.settings.OwnerInfoSettings"
android:icon="@drawable/ic_settings_about"
- android:title="@string/owner_info_settings_title">
- </header>
+ android:title="@string/owner_info_settings_title" />
<!-- About Device -->
<header
+ android:id="@+id/about_settings"
android:fragment="com.android.settings.DeviceInfoSettings"
android:icon="@drawable/ic_settings_about"
- android:title="@string/about_settings">
- </header>
+ android:title="@string/about_settings" />
+
</preference-headers>
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 3a6e6d8..bec8241 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -17,9 +17,13 @@
package com.android.settings;
import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.preference.PreferenceActivity;
+import java.util.HashMap;
import java.util.List;
/**
@@ -27,8 +31,36 @@
*/
public class Settings extends PreferenceActivity {
+ private static final String META_DATA_KEY_HEADER_ID =
+ "com.android.settings.TOP_LEVEL_HEADER_ID";
+ private static final String META_DATA_KEY_FRAGMENT_CLASS =
+ "com.android.settings.FRAGMENT_CLASS";
+
+ private String mFragmentClass;
+ private int mTopLevelHeaderId;
+
// TODO: Update Call Settings based on airplane mode state.
+ protected HashMap<Integer, Integer> mHeaderIndexMap = new HashMap<Integer, Integer>();
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ getMetaData();
+ super.onCreate(savedInstanceState);
+
+ // TODO: Do this only if 2-pane mode
+ highlightHeader();
+ }
+
+ private void highlightHeader() {
+ if (mTopLevelHeaderId != 0) {
+ Integer index = mHeaderIndexMap.get(mTopLevelHeaderId);
+ if (index != null) {
+ getListView().setItemChecked(index, true);
+ }
+ }
+ }
+
@Override
public Intent getIntent() {
String startingFragment = getStartingFragmentClass(super.getIntent());
@@ -52,7 +84,9 @@
* Checks if the component name in the intent is different from the Settings class and
* returns the class name to load as a fragment.
*/
- private String getStartingFragmentClass(Intent intent) {
+ protected String getStartingFragmentClass(Intent intent) {
+ if (mFragmentClass != null) return mFragmentClass;
+
String intentClass = intent.getComponent().getClassName();
if (intentClass.equals(getClass().getName())) return null;
@@ -96,7 +130,8 @@
int i = 0;
while (i < target.size()) {
Header header = target.get(i);
- long id = header.id;
+ // Ids are integers, so downcasting
+ int id = (int) header.id;
if (id == R.id.dock_settings) {
if (!needsDockSettings())
target.remove(header);
@@ -106,12 +141,55 @@
if (!Utils.isVoiceCapable(this))
target.remove(header);
}
- if (target.get(i) == header)
+ // Increment if the current one wasn't removed by the Utils code.
+ if (target.get(i) == header) {
+ mHeaderIndexMap.put(id, i);
i++;
+ }
}
}
private boolean needsDockSettings() {
return getResources().getBoolean(R.bool.has_dock_settings);
}
+
+ private void getMetaData() {
+ try {
+ ActivityInfo ai = getPackageManager().getActivityInfo(getComponentName(),
+ PackageManager.GET_META_DATA);
+ if (ai == null || ai.metaData == null) return;
+ mTopLevelHeaderId = ai.metaData.getInt(META_DATA_KEY_HEADER_ID);
+ mFragmentClass = ai.metaData.getString(META_DATA_KEY_FRAGMENT_CLASS);
+ } catch (NameNotFoundException nnfe) {
+ }
+ }
+
+ /*
+ * Settings subclasses for launching independently.
+ */
+
+ public static class BluetoothSettingsActivity extends Settings { }
+ public static class WirelessSettingsActivity extends Settings { }
+ public static class TetherSettingsActivity extends Settings { }
+ public static class VpnSettingsActivity extends Settings { }
+ public static class DateTimeSettingsActivity extends Settings { }
+ public static class StorageSettingsActivity extends Settings { }
+ public static class WifiSettingsActivity extends Settings { }
+ public static class InputMethodAndLanguageSettingsActivity extends Settings { }
+ public static class InputMethodAndSubtypeEnablerActivity extends Settings { }
+ public static class LocalePickerActivity extends Settings { }
+ public static class UserDictionarySettingsActivity extends Settings { }
+ public static class SoundSettingsActivity extends Settings { }
+ public static class DisplaySettingsActivity extends Settings { }
+ public static class DeviceInfoSettingsActivity extends Settings { }
+ public static class ApplicationSettingsActivity extends Settings { }
+ public static class ManageApplicationsActivity extends Settings { }
+ public static class StorageUseActivity extends Settings { }
+ public static class DevelopmentSettingsActivity extends Settings { }
+ public static class AccessibilitySettingsActivity extends Settings { }
+ public static class SecuritySettingsActivity extends Settings { }
+ public static class PrivacySettingsActivity extends Settings { }
+ public static class DockSettingsActivity extends Settings { }
+ public static class RunningServicesActivity extends Settings { }
+ public static class VoiceInputOutputSettingsActivity extends Settings { }
}
diff --git a/src/com/android/settings/SoundSettings.java b/src/com/android/settings/SoundSettings.java
index 8582f17..686dbe2 100644
--- a/src/com/android/settings/SoundSettings.java
+++ b/src/com/android/settings/SoundSettings.java
@@ -23,6 +23,7 @@
import android.content.IntentFilter;
import android.media.AudioManager;
import android.os.Bundle;
+import android.os.Vibrator;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
@@ -113,6 +114,10 @@
mVibrate = (ListPreference) findPreference(KEY_VIBRATE);
mVibrate.setOnPreferenceChangeListener(this);
+ if (!((Vibrator)getSystemService(Context.VIBRATOR_SERVICE)).hasVibrator()) {
+ getPreferenceScreen().removePreference(mVibrate);
+ }
+
mDtmfTone = (CheckBoxPreference) findPreference(KEY_DTMF_TONE);
mDtmfTone.setPersistent(false);
mDtmfTone.setChecked(Settings.System.getInt(resolver,
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index 20cf2f9..94283ee 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -16,9 +16,12 @@
package com.android.settings.applications;
-import com.android.internal.content.PackageHelper;
import com.android.settings.R;
+
+import com.android.internal.content.PackageHelper;
import com.android.settings.applications.ApplicationsState.AppEntry;
+import com.android.settings.Settings.RunningServicesActivity;
+import com.android.settings.Settings.StorageUseActivity;
import android.app.Fragment;
import android.content.Context;
@@ -519,9 +522,9 @@
if (className == null) {
className = intent.getComponent().getClassName();
}
- if (className.equals("com.android.settings.RunningServices")) {
+ if (className.equals(RunningServicesActivity.class.getName())) {
defaultTabTag = TAB_RUNNING;
- } else if (className.equals("com.android.settings.applications.StorageUse")
+ } else if (className.equals(StorageUseActivity.class.getName())
|| action.equals(Intent.ACTION_MANAGE_PACKAGE_STORAGE)) {
mSortOrder = SORT_ORDER_SIZE;
mFilterApps = FILTER_APPS_ALL;
diff --git a/src/com/android/settings/wifi/WifiConfigPreference.java b/src/com/android/settings/wifi/WifiConfigPreference.java
index c495481..0e7af51 100644
--- a/src/com/android/settings/wifi/WifiConfigPreference.java
+++ b/src/com/android/settings/wifi/WifiConfigPreference.java
@@ -21,16 +21,21 @@
import android.content.Context;
import android.content.DialogInterface;
import android.preference.Preference;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
+import android.widget.EditText;
/**
* Preference letting users modify a setting for Wifi network. This work as an alternative UI
* for {@link WifiDialog} without shouwing popup Dialog.
*/
public class WifiConfigPreference extends Preference implements WifiConfigUiBase {
+ private static final String TAG = "WifiConfigPreference";
+
private WifiSettings mWifiSettings;
private View mView;
private final DialogInterface.OnClickListener mListener;
@@ -38,6 +43,9 @@
private AccessPoint mAccessPoint;
private boolean mEdit;
+ // Stores an View id to be focused. Used when view isn't available while setFocus() is called.
+ private int mFocusId = -1;
+
private LayoutInflater mInflater;
public WifiConfigPreference(WifiSettings wifiSettings,
@@ -57,12 +65,16 @@
@Override
protected View onCreateView(ViewGroup parent) {
// Called every time the list is created.
- if (mView != null) {
- // TODO: we need to re-forcus something.
- return mView;
+ if (mView == null) {
+ mView = mInflater.inflate(getLayoutResource(), parent, false);
+ mController = new WifiConfigController(this, mView, mAccessPoint, mEdit, mListener);
}
- mView = mInflater.inflate(getLayoutResource(), parent, false);
- mController = new WifiConfigController(this, mView, mAccessPoint, mEdit, mListener);
+
+ if (mFocusId >= 0) {
+ trySetFocusAndLaunchSoftInput(mFocusId);
+ mFocusId = -1;
+ }
+
return mView;
}
@@ -71,6 +83,31 @@
return mController;
}
+ public void setFocus(int id) {
+ if (mView != null) {
+ trySetFocusAndLaunchSoftInput(id);
+ mFocusId = -1;
+ } else {
+ mFocusId = id;
+ }
+ }
+
+ private void trySetFocusAndLaunchSoftInput(int id) {
+ final View viewToBeFocused = mView.findViewById(id);
+ if (viewToBeFocused != null && viewToBeFocused.getVisibility() == View.VISIBLE) {
+ viewToBeFocused.requestFocus();
+ // TODO: doesn't work.
+ if (viewToBeFocused instanceof EditText) {
+ Log.d(TAG, "Focused View is EditText. We try showing the software keyboard");
+ // viewToBeFocused.performClick();
+ final InputMethodManager inputMethodManager =
+ (InputMethodManager)
+ getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
+ inputMethodManager.showSoftInput(viewToBeFocused, 0);
+ }
+ }
+ }
+
public View findViewById(int id) {
return mView.findViewById(id);
}
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index efafd59..bc1f09d 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -47,7 +47,6 @@
import android.provider.Settings.Secure;
import android.security.Credentials;
import android.security.KeyStore;
-import android.util.Log;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
@@ -639,6 +638,10 @@
forget();
} else if (button == WifiDialog.BUTTON_SUBMIT) {
submit();
+ final Activity activity = getActivity();
+ if (activity instanceof WifiSettingsForSetupWizardXL) {
+ ((WifiSettingsForSetupWizardXL)activity).onConnectButtonPressed();
+ }
}
}
@@ -740,6 +743,11 @@
/* package */ void onAddNetworkPressed() {
mSelectedAccessPoint = null;
showConfigUi(null, true);
+
+ // Set focus to the EditText the user needs to configure.
+ if (mConfigPreference != null) {
+ mConfigPreference.setFocus(R.id.ssid);
+ }
}
/* package */ int getAccessPointsCount() {
diff --git a/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java b/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java
index fde5d90..1d11986 100644
--- a/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java
+++ b/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java
@@ -23,6 +23,7 @@
import android.net.NetworkInfo.DetailedState;
import android.os.Bundle;
import android.text.TextUtils;
+import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
@@ -129,14 +130,7 @@
break;
case R.id.wifi_setup_connect:
mWifiSettings.submit();
-
- // updateConnectionState() isn't called soon after the user's "connect" action,
- // and the user still sees "not connected" message for a while, which looks strange.
- // We instead manually show "connecting" message before the system gets actual
- // "connecting" message from Wi-Fi module.
- showConnectingStatus();
- mShowingConnectingMessageManually = true;
- mIgnoringWifiNotificationCount = 2;
+ onConnectButtonPressed();
break;
case R.id.wifi_setup_forget:
mWifiSettings.forget();
@@ -186,7 +180,10 @@
mProgressBar.setProgress(2);
mProgressText.setText(Summary.get(this, state));
mStatusText.setText(R.string.wifi_setup_status_proceed_to_next);
- enableButtons();
+ // We don't want "Add network" button here. User can press it after pressing
+ // "Refresh" button.
+ ((Button)findViewById(R.id.wifi_setup_refresh_list)).setEnabled(true);
+ ((Button)findViewById(R.id.wifi_setup_skip_or_next)).setEnabled(true);
if (mIgnoringWifiNotificationCount > 0) {
// The network is already available before doing anything. We avoid skip this
@@ -219,7 +216,6 @@
mShowingConnectingMessageManually = false;
mProgressBar.setIndeterminate(false);
mProgressBar.setProgress(0);
- mStatusText.setText(R.string.wifi_setup_status_select_network);
mProgressText.setText(getString(R.string.wifi_setup_not_connected));
enableButtons();
}
@@ -254,7 +250,21 @@
public void onRefreshAccessPoints() {
mIgnoringWifiNotificationCount = 5;
mProgressBar.setIndeterminate(true);
+ ((Button)findViewById(R.id.wifi_setup_add_network)).setEnabled(false);
+ ((Button)findViewById(R.id.wifi_setup_refresh_list)).setEnabled(false);
mProgressText.setText(Summary.get(this, DetailedState.SCANNING));
mStatusText.setText(R.string.wifi_setup_status_scanning);
}
+
+ /* package */ void onConnectButtonPressed() {
+ // updateConnectionState() isn't called soon after the user's "connect" action,
+ // and the user still sees "not connected" message for a while, which looks strange.
+ // We instead manually show "connecting" message before the system gets actual
+ // "connecting" message from Wi-Fi module.
+ showConnectingStatus();
+ ((Button)findViewById(R.id.wifi_setup_add_network)).setEnabled(false);
+ ((Button)findViewById(R.id.wifi_setup_refresh_list)).setEnabled(false);
+ mShowingConnectingMessageManually = true;
+ mIgnoringWifiNotificationCount = 2;
+ }
}