diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 08eb247465a..7e013e4841c 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -16,11 +16,11 @@ package com.android.settings; +import android.app.ActionBar; import android.app.ActivityManager; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; -import android.app.ActionBar; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; @@ -166,7 +166,6 @@ public class SettingsActivity extends SettingsDrawerActivity private static final String SAVE_KEY_SEARCH_QUERY = ":settings:search_query"; private static final String SAVE_KEY_SHOW_HOME_AS_UP = ":settings:show_home_as_up"; private static final String SAVE_KEY_SHOW_SEARCH = ":settings:show_search"; - private static final String SAVE_KEY_HOME_ACTIVITIES_COUNT = ":settings:home_activities_count"; /** * When starting this activity, the invoking Intent can contain this extra diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java index 2872a78e7e0..13c2cc3d1b9 100644 --- a/src/com/android/settings/dashboard/DashboardFragment.java +++ b/src/com/android/settings/dashboard/DashboardFragment.java @@ -17,6 +17,7 @@ package com.android.settings.dashboard; import android.app.Activity; import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; @@ -25,6 +26,7 @@ import android.util.ArrayMap; import android.util.ArraySet; import android.util.Log; +import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.core.PreferenceController; import com.android.settings.overlay.FeatureFactory; @@ -232,8 +234,13 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment if (tile.icon != null) { pref.setIcon(tile.icon.loadDrawable(context)); } - if (tile.intent != null) { - pref.setIntent(tile.intent); + final Intent intent = new Intent(tile.intent); + if (intent != null) { + pref.setOnPreferenceClickListener(preference -> { + intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, true); + getActivity().startActivityForResult(intent, 0); + return true; + }); } // Use negated priority for order, because tile priority is based on intent-filter // (larger value has higher priority). However pref order defines smaller value has