Add an option allowing to skip wallpaper apps selection.
This commit adds an option to the Settings application, making it
possible to launch a different activity for wallpaper selection
Also removing te intent constant android.settings.WALLPAPER_SETTINGS
The target for this action can't be easily overriden when the
wallpaper target is overriden, which would provide an inconsistant
experience.
Bug: 28554244
Bug: 26688904
Change-Id: I25367fbb4505615351fbad9e1aa1ca88df0cd034
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 7617c39..841fc68 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -848,10 +848,6 @@
android:label="@string/wallpaper_settings_fragment_title"
android:icon="@drawable/ic_wallpaper"
android:taskAffinity="">
- <intent-filter android:priority="1">
- <action android:name="android.settings.WALLPAPER_SETTINGS" />
- <category android:name="android.intent.category.DEFAULT" />
- </intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.WallpaperTypeSettings" />
</activity>
diff --git a/res/values/config.xml b/res/values/config.xml
index 6cae9cf..2c7a2de 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -40,4 +40,8 @@
<!-- Fully-qualified class name for the implementation of the FeatureFactory to be instantiated. -->
<string name="config_featureFactory" translatable="false">com.android.settings.overlay.FeatureFactoryImpl</string>
+
+ <!-- Package name and fully-qualified class name for the wallpaper picker activity. -->
+ <string name="config_wallpaper_picker_package" translatable="false">com.android.settings</string>
+ <string name="config_wallpaper_picker_class" translatable="false">com.android.settings.Settings$WallpaperSettingsActivity</string>
</resources>
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index 816f27b..6b5bda6 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -45,8 +45,11 @@
android:key="wallpaper"
android:title="@string/wallpaper_settings_title"
settings:keywords="@string/keywords_display_wallpaper"
- android:fragment="com.android.settings.WallpaperTypeSettings"
- settings:useAdminDisabledSummary="true" />
+ settings:useAdminDisabledSummary="true" >
+ <intent
+ android:targetPackage="@string/config_wallpaper_picker_package"
+ android:targetClass="@string/config_wallpaper_picker_class" />
+ </com.android.settingslib.RestrictedPreference>
<com.android.settings.TimeoutListPreference
android:key="screen_timeout"
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index bd6619e..d68b480 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -410,12 +410,7 @@
@Override
public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
- // Override the fragment title for Wallpaper settings
- CharSequence title = pref.getTitle();
- if (pref.getFragment().equals(WallpaperTypeSettings.class.getName())) {
- title = getString(R.string.wallpaper_settings_fragment_title);
- }
- startPreferencePanel(pref.getFragment(), pref.getExtras(), -1, title,
+ startPreferencePanel(pref.getFragment(), pref.getExtras(), -1, pref.getTitle(),
null, 0);
return true;
}