Loading res/xml/dream_fragment_overview.xml +19 −22 Original line number Diff line number Diff line Loading @@ -25,8 +25,6 @@ settings:controller="com.android.settings.dream.DreamMainSwitchPreferenceController" settings:searchable="false"/> <PreferenceCategory android:key="dream_main_category"> <PreferenceCategory android:title="@string/dream_picker_category"> <com.android.settingslib.widget.LayoutPreference Loading @@ -48,6 +46,5 @@ android:title="@string/screensaver_settings_when_to_dream" android:fragment="com.android.settings.dream.WhenToDreamPicker"/> </PreferenceCategory> </PreferenceCategory> </PreferenceScreen> src/com/android/settings/dream/DreamPickerController.java +7 −17 Original line number Diff line number Diff line Loading @@ -16,12 +16,9 @@ package com.android.settings.dream; import static com.android.settings.dream.DreamMainSwitchPreferenceController.MAIN_SWITCH_PREF_KEY; import android.app.settings.SettingsEnums; import android.content.Context; import android.graphics.drawable.Drawable; import android.widget.Switch; import androidx.annotation.Nullable; import androidx.preference.Preference; Loading @@ -35,8 +32,6 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.dream.DreamBackend; import com.android.settingslib.dream.DreamBackend.DreamInfo; import com.android.settingslib.widget.LayoutPreference; import com.android.settingslib.widget.MainSwitchPreference; import com.android.settingslib.widget.OnMainSwitchChangeListener; import java.util.List; import java.util.stream.Collectors; Loading @@ -44,8 +39,7 @@ import java.util.stream.Collectors; /** * Controller for the dream picker where the user can select a screensaver. */ public class DreamPickerController extends BasePreferenceController implements OnMainSwitchChangeListener { public class DreamPickerController extends BasePreferenceController { private final DreamBackend mBackend; private final MetricsFeatureProvider mMetricsFeatureProvider; Loading Loading @@ -92,10 +86,13 @@ public class DreamPickerController extends BasePreferenceController implements new GridSpacingItemDecoration(mContext, R.dimen.dream_preference_card_padding)); recyclerView.setHasFixedSize(true); recyclerView.setAdapter(mAdapter); } final Preference mainSwitchPref = screen.findPreference(MAIN_SWITCH_PREF_KEY); if (mainSwitchPref instanceof MainSwitchPreference) { ((MainSwitchPreference) mainSwitchPref).addOnSwitchChangeListener(this); @Override public void updateState(Preference preference) { super.updateState(preference); if (mAdapter != null) { mAdapter.setEnabled(preference.isEnabled()); } } Loading @@ -108,13 +105,6 @@ public class DreamPickerController extends BasePreferenceController implements .orElse(null); } @Override public void onSwitchChanged(Switch switchView, boolean isChecked) { if (mAdapter != null) { mAdapter.setEnabled(isChecked); } } private class DreamItem implements IDreamItem { DreamInfo mDreamInfo; Loading src/com/android/settings/dream/DreamSettings.java +19 −9 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ import android.widget.Button; import android.widget.Switch; import androidx.annotation.VisibleForTesting; import androidx.preference.PreferenceCategory; import androidx.preference.Preference; import androidx.recyclerview.widget.RecyclerView; import com.android.settings.R; Loading @@ -57,10 +57,7 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan static final String EITHER_CHARGING_OR_DOCKED = "either_charging_or_docked"; static final String NEVER_DREAM = "never"; private static final String MAIN_PREF_CATEGORY = "dream_main_category"; private MainSwitchPreference mMainSwitchPreference; private PreferenceCategory mMainPrefCategory; private Button mPreviewButton; private RecyclerView mRecyclerView; Loading Loading @@ -152,6 +149,22 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan return controllers; } private void setAllPreferencesEnabled(boolean isEnabled) { getPreferenceControllers().forEach(controllers -> { controllers.forEach(controller -> { final String prefKey = controller.getPreferenceKey(); if (prefKey.equals(MAIN_SWITCH_PREF_KEY)) { return; } final Preference pref = findPreference(prefKey); if (pref != null) { pref.setEnabled(isEnabled); controller.updateState(pref); } }); }); } @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); Loading @@ -163,10 +176,7 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan mMainSwitchPreference.addOnSwitchChangeListener(this); } mMainPrefCategory = findPreference(MAIN_PREF_CATEGORY); if (mMainPrefCategory != null) { mMainPrefCategory.setEnabled(dreamBackend.isEnabled()); } setAllPreferencesEnabled(dreamBackend.isEnabled()); } @Override Loading Loading @@ -194,7 +204,7 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan @Override public void onSwitchChanged(Switch switchView, boolean isChecked) { mMainPrefCategory.setEnabled(isChecked); setAllPreferencesEnabled(isChecked); mPreviewButton.setVisibility(isChecked ? View.VISIBLE : View.GONE); updatePaddingForPreviewButton(); } Loading Loading
res/xml/dream_fragment_overview.xml +19 −22 Original line number Diff line number Diff line Loading @@ -25,8 +25,6 @@ settings:controller="com.android.settings.dream.DreamMainSwitchPreferenceController" settings:searchable="false"/> <PreferenceCategory android:key="dream_main_category"> <PreferenceCategory android:title="@string/dream_picker_category"> <com.android.settingslib.widget.LayoutPreference Loading @@ -48,6 +46,5 @@ android:title="@string/screensaver_settings_when_to_dream" android:fragment="com.android.settings.dream.WhenToDreamPicker"/> </PreferenceCategory> </PreferenceCategory> </PreferenceScreen>
src/com/android/settings/dream/DreamPickerController.java +7 −17 Original line number Diff line number Diff line Loading @@ -16,12 +16,9 @@ package com.android.settings.dream; import static com.android.settings.dream.DreamMainSwitchPreferenceController.MAIN_SWITCH_PREF_KEY; import android.app.settings.SettingsEnums; import android.content.Context; import android.graphics.drawable.Drawable; import android.widget.Switch; import androidx.annotation.Nullable; import androidx.preference.Preference; Loading @@ -35,8 +32,6 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.dream.DreamBackend; import com.android.settingslib.dream.DreamBackend.DreamInfo; import com.android.settingslib.widget.LayoutPreference; import com.android.settingslib.widget.MainSwitchPreference; import com.android.settingslib.widget.OnMainSwitchChangeListener; import java.util.List; import java.util.stream.Collectors; Loading @@ -44,8 +39,7 @@ import java.util.stream.Collectors; /** * Controller for the dream picker where the user can select a screensaver. */ public class DreamPickerController extends BasePreferenceController implements OnMainSwitchChangeListener { public class DreamPickerController extends BasePreferenceController { private final DreamBackend mBackend; private final MetricsFeatureProvider mMetricsFeatureProvider; Loading Loading @@ -92,10 +86,13 @@ public class DreamPickerController extends BasePreferenceController implements new GridSpacingItemDecoration(mContext, R.dimen.dream_preference_card_padding)); recyclerView.setHasFixedSize(true); recyclerView.setAdapter(mAdapter); } final Preference mainSwitchPref = screen.findPreference(MAIN_SWITCH_PREF_KEY); if (mainSwitchPref instanceof MainSwitchPreference) { ((MainSwitchPreference) mainSwitchPref).addOnSwitchChangeListener(this); @Override public void updateState(Preference preference) { super.updateState(preference); if (mAdapter != null) { mAdapter.setEnabled(preference.isEnabled()); } } Loading @@ -108,13 +105,6 @@ public class DreamPickerController extends BasePreferenceController implements .orElse(null); } @Override public void onSwitchChanged(Switch switchView, boolean isChecked) { if (mAdapter != null) { mAdapter.setEnabled(isChecked); } } private class DreamItem implements IDreamItem { DreamInfo mDreamInfo; Loading
src/com/android/settings/dream/DreamSettings.java +19 −9 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ import android.widget.Button; import android.widget.Switch; import androidx.annotation.VisibleForTesting; import androidx.preference.PreferenceCategory; import androidx.preference.Preference; import androidx.recyclerview.widget.RecyclerView; import com.android.settings.R; Loading @@ -57,10 +57,7 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan static final String EITHER_CHARGING_OR_DOCKED = "either_charging_or_docked"; static final String NEVER_DREAM = "never"; private static final String MAIN_PREF_CATEGORY = "dream_main_category"; private MainSwitchPreference mMainSwitchPreference; private PreferenceCategory mMainPrefCategory; private Button mPreviewButton; private RecyclerView mRecyclerView; Loading Loading @@ -152,6 +149,22 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan return controllers; } private void setAllPreferencesEnabled(boolean isEnabled) { getPreferenceControllers().forEach(controllers -> { controllers.forEach(controller -> { final String prefKey = controller.getPreferenceKey(); if (prefKey.equals(MAIN_SWITCH_PREF_KEY)) { return; } final Preference pref = findPreference(prefKey); if (pref != null) { pref.setEnabled(isEnabled); controller.updateState(pref); } }); }); } @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); Loading @@ -163,10 +176,7 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan mMainSwitchPreference.addOnSwitchChangeListener(this); } mMainPrefCategory = findPreference(MAIN_PREF_CATEGORY); if (mMainPrefCategory != null) { mMainPrefCategory.setEnabled(dreamBackend.isEnabled()); } setAllPreferencesEnabled(dreamBackend.isEnabled()); } @Override Loading Loading @@ -194,7 +204,7 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan @Override public void onSwitchChanged(Switch switchView, boolean isChecked) { mMainPrefCategory.setEnabled(isChecked); setAllPreferencesEnabled(isChecked); mPreviewButton.setVisibility(isChecked ? View.VISIBLE : View.GONE); updatePaddingForPreviewButton(); } Loading