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

Commit 1b433862 authored by Danny Baumann's avatar Danny Baumann
Browse files

Fix list settings initialization.

Change-Id: Ib3037b8d1b91a17417f4201da19df6642be2c5cb
parent 30455c95
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -10,11 +10,13 @@

        <ListPreference android:key="pref_network_mode" android:dialogTitle="@string/pref_network_mode_title"
            android:title="@string/pref_network_mode_title" android:summary="@string/pref_network_mode_summary"
            android:entries="@array/entries_network_widget" android:entryValues="@array/values_network_widget" />
            android:entries="@array/entries_network_widget" android:entryValues="@array/values_network_widget"
            android:persistent="false" />

        <ListPreference android:key="pref_screentimeout_mode" android:dialogTitle="@string/pref_screentimeout_mode_title"
            android:title="@string/pref_screentimeout_mode_title" android:summary="@string/pref_screentimeout_mode_summary"
            android:entries="@array/entries_screentimeout_widget" android:entryValues="@array/values_screentimeout_widget" />
            android:entries="@array/entries_screentimeout_widget" android:entryValues="@array/values_screentimeout_widget"
            android:persistent="false" />

        <MultiSelectListPreference android:key="pref_ring_mode" android:dialogTitle="@string/pref_ring_mode_title"
            android:title="@string/pref_ring_mode_title" android:summary="@string/pref_ring_mode_summary"
@@ -23,10 +25,12 @@

        <ListPreference android:key="pref_flash_mode" android:dialogTitle="@string/pref_flash_mode_title"
            android:title="@string/pref_flash_mode_title" android:summary="@string/pref_flash_mode_summary"
            android:entries="@array/entries_flash_widget" android:entryValues="@array/values_flash_widget" />
            android:entries="@array/entries_flash_widget" android:entryValues="@array/values_flash_widget"
            android:persistent="false" />

        <ListPreference android:key="pref_mobiledatanetwork_mode" android:dialogTitle="@string/pref_mobiledatanetwork_mode_title"
            android:title="@string/pref_mobiledatanetwork_mode_title" android:summary="@string/pref_mobiledatanetwork_mode_summary"
            android:entries="@array/entries_mobiledatanetwork_widget" android:entryValues="@array/values_mobiledatanetwork_widget" />
            android:entries="@array/entries_mobiledatanetwork_widget" android:entryValues="@array/values_mobiledatanetwork_widget"
            android:persistent="false" />
    </PreferenceCategory>
</PreferenceScreen>
+41 −21
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.cyanogenmod.cmparts.activities;

import com.android.internal.telephony.Phone;

import android.content.ContentResolver;
import android.net.wimax.WimaxHelper;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
@@ -56,7 +57,7 @@ public class PowerWidgetActivity extends PreferenceActivity implements OnPrefere

    MultiSelectListPreference mBrightnessMode;
    ListPreference mNetworkMode;
    ListPreference mScreentimeoutMode;
    ListPreference mScreenTimeoutMode;
    MultiSelectListPreference mRingMode;
    ListPreference mFlashMode;
    ListPreference mMobileDataNetworkMode;
@@ -74,8 +75,8 @@ public class PowerWidgetActivity extends PreferenceActivity implements OnPrefere
        mBrightnessMode.setOnPreferenceChangeListener(this);
        mNetworkMode = (ListPreference) prefSet.findPreference(EXP_NETWORK_MODE);
        mNetworkMode.setOnPreferenceChangeListener(this);
        mScreentimeoutMode = (ListPreference) prefSet.findPreference(EXP_SCREENTIMEOUT_MODE);
        mScreentimeoutMode.setOnPreferenceChangeListener(this);
        mScreenTimeoutMode = (ListPreference) prefSet.findPreference(EXP_SCREENTIMEOUT_MODE);
        mScreenTimeoutMode.setOnPreferenceChangeListener(this);
        mRingMode = (MultiSelectListPreference) prefSet.findPreference(EXP_RING_MODE);
        mRingMode.setValue(Settings.System.getString(getContentResolver(), Settings.System.EXPANDED_RING_MODE));
        mRingMode.setOnPreferenceChangeListener(this);
@@ -114,11 +115,7 @@ public class PowerWidgetActivity extends PreferenceActivity implements OnPrefere
            cb.setTitle(button.getTitleResId());

            // set our checked state
            if(buttonList.contains(button.getId())) {
                cb.setChecked(true);
            } else {
                cb.setChecked(false);
            }
            cb.setChecked(buttonList.contains(button.getId()));

            // add to our prefs set
            mCheckBoxPrefs.put(cb, button.getId());
@@ -130,25 +127,28 @@ public class PowerWidgetActivity extends PreferenceActivity implements OnPrefere
                mFlashMode.setEnabled(false);
            } else if (PowerWidgetUtil.BUTTON_NETWORKMODE.equals(button.getId())) {
                // some phones run on networks not supported by this button, so disable it
                int network_state = -99;
                boolean knownState = false;

                try {
                    network_state = Settings.Secure.getInt(getContentResolver(),
                    int networkState = Settings.Secure.getInt(getContentResolver(),
                            Settings.Secure.PREFERRED_NETWORK_MODE);
                } catch(Settings.SettingNotFoundException e) {
                    Log.e(TAG, "Unable to retrieve PREFERRED_NETWORK_MODE", e);
                }

                switch(network_state) {
                    switch (networkState) {
                        // list of supported network modes
                        case Phone.NT_MODE_WCDMA_PREF:
                        case Phone.NT_MODE_WCDMA_ONLY:
                        case Phone.NT_MODE_GSM_UMTS:
                        case Phone.NT_MODE_GSM_ONLY:
                            knownState = true;
                            break;
                    default:
                    }
                } catch(Settings.SettingNotFoundException e) {
                    Log.e(TAG, "Unable to retrieve PREFERRED_NETWORK_MODE", e);
                }

                if (!knownState) {
                    cb.setEnabled(false);
                        break;
                    mNetworkMode.setEnabled(false);
                }
            } else if (PowerWidgetUtil.BUTTON_WIMAX.equals(button.getId())) {
                if (!isWimaxEnabled) {
@@ -159,6 +159,26 @@ public class PowerWidgetActivity extends PreferenceActivity implements OnPrefere
            // add to the category
            prefButtons.addPreference(cb);
        }

        ContentResolver cr = getContentResolver();
        String value;

        value = Settings.System.getString(cr, Settings.System.EXPANDED_BRIGHTNESS_MODE);
        if (value != null) {
            mBrightnessMode.setValue(value);
        }
        value = Settings.System.getString(cr, Settings.System.EXPANDED_RING_MODE);
        if (value != null) {
            mRingMode.setValue(value);
        }
        mNetworkMode.setValueIndex(Settings.System.getInt(
                cr, Settings.System.EXPANDED_NETWORK_MODE, 0));
        mScreenTimeoutMode.setValueIndex(Settings.System.getInt(
                cr, Settings.System.EXPANDED_SCREENTIMEOUT_MODE, 0));
        mFlashMode.setValueIndex(Settings.System.getInt(
                cr, Settings.System.EXPANDED_FLASH_MODE, 0));
        mMobileDataNetworkMode.setValueIndex(Settings.System.getInt(
                cr, Settings.System.EXPANDED_MOBILEDATANETWORK_MODE, 0));
    }

    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
@@ -191,7 +211,7 @@ public class PowerWidgetActivity extends PreferenceActivity implements OnPrefere
        } else if(preference == mNetworkMode) {
            int value = Integer.valueOf((String)newValue);
            Settings.System.putInt(getContentResolver(), Settings.System.EXPANDED_NETWORK_MODE, value);
        } else if(preference == mScreentimeoutMode) {
        } else if(preference == mScreenTimeoutMode) {
            int value = Integer.valueOf((String)newValue);
            Settings.System.putInt(getContentResolver(), Settings.System.EXPANDED_SCREENTIMEOUT_MODE, value);
        } else if(preference == mRingMode) {