mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-08 01:53:25 +02:00
Switched to QuadFlask colorpicker
This commit is contained in:
@@ -2882,13 +2882,13 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
}
|
||||
|
||||
private void onMenuColoredStar(final TupleMessageEx message) {
|
||||
int color = (message.color == null ? Color.TRANSPARENT : message.color);
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putLong("id", message.id);
|
||||
args.putInt("color", message.color == null ? Color.TRANSPARENT : message.color);
|
||||
args.putString("title", context.getString(R.string.title_flag_color));
|
||||
|
||||
FragmentDialogColor fragment = new FragmentDialogColor();
|
||||
fragment.initialize(R.string.title_flag_color, color, args, context);
|
||||
fragment.setArguments(args);
|
||||
fragment.setTargetFragment(parentFragment, FragmentMessages.REQUEST_MESSAGE_COLOR);
|
||||
fragment.show(parentFragment.getFragmentManager(), "message:color");
|
||||
}
|
||||
|
||||
@@ -303,8 +303,12 @@ public class FragmentAccount extends FragmentBase {
|
||||
btnColor.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Bundle args = new Bundle();
|
||||
args.putInt("color", btnColor.getColor());
|
||||
args.putString("title", getString(R.string.title_color));
|
||||
|
||||
FragmentDialogColor fragment = new FragmentDialogColor();
|
||||
fragment.initialize(R.string.title_color, btnColor.getColor(), new Bundle(), getContext());
|
||||
fragment.setArguments(args);
|
||||
fragment.setTargetFragment(FragmentAccount.this, REQUEST_COLOR);
|
||||
fragment.show(getFragmentManager(), "account:color");
|
||||
}
|
||||
|
||||
@@ -1040,8 +1040,12 @@ public class FragmentCompose extends FragmentBase {
|
||||
Log.i("Style action=" + action);
|
||||
|
||||
if (action == R.id.menu_color) {
|
||||
Bundle args = new Bundle();
|
||||
args.putInt("color", Color.TRANSPARENT);
|
||||
args.putString("title", getString(R.string.title_style_color));
|
||||
|
||||
FragmentDialogColor fragment = new FragmentDialogColor();
|
||||
fragment.initialize(R.string.title_style_color, Color.TRANSPARENT, new Bundle(), getContext());
|
||||
fragment.setArguments(args);
|
||||
fragment.setTargetFragment(FragmentCompose.this, REQUEST_COLOR);
|
||||
fragment.show(getFragmentManager(), "account:color");
|
||||
return true;
|
||||
|
||||
@@ -19,49 +19,51 @@ package eu.faircode.email;
|
||||
Copyright 2018-2019 by Marcel Bokhorst (M66B)
|
||||
*/
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.app.Dialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.colorpicker.ColorPickerDialog;
|
||||
import com.flask.colorpicker.ColorPickerView;
|
||||
import com.flask.colorpicker.builder.ColorPickerClickListener;
|
||||
import com.flask.colorpicker.builder.ColorPickerDialogBuilder;
|
||||
|
||||
import static android.app.Activity.RESULT_OK;
|
||||
|
||||
public class FragmentDialogColor extends ColorPickerDialog {
|
||||
private Bundle args;
|
||||
|
||||
public void initialize(int title, int color, Bundle args, Context context) {
|
||||
this.args = args;
|
||||
int[] colors = context.getResources().getIntArray(R.array.colorPicker);
|
||||
super.initialize(title, colors, color, 4, colors.length);
|
||||
}
|
||||
|
||||
public class FragmentDialogColor extends FragmentDialogBase {
|
||||
@NonNull
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if (savedInstanceState != null)
|
||||
this.args = savedInstanceState.getBundle("fair:extra");
|
||||
}
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
int color = getArguments().getInt("color");
|
||||
String title = getArguments().getString("title");
|
||||
|
||||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
outState.putBundle("fair:extra", args);
|
||||
super.onSaveInstanceState(outState);
|
||||
}
|
||||
if (color == Color.TRANSPARENT)
|
||||
color = Color.BLUE;
|
||||
|
||||
@Override
|
||||
public void onColorSelected(int color) {
|
||||
Fragment target = getTargetFragment();
|
||||
if (target != null) {
|
||||
args.putInt("color", color);
|
||||
|
||||
Intent data = new Intent();
|
||||
data.putExtra("args", args);
|
||||
target.onActivityResult(getTargetRequestCode(), RESULT_OK, data);
|
||||
}
|
||||
|
||||
dismiss();
|
||||
return ColorPickerDialogBuilder
|
||||
.with(getContext())
|
||||
.setTitle(title)
|
||||
.initialColor(color)
|
||||
.wheelType(ColorPickerView.WHEEL_TYPE.FLOWER)
|
||||
.density(12)
|
||||
.lightnessSliderOnly()
|
||||
.setPositiveButton(android.R.string.ok, new ColorPickerClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int selectedColor, Integer[] allColors) {
|
||||
getArguments().putInt("color", selectedColor);
|
||||
sendResult(RESULT_OK);
|
||||
}
|
||||
})
|
||||
.setNegativeButton(R.string.title_reset, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
getArguments().putInt("color", Color.TRANSPARENT);
|
||||
sendResult(RESULT_OK);
|
||||
}
|
||||
})
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -286,8 +286,12 @@ public class FragmentIdentity extends FragmentBase {
|
||||
btnColor.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Bundle args = new Bundle();
|
||||
args.putInt("color", btnColor.getColor());
|
||||
args.putString("title", getString(R.string.title_color));
|
||||
|
||||
FragmentDialogColor fragment = new FragmentDialogColor();
|
||||
fragment.initialize(R.string.title_flag_color, btnColor.getColor(), new Bundle(), getContext());
|
||||
fragment.setArguments(args);
|
||||
fragment.setTargetFragment(FragmentIdentity.this, REQUEST_COLOR);
|
||||
fragment.show(getFragmentManager(), "identity:color");
|
||||
}
|
||||
|
||||
@@ -1589,13 +1589,13 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||
}
|
||||
|
||||
private void onMenuColor() {
|
||||
int color = (message.color == null ? Color.TRANSPARENT : message.color);
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putLong("id", message.id);
|
||||
args.putInt("color", message.color == null ? Color.TRANSPARENT : message.color);
|
||||
args.putString("title", getString(R.string.title_flag_color));
|
||||
|
||||
FragmentDialogColor fragment = new FragmentDialogColor();
|
||||
fragment.initialize(R.string.title_flag_color, color, args, getContext());
|
||||
fragment.setArguments(args);
|
||||
fragment.setTargetFragment(FragmentMessages.this, FragmentMessages.REQUEST_MESSAGE_COLOR);
|
||||
fragment.show(getFragmentManager(), "message:color");
|
||||
}
|
||||
@@ -1973,8 +1973,12 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||
}
|
||||
|
||||
private void onActionFlagColorSelection() {
|
||||
Bundle args = new Bundle();
|
||||
args.putInt("color", Color.TRANSPARENT);
|
||||
args.putString("title", getString(R.string.title_flag_color));
|
||||
|
||||
FragmentDialogColor fragment = new FragmentDialogColor();
|
||||
fragment.initialize(R.string.title_flag_color, Color.TRANSPARENT, new Bundle(), getContext());
|
||||
fragment.setArguments(args);
|
||||
fragment.setTargetFragment(FragmentMessages.this, REQUEST_MESSAGES_COLOR);
|
||||
fragment.show(getFragmentManager(), "messages:color");
|
||||
}
|
||||
|
||||
@@ -132,8 +132,12 @@ public class FragmentPop extends FragmentBase {
|
||||
btnColor.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Bundle args = new Bundle();
|
||||
args.putInt("color", btnColor.getColor());
|
||||
args.putString("title", getString(R.string.title_color));
|
||||
|
||||
FragmentDialogColor fragment = new FragmentDialogColor();
|
||||
fragment.initialize(R.string.title_color, btnColor.getColor(), new Bundle(), getContext());
|
||||
fragment.setArguments(args);
|
||||
fragment.setTargetFragment(FragmentPop.this, REQUEST_COLOR);
|
||||
fragment.show(getFragmentManager(), "account:color");
|
||||
}
|
||||
|
||||
@@ -366,8 +366,12 @@ public class FragmentRule extends FragmentBase {
|
||||
btnColor.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Bundle args = new Bundle();
|
||||
args.putInt("color", btnColor.getColor());
|
||||
args.putString("title", getString(R.string.title_flag_color));
|
||||
|
||||
FragmentDialogColor fragment = new FragmentDialogColor();
|
||||
fragment.initialize(R.string.title_flag_color, btnColor.getColor(), new Bundle(), getContext());
|
||||
fragment.setArguments(args);
|
||||
fragment.setTargetFragment(FragmentRule.this, REQUEST_COLOR);
|
||||
fragment.show(getFragmentManager(), "rule:color");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user