OmniGears: SeekBarPreferences improvement
allow set Max and Min value inside code
Change-Id: Ib69298dd9031bf4fbb2e4b49347b7a489ffdad18
diff --git a/res/values/custom_attrs.xml b/res/values/custom_attrs.xml
index 6c8c199..8364828 100644
--- a/res/values/custom_attrs.xml
+++ b/res/values/custom_attrs.xml
@@ -20,6 +20,7 @@
<declare-styleable name="SeekBarPreference">
<attr name="min" format="integer" />
+ <attr name="interval" format="integer" />
<attr name="unitsLeft" format="string|reference" />
<attr name="unitsRight" format="string|reference" />
</declare-styleable>
diff --git a/src/org/omnirom/omnigears/chameleonos/SeekBarPreference.java b/src/org/omnirom/omnigears/chameleonos/SeekBarPreference.java
index aa787ae..d573cbc 100644
--- a/src/org/omnirom/omnigears/chameleonos/SeekBarPreference.java
+++ b/src/org/omnirom/omnigears/chameleonos/SeekBarPreference.java
@@ -31,7 +31,6 @@
private String mUnitsRight = "";
private SeekBar mSeekBar;
private TextView mTitle;
-
private TextView mStatusText;
public SeekBarPreference(Context context, AttributeSet attrs) {
@@ -53,7 +52,7 @@
private void setValuesFromXml(AttributeSet attrs) {
final TypedArray typedArray = getContext().obtainStyledAttributes(
- attrs, R.styleable.SeekBarPreference);
+ attrs, R.styleable.SeekBarPreference);
mMaxValue = attrs.getAttributeIntValue(ANDROIDNS, "max", 100);
mMinValue = attrs.getAttributeIntValue(SETTINGS, "min", 0);
@@ -200,7 +199,7 @@
@Override
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
- if(restoreValue) {
+ if (restoreValue) {
mCurrentValue = getPersistedInt(mCurrentValue);
}
else {
@@ -220,6 +219,18 @@
mCurrentValue = value;
}
+ public void setMaxValue(int value) {
+ mMaxValue = value;
+ }
+
+ public void setMinValue(int value) {
+ mMinValue = value;
+ }
+
+ public void updateSeekValue() {
+ mSeekBar.setMax(mMaxValue - mMinValue);
+ }
+
@Override
public void setEnabled (boolean enabled) {
mSeekBar.setEnabled(enabled);