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
This commit is contained in:
Sunny Goyal
2016-05-25 12:41:16 -07:00
parent 3652f20efb
commit 21ef89fd6b
4 changed files with 10 additions and 12 deletions

View File

@@ -848,10 +848,6 @@
android:label="@string/wallpaper_settings_fragment_title" android:label="@string/wallpaper_settings_fragment_title"
android:icon="@drawable/ic_wallpaper" android:icon="@drawable/ic_wallpaper"
android:taskAffinity=""> 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" <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.WallpaperTypeSettings" /> android:value="com.android.settings.WallpaperTypeSettings" />
</activity> </activity>

View File

@@ -40,4 +40,8 @@
<!-- Fully-qualified class name for the implementation of the FeatureFactory to be instantiated. --> <!-- 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> <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> </resources>

View File

@@ -45,8 +45,11 @@
android:key="wallpaper" android:key="wallpaper"
android:title="@string/wallpaper_settings_title" android:title="@string/wallpaper_settings_title"
settings:keywords="@string/keywords_display_wallpaper" 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 <com.android.settings.TimeoutListPreference
android:key="screen_timeout" android:key="screen_timeout"

View File

@@ -410,12 +410,7 @@ public class SettingsActivity extends SettingsDrawerActivity
@Override @Override
public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) { public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
// Override the fragment title for Wallpaper settings startPreferencePanel(pref.getFragment(), pref.getExtras(), -1, pref.getTitle(),
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,
null, 0); null, 0);
return true; return true;
} }