Fixed intents to start Settings activities

All tested, on tablet and on phone.

Change-Id: I8ab206b9db61c7c3800fe9bff175e87baf97ed7c
This commit is contained in:
Gilles Debunne
2011-07-06 13:10:16 -07:00
parent fc1cccd74f
commit ab189bd9a6
3 changed files with 69 additions and 97 deletions

View File

@@ -62,8 +62,7 @@
android:label="@string/settings_label_launcher"
android:taskAffinity="com.android.settings"
android:theme="@android:style/Theme.Holo"
android:launchMode="singleTask"
>
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.SETTINGS" />
@@ -74,8 +73,7 @@
<activity android:name=".SubSettings"
android:taskAffinity="com.android.settings"
android:theme="@android:style/Theme.Holo"
>
android:theme="@android:style/Theme.Holo">
</activity>
<activity android:name="CreateShortcut" android:label="@string/settings_shortcut"
@@ -90,8 +88,7 @@
<activity android:name="Settings$WirelessSettingsActivity"
android:theme="@android:style/Theme.Holo"
android:label="@string/wireless_networks_settings_title"
>
android:label="@string/wireless_networks_settings_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.WIRELESS_SETTINGS" />
@@ -111,9 +108,8 @@
<activity android:name="Settings$WifiSettingsActivity"
android:theme="@android:style/Theme.Holo"
android:label="@string/wifi_settings"
android:configChanges="orientation|keyboardHidden"
android:clearTaskOnLaunch="true"
>
android:configChanges="orientation|keyboardHidden|screenSize"
android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.WIFI_SETTINGS" />
@@ -124,7 +120,7 @@
<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" />
android:resource="@id/wifi_settings" />
</activity>
<activity android:name=".wifi.WifiPickerActivity"
@@ -145,29 +141,22 @@
android:windowSoftInputMode="adjustResize"
android:exported="true" />
<activity-alias android:name=".wifi.AdvancedWifiSettings"
<activity android:name="Settings$AdvancedWifiSettingsActivity"
android:theme="@android:style/Theme.Holo"
android:label="@string/wifi_advanced_settings_label"
android:targetActivity="Settings"
>
android:configChanges="orientation|keyboardHidden|screenSize"
android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.WIFI_IP_SETTINGS" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity-alias>
<activity-alias android:name=".wifi.AdvancedSettings"
android:label="@string/wifi_advanced_settings_label"
android:targetActivity="Settings"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.WIFI_IP_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.wifi.AdvancedWifiSettings" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
android:resource="@id/wifi_settings" />
</activity>
<activity android:name=".wifi.WifiInfo"
android:theme="@android:style/Theme.Holo.DialogWhenLarge">
@@ -205,6 +194,7 @@
</intent-filter>
</activity>
<!-- Suspect activity alias: targetActivity is Settings itself, does not define a name. Remove? -->
<activity-alias android:name=".wifi.WifiApSettings"
android:targetActivity="Settings">
<intent-filter>
@@ -215,9 +205,8 @@
</activity-alias>
<activity android:name="ApnSettings" android:label="@string/apn_settings"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleTask"
>
android:configChanges="orientation|keyboardHidden|screenSize"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.APN_SETTINGS" />
@@ -240,20 +229,23 @@
<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" />
android:resource="@id/bluetooth_settings" />
</activity>
<activity-alias android:name=".bluetooth.AdvancedBluetoothSettings"
<activity android:name="Settings$AdvancedBluetoothSettingsActivity"
android:label="@string/bluetooth_advanced_settings_label"
android:targetActivity="Settings"
>
android:targetActivity="Settings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.ADVANCED_BLUETOOTH_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.bluetooth.AdvancedBluetoothSettings" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
android:resource="@id/bluetooth_settings" />
</activity>
<activity android:name=".bluetooth.DevicePickerActivity"
android:theme="@android:style/Theme.Holo.DialogWhenLarge"
@@ -322,7 +314,7 @@
<activity android:name="Settings$DateTimeSettingsActivity"
android:theme="@android:style/Theme.Holo"
android:label="@string/date_and_time" >
android:label="@string/date_and_time">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.DATE_SETTINGS" />
@@ -447,8 +439,7 @@
<activity android:name="Settings$DisplaySettingsActivity"
android:theme="@android:style/Theme.Holo"
android:label="@string/display_settings"
android:clearTaskOnLaunch="true"
>
android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="com.android.settings.DISPLAY_SETTINGS" />
@@ -499,7 +490,7 @@
<activity android:name="SettingsLicenseActivity"
android:label="@string/settings_license_activity_title"
android:theme="@*android:style/Theme.Holo.Dialog.Alert"
android:configChanges="orientation">
android:configChanges="orientation|screenSize">
<intent-filter>
<action android:name="android.settings.LICENSE" />
<category android:name="android.intent.category.DEFAULT" />
@@ -515,28 +506,13 @@
</intent-filter>
</activity>
<activity android:name="Settings$ApplicationSettingsActivity"
android:theme="@android:style/Theme.Holo"
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>
<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 android:name="Settings$ManageApplicationsActivity"
android:theme="@android:style/Theme.Holo"
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" />
<action android:name="android.settings.APPLICATION_SETTINGS" />
<action android:name="android.settings.MANAGE_APPLICATIONS_SETTINGS" />
<action android:name="android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
@@ -547,10 +523,6 @@
android:value="com.android.settings.applications.ManageApplications" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
android:resource="@id/application_settings" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_TITLE"
android:resource="@string/applications_settings_header" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_CLASS"
android:value="com.android.settings.Settings$ApplicationSettingsActivity" />
</activity>
<!-- Keep compatibility with old shortcuts. -->
@@ -568,6 +540,7 @@
android:label="@string/application_info_label"
android:exported="true">
</activity>
<activity-alias android:name=".applications.InstalledAppDetails"
android:label="@string/application_info_label"
android:targetActivity=".applications.InstalledAppDetailsTop">
@@ -593,10 +566,6 @@
android:value="com.android.settings.applications.ManageApplications" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
android:resource="@id/application_settings" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_TITLE"
android:resource="@string/applications_settings_header" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_CLASS"
android:value="com.android.settings.Settings$ApplicationSettingsActivity" />
</activity>
<!-- Provide direct entry into manage apps showing running services. -->
@@ -606,6 +575,7 @@
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.MANAGE_PACKAGE_STORAGE" />
<category android:name="android.intent.category.MONKEY" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
@@ -614,16 +584,12 @@
android:value="com.android.settings.applications.ManageApplications" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
android:resource="@id/application_settings" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_TITLE"
android:resource="@string/applications_settings_header" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_CLASS"
android:value="com.android.settings.Settings$ApplicationSettingsActivity" />
</activity>
<activity android:name="Settings$LocationSettingsActivity"
android:theme="@android:style/Theme.Holo"
android:label="@string/location_settings_title"
android:configChanges="orientation|keyboardHidden"
android:configChanges="orientation|keyboardHidden|screenSize"
android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -642,7 +608,7 @@
<activity android:name="Settings$SecuritySettingsActivity"
android:theme="@android:style/Theme.Holo"
android:label="@string/security_settings_title"
android:configChanges="orientation|keyboardHidden"
android:configChanges="orientation|keyboardHidden|screenSize"
android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -661,11 +627,12 @@
<activity android:name="Settings$PrivacySettingsActivity"
android:theme="@android:style/Theme.Holo"
android:label="@string/privacy_settings_title"
android:configChanges="orientation|keyboardHidden"
android:configChanges="orientation|keyboardHidden|screenSize"
android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.PRIVACY_SETTINGS" />
<action android:name="android.settings.BACKUP_AND_RESET_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter>
@@ -677,7 +644,7 @@
<activity android:name="CredentialStorage"
android:theme="@style/Transparent"
android:configChanges="orientation|keyboardHidden">
android:configChanges="orientation|keyboardHidden|screenSize">
<intent-filter>
<action android:name="com.android.credentials.UNLOCK" />
<action android:name="com.android.credentials.INSTALL" />
@@ -689,8 +656,7 @@
<activity android:name="Settings$DeviceAdminSettingsActivity"
android:label="@string/device_admin_settings_title"
android:theme="@android:style/Theme.Holo"
android:clearTaskOnLaunch="true"
>
android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
@@ -710,8 +676,7 @@
<activity android:name="DeviceAdminAdd"
android:label="@string/device_admin_add_title"
android:theme="@android:style/Theme.Holo.DialogWhenLarge"
android:clearTaskOnLaunch="true"
>
android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.app.action.ADD_DEVICE_ADMIN" />
<category android:name="android.intent.category.DEFAULT" />
@@ -744,12 +709,17 @@
android:resource="@id/accessibility_settings" />
</activity>
<activity android:name="TextToSpeechSettings" android:label="@string/tts_settings">
<activity android:name="Settings$TextToSpeechSettingsActivity"
android:label="@string/tts_settings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="com.android.settings.TTS_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.TextToSpeechSettings" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
android:resource="@id/language_settings" />
</activity>
<!-- Second and third-level settings -->
@@ -860,7 +830,7 @@
<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" />
android:resource="@id/development_settings" />
</activity>
<activity-alias android:name="DevelopmentSettings"
@@ -868,16 +838,10 @@
android:exported="true"
android:label="@string/development_settings_title"
android:targetActivity="Settings$DevelopmentSettingsActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
<action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<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" />
android:resource="@id/development_settings" />
</activity-alias>
@@ -995,6 +959,7 @@
</intent-filter>
</activity>
<!-- Suspect activity alias: targetActivity is Settings itself, does not define a name. Remove? -->
<activity-alias android:name="ProxySelector"
android:label="@string/proxy_settings_label"
android:targetActivity="Settings">
@@ -1061,10 +1026,6 @@
android:value="com.android.settings.fuelgauge.PowerUsageSummary" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
android:resource="@id/application_settings" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_TITLE"
android:resource="@string/applications_settings_header" />
<meta-data android:name="com.android.settings.PARENT_FRAGMENT_CLASS"
android:value="com.android.settings.Settings$ApplicationSettingsActivity" />
</activity>
<activity

View File

@@ -567,4 +567,7 @@ public class Settings extends PreferenceActivity implements ButtonBarHandler {
public static class CryptKeeperSettingsActivity extends Settings { /* empty */ }
public static class DeviceAdminSettingsActivity extends Settings { /* empty */ }
public static class DataUsageSummaryActivity extends Settings { /* empty */ }
public static class AdvancedWifiSettingsActivity extends Settings { /* empty */ }
public static class AdvancedBluetoothSettingsActivity extends Settings { /* empty */ }
public static class TextToSpeechSettingsActivity extends Settings { /* empty */ }
}

View File

@@ -16,10 +16,6 @@
package com.android.settings.accounts;
import com.android.settings.R;
import com.google.android.collect.Lists;
import com.google.android.collect.Maps;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountManagerCallback;
@@ -53,6 +49,10 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.android.settings.R;
import com.google.android.collect.Lists;
import com.google.android.collect.Maps;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -175,7 +175,13 @@ public class AccountSyncSettings extends AccountPreferenceBase {
mDateFormat = DateFormat.getDateFormat(activity);
mTimeFormat = DateFormat.getTimeFormat(activity);
mAccount = (Account) getArguments().getParcelable(ACCOUNT_KEY);
Bundle arguments = getArguments();
if (arguments == null) {
Log.e(TAG, "No arguments provided when starting intent. ACCOUNT_KEY needed.");
return;
}
mAccount = (Account) arguments.getParcelable(ACCOUNT_KEY);
if (mAccount != null) {
if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "Got account: " + mAccount);
mUserId.setText(mAccount.name);
@@ -486,12 +492,14 @@ public class AccountSyncSettings extends AccountPreferenceBase {
protected void onAuthDescriptionsUpdated() {
super.onAuthDescriptionsUpdated();
getPreferenceScreen().removeAll();
if (mAccount != null) {
mProviderIcon.setImageDrawable(getDrawableForType(mAccount.type));
mProviderId.setText(getLabelForType(mAccount.type));
PreferenceScreen prefs = addPreferencesForType(mAccount.type);
if (prefs != null) {
updatePreferenceIntents(prefs);
}
}
addPreferencesFromResource(R.xml.account_sync_settings);
}