Merge "OmniGears: FR translation" into android-4.4
diff --git a/src/org/omnirom/omnigears/chameleonos/ActiveDisplaySettings.java b/src/org/omnirom/omnigears/chameleonos/ActiveDisplaySettings.java
index 6b40642..b13c80b 100644
--- a/src/org/omnirom/omnigears/chameleonos/ActiveDisplaySettings.java
+++ b/src/org/omnirom/omnigears/chameleonos/ActiveDisplaySettings.java
@@ -19,7 +19,6 @@
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
-import android.hardware.SensorManager;
import android.os.Bundle;
import android.os.PowerManager;
import android.preference.CheckBoxPreference;
@@ -30,17 +29,17 @@
import android.preference.SwitchPreference;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
+import android.text.format.DateFormat;
import android.text.TextUtils;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
+import com.android.internal.util.omni.DeviceUtils;
+
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
-import static android.hardware.Sensor.TYPE_LIGHT;
-import static android.hardware.Sensor.TYPE_PROXIMITY;
-
public class ActiveDisplaySettings extends SettingsPreferenceFragment implements
OnPreferenceChangeListener {
private static final String TAG = "ActiveDisplaySettings";
@@ -92,84 +91,103 @@
mContext = getActivity().getApplicationContext();
mResolver = mContext.getContentResolver();
+ PreferenceScreen prefSet = getPreferenceScreen();
- mEnabledPref = (SwitchPreference) findPreference(KEY_ENABLED);
+ mEnabledPref = (SwitchPreference) prefSet.findPreference(KEY_ENABLED);
mEnabledPref.setChecked((Settings.System.getInt(mResolver,
Settings.System.ENABLE_ACTIVE_DISPLAY, 0) == 1));
mEnabledPref.setOnPreferenceChangeListener(this);
- mShowTextPref = (CheckBoxPreference) findPreference(KEY_SHOW_TEXT);
+ mShowTextPref = (CheckBoxPreference) prefSet.findPreference(KEY_SHOW_TEXT);
mShowTextPref.setChecked((Settings.System.getInt(mResolver,
Settings.System.ACTIVE_DISPLAY_TEXT, 0) == 1));
- mShowContentPref = (CheckBoxPreference) findPreference(KEY_SHOW_CONTENT);
+ mShowContentPref = (CheckBoxPreference) prefSet.findPreference(KEY_SHOW_CONTENT);
mShowContentPref.setChecked((Settings.System.getInt(mResolver,
Settings.System.ACTIVE_DISPLAY_CONTENT, 1) != 0));
- mBypassPref = (CheckBoxPreference) findPreference(KEY_BYPASS_CONTENT);
- mBypassPref.setChecked((Settings.System.getInt(mResolver,
+ mBypassPref = (CheckBoxPreference) prefSet.findPreference(KEY_BYPASS_CONTENT);
+ mPocketModePref = (ListPreference) prefSet.findPreference(KEY_POCKET_MODE);
+ mProximityThreshold = (ListPreference) prefSet.findPreference(KEY_THRESHOLD);
+ mTurnOffModePref = (CheckBoxPreference) prefSet.findPreference(KEY_TURNOFF_MODE);
+
+ if (!DeviceUtils.deviceSupportsProximitySensor(mContext)) {
+ prefSet.removePreference(mPocketModePref);
+ prefSet.removePreference(mBypassPref);
+ prefSet.removePreference(mProximityThreshold);
+ prefSet.removePreference(mTurnOffModePref);
+ } else {
+ mBypassPref.setChecked((Settings.System.getInt(mResolver,
Settings.System.ACTIVE_DISPLAY_BYPASS, 1) != 0));
- mAllNotificationsPref = (CheckBoxPreference) findPreference(KEY_ALL_NOTIFICATIONS);
+ int mode = Settings.System.getInt(mResolver,
+ Settings.System.ACTIVE_DISPLAY_POCKET_MODE, 0);
+ mPocketModePref.setValue(String.valueOf(mode));
+ updatePocketModeSummary(mode);
+ mPocketModePref.setOnPreferenceChangeListener(this);
+
+ long threshold = Settings.System.getLong(mResolver,
+ Settings.System.ACTIVE_DISPLAY_THRESHOLD, 5000L);
+ mProximityThreshold.setValue(String.valueOf(threshold));
+ updateThresholdSummary(threshold);
+ mProximityThreshold.setOnPreferenceChangeListener(this);
+
+ mTurnOffModePref.setChecked((Settings.System.getInt(mResolver,
+ Settings.System.ACTIVE_DISPLAY_TURNOFF_MODE, 0) == 1));
+ }
+
+ mAllNotificationsPref = (CheckBoxPreference) prefSet.findPreference(KEY_ALL_NOTIFICATIONS);
mAllNotificationsPref.setChecked((Settings.System.getInt(mResolver,
Settings.System.ACTIVE_DISPLAY_ALL_NOTIFICATIONS, 0) == 1));
- mHideLowPriorityPref = (CheckBoxPreference) findPreference(KEY_HIDE_LOW_PRIORITY);
+ mHideLowPriorityPref = (CheckBoxPreference) prefSet.findPreference(KEY_HIDE_LOW_PRIORITY);
mHideLowPriorityPref.setChecked((Settings.System.getInt(mResolver,
Settings.System.ACTIVE_DISPLAY_HIDE_LOW_PRIORITY_NOTIFICATIONS, 0) == 1));
- mPocketModePref = (ListPreference) findPreference(KEY_POCKET_MODE);
- mPocketModePref.setOnPreferenceChangeListener(this);
- int mode = Settings.System.getInt(mResolver,
- Settings.System.ACTIVE_DISPLAY_POCKET_MODE, 0);
- mPocketModePref.setValue(String.valueOf(mode));
- updatePocketModeSummary(mode);
- if (!hasProximitySensor()) {
- getPreferenceScreen().removePreference(mPocketModePref);
- }
+ mSunlightModePref = (CheckBoxPreference) prefSet.findPreference(KEY_SUNLIGHT_MODE);
- mSunlightModePref = (CheckBoxPreference) findPreference(KEY_SUNLIGHT_MODE);
- mSunlightModePref.setChecked((Settings.System.getInt(mResolver,
+ if (!DeviceUtils.deviceSupportsLightSensor(mContext)) {
+ prefSet.removePreference(mSunlightModePref);
+ } else {
+ mSunlightModePref.setChecked((Settings.System.getInt(mResolver,
Settings.System.ACTIVE_DISPLAY_SUNLIGHT_MODE, 0) == 1));
- if (!hasLightSensor()) {
- getPreferenceScreen().removePreference(mSunlightModePref);
}
- PreferenceScreen prefSet = getPreferenceScreen();
mRedisplayPref = (ListPreference) prefSet.findPreference(KEY_REDISPLAY);
- mRedisplayPref.setOnPreferenceChangeListener(this);
long timeout = Settings.System.getLong(mResolver,
Settings.System.ACTIVE_DISPLAY_REDISPLAY, 0);
mRedisplayPref.setValue(String.valueOf(timeout));
updateRedisplaySummary(timeout);
+ mRedisplayPref.setOnPreferenceChangeListener(this);
- mExcludedAppsPref = (AppMultiSelectListPreference) findPreference(KEY_EXCLUDED_APPS);
+ mExcludedAppsPref = (AppMultiSelectListPreference) prefSet.findPreference(KEY_EXCLUDED_APPS);
Set<String> excludedApps = getExcludedApps();
if (excludedApps != null) mExcludedAppsPref.setValues(excludedApps);
mExcludedAppsPref.setOnPreferenceChangeListener(this);
- mPrivacyAppsPref = (AppMultiSelectListPreference) findPreference(KEY_PRIVACY_APPS);
+ mPrivacyAppsPref = (AppMultiSelectListPreference) prefSet.findPreference(KEY_PRIVACY_APPS);
Set<String> privacyApps = getPrivacyApps();
if (privacyApps != null) mPrivacyAppsPref.setValues(privacyApps);
mPrivacyAppsPref.setOnPreferenceChangeListener(this);
- mShowDatePref = (CheckBoxPreference) findPreference(KEY_SHOW_DATE);
+ mShowDatePref = (CheckBoxPreference) prefSet.findPreference(KEY_SHOW_DATE);
mShowDatePref.setChecked((Settings.System.getInt(mResolver,
Settings.System.ACTIVE_DISPLAY_SHOW_DATE, 0) == 1));
- mShowAmPmPref = (CheckBoxPreference) findPreference(KEY_SHOW_AMPM);
+ mShowAmPmPref = (CheckBoxPreference) prefSet.findPreference(KEY_SHOW_AMPM);
mShowAmPmPref.setChecked((Settings.System.getInt(mResolver,
Settings.System.ACTIVE_DISPLAY_SHOW_AMPM, 0) == 1));
+ mShowAmPmPref.setEnabled(!is24Hour());
PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
int minimumBacklight = pm.getMinimumScreenBrightnessSetting();
int maximumBacklight = pm.getMaximumScreenBrightnessSetting();
- mBrightnessLevel = (SeekBarPreference) findPreference(KEY_BRIGHTNESS);
+ mBrightnessLevel = (SeekBarPreference) prefSet.findPreference(KEY_BRIGHTNESS);
mBrightnessLevel.setMaxValue(maximumBacklight - minimumBacklight);
mBrightnessLevel.setMinValue(minimumBacklight);
mBrightnessLevel.setValue(Settings.System.getInt(mResolver,
- Settings.System.ACTIVE_DISPLAY_BRIGHTNESS, maximumBacklight));
+ Settings.System.ACTIVE_DISPLAY_BRIGHTNESS, maximumBacklight) - minimumBacklight);
mBrightnessLevel.setOnPreferenceChangeListener(this);
try {
@@ -187,17 +205,6 @@
Settings.System.ACTIVE_DISPLAY_TIMEOUT, 8000L);
mDisplayTimeout.setValue(String.valueOf(timeout));
updateTimeoutSummary(timeout);
-
- mProximityThreshold = (ListPreference) prefSet.findPreference(KEY_THRESHOLD);
- mProximityThreshold.setOnPreferenceChangeListener(this);
- long threshold = Settings.System.getLong(mResolver,
- Settings.System.ACTIVE_DISPLAY_THRESHOLD, 5000L);
- mProximityThreshold.setValue(String.valueOf(threshold));
- updateThresholdSummary(threshold);
-
- mTurnOffModePref = (CheckBoxPreference) findPreference(KEY_TURNOFF_MODE);
- mTurnOffModePref.setChecked((Settings.System.getInt(mResolver,
- Settings.System.ACTIVE_DISPLAY_TURNOFF_MODE, 0) == 1));
}
@Override
@@ -324,16 +331,6 @@
}
}
- private boolean hasProximitySensor() {
- SensorManager sm = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
- return sm.getDefaultSensor(TYPE_PROXIMITY) != null;
- }
-
- private boolean hasLightSensor() {
- SensorManager sm = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
- return sm.getDefaultSensor(TYPE_LIGHT) != null;
- }
-
private Set<String> getExcludedApps() {
String excluded = Settings.System.getString(mResolver,
Settings.System.ACTIVE_DISPLAY_EXCLUDED_APPS);
@@ -375,4 +372,8 @@
Settings.System.putString(mResolver,
Settings.System.ACTIVE_DISPLAY_PRIVACY_APPS, builder.toString());
}
+
+ private boolean is24Hour() {
+ return DateFormat.is24HourFormat(mContext);
+ }
}
diff --git a/src/org/omnirom/omnigears/preference/GlobalCheckBoxPreference.java b/src/org/omnirom/omnigears/preference/GlobalCheckBoxPreference.java
new file mode 100644
index 0000000..0ba460f
--- /dev/null
+++ b/src/org/omnirom/omnigears/preference/GlobalCheckBoxPreference.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2013 The CyanogenMod project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.omnirom.omnigears.preference;
+
+import android.content.Context;
+import android.preference.CheckBoxPreference;
+import android.provider.Settings;
+import android.util.AttributeSet;
+
+public class GlobalCheckBoxPreference extends CheckBoxPreference {
+ public GlobalCheckBoxPreference(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ }
+
+ public GlobalCheckBoxPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public GlobalCheckBoxPreference(Context context) {
+ super(context, null);
+ }
+
+ @Override
+ protected boolean persistBoolean(boolean value) {
+ if (shouldPersist()) {
+ if (value == getPersistedBoolean(!value)) {
+ // It's already there, so the same as persisting
+ return true;
+ }
+
+ Settings.Global.putInt(getContext().getContentResolver(), getKey(), value ? 1 : 0);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ protected boolean getPersistedBoolean(boolean defaultReturnValue) {
+ if (!shouldPersist()) {
+ return defaultReturnValue;
+ }
+
+ return Settings.Global.getInt(getContext().getContentResolver(),
+ getKey(), defaultReturnValue ? 1 : 0) != 0;
+ }
+
+ @Override
+ protected boolean isPersisted() {
+ // Using getString instead of getInt so we can simply check for null
+ // instead of catching an exception. (All values are stored as strings.)
+ return Settings.Global.getString(getContext().getContentResolver(), getKey()) != null;
+ }
+}
diff --git a/src/org/omnirom/omnigears/preference/SecureCheckBoxPreference.java b/src/org/omnirom/omnigears/preference/SecureCheckBoxPreference.java
new file mode 100644
index 0000000..8f4e3f9
--- /dev/null
+++ b/src/org/omnirom/omnigears/preference/SecureCheckBoxPreference.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2013 The CyanogenMod project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.omnirom.omnigears.preference;
+
+import android.content.Context;
+import android.preference.CheckBoxPreference;
+import android.provider.Settings;
+import android.util.AttributeSet;
+
+public class SecureCheckBoxPreference extends CheckBoxPreference {
+ public SecureCheckBoxPreference(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ }
+
+ public SecureCheckBoxPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public SecureCheckBoxPreference(Context context) {
+ super(context, null);
+ }
+
+ @Override
+ protected boolean persistBoolean(boolean value) {
+ if (shouldPersist()) {
+ if (value == getPersistedBoolean(!value)) {
+ // It's already there, so the same as persisting
+ return true;
+ }
+
+ Settings.Secure.putInt(getContext().getContentResolver(), getKey(), value ? 1 : 0);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ protected boolean getPersistedBoolean(boolean defaultReturnValue) {
+ if (!shouldPersist()) {
+ return defaultReturnValue;
+ }
+
+ return Settings.Secure.getInt(getContext().getContentResolver(),
+ getKey(), defaultReturnValue ? 1 : 0) != 0;
+ }
+
+ @Override
+ protected boolean isPersisted() {
+ // Using getString instead of getInt so we can simply check for null
+ // instead of catching an exception. (All values are stored as strings.)
+ return Settings.Secure.getString(getContext().getContentResolver(), getKey()) != null;
+ }
+}
diff --git a/src/org/omnirom/omnigears/preference/SystemCheckBoxPreference.java b/src/org/omnirom/omnigears/preference/SystemCheckBoxPreference.java
new file mode 100644
index 0000000..8a099e7
--- /dev/null
+++ b/src/org/omnirom/omnigears/preference/SystemCheckBoxPreference.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2013 The CyanogenMod project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.omnirom.omnigears.preference;
+
+import android.content.Context;
+import android.preference.CheckBoxPreference;
+import android.provider.Settings;
+import android.util.AttributeSet;
+
+public class SystemCheckBoxPreference extends CheckBoxPreference {
+ public SystemCheckBoxPreference(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ }
+
+ public SystemCheckBoxPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public SystemCheckBoxPreference(Context context) {
+ super(context, null);
+ }
+
+ @Override
+ protected boolean persistBoolean(boolean value) {
+ if (shouldPersist()) {
+ if (value == getPersistedBoolean(!value)) {
+ // It's already there, so the same as persisting
+ return true;
+ }
+
+ Settings.System.putInt(getContext().getContentResolver(), getKey(), value ? 1 : 0);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ protected boolean getPersistedBoolean(boolean defaultReturnValue) {
+ if (!shouldPersist()) {
+ return defaultReturnValue;
+ }
+
+ return Settings.System.getInt(getContext().getContentResolver(),
+ getKey(), defaultReturnValue ? 1 : 0) != 0;
+ }
+
+ @Override
+ protected boolean isPersisted() {
+ // Using getString instead of getInt so we can simply check for null
+ // instead of catching an exception. (All values are stored as strings.)
+ return Settings.System.getString(getContext().getContentResolver(), getKey()) != null;
+ }
+}