Create activity wrappers for settings launchable through intents or shortcuts.

Meta data specifies the fragment class and top-level header that it belongs to.

Bug: 3127704
This commit is contained in:
Amith Yamasani
2010-11-04 09:59:44 -07:00
parent 96938b29bb
commit 5203bdffe6
5 changed files with 319 additions and 152 deletions

View File

@@ -52,7 +52,7 @@
<activity android:name="Settings" <activity android:name="Settings"
android:label="@string/settings_label_launcher" android:label="@string/settings_label_launcher"
android:taskAffinity="com.android.settings" android:taskAffinity="com.android.settings"
android:theme="@android:style/Theme.Holo" android:theme="@android:style/Theme.Holo.Extended"
> >
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
@@ -71,9 +71,9 @@
<!-- Wireless Controls --> <!-- 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:label="@string/wireless_networks_settings_title"
android:targetActivity="Settings"
> >
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
@@ -82,16 +82,20 @@
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter> </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 --> <!-- 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:label="@string/wifi_settings"
android:configChanges="orientation|keyboardHidden" android:configChanges="orientation|keyboardHidden"
android:clearTaskOnLaunch="true" android:clearTaskOnLaunch="true"
android:targetActivity="Settings"
> >
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
@@ -101,7 +105,11 @@
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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" <activity android:name=".wifi.WifiSettingsForSetupWizardXL"
android:theme="@android:style/Theme.Holo.NoActionBar" android:theme="@android:style/Theme.Holo.NoActionBar"
@@ -174,11 +182,10 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity-alias android:name=".bluetooth.BluetoothSettings" <activity android:name="Settings$BluetoothSettingsActivity"
android:label="@string/bluetooth_settings_title" android:theme="@android:style/Theme.Holo.Extended"
android:clearTaskOnLaunch="true" android:label="@string/bluetooth_settings_title"
android:targetActivity="Settings" android:clearTaskOnLaunch="true">
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.BLUETOOTH_SETTINGS" /> <action android:name="android.settings.BLUETOOTH_SETTINGS" />
@@ -190,22 +197,31 @@
<action android:name="android.bluetooth.devicepicker.action.LAUNCH" /> <action android:name="android.bluetooth.devicepicker.action.LAUNCH" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </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" <activity android:name="Settings$TetherSettingsActivity"
android:clearTaskOnLaunch="true" android:theme="@android:style/Theme.Holo.Extended"
android:targetActivity="Settings"> android:clearTaskOnLaunch="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter> </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:configChanges="orientation|keyboardHidden"
android:clearTaskOnLaunch="true" android:clearTaskOnLaunch="true">
android:targetActivity="Settings">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.net.vpn.SETTINGS" /> <action android:name="android.net.vpn.SETTINGS" />
@@ -213,19 +229,26 @@
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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" <activity android:name="Settings$DateTimeSettingsActivity"
android:label="@string/date_and_time" android:theme="@android:style/Theme.Holo.Extended"
android:targetActivity="Settings" android:label="@string/date_and_time" >
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.DATE_SETTINGS" /> <action android:name="android.settings.DATE_SETTINGS" />
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </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" <activity android:name="DateTimeSettingsSetupWizard"
android:label="@string/date_and_time" android:label="@string/date_and_time"
@@ -236,23 +259,26 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity-alias android:name="LocalePicker" <activity android:name="Settings$LocalePickerActivity"
android:label="@string/language_picker_title" android:theme="@android:style/Theme.Holo.Extended"
android:clearTaskOnLaunch="true" android:label="@string/language_picker_title"
android:targetActivity="Settings"> android:clearTaskOnLaunch="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.LOCALE_SETTINGS" /> <action android:name="android.settings.LOCALE_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter> </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:label="@string/language_keyboard_settings_title"
android:clearTaskOnLaunch="true" android:clearTaskOnLaunch="true">
android:targetActivity="Settings"
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.INPUT_METHOD_SETTINGS" /> <action android:name="android.settings.INPUT_METHOD_SETTINGS" />
@@ -260,12 +286,16 @@
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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" <activity android:name="Settings$InputMethodAndSubtypeEnablerActivity"
android:label="@string/input_methods_and_subtype_enabler_title" android:theme="@android:style/Theme.Holo.Extended"
android:clearTaskOnLaunch="true" android:label="@string/input_methods_and_subtype_enabler_title"
android:targetActivity="Settings"> android:clearTaskOnLaunch="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.INPUT_METHOD_AND_SUBTYPE_ENABLER" /> <action android:name="android.settings.INPUT_METHOD_AND_SUBTYPE_ENABLER" />
@@ -273,7 +303,11 @@
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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" <activity android:name="PhysicalKeyboardSettings"
android:label="@string/builtin_keyboard_settings_title"> android:label="@string/builtin_keyboard_settings_title">
@@ -283,7 +317,8 @@
</intent-filter> </intent-filter>
</activity> </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:label="@string/user_dict_settings_titlebar"
android:clearTaskOnLaunch="true"> android:clearTaskOnLaunch="true">
<intent-filter> <intent-filter>
@@ -294,13 +329,16 @@
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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>
<activity-alias android:name="SoundSettings" <activity android:name="Settings$SoundSettingsActivity"
android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/sound_settings" android:label="@string/sound_settings"
android:clearTaskOnLaunch="true" android:clearTaskOnLaunch="true">
android:targetActivity="Settings"
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="com.android.settings.SOUND_SETTINGS" /> <action android:name="com.android.settings.SOUND_SETTINGS" />
@@ -309,11 +347,15 @@
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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:label="@string/display_settings"
android:targetActivity="Settings"
android:clearTaskOnLaunch="true" android:clearTaskOnLaunch="true"
> >
<intent-filter> <intent-filter>
@@ -324,13 +366,16 @@
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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:label="@string/dock_settings_title"
android:clearTaskOnLaunch="true" android:clearTaskOnLaunch="true">
android:targetActivity="Settings"
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="com.android.settings.DOCK_SETTINGS" /> <action android:name="com.android.settings.DOCK_SETTINGS" />
@@ -338,19 +383,26 @@
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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" <activity android:name="Settings$DeviceInfoSettingsActivity"
android:label="@string/device_info_settings" android:theme="@android:style/Theme.Holo.Extended"
android:targetActivity="Settings" android:label="@string/device_info_settings">
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.DEVICE_INFO_SETTINGS" /> <action android:name="android.settings.DEVICE_INFO_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter> </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" <activity android:name="SettingsLicenseActivity"
android:label="@string/settings_license_activity_title" android:label="@string/settings_license_activity_title"
@@ -370,22 +422,25 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity-alias android:name="ApplicationSettings" <activity android:name="Settings$ApplicationSettingsActivity"
android:label="@string/applications_settings_header" android:theme="@android:style/Theme.Holo.Extended"
android:targetActivity="Settings" android:label="@string/applications_settings_header">
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.APPLICATION_SETTINGS" /> <action android:name="android.settings.APPLICATION_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter> </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" <activity android:name="Settings$ManageApplicationsActivity"
android:label="@string/manageapplications_settings_title" android:theme="@android:style/Theme.Holo.Extended"
android:clearTaskOnLaunch="true" android:label="@string/manageapplications_settings_title"
android:targetActivity="Settings"> android:clearTaskOnLaunch="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.MANAGE_PACKAGE_STORAGE" /> <action android:name="android.intent.action.MANAGE_PACKAGE_STORAGE" />
@@ -395,14 +450,18 @@
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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. --> <!-- Keep compatibility with old shortcuts. -->
<activity-alias android:name=".ManageApplications" <activity-alias android:name=".ManageApplications"
android:label="@string/manageapplications_settings_title" android:label="@string/manageapplications_settings_title"
android:clearTaskOnLaunch="true" android:clearTaskOnLaunch="true"
android:exported="true" android:exported="true"
android:targetActivity="Settings"> android:targetActivity="Settings$ManageApplicationsActivity">
</activity-alias> </activity-alias>
<!-- Still need a top-level activity for showing app details. Aliasing <!-- Still need a top-level activity for showing app details. Aliasing
@@ -455,9 +514,9 @@
--> -->
<!-- Provide direct entry into manage apps showing running services. --> <!-- Provide direct entry into manage apps showing running services. -->
<activity-alias android:name=".RunningServices" <activity android:name="Settings$RunningServicesActivity"
android:label="@string/runningservices_settings_title" android:theme="@android:style/Theme.Holo.Extended"
android:targetActivity="Settings"> android:label="@string/runningservices_settings_title">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
@@ -465,12 +524,16 @@
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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. --> <!-- Provide direct entry into manage apps showing running services. -->
<activity-alias android:name=".applications.StorageUse" <activity android:name="Settings$StorageUseActivity"
android:label="@string/storageuse_settings_title" android:theme="@android:style/Theme.Holo.Extended"
android:targetActivity="Settings"> android:label="@string/storageuse_settings_title">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
@@ -478,14 +541,17 @@
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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:label="@string/location_security_settings_title"
android:configChanges="orientation|keyboardHidden" android:configChanges="orientation|keyboardHidden"
android:targetActivity="Settings" android:clearTaskOnLaunch="true">
android:clearTaskOnLaunch="true"
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.SECURITY_SETTINGS" /> <action android:name="android.settings.SECURITY_SETTINGS" />
@@ -495,7 +561,11 @@
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" /> <category android:name="com.android.settings.SHORTCUT" />
</intent-filter> </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" <activity android:name="CredentialInstaller"
android:theme="@android:style/Theme.Translucent.NoTitleBar"> android:theme="@android:style/Theme.Translucent.NoTitleBar">
@@ -505,19 +575,22 @@
</intent-filter> </intent-filter>
</activity> </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:label="@string/privacy_settings_title"
android:configChanges="orientation|keyboardHidden" android:configChanges="orientation|keyboardHidden"
android:clearTaskOnLaunch="true" android:clearTaskOnLaunch="true">
android:targetActivity="Settings"
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.PRIVACY_SETTINGS" /> <action android:name="android.settings.PRIVACY_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter> </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" <activity android:name="DeviceAdminSettings"
android:label="@string/device_admin_settings_title" android:label="@string/device_admin_settings_title"
@@ -552,20 +625,23 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity-alias android:name="AccessibilitySettings" <activity android:name="Settings$AccessibilitySettingsActivity"
android:label="@string/accessibility_settings_title" android:theme="@android:style/Theme.Holo.Extended"
android:targetActivity="Settings"> android:label="@string/accessibility_settings_title">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.ACCESSIBILITY_SETTINGS" /> <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.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter> </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:label="@string/voice_input_output_settings"
android:targetActivity="Settings"> android:targetActivity="Settings">
<intent-filter> <intent-filter>
@@ -573,7 +649,11 @@
<action android:name="com.android.settings.VOICE_INPUT_OUTPUT_SETTINGS" /> <action android:name="com.android.settings.VOICE_INPUT_OUTPUT_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </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"> <activity android:name="TextToSpeechSettings" android:label="@string/tts_settings">
<intent-filter> <intent-filter>
@@ -616,6 +696,7 @@
android:label="@string/lockpattern_change_lock_pattern_label"> android:label="@string/lockpattern_change_lock_pattern_label">
</activity> </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" <activity android:name=".deviceinfo.Status" android:label="@string/device_status_activity_title"
android:process="com.android.phone"> android:process="com.android.phone">
<intent-filter> <intent-filter>
@@ -625,8 +706,8 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity-alias android:name=".deviceinfo.Memory" <activity android:name="Settings$StorageSettingsActivity"
android:targetActivity="Settings" android:theme="@android:style/Theme.Holo.Extended"
android:label="@string/storage_settings_title"> android:label="@string/storage_settings_title">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
@@ -635,7 +716,11 @@
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter> </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"> <activity android:name="ApnEditor" android:label="@string/apn_edit">
<intent-filter> <intent-filter>
@@ -681,17 +766,20 @@
</intent-filter> </intent-filter>
</activity> </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:label="@string/development_settings_title"
android:targetActivity="Settings" android:clearTaskOnLaunch="true">
android:clearTaskOnLaunch="true"
>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS" /> <action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </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> </intent-filter>
</activity> </activity>
<activity-alias <activity
android:name="ManageAccountsSettings" android:name="Settings$ManageAccountsSettingsActivity"
android:label="@string/sync_settings" android:theme="@android:style/Theme.Holo.Extended"
android:targetActivity="Settings"> android:label="@string/sync_settings">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.SYNC_SETTINGS" /> <action android:name="android.settings.SYNC_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </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" <receiver android:name=".widget.SettingsAppWidgetProvider"
android:label="@string/gadget_title" android:exported="false"> android:label="@string/gadget_title" android:exported="false">

View File

@@ -53,7 +53,7 @@
android:fragment="com.android.settings.applications.ManageApplications" android:fragment="com.android.settings.applications.ManageApplications"
android:title="@string/runningservices_settings_title" android:title="@string/runningservices_settings_title"
android:summary="@string/runningservices_settings_summary"> 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>
<PreferenceScreen <PreferenceScreen
@@ -61,7 +61,7 @@
android:title="@string/storageuse_settings_title" android:title="@string/storageuse_settings_title"
android:summary="@string/storageuse_settings_summary"> android:summary="@string/storageuse_settings_summary">
<extra android:name="classname" <extra android:name="classname"
android:value="com.android.settings.applications.StorageUse" /> android:value="com.android.settings.Settings$StorageUseActivity" />
</PreferenceScreen> </PreferenceScreen>
<PreferenceScreen <PreferenceScreen
@@ -75,10 +75,8 @@
<PreferenceScreen <PreferenceScreen
android:title="@string/development_settings_title" android:title="@string/development_settings_title"
android:summary="@string/development_settings_summary"> android:summary="@string/development_settings_summary"
<intent android:action="android.intent.action.MAIN" android:fragment="com.android.settings.DevelopmentSettings">
android:targetPackage="com.android.settings"
android:targetClass="com.android.settings.DevelopmentSettings" />
</PreferenceScreen> </PreferenceScreen>
</PreferenceScreen> </PreferenceScreen>

View File

@@ -36,10 +36,10 @@
<!-- Wireless controls --> <!-- Wireless controls -->
<header <header
android:id="@+id/wireless_settings"
android:title="@string/radio_controls_title" android:title="@string/radio_controls_title"
android:fragment="com.android.settings.WirelessSettings" android:fragment="com.android.settings.WirelessSettings"
android:icon="@drawable/ic_settings_wireless"> android:icon="@drawable/ic_settings_wireless" />
</header>
<!-- Call settings - this is in the phone process --> <!-- Call settings - this is in the phone process -->
@@ -56,18 +56,18 @@
<!-- Sound --> <!-- Sound -->
<header <header
android:id="@+id/sound_settings"
android:icon="@drawable/ic_settings_sound" android:icon="@drawable/ic_settings_sound"
android:fragment="com.android.settings.SoundSettings" android:fragment="com.android.settings.SoundSettings"
android:title="@string/sound_settings_title"> android:title="@string/sound_settings_title" />
</header>
<!-- Display --> <!-- Display -->
<header <header
android:id="@+id/display_settings"
android:icon="@drawable/ic_settings_display" android:icon="@drawable/ic_settings_display"
android:fragment="com.android.settings.DisplaySettings" android:fragment="com.android.settings.DisplaySettings"
android:title="@string/display_settings_title"> android:title="@string/display_settings_title" />
</header>
<!-- Security & Location --> <!-- Security & Location -->
@@ -75,8 +75,7 @@
android:fragment="com.android.settings.SecuritySettings" android:fragment="com.android.settings.SecuritySettings"
android:icon="@drawable/ic_settings_security" android:icon="@drawable/ic_settings_security"
android:title="@string/security_settings_title" android:title="@string/security_settings_title"
android:id="@+id/security_settings"> android:id="@+id/security_settings" />
</header>
<!-- Application Settings --> <!-- Application Settings -->
@@ -84,8 +83,7 @@
android:fragment="com.android.settings.ApplicationSettings" android:fragment="com.android.settings.ApplicationSettings"
android:icon="@drawable/ic_settings_applications" android:icon="@drawable/ic_settings_applications"
android:title="@string/applications_settings" android:title="@string/applications_settings"
android:id="@+id/applications_settings"> android:id="@+id/application_settings" />
</header>
<!-- Data Sync. The settings activity will ensure this is resolved to an <!-- Data Sync. The settings activity will ensure this is resolved to an
activity on the system image, otherwise it will remove this activity on the system image, otherwise it will remove this
@@ -95,8 +93,7 @@
android:fragment="com.android.settings.ManageAccountsSettings" android:fragment="com.android.settings.ManageAccountsSettings"
android:icon="@drawable/ic_settings_sync" android:icon="@drawable/ic_settings_sync"
android:title="@string/sync_settings" android:title="@string/sync_settings"
android:id="@+id/sync_settings"> android:id="@+id/sync_settings" />
</header>
<!-- Privacy --> <!-- Privacy -->
@@ -104,40 +101,39 @@
android:fragment="com.android.settings.PrivacySettings" android:fragment="com.android.settings.PrivacySettings"
android:icon="@drawable/ic_settings_privacy" android:icon="@drawable/ic_settings_privacy"
android:title="@string/privacy_settings" android:title="@string/privacy_settings"
android:id="@+id/privacy_settings"> android:id="@+id/privacy_settings" />
</header>
<!-- Storage --> <!-- Storage -->
<header <header
android:id="@+id/storage_settings"
android:fragment="com.android.settings.deviceinfo.Memory" android:fragment="com.android.settings.deviceinfo.Memory"
android:icon="@drawable/ic_settings_storage" android:icon="@drawable/ic_settings_storage"
android:title="@string/storage_settings"> android:title="@string/storage_settings" />
</header>
<!-- Language --> <!-- Language -->
<header <header
android:id="@+id/language_settings"
android:fragment="com.android.settings.inputmethod.InputMethodAndLanguageSettings" android:fragment="com.android.settings.inputmethod.InputMethodAndLanguageSettings"
android:icon="@drawable/ic_settings_language" android:icon="@drawable/ic_settings_language"
android:title="@string/language_settings"> android:title="@string/language_settings" />
</header>
<!-- Voice input & output --> <!-- Voice input & output -->
<header <header
android:id="@+id/voice_input_output_settings"
android:fragment="com.android.settings.VoiceInputOutputSettings" android:fragment="com.android.settings.VoiceInputOutputSettings"
android:icon="@drawable/ic_settings_speech" android:icon="@drawable/ic_settings_speech"
android:title="@string/voice_input_output_settings"> android:title="@string/voice_input_output_settings" />
</header>
<!-- Accessibility feedback --> <!-- Accessibility feedback -->
<header <header
android:id="@+id/accessibility_settings"
android:fragment="com.android.settings.AccessibilitySettings" android:fragment="com.android.settings.AccessibilitySettings"
android:icon="@drawable/ic_settings_accessibility" android:icon="@drawable/ic_settings_accessibility"
android:title="@string/accessibility_settings"> android:title="@string/accessibility_settings" />
</header>
<!-- Dock --> <!-- Dock -->
@@ -145,30 +141,30 @@
android:id="@+id/dock_settings" android:id="@+id/dock_settings"
android:fragment="com.android.settings.DockSettings" android:fragment="com.android.settings.DockSettings"
android:icon="@drawable/ic_settings_dock" android:icon="@drawable/ic_settings_dock"
android:title="@string/dock_settings"> android:title="@string/dock_settings" />
</header>
<!-- Date & Time --> <!-- Date & Time -->
<header <header
android:id="@+id/date_time_settings"
android:fragment="com.android.settings.DateTimeSettings" android:fragment="com.android.settings.DateTimeSettings"
android:icon="@drawable/ic_settings_date_time" android:icon="@drawable/ic_settings_date_time"
android:title="@string/date_and_time_settings_title"> android:title="@string/date_and_time_settings_title" />
</header>
<!-- Owner info --> <!-- Owner info -->
<header <header
android:id="@+id/owner_info_settings"
android:fragment="com.android.settings.OwnerInfoSettings" android:fragment="com.android.settings.OwnerInfoSettings"
android:icon="@drawable/ic_settings_about" android:icon="@drawable/ic_settings_about"
android:title="@string/owner_info_settings_title"> android:title="@string/owner_info_settings_title" />
</header>
<!-- About Device --> <!-- About Device -->
<header <header
android:id="@+id/about_settings"
android:fragment="com.android.settings.DeviceInfoSettings" android:fragment="com.android.settings.DeviceInfoSettings"
android:icon="@drawable/ic_settings_about" android:icon="@drawable/ic_settings_about"
android:title="@string/about_settings"> android:title="@string/about_settings" />
</header>
</preference-headers> </preference-headers>

View File

@@ -17,9 +17,13 @@
package com.android.settings; package com.android.settings;
import android.content.Intent; 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.os.Bundle;
import android.preference.PreferenceActivity; import android.preference.PreferenceActivity;
import java.util.HashMap;
import java.util.List; import java.util.List;
/** /**
@@ -27,8 +31,36 @@ import java.util.List;
*/ */
public class Settings extends PreferenceActivity { 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. // 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 @Override
public Intent getIntent() { public Intent getIntent() {
String startingFragment = getStartingFragmentClass(super.getIntent()); String startingFragment = getStartingFragmentClass(super.getIntent());
@@ -52,7 +84,9 @@ public class Settings extends PreferenceActivity {
* Checks if the component name in the intent is different from the Settings class and * Checks if the component name in the intent is different from the Settings class and
* returns the class name to load as a fragment. * 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(); String intentClass = intent.getComponent().getClassName();
if (intentClass.equals(getClass().getName())) return null; if (intentClass.equals(getClass().getName())) return null;
@@ -96,7 +130,8 @@ public class Settings extends PreferenceActivity {
int i = 0; int i = 0;
while (i < target.size()) { while (i < target.size()) {
Header header = target.get(i); 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 (id == R.id.dock_settings) {
if (!needsDockSettings()) if (!needsDockSettings())
target.remove(header); target.remove(header);
@@ -106,12 +141,55 @@ public class Settings extends PreferenceActivity {
if (!Utils.isVoiceCapable(this)) if (!Utils.isVoiceCapable(this))
target.remove(header); 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++; i++;
}
} }
} }
private boolean needsDockSettings() { private boolean needsDockSettings() {
return getResources().getBoolean(R.bool.has_dock_settings); 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 { }
} }

View File

@@ -16,9 +16,12 @@
package com.android.settings.applications; package com.android.settings.applications;
import com.android.internal.content.PackageHelper;
import com.android.settings.R; import com.android.settings.R;
import com.android.internal.content.PackageHelper;
import com.android.settings.applications.ApplicationsState.AppEntry; 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.app.Fragment;
import android.content.Context; import android.content.Context;
@@ -519,9 +522,9 @@ public class ManageApplications extends Fragment implements
if (className == null) { if (className == null) {
className = intent.getComponent().getClassName(); className = intent.getComponent().getClassName();
} }
if (className.equals("com.android.settings.RunningServices")) { if (className.equals(RunningServicesActivity.class.getName())) {
defaultTabTag = TAB_RUNNING; 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)) { || action.equals(Intent.ACTION_MANAGE_PACKAGE_STORAGE)) {
mSortOrder = SORT_ORDER_SIZE; mSortOrder = SORT_ORDER_SIZE;
mFilterApps = FILTER_APPS_ALL; mFilterApps = FILTER_APPS_ALL;