kopia lustrzana https://github.com/ryukoposting/Signal-Android
65 wiersze
2.0 KiB
Java
65 wiersze
2.0 KiB
Java
package org.thoughtcrime.securesms.preferences.widgets;
|
|
|
|
import android.app.Dialog;
|
|
import android.content.DialogInterface;
|
|
import android.os.Bundle;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.preference.PreferenceDialogFragmentCompat;
|
|
|
|
import com.takisoft.colorpicker.ColorPickerDialog;
|
|
import com.takisoft.colorpicker.OnColorSelectedListener;
|
|
|
|
public class ColorPickerPreferenceDialogFragmentCompat extends PreferenceDialogFragmentCompat implements OnColorSelectedListener {
|
|
|
|
private int pickedColor;
|
|
|
|
public static ColorPickerPreferenceDialogFragmentCompat newInstance(String key) {
|
|
ColorPickerPreferenceDialogFragmentCompat fragment = new ColorPickerPreferenceDialogFragmentCompat();
|
|
Bundle b = new Bundle(1);
|
|
b.putString(PreferenceDialogFragmentCompat.ARG_KEY, key);
|
|
fragment.setArguments(b);
|
|
return fragment;
|
|
}
|
|
|
|
|
|
@NonNull
|
|
@Override
|
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
|
ColorPickerPreference pref = getColorPickerPreference();
|
|
|
|
ColorPickerDialog.Params params = new ColorPickerDialog.Params.Builder(getContext())
|
|
.setSelectedColor(pref.getColor())
|
|
.setColors(pref.getColors())
|
|
.setColorContentDescriptions(pref.getColorDescriptions())
|
|
.setSize(pref.getSize())
|
|
.setSortColors(pref.isSortColors())
|
|
.setColumns(pref.getColumns())
|
|
.build();
|
|
|
|
ColorPickerDialog dialog = new ColorPickerDialog(getActivity(), this, params);
|
|
dialog.setTitle(pref.getDialogTitle());
|
|
|
|
return dialog;
|
|
}
|
|
|
|
@Override
|
|
public void onDialogClosed(boolean positiveResult) {
|
|
ColorPickerPreference preference = getColorPickerPreference();
|
|
|
|
if (positiveResult) {
|
|
preference.setColor(pickedColor);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onColorSelected(int color) {
|
|
this.pickedColor = color;
|
|
|
|
super.onClick(getDialog(), DialogInterface.BUTTON_POSITIVE);
|
|
}
|
|
|
|
ColorPickerPreference getColorPickerPreference() {
|
|
return (ColorPickerPreference) getPreference();
|
|
}
|
|
} |