Loading src/com/android/settings/notification/ConfigureNotificationSettings.java +37 −7 Original line number Diff line number Diff line Loading @@ -17,21 +17,24 @@ package com.android.settings.notification; import android.content.Context; import android.provider.SearchIndexableResource; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.core.PreferenceController; import com.android.settings.core.lifecycle.Lifecycle; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.gestures.SwipeToNotificationPreferenceController; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ConfigureNotificationSettings extends DashboardFragment { private static final String TAG = "ConfigNotiSettings"; private LockScreenNotificationPreferenceController mLockScreenNotificationController; @Override public int getMetricsCategory() { return MetricsEvent.CONFIGURE_NOTIFICATION; Loading @@ -49,15 +52,42 @@ public class ConfigureNotificationSettings extends DashboardFragment { @Override protected List<PreferenceController> getPreferenceControllers(Context context) { return buildPreferenceControllers(context, getLifecycle()); } private static List<PreferenceController> buildPreferenceControllers(Context context, Lifecycle lifecycle) { final List<PreferenceController> controllers = new ArrayList<>(); final PulseNotificationPreferenceController pulseController = new PulseNotificationPreferenceController(context); mLockScreenNotificationController = new LockScreenNotificationPreferenceController(context); getLifecycle().addObserver(pulseController); getLifecycle().addObserver(mLockScreenNotificationController); controllers.add(new SwipeToNotificationPreferenceController(context, getLifecycle())); final LockScreenNotificationPreferenceController lockScreenNotificationController = new LockScreenNotificationPreferenceController(context); if (lifecycle != null) { lifecycle.addObserver(pulseController); lifecycle.addObserver(lockScreenNotificationController); } controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle)); controllers.add(pulseController); controllers.add(mLockScreenNotificationController); controllers.add(lockScreenNotificationController); return controllers; } /** * For Search. */ public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider() { @Override public List<SearchIndexableResource> getXmlResourcesToIndex( Context context, boolean enabled) { final SearchIndexableResource sir = new SearchIndexableResource(context); sir.xmlResId = R.xml.configure_notification_settings; return Arrays.asList(sir); } @Override public List<PreferenceController> getPreferenceControllers(Context context) { return buildPreferenceControllers(context, null); } }; } src/com/android/settings/search/BaseSearchIndexProvider.java +2 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.search; import android.content.Context; import android.content.res.XmlResourceParser; import android.provider.SearchIndexableResource; import android.support.annotation.CallSuper; import android.text.TextUtils; import android.util.AttributeSet; import android.util.Log; Loading Loading @@ -57,6 +58,7 @@ public class BaseSearchIndexProvider implements Indexable.SearchIndexProvider { } @Override @CallSuper public List<String> getNonIndexableKeys(Context context) { if (!isPageSearchEnabled(context)) { // Entire page should be suppressed, mark all keys from this page as non-indexable. Loading tests/robotests/assets/grandfather_not_implementing_index_provider +0 −2 Original line number Diff line number Diff line com.android.settings.notification.ConfigureNotificationSettings com.android.settings.language.LanguageAndRegionSettings com.android.settings.notification.ZenModePrioritySettings com.android.settings.inputmethod.InputAndGestureSettings com.android.settings.accounts.AccountDetailDashboardFragment com.android.settings.fuelgauge.PowerUsageDetail com.android.settings.fuelgauge.AdvancedPowerUsageDetail Loading Loading
src/com/android/settings/notification/ConfigureNotificationSettings.java +37 −7 Original line number Diff line number Diff line Loading @@ -17,21 +17,24 @@ package com.android.settings.notification; import android.content.Context; import android.provider.SearchIndexableResource; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.core.PreferenceController; import com.android.settings.core.lifecycle.Lifecycle; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.gestures.SwipeToNotificationPreferenceController; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ConfigureNotificationSettings extends DashboardFragment { private static final String TAG = "ConfigNotiSettings"; private LockScreenNotificationPreferenceController mLockScreenNotificationController; @Override public int getMetricsCategory() { return MetricsEvent.CONFIGURE_NOTIFICATION; Loading @@ -49,15 +52,42 @@ public class ConfigureNotificationSettings extends DashboardFragment { @Override protected List<PreferenceController> getPreferenceControllers(Context context) { return buildPreferenceControllers(context, getLifecycle()); } private static List<PreferenceController> buildPreferenceControllers(Context context, Lifecycle lifecycle) { final List<PreferenceController> controllers = new ArrayList<>(); final PulseNotificationPreferenceController pulseController = new PulseNotificationPreferenceController(context); mLockScreenNotificationController = new LockScreenNotificationPreferenceController(context); getLifecycle().addObserver(pulseController); getLifecycle().addObserver(mLockScreenNotificationController); controllers.add(new SwipeToNotificationPreferenceController(context, getLifecycle())); final LockScreenNotificationPreferenceController lockScreenNotificationController = new LockScreenNotificationPreferenceController(context); if (lifecycle != null) { lifecycle.addObserver(pulseController); lifecycle.addObserver(lockScreenNotificationController); } controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle)); controllers.add(pulseController); controllers.add(mLockScreenNotificationController); controllers.add(lockScreenNotificationController); return controllers; } /** * For Search. */ public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider() { @Override public List<SearchIndexableResource> getXmlResourcesToIndex( Context context, boolean enabled) { final SearchIndexableResource sir = new SearchIndexableResource(context); sir.xmlResId = R.xml.configure_notification_settings; return Arrays.asList(sir); } @Override public List<PreferenceController> getPreferenceControllers(Context context) { return buildPreferenceControllers(context, null); } }; }
src/com/android/settings/search/BaseSearchIndexProvider.java +2 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.search; import android.content.Context; import android.content.res.XmlResourceParser; import android.provider.SearchIndexableResource; import android.support.annotation.CallSuper; import android.text.TextUtils; import android.util.AttributeSet; import android.util.Log; Loading Loading @@ -57,6 +58,7 @@ public class BaseSearchIndexProvider implements Indexable.SearchIndexProvider { } @Override @CallSuper public List<String> getNonIndexableKeys(Context context) { if (!isPageSearchEnabled(context)) { // Entire page should be suppressed, mark all keys from this page as non-indexable. Loading
tests/robotests/assets/grandfather_not_implementing_index_provider +0 −2 Original line number Diff line number Diff line com.android.settings.notification.ConfigureNotificationSettings com.android.settings.language.LanguageAndRegionSettings com.android.settings.notification.ZenModePrioritySettings com.android.settings.inputmethod.InputAndGestureSettings com.android.settings.accounts.AccountDetailDashboardFragment com.android.settings.fuelgauge.PowerUsageDetail com.android.settings.fuelgauge.AdvancedPowerUsageDetail Loading