|
|
@ -6,12 +6,14 @@ import android.os.Bundle;
|
|
|
|
import android.support.annotation.NonNull;
|
|
|
|
import android.support.annotation.NonNull;
|
|
|
|
import android.view.LayoutInflater;
|
|
|
|
import android.view.LayoutInflater;
|
|
|
|
import android.view.View;
|
|
|
|
import android.view.View;
|
|
|
|
|
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
|
|
|
|
|
|
import com.rey.material.widget.Slider;
|
|
|
|
import com.rey.material.widget.Slider;
|
|
|
|
|
|
|
|
|
|
|
|
import org.tasks.R;
|
|
|
|
import org.tasks.R;
|
|
|
|
import org.tasks.injection.InjectingNativeDialogFragment;
|
|
|
|
import org.tasks.injection.InjectingNativeDialogFragment;
|
|
|
|
import org.tasks.injection.NativeDialogFragmentComponent;
|
|
|
|
import org.tasks.injection.NativeDialogFragmentComponent;
|
|
|
|
|
|
|
|
import org.tasks.locale.Locale;
|
|
|
|
import org.tasks.themes.Theme;
|
|
|
|
import org.tasks.themes.Theme;
|
|
|
|
|
|
|
|
|
|
|
|
import javax.inject.Inject;
|
|
|
|
import javax.inject.Inject;
|
|
|
@ -23,12 +25,16 @@ public class SeekBarDialog extends InjectingNativeDialogFragment {
|
|
|
|
|
|
|
|
|
|
|
|
private static final String EXTRA_LAYOUT = "extra_layout";
|
|
|
|
private static final String EXTRA_LAYOUT = "extra_layout";
|
|
|
|
private static final String EXTRA_INITIAL_VALUE = "extra_initial_value";
|
|
|
|
private static final String EXTRA_INITIAL_VALUE = "extra_initial_value";
|
|
|
|
|
|
|
|
private static final String EXTRA_MIN = "extra_min";
|
|
|
|
|
|
|
|
private static final String EXTRA_MAX = "extra_max";
|
|
|
|
private static final String EXTRA_REQUEST_CODE = "extra_request_code";
|
|
|
|
private static final String EXTRA_REQUEST_CODE = "extra_request_code";
|
|
|
|
|
|
|
|
|
|
|
|
public static SeekBarDialog newSeekBarDialog(int layout, int initial, int requestCode) {
|
|
|
|
public static SeekBarDialog newSeekBarDialog(int layout, int min, int max, int initial, int requestCode) {
|
|
|
|
SeekBarDialog dialog = new SeekBarDialog();
|
|
|
|
SeekBarDialog dialog = new SeekBarDialog();
|
|
|
|
Bundle args = new Bundle();
|
|
|
|
Bundle args = new Bundle();
|
|
|
|
args.putInt(EXTRA_LAYOUT, layout);
|
|
|
|
args.putInt(EXTRA_LAYOUT, layout);
|
|
|
|
|
|
|
|
args.putInt(EXTRA_MIN, min);
|
|
|
|
|
|
|
|
args.putInt(EXTRA_MAX, max);
|
|
|
|
dialog.setArguments(args);
|
|
|
|
dialog.setArguments(args);
|
|
|
|
dialog.initial = initial;
|
|
|
|
dialog.initial = initial;
|
|
|
|
dialog.requestCode = requestCode;
|
|
|
|
dialog.requestCode = requestCode;
|
|
|
@ -40,9 +46,12 @@ public class SeekBarDialog extends InjectingNativeDialogFragment {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@BindView(R.id.slider) Slider slider;
|
|
|
|
@BindView(R.id.slider) Slider slider;
|
|
|
|
|
|
|
|
@BindView(R.id.min) TextView min;
|
|
|
|
|
|
|
|
@BindView(R.id.max) TextView max;
|
|
|
|
|
|
|
|
|
|
|
|
@Inject DialogBuilder dialogBuilder;
|
|
|
|
@Inject DialogBuilder dialogBuilder;
|
|
|
|
@Inject Theme theme;
|
|
|
|
@Inject Theme theme;
|
|
|
|
|
|
|
|
@Inject Locale locale;
|
|
|
|
|
|
|
|
|
|
|
|
private int initial;
|
|
|
|
private int initial;
|
|
|
|
private int requestCode;
|
|
|
|
private int requestCode;
|
|
|
@ -63,6 +72,10 @@ public class SeekBarDialog extends InjectingNativeDialogFragment {
|
|
|
|
ButterKnife.bind(this, view);
|
|
|
|
ButterKnife.bind(this, view);
|
|
|
|
|
|
|
|
|
|
|
|
slider.setValue(initial, true);
|
|
|
|
slider.setValue(initial, true);
|
|
|
|
|
|
|
|
slider.setValueDescriptionProvider(value -> locale.formatNumber(value));
|
|
|
|
|
|
|
|
slider.setValueRange(arguments.getInt(EXTRA_MIN), arguments.getInt(EXTRA_MAX), false);
|
|
|
|
|
|
|
|
min.setText(locale.formatNumber(slider.getMinValue()));
|
|
|
|
|
|
|
|
max.setText(locale.formatNumber(slider.getMaxValue()));
|
|
|
|
return dialogBuilder.newDialog()
|
|
|
|
return dialogBuilder.newDialog()
|
|
|
|
.setView(view)
|
|
|
|
.setView(view)
|
|
|
|
.setPositiveButton(android.R.string.ok, (dialogInterface, i) -> callback.valueSelected(slider.getValue(), requestCode))
|
|
|
|
.setPositiveButton(android.R.string.ok, (dialogInterface, i) -> callback.valueSelected(slider.getValue(), requestCode))
|
|
|
|