diff options
Diffstat (limited to 'src/com/android/settings/cyanogenmod/LockscreenInterface.java')
-rw-r--r-- | src/com/android/settings/cyanogenmod/LockscreenInterface.java | 49 |
1 files changed, 37 insertions, 12 deletions
diff --git a/src/com/android/settings/cyanogenmod/LockscreenInterface.java b/src/com/android/settings/cyanogenmod/LockscreenInterface.java index 0613908..62a0f62 100644 --- a/src/com/android/settings/cyanogenmod/LockscreenInterface.java +++ b/src/com/android/settings/cyanogenmod/LockscreenInterface.java @@ -15,13 +15,16 @@ package com.android.settings.cyanogenmod; +import android.content.ContentResolver; import android.os.Bundle; +import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceScreen; import android.provider.Settings; import com.android.settings.R; +import com.android.settings.Utils; import com.android.settings.SettingsPreferenceFragment; public class LockscreenInterface extends SettingsPreferenceFragment implements @@ -30,9 +33,10 @@ public class LockscreenInterface extends SettingsPreferenceFragment implements private static final String KEY_ALWAYS_BATTERY_PREF = "lockscreen_battery_status"; private static final String KEY_LOCKSCREEN_BUTTONS = "lockscreen_buttons"; + private static final String KEY_LOCKSCREEN_MAXIMIZE_WIDGETS = "lockscreen_maximize_widgets"; - private PreferenceScreen mLockscreenButtons; private ListPreference mBatteryStatus; + private CheckBoxPreference mMaximizeWidgets; public boolean hasButtons() { return !getResources().getBoolean(com.android.internal.R.bool.config_showNavigationBar); @@ -44,36 +48,57 @@ public class LockscreenInterface extends SettingsPreferenceFragment implements addPreferencesFromResource(R.xml.lockscreen_interface_settings); - // Battery status mBatteryStatus = (ListPreference) findPreference(KEY_ALWAYS_BATTERY_PREF); if (mBatteryStatus != null) { - int batteryStatus = Settings.System.getInt(getActivity().getApplicationContext().getContentResolver(), - Settings.System.LOCKSCREEN_ALWAYS_SHOW_BATTERY, 0); - mBatteryStatus.setValueIndex(batteryStatus); - mBatteryStatus.setSummary(mBatteryStatus.getEntries()[batteryStatus]); mBatteryStatus.setOnPreferenceChangeListener(this); } - mLockscreenButtons = (PreferenceScreen) findPreference(KEY_LOCKSCREEN_BUTTONS); + mMaximizeWidgets = (CheckBoxPreference)findPreference(KEY_LOCKSCREEN_MAXIMIZE_WIDGETS); + if (Utils.isTablet(getActivity())) { + getPreferenceScreen().removePreference(mMaximizeWidgets); + mMaximizeWidgets = null; + } else { + mMaximizeWidgets.setOnPreferenceChangeListener(this); + } + + PreferenceScreen lockscreenButtons = (PreferenceScreen) findPreference(KEY_LOCKSCREEN_BUTTONS); if (!hasButtons()) { - getPreferenceScreen().removePreference(mLockscreenButtons); + getPreferenceScreen().removePreference(lockscreenButtons); } } @Override - public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { - return super.onPreferenceTreeClick(preferenceScreen, preference); + public void onResume() { + super.onResume(); + + ContentResolver cr = getActivity().getContentResolver(); + if (mBatteryStatus != null) { + int batteryStatus = Settings.System.getInt(cr, + Settings.System.LOCKSCREEN_ALWAYS_SHOW_BATTERY, 0); + mBatteryStatus.setValueIndex(batteryStatus); + mBatteryStatus.setSummary(mBatteryStatus.getEntries()[batteryStatus]); + } + + if (mMaximizeWidgets != null) { + mMaximizeWidgets.setChecked(Settings.System.getInt(cr, + Settings.System.LOCKSCREEN_MAXIMIZE_WIDGETS, 0) == 1); + } } @Override public boolean onPreferenceChange(Preference preference, Object objValue) { + ContentResolver cr = getActivity().getContentResolver(); + if (preference == mBatteryStatus) { int value = Integer.valueOf((String) objValue); int index = mBatteryStatus.findIndexOfValue((String) objValue); - Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), - Settings.System.LOCKSCREEN_ALWAYS_SHOW_BATTERY, value); + Settings.System.putInt(cr, Settings.System.LOCKSCREEN_ALWAYS_SHOW_BATTERY, value); mBatteryStatus.setSummary(mBatteryStatus.getEntries()[index]); return true; + } else if (preference == mMaximizeWidgets) { + boolean value = (Boolean) objValue; + Settings.System.putInt(cr, Settings.System.LOCKSCREEN_MAXIMIZE_WIDGETS, value ? 1 : 0); + return true; } return false; } |