|
|
|
@ -21,8 +21,10 @@ package eu.faircode.email;
|
|
|
|
|
|
|
|
|
|
import android.appwidget.AppWidgetManager;
|
|
|
|
|
import android.content.Context;
|
|
|
|
|
import android.content.DialogInterface;
|
|
|
|
|
import android.content.Intent;
|
|
|
|
|
import android.content.SharedPreferences;
|
|
|
|
|
import android.graphics.Color;
|
|
|
|
|
import android.os.Bundle;
|
|
|
|
|
import android.view.View;
|
|
|
|
|
import android.view.ViewGroup;
|
|
|
|
@ -30,6 +32,7 @@ import android.widget.AdapterView;
|
|
|
|
|
import android.widget.ArrayAdapter;
|
|
|
|
|
import android.widget.Button;
|
|
|
|
|
import android.widget.CheckBox;
|
|
|
|
|
import android.widget.CompoundButton;
|
|
|
|
|
import android.widget.Spinner;
|
|
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
|
|
|
@ -38,6 +41,10 @@ import androidx.annotation.Nullable;
|
|
|
|
|
import androidx.constraintlayout.widget.Group;
|
|
|
|
|
import androidx.preference.PreferenceManager;
|
|
|
|
|
|
|
|
|
|
import com.flask.colorpicker.ColorPickerView;
|
|
|
|
|
import com.flask.colorpicker.builder.ColorPickerClickListener;
|
|
|
|
|
import com.flask.colorpicker.builder.ColorPickerDialogBuilder;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
import java.util.List;
|
|
|
|
@ -50,12 +57,14 @@ public class ActivityWidgetUnified extends ActivityBase {
|
|
|
|
|
private CheckBox cbUnseen;
|
|
|
|
|
private CheckBox cbFlagged;
|
|
|
|
|
private CheckBox cbSemiTransparent;
|
|
|
|
|
private Button btnColor;
|
|
|
|
|
private Spinner spFontSize;
|
|
|
|
|
private Spinner spPadding;
|
|
|
|
|
private Button btnSave;
|
|
|
|
|
private ContentLoadingProgressBar pbWait;
|
|
|
|
|
private Group grpReady;
|
|
|
|
|
|
|
|
|
|
private int background = Color.TRANSPARENT;
|
|
|
|
|
private ArrayAdapter<EntityAccount> adapterAccount;
|
|
|
|
|
private ArrayAdapter<TupleFolderEx> adapterFolder;
|
|
|
|
|
private ArrayAdapter<String> adapterFontSize;
|
|
|
|
@ -71,6 +80,9 @@ public class ActivityWidgetUnified extends ActivityBase {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (savedInstanceState != null)
|
|
|
|
|
background = savedInstanceState.getInt("fair:color");
|
|
|
|
|
|
|
|
|
|
appWidgetId = extras.getInt(
|
|
|
|
|
AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
|
|
|
|
|
|
|
|
|
@ -82,6 +94,7 @@ public class ActivityWidgetUnified extends ActivityBase {
|
|
|
|
|
cbUnseen = findViewById(R.id.cbUnseen);
|
|
|
|
|
cbFlagged = findViewById(R.id.cbFlagged);
|
|
|
|
|
cbSemiTransparent = findViewById(R.id.cbSemiTransparent);
|
|
|
|
|
btnColor = findViewById(R.id.btnColor);
|
|
|
|
|
spFontSize = findViewById(R.id.spFontSize);
|
|
|
|
|
spPadding = findViewById(R.id.spPadding);
|
|
|
|
|
btnSave = findViewById(R.id.btnSave);
|
|
|
|
@ -91,6 +104,40 @@ public class ActivityWidgetUnified extends ActivityBase {
|
|
|
|
|
final Intent resultValue = new Intent();
|
|
|
|
|
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
|
|
|
|
|
|
|
|
|
|
cbSemiTransparent.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
|
|
|
|
btnColor.setEnabled(!isChecked);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
btnColor.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View view) {
|
|
|
|
|
ColorPickerDialogBuilder
|
|
|
|
|
.with(ActivityWidgetUnified.this)
|
|
|
|
|
.setTitle(R.string.title_widget_background)
|
|
|
|
|
.showColorEdit(true)
|
|
|
|
|
.wheelType(ColorPickerView.WHEEL_TYPE.FLOWER)
|
|
|
|
|
.density(6)
|
|
|
|
|
.lightnessSliderOnly()
|
|
|
|
|
.setPositiveButton(android.R.string.ok, new ColorPickerClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(DialogInterface dialog, int selectedColor, Integer[] allColors) {
|
|
|
|
|
background = selectedColor;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.setNegativeButton(R.string.title_reset, new DialogInterface.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(DialogInterface dialog, int which) {
|
|
|
|
|
background = Color.TRANSPARENT;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.build()
|
|
|
|
|
.show();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
btnSave.setOnClickListener(new View.OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View view) {
|
|
|
|
@ -114,6 +161,7 @@ public class ActivityWidgetUnified extends ActivityBase {
|
|
|
|
|
editor.putBoolean("widget." + appWidgetId + ".unseen", cbUnseen.isChecked());
|
|
|
|
|
editor.putBoolean("widget." + appWidgetId + ".flagged", cbFlagged.isChecked());
|
|
|
|
|
editor.putBoolean("widget." + appWidgetId + ".semi", cbSemiTransparent.isChecked());
|
|
|
|
|
editor.putInt("widget." + appWidgetId + ".background", background);
|
|
|
|
|
editor.putInt("widget." + appWidgetId + ".font", spFontSize.getSelectedItemPosition());
|
|
|
|
|
editor.putInt("widget." + appWidgetId + ".padding", spPadding.getSelectedItemPosition());
|
|
|
|
|
|
|
|
|
@ -216,6 +264,7 @@ public class ActivityWidgetUnified extends ActivityBase {
|
|
|
|
|
adapterPadding.setDropDownViewResource(R.layout.spinner_item1_dropdown);
|
|
|
|
|
spPadding.setAdapter(adapterPadding);
|
|
|
|
|
|
|
|
|
|
btnColor.setEnabled(!cbSemiTransparent.isChecked());
|
|
|
|
|
grpReady.setVisibility(View.GONE);
|
|
|
|
|
pbWait.setVisibility(View.VISIBLE);
|
|
|
|
|
|
|
|
|
@ -252,4 +301,10 @@ public class ActivityWidgetUnified extends ActivityBase {
|
|
|
|
|
}
|
|
|
|
|
}.execute(this, new Bundle(), "widget:accounts");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void onSaveInstanceState(Bundle outState) {
|
|
|
|
|
outState.putInt("fair:color", background);
|
|
|
|
|
super.onSaveInstanceState(outState);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|