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

Commit 1f16ac80 authored by Michael Bestas's avatar Michael Bestas
Browse files

Add left QS quick pulldown & fix multiuser (2/2)

Change-Id: I6e9c25628190dbfa4029cc4499a5be3da1ee37e4
parent 2c4f5609
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -457,4 +457,17 @@
        <item>1</item>
        <item>2</item>
    </string-array>

    <!-- Quick pulldown -->
    <string-array name="quick_pulldown_entries" translatable="false">
        <item>@string/quick_pulldown_off</item>
        <item>@string/quick_pulldown_right</item>
        <item>@string/quick_pulldown_left</item>
    </string-array>

    <string-array name="quick_pulldown_values" translatable="false">
        <item>0</item>
        <item>1</item>
        <item>2</item>
    </string-array>
</resources>
+7 −2
Original line number Diff line number Diff line
@@ -923,8 +923,13 @@
    <!-- Notification drawer -->
    <string name="notification_drawer_title">Notification drawer</string>

    <string name="status_bar_quick_qs_pulldown_title">Quick pulldown</string>
    <string name="status_bar_quick_qs_pulldown_summary">Right edge of the status bar pulls down Quick Settings</string>
    <string name="quick_pulldown_title">Quick pulldown</string>
    <string name="quick_pulldown_summary">%1$s edge of the status bar pulls down Quick Settings</string>
    <string name="quick_pulldown_summary_left">Left</string>
    <string name="quick_pulldown_summary_right">Right</string>
    <string name="quick_pulldown_off">Off</string>
    <string name="quick_pulldown_left">Left</string>
    <string name="quick_pulldown_right">Right</string>

    <!-- Weather in status bar header -->
    <string name="status_bar_show_weather_title">Show weather</string>
+6 −5
Original line number Diff line number Diff line
@@ -17,11 +17,12 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:title="@string/notification_drawer_title">

    <com.android.settings.cyanogenmod.SystemSettingSwitchPreference
        android:key="status_bar_quick_qs_pulldown"
        android:title="@string/status_bar_quick_qs_pulldown_title"
        android:summary="@string/status_bar_quick_qs_pulldown_summary"
        android:defaultValue="true" />
    <ListPreference
        android:key="quick_pulldown"
        android:title="@string/quick_pulldown_title"
        android:entries="@array/quick_pulldown_entries"
        android:entryValues="@array/quick_pulldown_values"
        android:persistent="false" />

    <com.android.settings.cyanogenmod.SystemSettingSwitchPreference
        android:key="status_bar_show_weather"
+55 −3
Original line number Diff line number Diff line
@@ -15,9 +15,15 @@
 */
package com.android.settings.cyanogenmod;

import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.UserHandle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceScreen;
import android.provider.Settings;

import android.provider.SearchIndexableResource;
import com.android.settings.R;
@@ -29,17 +35,36 @@ import com.android.settings.search.Indexable;
import java.util.ArrayList;
import java.util.List;

public class NotificationDrawerSettings extends SettingsPreferenceFragment implements Indexable {
public class NotificationDrawerSettings extends SettingsPreferenceFragment implements Indexable,
        Preference.OnPreferenceChangeListener {
    private static final String QUICK_PULLDOWN = "quick_pulldown";

    private ListPreference mQuickPulldown;
    private Preference mQSTiles;

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.notification_drawer_settings);

        mQSTiles = findPreference("qs_order");
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        PreferenceScreen prefSet = getPreferenceScreen();
        ContentResolver resolver = getActivity().getContentResolver();
        mQuickPulldown = (ListPreference) prefSet.findPreference(QUICK_PULLDOWN);

        mQuickPulldown.setOnPreferenceChangeListener(this);
        int quickPulldownValue = Settings.System.getIntForUser(resolver,
                Settings.System.QS_QUICK_PULLDOWN, 0, UserHandle.USER_CURRENT);
        mQuickPulldown.setValue(String.valueOf(quickPulldownValue));
        updatePulldownSummary(quickPulldownValue);
    }

    @Override
    public void onResume() {
        super.onResume();
@@ -49,6 +74,33 @@ public class NotificationDrawerSettings extends SettingsPreferenceFragment imple
                    qsTileCount, qsTileCount));
    }

    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        ContentResolver resolver = getContentResolver();
        if (preference == mQuickPulldown) {
            int quickPulldownValue = Integer.valueOf((String) newValue);
            Settings.System.putIntForUser(resolver, Settings.System.QS_QUICK_PULLDOWN,
                    quickPulldownValue, UserHandle.USER_CURRENT);
            updatePulldownSummary(quickPulldownValue);
            return true;
        }
        return false;
    }

    private void updatePulldownSummary(int value) {
        Resources res = getResources();

        if (value == 0) {
            // quick pulldown deactivated
            mQuickPulldown.setSummary(res.getString(R.string.quick_pulldown_off));
        } else {
            String direction = res.getString(value == 2
                    ? R.string.quick_pulldown_summary_left
                    : R.string.quick_pulldown_summary_right);
            mQuickPulldown.setSummary(res.getString(R.string.quick_pulldown_summary, direction));
        }
    }

    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider() {
                @Override