Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc8b0a5e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Update dream settings categories, to fix padding." into tm-dev

parents 2f178cfd d8b90650
Loading
Loading
Loading
Loading
+19 −22
Original line number Diff line number Diff line
@@ -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
@@ -48,6 +46,5 @@
            android:title="@string/screensaver_settings_when_to_dream"
            android:fragment="com.android.settings.dream.WhenToDreamPicker"/>
    </PreferenceCategory>
    </PreferenceCategory>

</PreferenceScreen>
+7 −17
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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;
@@ -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());
        }
    }

@@ -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;

+19 −9
Original line number Diff line number Diff line
@@ -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;
@@ -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;

@@ -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);
@@ -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
@@ -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();
    }