Some cleanup of settings launching, adding shortcuts.
- Move the battery usage item from applications to phone info.
- Give the battery usage item a summary.
- Fiddle with the manifest to make it so we can launch parts of the settings
app without messing up launching of the main app. (That is, remove
affinities so they each are treated as different tasks.)
- Add the ability to make shortcuts to some key settings panels.
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 03978cc..39d5019 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -36,11 +36,14 @@
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" />
- <application android:label="@string/settings_label" android:icon="@drawable/ic_launcher_settings">
+ <application android:label="@string/settings_label"
+ android:icon="@drawable/ic_launcher_settings"
+ android:taskAffinity="">
<!-- Settings -->
<activity android:name="Settings" android:label="@string/settings_label"
+ android:taskAffinity="com.android.settings"
android:clearTaskOnLaunch="true"
android:launchMode="singleTop">
<intent-filter>
@@ -51,6 +54,13 @@
</intent-filter>
</activity>
+ <activity android:name="CreateShortcut" android:label="@string/settings_shortcut">
+ <intent-filter>
+ <action android:name="android.intent.action.CREATE_SHORTCUT" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ </activity>
+
<!-- Wireless Controls -->
<activity android:name="WirelessSettings"
@@ -69,6 +79,7 @@
<!-- Top-level settings -->
<activity android:name=".wifi.WifiSettings" android:label="@string/wifi_settings"
+ android:clearTaskOnLaunch="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -76,6 +87,7 @@
<action android:name="android.net.wifi.PICK_WIFI_NETWORK" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
+ <category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
</activity>
@@ -102,11 +114,13 @@
<activity android:name=".bluetooth.BluetoothSettings"
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" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
+ <category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
</activity>
@@ -155,12 +169,14 @@
</activity>
<activity android:name="LanguageSettings" android:label="@string/language_picker_title"
+ android:clearTaskOnLaunch="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.INPUT_METHOD_SETTINGS" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="android.intent.category.DEFAULT" />
+ <category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
</activity>
@@ -172,18 +188,21 @@
</intent-filter>
</activity>
- <activity android:name="UserDictionarySettings" android:icon="@drawable/app_settings"
- android:label="@string/user_dict_settings_titlebar">
+ <activity android:name="UserDictionarySettings"
+ android:label="@string/user_dict_settings_titlebar"
+ android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.USER_DICTIONARY_SETTINGS" />
<action android:name="com.android.settings.USER_DICTIONARY_INSERT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
+ <category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
</activity>
<activity android:name="SoundAndDisplaySettings" android:label="@string/sound_and_display_settings"
+ android:clearTaskOnLaunch="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -192,6 +211,7 @@
<action android:name="android.settings.DISPLAY_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
+ <category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
</activity>
@@ -225,6 +245,7 @@
<activity android:name="ManageApplications"
android:label="@string/manageapplications_settings_title"
+ android:clearTaskOnLaunch="true"
android:configChanges="orientation|keyboardHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -233,6 +254,7 @@
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
+ <category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
</activity>
@@ -244,13 +266,16 @@
</intent-filter>
</activity>
- <activity android:name="SecuritySettings" android:label="@string/security_settings_title">
+ <activity android:name="SecuritySettings" android:label="@string/security_settings_title"
+ android:clearTaskOnLaunch="true"
+ >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.SECURITY_SETTINGS" />
<action android:name="android.settings.LOCATION_SOURCE_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
+ <category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
</activity>
@@ -369,7 +394,7 @@
</intent-filter>
</activity>
- <activity android:name="DevelopmentSettings" android:icon="@drawable/app_settings"
+ <activity android:name="DevelopmentSettings"
android:label="@string/development_settings_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -527,10 +552,14 @@
</activity>
<activity android:name=".fuelgauge.PowerUsageSummary"
- android:label="@string/power_usage_summary_title">
+ android:label="@string/power_usage_summary_title"
+ android:clearTaskOnLaunch="true"
+ >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
+ <action android:name="android.intent.action.POWER_USAGE_SUMMARY" />
<category android:name="android.intent.category.DEFAULT" />
+ <category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
</activity>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 359c2be..2dd2f84 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -424,6 +424,8 @@
<!-- Main Settings screen title -->
<string name="settings_label">Settings</string>
+ <!-- Label for option to select a settings panel as a shortcut -->
+ <string name="settings_shortcut">Settings</string>
<!-- Wireless controls settings screen, setting check box label -->
<string name="airplane_mode">Airplane mode</string>
<!-- Wireless controls settings screen, setting option summary text -->
@@ -1638,6 +1640,8 @@
<!-- Activity title for App Fuel Gauge summary -->
<string name="power_usage_summary_title">Battery use</string>
+ <!-- Activity title summary for App Fuel Gauge summary -->
+ <string name="power_usage_summary">What has been using the battery</string>
<!-- Battery usage since unplugged -->
<string name="battery_since_unplugged">Battery use since unplugged</string>
<!-- Battery usage since user reset the stats -->
diff --git a/res/xml/application_settings.xml b/res/xml/application_settings.xml
index 4da2036..8d0a7cb 100644
--- a/res/xml/application_settings.xml
+++ b/res/xml/application_settings.xml
@@ -36,14 +36,6 @@
</PreferenceScreen>
<PreferenceScreen
- android:key="power_usage"
- android:title="@string/power_usage_summary_title">
- <intent android:action="android.intent.action.MAIN"
- android:targetPackage="com.android.settings"
- android:targetClass="com.android.settings.fuelgauge.PowerUsageSummary" />
- </PreferenceScreen>
-
- <PreferenceScreen
android:title="@string/manageapplications_settings_title"
android:summary="@string/manageapplications_settings_summary">
<intent android:action="android.intent.action.MAIN"
diff --git a/res/xml/device_info_settings.xml b/res/xml/device_info_settings.xml
index 3804500..80370e2 100644
--- a/res/xml/device_info_settings.xml
+++ b/res/xml/device_info_settings.xml
@@ -33,6 +33,15 @@
android:targetClass="com.android.settings.deviceinfo.Status" />
</PreferenceScreen>
+ <PreferenceScreen
+ android:key="power_usage"
+ android:title="@string/power_usage_summary_title"
+ android:summary="@string/power_usage_summary">
+ <intent android:action="android.intent.action.MAIN"
+ android:targetPackage="com.android.settings"
+ android:targetClass="com.android.settings.fuelgauge.PowerUsageSummary" />
+ </PreferenceScreen>
+
<!-- Legal Information -->
<PreferenceScreen
android:key="container"
diff --git a/src/com/android/settings/CreateShortcut.java b/src/com/android/settings/CreateShortcut.java
new file mode 100644
index 0000000..b2dcee2
--- /dev/null
+++ b/src/com/android/settings/CreateShortcut.java
@@ -0,0 +1,25 @@
+package com.android.settings;
+
+import android.app.LauncherActivity;
+import android.content.Intent;
+import android.view.View;
+import android.widget.ListView;
+
+public class CreateShortcut extends LauncherActivity {
+ @Override protected Intent getTargetIntent() {
+ Intent targetIntent = new Intent(Intent.ACTION_MAIN, null);
+ targetIntent.addCategory("com.android.settings.SHORTCUT");
+ targetIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ return targetIntent;
+ }
+
+ @Override protected void onListItemClick(ListView l, View v, int position, long id) {
+ Intent shortcutIntent = intentForPosition(position);
+ shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
+ Intent intent = new Intent();
+ intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
+ intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, itemForPosition(position).label);
+ setResult(RESULT_OK, intent);
+ finish();
+ }
+}