Prevent crash

pull/187/head
M66B 5 years ago
parent aea6a79019
commit 3c8c9da858

@ -1254,9 +1254,7 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final boolean export = getArguments().getBoolean("export"); final boolean export = getArguments().getBoolean("export");
final Context context = getContext(); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_password, null);
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_password, null);
etPassword1 = dview.findViewById(R.id.tilPassword1); etPassword1 = dview.findViewById(R.id.tilPassword1);
etPassword2 = dview.findViewById(R.id.tilPassword2); etPassword2 = dview.findViewById(R.id.tilPassword2);
TextView tvImportHint = dview.findViewById(R.id.tvImportHint); TextView tvImportHint = dview.findViewById(R.id.tvImportHint);
@ -1269,7 +1267,7 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac
etPassword2.setVisibility(export ? View.VISIBLE : View.GONE); etPassword2.setVisibility(export ? View.VISIBLE : View.GONE);
tvImportHint.setVisibility(export ? View.GONE : View.VISIBLE); tvImportHint.setVisibility(export ? View.GONE : View.VISIBLE);
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
@ -1278,16 +1276,16 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac
String password2 = etPassword2.getEditText().getText().toString(); String password2 = etPassword2.getEditText().getText().toString();
if (!BuildConfig.DEBUG && TextUtils.isEmpty(password1)) if (!BuildConfig.DEBUG && TextUtils.isEmpty(password1))
ToastEx.makeText(context, R.string.title_setup_password_missing, Toast.LENGTH_LONG).show(); ToastEx.makeText(getContext(), R.string.title_setup_password_missing, Toast.LENGTH_LONG).show();
else { else {
if (!export || password1.equals(password2)) { if (!export || password1.equals(password2)) {
((ActivitySetup) getActivity()).password = password1; ((ActivitySetup) getActivity()).password = password1;
getActivity().startActivityForResult( getActivity().startActivityForResult(
Helper.getChooser(context, Helper.getChooser(getContext(),
export ? getIntentExport() : getIntentImport()), export ? getIntentExport() : getIntentImport()),
export ? REQUEST_EXPORT : REQUEST_IMPORT); export ? REQUEST_EXPORT : REQUEST_IMPORT);
} else } else
ToastEx.makeText(context, R.string.title_setup_password_different, Toast.LENGTH_LONG).show(); ToastEx.makeText(getContext(), R.string.title_setup_password_different, Toast.LENGTH_LONG).show();
} }
} }
}) })

@ -1418,9 +1418,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); LayoutInflater inflater = LayoutInflater.from(getContext());
LayoutInflater inflater = LayoutInflater.from(context);
View dview = inflater.inflate(R.layout.dialog_first, null); View dview = inflater.inflate(R.layout.dialog_first, null);
Button btnBatteryInfo = dview.findViewById(R.id.btnBatteryInfo); Button btnBatteryInfo = dview.findViewById(R.id.btnBatteryInfo);
Button btnReformatInfo = dview.findViewById(R.id.btnReformatInfo); Button btnReformatInfo = dview.findViewById(R.id.btnReformatInfo);
@ -1428,23 +1426,23 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
btnBatteryInfo.setOnClickListener(new View.OnClickListener() { btnBatteryInfo.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Helper.viewFAQ(context, 39); Helper.viewFAQ(getContext(), 39);
} }
}); });
btnReformatInfo.setOnClickListener(new View.OnClickListener() { btnReformatInfo.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Helper.viewFAQ(context, 35); Helper.viewFAQ(getContext(), 35);
} }
}); });
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putBoolean("first", false).apply(); prefs.edit().putBoolean("first", false).apply();
} }
}) })
@ -1457,20 +1455,18 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); return new AlertDialog.Builder(getContext())
return new AlertDialog.Builder(context)
.setMessage(R.string.title_issue) .setMessage(R.string.title_issue)
.setPositiveButton(R.string.title_yes, new DialogInterface.OnClickListener() { .setPositiveButton(R.string.title_yes, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
Helper.viewFAQ(context, 0); Helper.viewFAQ(getContext(), 0);
} }
}) })
.setNegativeButton(R.string.title_no, new DialogInterface.OnClickListener() { .setNegativeButton(R.string.title_no, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
Helper.view(context, Helper.getIntentRate(context)); Helper.view(getContext(), Helper.getIntentRate(getContext()));
} }
}) })
.create(); .create();

@ -481,13 +481,11 @@ public class AdapterContact extends RecyclerView.Adapter<AdapterContact.ViewHold
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); View view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_edit_name, null);
View view = LayoutInflater.from(context).inflate(R.layout.dialog_edit_name, null);
final EditText etName = view.findViewById(R.id.etName); final EditText etName = view.findViewById(R.id.etName);
etName.setText(getArguments().getString("name")); etName.setText(getArguments().getString("name"));
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(view) .setView(view)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
@ -515,7 +513,7 @@ public class AdapterContact extends RecyclerView.Adapter<AdapterContact.ViewHold
protected void onException(Bundle args, Throwable ex) { protected void onException(Bundle args, Throwable ex) {
Log.unexpectedError(getParentFragmentManager(), ex); Log.unexpectedError(getParentFragmentManager(), ex);
} }
}.execute(context, getActivity(), args, "edit:name"); }.execute(getContext(), getActivity(), args, "edit:name");
} }
}) })
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)

@ -1169,16 +1169,14 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
String name = getArguments().getString("name"); String name = getArguments().getString("name");
final Context context = getContext(); View view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_sync, null);
View view = LayoutInflater.from(context).inflate(R.layout.dialog_sync, null);
final TextView tvFolder = view.findViewById(R.id.tvFolder); final TextView tvFolder = view.findViewById(R.id.tvFolder);
final EditText etMonths = view.findViewById(R.id.etMonths); final EditText etMonths = view.findViewById(R.id.etMonths);
tvFolder.setText(name); tvFolder.setText(name);
etMonths.setText(null); etMonths.setText(null);
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(view) .setView(view)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override

@ -5927,10 +5927,8 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
_title = null; _title = null;
final String title = _title; final String title = _title;
final Context context = getContext();
// Preload web view // Preload web view
Helper.customTabsWarmup(context); Helper.customTabsWarmup(getContext());
// Process link // Process link
final Uri sanitized; final Uri sanitized;
@ -5949,7 +5947,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
uriTitle = null; uriTitle = null;
// Get views // Get views
final View dview = LayoutInflater.from(context).inflate(R.layout.dialog_open_link, null); final View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_open_link, null);
final TextView tvTitle = dview.findViewById(R.id.tvTitle); final TextView tvTitle = dview.findViewById(R.id.tvTitle);
final ImageButton ibDifferent = dview.findViewById(R.id.ibDifferent); final ImageButton ibDifferent = dview.findViewById(R.id.ibDifferent);
final EditText etLink = dview.findViewById(R.id.etLink); final EditText etLink = dview.findViewById(R.id.etLink);
@ -5968,7 +5966,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
final Group grpDifferent = dview.findViewById(R.id.grpDifferent); final Group grpDifferent = dview.findViewById(R.id.grpDifferent);
final Group grpOwner = dview.findViewById(R.id.grpOwner); final Group grpOwner = dview.findViewById(R.id.grpOwner);
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
ibDifferent.setOnClickListener(new View.OnClickListener() { ibDifferent.setOnClickListener(new View.OnClickListener() {
@Override @Override
@ -6000,7 +5998,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
cbSecure.setText( cbSecure.setText(
secure ? R.string.title_link_https : R.string.title_link_http); secure ? R.string.title_link_https : R.string.title_link_http);
cbSecure.setTextColor(Helper.resolveColor(context, cbSecure.setTextColor(Helper.resolveColor(getContext(),
secure ? android.R.attr.textColorSecondary : R.attr.colorWarning)); secure ? android.R.attr.textColorSecondary : R.attr.colorWarning));
cbSecure.setTypeface( cbSecure.setTypeface(
secure ? Typeface.DEFAULT : Typeface.DEFAULT_BOLD); secure ? Typeface.DEFAULT : Typeface.DEFAULT_BOLD);
@ -6037,12 +6035,12 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
@Override @Override
public void onClick(View v) { public void onClick(View v) {
ClipboardManager clipboard = ClipboardManager clipboard =
(ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
if (clipboard != null) { if (clipboard != null) {
ClipData clip = ClipData.newPlainText(title, etLink.getText().toString()); ClipData clip = ClipData.newPlainText(title, etLink.getText().toString());
clipboard.setPrimaryClip(clip); clipboard.setPrimaryClip(clip);
ToastEx.makeText(context, R.string.title_clipboard_copied, Toast.LENGTH_LONG).show(); ToastEx.makeText(getContext(), R.string.title_clipboard_copied, Toast.LENGTH_LONG).show();
} }
} }
}); });
@ -6076,7 +6074,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
}); });
tvOwnerRemark.setMovementMethod(LinkMovementMethod.getInstance()); tvOwnerRemark.setMovementMethod(LinkMovementMethod.getInstance());
cbNotAgain.setText(context.getString(R.string.title_no_ask_for_again, uri.getHost())); cbNotAgain.setText(getContext().getString(R.string.title_no_ask_for_again, uri.getHost()));
cbNotAgain.setVisibility( cbNotAgain.setVisibility(
"https".equals(uri.getScheme()) && !TextUtils.isEmpty(uri.getHost()) "https".equals(uri.getScheme()) && !TextUtils.isEmpty(uri.getHost())
? View.VISIBLE : View.GONE); ? View.VISIBLE : View.GONE);
@ -6148,6 +6146,8 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
tvDisconnect.setVisibility(categories == null ? View.GONE : View.VISIBLE); tvDisconnect.setVisibility(categories == null ? View.GONE : View.VISIBLE);
tvDisconnectCategories.setVisibility(categories == null ? View.GONE : View.VISIBLE); tvDisconnectCategories.setVisibility(categories == null ? View.GONE : View.VISIBLE);
final Context context = getContext();
return new AlertDialog.Builder(context) return new AlertDialog.Builder(context)
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@ -6265,9 +6265,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
final String type = args.getString("type"); final String type = args.getString("type");
final String from = args.getString("from"); final String from = args.getString("from");
final Context context = getContext(); View view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_junk, null);
View view = LayoutInflater.from(context).inflate(R.layout.dialog_junk, null);
final TextView tvMessage = view.findViewById(R.id.tvMessage); final TextView tvMessage = view.findViewById(R.id.tvMessage);
final ImageButton ibInfo = view.findViewById(R.id.ibInfo); final ImageButton ibInfo = view.findViewById(R.id.ibInfo);
final CheckBox cbBlockSender = view.findViewById(R.id.cbBlockSender); final CheckBox cbBlockSender = view.findViewById(R.id.cbBlockSender);
@ -6279,11 +6277,11 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibInfo.setOnClickListener(new View.OnClickListener() { ibInfo.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
Helper.viewFAQ(context, 92); Helper.viewFAQ(getContext(), 92);
} }
}); });
cbBlockSender.setEnabled(ActivityBilling.isPro(context)); cbBlockSender.setEnabled(ActivityBilling.isPro(getContext()));
cbBlockDomain.setEnabled(false); cbBlockDomain.setEnabled(false);
cbBlockSender.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { cbBlockSender.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@ -6296,7 +6294,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
btnEditRules.setOnClickListener(new View.OnClickListener() { btnEditRules.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context); LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getContext());
lbm.sendBroadcast( lbm.sendBroadcast(
new Intent(ActivityView.ACTION_EDIT_RULES) new Intent(ActivityView.ACTION_EDIT_RULES)
.putExtra("account", account) .putExtra("account", account)
@ -6307,7 +6305,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
} }
}); });
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(view) .setView(view)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
@ -6328,24 +6326,22 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final long id = getArguments().getLong("id"); final long id = getArguments().getLong("id");
final Context context = getContext(); final View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_keyword_manage, null);
final View dview = LayoutInflater.from(context).inflate(R.layout.dialog_keyword_manage, null);
final RecyclerView rvKeyword = dview.findViewById(R.id.rvKeyword); final RecyclerView rvKeyword = dview.findViewById(R.id.rvKeyword);
final TextView tvPro = dview.findViewById(R.id.tvPro); final TextView tvPro = dview.findViewById(R.id.tvPro);
final FloatingActionButton fabAdd = dview.findViewById(R.id.fabAdd); final FloatingActionButton fabAdd = dview.findViewById(R.id.fabAdd);
final ContentLoadingProgressBar pbWait = dview.findViewById(R.id.pbWait); final ContentLoadingProgressBar pbWait = dview.findViewById(R.id.pbWait);
rvKeyword.setHasFixedSize(false); rvKeyword.setHasFixedSize(false);
final LinearLayoutManager llm = new LinearLayoutManager(context); final LinearLayoutManager llm = new LinearLayoutManager(getContext());
rvKeyword.setLayoutManager(llm); rvKeyword.setLayoutManager(llm);
final AdapterKeyword adapter = new AdapterKeyword(context, getViewLifecycleOwner()); final AdapterKeyword adapter = new AdapterKeyword(getContext(), getViewLifecycleOwner());
rvKeyword.setAdapter(adapter); rvKeyword.setAdapter(adapter);
Helper.linkPro(tvPro); Helper.linkPro(tvPro);
fabAdd.setEnabled(ActivityBilling.isPro(context)); fabAdd.setEnabled(ActivityBilling.isPro(getContext()));
fabAdd.setOnClickListener(new View.OnClickListener() { fabAdd.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@ -6360,16 +6356,16 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
pbWait.setVisibility(View.VISIBLE); pbWait.setVisibility(View.VISIBLE);
DB db = DB.getInstance(context); DB db = DB.getInstance(getContext());
db.message().liveMessageKeywords(id).observe(getViewLifecycleOwner(), new Observer<TupleKeyword.Persisted>() { db.message().liveMessageKeywords(id).observe(getViewLifecycleOwner(), new Observer<TupleKeyword.Persisted>() {
@Override @Override
public void onChanged(TupleKeyword.Persisted data) { public void onChanged(TupleKeyword.Persisted data) {
pbWait.setVisibility(View.GONE); pbWait.setVisibility(View.GONE);
adapter.set(id, TupleKeyword.from(context, data)); adapter.set(id, TupleKeyword.from(getContext(), data));
} }
}); });
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setTitle(R.string.title_manage_keywords) .setTitle(R.string.title_manage_keywords)
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, null) .setPositiveButton(android.R.string.ok, null)
@ -6383,13 +6379,11 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final long id = getArguments().getLong("id"); final long id = getArguments().getLong("id");
final Context context = getContext(); View view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_keyword_add, null);
View view = LayoutInflater.from(context).inflate(R.layout.dialog_keyword_add, null);
final EditText etKeyword = view.findViewById(R.id.etKeyword); final EditText etKeyword = view.findViewById(R.id.etKeyword);
etKeyword.setText(null); etKeyword.setText(null);
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(view) .setView(view)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
@ -6430,7 +6424,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
protected void onException(Bundle args, Throwable ex) { protected void onException(Bundle args, Throwable ex) {
Log.unexpectedError(getParentFragmentManager(), ex); Log.unexpectedError(getParentFragmentManager(), ex);
} }
}.execute(context, getActivity(), args, "keyword:add"); }.execute(getContext(), getActivity(), args, "keyword:add");
} }
} }
}) })
@ -6459,9 +6453,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
if (l.contains(folders[i])) if (l.contains(folders[i]))
checked[i] = true; checked[i] = true;
final Context context = getContext(); return new AlertDialog.Builder(getContext())
return new AlertDialog.Builder(context)
.setTitle(R.string.title_manage_labels) .setTitle(R.string.title_manage_labels)
.setMultiChoiceItems(folders, checked, new DialogInterface.OnMultiChoiceClickListener() { .setMultiChoiceItems(folders, checked, new DialogInterface.OnMultiChoiceClickListener() {
@Override @Override

@ -465,22 +465,20 @@ public class FragmentAnswer extends FragmentBase {
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext();
Spanned spanned = HtmlHelper.fromHtml("<p>" + Spanned spanned = HtmlHelper.fromHtml("<p>" +
getString(R.string.title_answer_template_name) + getString(R.string.title_answer_template_name) +
"<br>" + "<br>" +
getString(R.string.title_answer_template_email) + getString(R.string.title_answer_template_email) +
"</p>", false, context); "</p>", false, getContext());
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_ask_again, null); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_ask_again, null);
TextView tvMessage = dview.findViewById(R.id.tvMessage); TextView tvMessage = dview.findViewById(R.id.tvMessage);
CheckBox cbNotAgain = dview.findViewById(R.id.cbNotAgain); CheckBox cbNotAgain = dview.findViewById(R.id.cbNotAgain);
tvMessage.setText(spanned); tvMessage.setText(spanned);
cbNotAgain.setVisibility(View.GONE); cbNotAgain.setVisibility(View.GONE);
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)
.create(); .create();

@ -5371,16 +5371,14 @@ public class FragmentCompose extends FragmentBase {
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
int title = getArguments().getInt("title"); int title = getArguments().getInt("title");
final Context context = getContext(); final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean add_inline = prefs.getBoolean("add_inline", true); boolean add_inline = prefs.getBoolean("add_inline", true);
boolean resize_images = prefs.getBoolean("resize_images", true); boolean resize_images = prefs.getBoolean("resize_images", true);
int resize = prefs.getInt("resize", FragmentCompose.REDUCED_IMAGE_SIZE); int resize = prefs.getInt("resize", FragmentCompose.REDUCED_IMAGE_SIZE);
boolean privacy_images = prefs.getBoolean("privacy_images", false); boolean privacy_images = prefs.getBoolean("privacy_images", false);
boolean image_dialog = prefs.getBoolean("image_dialog", true); boolean image_dialog = prefs.getBoolean("image_dialog", true);
final ViewGroup dview = (ViewGroup) LayoutInflater.from(context).inflate(R.layout.dialog_add_image, null); final ViewGroup dview = (ViewGroup) LayoutInflater.from(getContext()).inflate(R.layout.dialog_add_image, null);
final RadioGroup rgAction = dview.findViewById(R.id.rgAction); final RadioGroup rgAction = dview.findViewById(R.id.rgAction);
final CheckBox cbResize = dview.findViewById(R.id.cbResize); final CheckBox cbResize = dview.findViewById(R.id.cbResize);
final Spinner spResize = dview.findViewById(R.id.spResize); final Spinner spResize = dview.findViewById(R.id.spResize);
@ -5448,7 +5446,7 @@ public class FragmentCompose extends FragmentBase {
cbNotAgain.setChecked(!image_dialog); cbNotAgain.setChecked(!image_dialog);
tvNotAgain.setVisibility(cbNotAgain.isChecked() ? View.VISIBLE : View.GONE); tvNotAgain.setVisibility(cbNotAgain.isChecked() ? View.VISIBLE : View.GONE);
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)
.setPositiveButton(title, .setPositiveButton(title,
@ -5481,9 +5479,7 @@ public class FragmentCompose extends FragmentBase {
final long size = args.getLong("size", -1); final long size = args.getLong("size", -1);
final long max_size = args.getLong("max_size", -1); final long max_size = args.getLong("max_size", -1);
final Context context = getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean send_reminders = prefs.getBoolean("send_reminders", true); boolean send_reminders = prefs.getBoolean("send_reminders", true);
int send_delayed = prefs.getInt("send_delayed", 0); int send_delayed = prefs.getInt("send_delayed", 0);
boolean send_dialog = prefs.getBoolean("send_dialog", true); boolean send_dialog = prefs.getBoolean("send_dialog", true);
@ -5492,7 +5488,7 @@ public class FragmentCompose extends FragmentBase {
final int[] sendDelayedValues = getResources().getIntArray(R.array.sendDelayedValues); final int[] sendDelayedValues = getResources().getIntArray(R.array.sendDelayedValues);
final String[] sendDelayedNames = getResources().getStringArray(R.array.sendDelayedNames); final String[] sendDelayedNames = getResources().getStringArray(R.array.sendDelayedNames);
final ViewGroup dview = (ViewGroup) LayoutInflater.from(context).inflate(R.layout.dialog_send, null); final ViewGroup dview = (ViewGroup) LayoutInflater.from(getContext()).inflate(R.layout.dialog_send, null);
final TextView tvAddressError = dview.findViewById(R.id.tvAddressError); final TextView tvAddressError = dview.findViewById(R.id.tvAddressError);
final TextView tvRemindSize = dview.findViewById(R.id.tvRemindSize); final TextView tvRemindSize = dview.findViewById(R.id.tvRemindSize);
final TextView tvRemindTo = dview.findViewById(R.id.tvRemindTo); final TextView tvRemindTo = dview.findViewById(R.id.tvRemindTo);
@ -5696,7 +5692,7 @@ public class FragmentCompose extends FragmentBase {
ibEncryption.setOnClickListener(new View.OnClickListener() { ibEncryption.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Helper.viewFAQ(context, 12); Helper.viewFAQ(getContext(), 12);
} }
}); });
@ -5755,7 +5751,7 @@ public class FragmentCompose extends FragmentBase {
} }
}); });
DB db = DB.getInstance(context); DB db = DB.getInstance(getContext());
db.message().liveMessage(id).observe(getViewLifecycleOwner(), new Observer<TupleMessageEx>() { db.message().liveMessage(id).observe(getViewLifecycleOwner(), new Observer<TupleMessageEx>() {
@Override @Override
public void onChanged(TupleMessageEx draft) { public void onChanged(TupleMessageEx draft) {
@ -5771,7 +5767,7 @@ public class FragmentCompose extends FragmentBase {
else else
tvTo.setText(getString(R.string.title_name_plus, tvTo.setText(getString(R.string.title_name_plus,
MessageHelper.formatAddressesShort(draft.to), cc)); MessageHelper.formatAddressesShort(draft.to), cc));
tvTo.setTextColor(Helper.resolveColor(context, tvTo.setTextColor(Helper.resolveColor(getContext(),
to + cc > RECIPIENTS_WARNING ? R.attr.colorWarning : android.R.attr.textColorPrimary)); to + cc > RECIPIENTS_WARNING ? R.attr.colorWarning : android.R.attr.textColorPrimary));
tvVia.setText(draft.identityEmail); tvVia.setText(draft.identityEmail);
@ -5804,7 +5800,7 @@ public class FragmentCompose extends FragmentBase {
break; break;
} }
} else { } else {
DateFormat DTF = Helper.getDateTimeInstance(context, SimpleDateFormat.MEDIUM, SimpleDateFormat.SHORT); DateFormat DTF = Helper.getDateTimeInstance(getContext(), SimpleDateFormat.MEDIUM, SimpleDateFormat.SHORT);
DateFormat D = new SimpleDateFormat("E"); DateFormat D = new SimpleDateFormat("E");
tvSendAt.setText(D.format(draft.ui_snoozed) + " " + DTF.format(draft.ui_snoozed)); tvSendAt.setText(D.format(draft.ui_snoozed) + " " + DTF.format(draft.ui_snoozed));
} }
@ -5813,7 +5809,7 @@ public class FragmentCompose extends FragmentBase {
} }
}); });
AlertDialog.Builder builder = new AlertDialog.Builder(context) AlertDialog.Builder builder = new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setNegativeButton(android.R.string.cancel, null); .setNegativeButton(android.R.string.cancel, null);

@ -168,16 +168,14 @@ public class FragmentContacts extends FragmentBase {
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); final View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_ask_again, null);
final View dview = LayoutInflater.from(context).inflate(R.layout.dialog_ask_again, null);
final TextView tvMessage = dview.findViewById(R.id.tvMessage); final TextView tvMessage = dview.findViewById(R.id.tvMessage);
CheckBox cbNotAgain = dview.findViewById(R.id.cbNotAgain); CheckBox cbNotAgain = dview.findViewById(R.id.cbNotAgain);
tvMessage.setText(getText(R.string.title_delete_contacts)); tvMessage.setText(getText(R.string.title_delete_contacts));
cbNotAgain.setVisibility(View.GONE); cbNotAgain.setVisibility(View.GONE);
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
@ -195,7 +193,7 @@ public class FragmentContacts extends FragmentBase {
protected void onException(Bundle args, Throwable ex) { protected void onException(Bundle args, Throwable ex) {
Log.unexpectedError(getParentFragmentManager(), ex); Log.unexpectedError(getParentFragmentManager(), ex);
} }
}.execute(context, getActivity(), new Bundle(), "contacts:delete"); }.execute(getContext(), getActivity(), new Bundle(), "contacts:delete");
} }
}) })
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)

@ -77,7 +77,7 @@ public class FragmentDialogAsk extends FragmentDialogBase {
} }
}); });
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override

@ -20,7 +20,6 @@ package eu.faircode.email;
*/ */
import android.app.Dialog; import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.os.Build; import android.os.Build;
@ -58,9 +57,7 @@ public class FragmentDialogDuration extends FragmentDialogBase {
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
String title = getArguments().getString("title"); String title = getArguments().getString("title");
final Context context = getContext(); final View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_duration, null);
final View dview = LayoutInflater.from(context).inflate(R.layout.dialog_duration, null);
final TextView tvDuration = dview.findViewById(R.id.tvDuration); final TextView tvDuration = dview.findViewById(R.id.tvDuration);
final Button btn1hour = dview.findViewById(R.id.btn1hour); final Button btn1hour = dview.findViewById(R.id.btn1hour);
final Button btn1day = dview.findViewById(R.id.btn1day); final Button btn1day = dview.findViewById(R.id.btn1day);
@ -74,10 +71,10 @@ public class FragmentDialogDuration extends FragmentDialogBase {
cal.setTimeInMillis(savedInstanceState.getLong("fair:time")); cal.setTimeInMillis(savedInstanceState.getLong("fair:time"));
Log.i("Set init=" + new Date(cal.getTimeInMillis())); Log.i("Set init=" + new Date(cal.getTimeInMillis()));
final DateFormat DTF = Helper.getDateTimeInstance(context, SimpleDateFormat.FULL, SimpleDateFormat.SHORT); final DateFormat DTF = Helper.getDateTimeInstance(getContext(), SimpleDateFormat.FULL, SimpleDateFormat.SHORT);
tvDuration.setText(DTF.format(cal.getTime())); tvDuration.setText(DTF.format(cal.getTime()));
timePicker.setIs24HourView(android.text.format.DateFormat.is24HourFormat(context)); timePicker.setIs24HourView(android.text.format.DateFormat.is24HourFormat(getContext()));
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
timePicker.setCurrentHour(cal.get(Calendar.HOUR_OF_DAY)); timePicker.setCurrentHour(cal.get(Calendar.HOUR_OF_DAY));
timePicker.setCurrentMinute(cal.get(Calendar.MINUTE)); timePicker.setCurrentMinute(cal.get(Calendar.MINUTE));
@ -86,7 +83,7 @@ public class FragmentDialogDuration extends FragmentDialogBase {
timePicker.setMinute(cal.get(Calendar.MINUTE)); timePicker.setMinute(cal.get(Calendar.MINUTE));
} }
Dialog dialog = new AlertDialog.Builder(context) Dialog dialog = new AlertDialog.Builder(getContext())
.setTitle(title) .setTitle(title)
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@ -177,9 +174,8 @@ public class FragmentDialogDuration extends FragmentDialogBase {
@Override @Override
protected void sendResult(int result) { protected void sendResult(int result) {
if (result == RESULT_OK) { if (result == RESULT_OK) {
final Context context = getContext(); if (!ActivityBilling.isPro(getContext())) {
if (!ActivityBilling.isPro(context)) { startActivity(new Intent(getContext(), ActivityBilling.class));
startActivity(new Intent(context, ActivityBilling.class));
result = RESULT_CANCELED; result = RESULT_CANCELED;
} }
} }

@ -20,7 +20,6 @@ package eu.faircode.email;
*/ */
import android.app.Dialog; import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
@ -51,9 +50,7 @@ public class FragmentDialogLink extends FragmentDialogBase {
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
Uri uri = getArguments().getParcelable("uri"); Uri uri = getArguments().getParcelable("uri");
final Context context = getContext(); View view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_insert_link, null);
View view = LayoutInflater.from(context).inflate(R.layout.dialog_insert_link, null);
etLink = view.findViewById(R.id.etLink); etLink = view.findViewById(R.id.etLink);
final TextView tvInsecure = view.findViewById(R.id.tvInsecure); final TextView tvInsecure = view.findViewById(R.id.tvInsecure);
@ -79,7 +76,7 @@ public class FragmentDialogLink extends FragmentDialogBase {
else else
etLink.setText(savedInstanceState.getString("fair:link")); etLink.setText(savedInstanceState.getString("fair:link"));
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(view) .setView(view)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override

@ -40,15 +40,13 @@ public class FragmentDialogMarkdown extends FragmentDialogBase {
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); final View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_markdown, null);
final View dview = LayoutInflater.from(context).inflate(R.layout.dialog_markdown, null);
final TextView tvMarkdown = dview.findViewById(R.id.tvMarkdown); final TextView tvMarkdown = dview.findViewById(R.id.tvMarkdown);
final ContentLoadingProgressBar pbWait = dview.findViewById(R.id.pbWait); final ContentLoadingProgressBar pbWait = dview.findViewById(R.id.pbWait);
tvMarkdown.setText(null); tvMarkdown.setText(null);
Dialog dialog = new Dialog(context); Dialog dialog = new Dialog(getContext());
//dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); //dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(dview); dialog.setContentView(dview);
dialog.getWindow().setLayout( dialog.getWindow().setLayout(

@ -44,10 +44,9 @@ public class FragmentDialogSearch extends FragmentDialogBase {
final long account = getArguments().getLong("account", -1); final long account = getArguments().getLong("account", -1);
final long folder = getArguments().getLong("folder", -1); final long folder = getArguments().getLong("folder", -1);
final Context context = getContext(); boolean pro = ActivityBilling.isPro(getContext());
boolean pro = ActivityBilling.isPro(context);
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
boolean fts = prefs.getBoolean("fts", false); boolean fts = prefs.getBoolean("fts", false);
boolean last_search_senders = prefs.getBoolean("last_search_senders", true); boolean last_search_senders = prefs.getBoolean("last_search_senders", true);
boolean last_search_recipients = prefs.getBoolean("last_search_recipients", true); boolean last_search_recipients = prefs.getBoolean("last_search_recipients", true);
@ -56,7 +55,7 @@ public class FragmentDialogSearch extends FragmentDialogBase {
boolean last_search_message = prefs.getBoolean("last_search_message", true); boolean last_search_message = prefs.getBoolean("last_search_message", true);
String last_search = prefs.getString("last_search", null); String last_search = prefs.getString("last_search", null);
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_search, null); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_search, null);
final AutoCompleteTextView etQuery = dview.findViewById(R.id.etQuery); final AutoCompleteTextView etQuery = dview.findViewById(R.id.etQuery);
final ImageButton ibAttachment = dview.findViewById(R.id.ibAttachment); final ImageButton ibAttachment = dview.findViewById(R.id.ibAttachment);
@ -84,18 +83,18 @@ public class FragmentDialogSearch extends FragmentDialogBase {
final TextView tvAfter = dview.findViewById(R.id.tvAfter); final TextView tvAfter = dview.findViewById(R.id.tvAfter);
final Group grpMore = dview.findViewById(R.id.grpMore); final Group grpMore = dview.findViewById(R.id.grpMore);
final InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); final InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
ibInfo.setOnClickListener(new View.OnClickListener() { ibInfo.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
imm.hideSoftInputFromWindow(etQuery.getWindowToken(), 0); imm.hideSoftInputFromWindow(etQuery.getWindowToken(), 0);
Helper.viewFAQ(context, 13); Helper.viewFAQ(getContext(), 13);
} }
}); });
SimpleCursorAdapter adapter = new SimpleCursorAdapter( SimpleCursorAdapter adapter = new SimpleCursorAdapter(
context, getContext(),
R.layout.search_suggestion, R.layout.search_suggestion,
null, null,
new String[]{"suggestion"}, new String[]{"suggestion"},
@ -111,7 +110,7 @@ public class FragmentDialogSearch extends FragmentDialogBase {
return cursor; return cursor;
String query = "%" + typed + "%"; String query = "%" + typed + "%";
DB db = DB.getInstance(context); DB db = DB.getInstance(getContext());
return db.message().getSuggestions( return db.message().getSuggestions(
account < 0 ? null : account, account < 0 ? null : account,
folder < 0 ? null : folder, folder < 0 ? null : folder,
@ -251,7 +250,7 @@ public class FragmentDialogSearch extends FragmentDialogBase {
etQuery.requestFocus(); etQuery.requestFocus();
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
final AlertDialog dialog = new AlertDialog.Builder(context) final AlertDialog dialog = new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@Override @Override
@ -323,7 +322,7 @@ public class FragmentDialogSearch extends FragmentDialogBase {
@Override @Override
protected void onExecuted(Bundle args, EntityFolder archive) { protected void onExecuted(Bundle args, EntityFolder archive) {
FragmentMessages.search( FragmentMessages.search(
context, getViewLifecycleOwner(), getParentFragmentManager(), getContext(), getViewLifecycleOwner(), getParentFragmentManager(),
account, account,
archive == null ? folder : archive.id, archive == null ? folder : archive.id,
archive != null, archive != null,
@ -334,10 +333,10 @@ public class FragmentDialogSearch extends FragmentDialogBase {
protected void onException(Bundle args, Throwable ex) { protected void onException(Bundle args, Throwable ex) {
Log.unexpectedError(getParentFragmentManager(), ex); Log.unexpectedError(getParentFragmentManager(), ex);
} }
}.execute(context, getViewLifecycleOwner(), getArguments(), "search:raw"); }.execute(getContext(), getViewLifecycleOwner(), getArguments(), "search:raw");
else else
FragmentMessages.search( FragmentMessages.search(
context, getViewLifecycleOwner(), getParentFragmentManager(), getContext(), getViewLifecycleOwner(), getParentFragmentManager(),
account, folder, false, criteria); account, folder, false, criteria);
} }
}) })
@ -372,7 +371,7 @@ public class FragmentDialogSearch extends FragmentDialogBase {
} }
FragmentMessages.search( FragmentMessages.search(
context, getViewLifecycleOwner(), getParentFragmentManager(), getContext(), getViewLifecycleOwner(), getParentFragmentManager(),
account, folder, false, criteria); account, folder, false, criteria);
} }
}; };
@ -405,9 +404,7 @@ public class FragmentDialogSearch extends FragmentDialogBase {
Object tag = tv.getTag(); Object tag = tv.getTag();
final Calendar cal = (tag == null ? Calendar.getInstance() : (Calendar) tag); final Calendar cal = (tag == null ? Calendar.getInstance() : (Calendar) tag);
final Context context = getContext(); DatePickerDialog picker = new DatePickerDialog(getContext(),
DatePickerDialog picker = new DatePickerDialog(context,
new DatePickerDialog.OnDateSetListener() { new DatePickerDialog.OnDateSetListener() {
@Override @Override
public void onDateSet(DatePicker view, int year, int month, int day) { public void onDateSet(DatePicker view, int year, int month, int day) {
@ -415,7 +412,7 @@ public class FragmentDialogSearch extends FragmentDialogBase {
cal.set(Calendar.MONTH, month); cal.set(Calendar.MONTH, month);
cal.set(Calendar.DAY_OF_MONTH, day); cal.set(Calendar.DAY_OF_MONTH, day);
DateFormat DF = Helper.getDateInstance(context); DateFormat DF = Helper.getDateInstance(getContext());
tv.setTag(cal); tv.setTag(cal);
tv.setText(DF.format(cal.getTime())); tv.setText(DF.format(cal.getTime()));

@ -793,9 +793,7 @@ public class FragmentFolders extends FragmentBase {
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); View view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_folder_all, null);
View view = LayoutInflater.from(context).inflate(R.layout.dialog_folder_all, null);
final EditText etSyncDays = view.findViewById(R.id.etSyncDays); final EditText etSyncDays = view.findViewById(R.id.etSyncDays);
final EditText etKeepDays = view.findViewById(R.id.etKeepDays); final EditText etKeepDays = view.findViewById(R.id.etKeepDays);
final CheckBox cbKeepAll = view.findViewById(R.id.cbKeepAll); final CheckBox cbKeepAll = view.findViewById(R.id.cbKeepAll);
@ -807,7 +805,7 @@ public class FragmentFolders extends FragmentBase {
} }
}); });
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(view) .setView(view)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override

@ -7498,24 +7498,22 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_error_reporting, null);
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_error_reporting, null);
Button btnInfo = dview.findViewById(R.id.btnInfo); Button btnInfo = dview.findViewById(R.id.btnInfo);
btnInfo.setOnClickListener(new View.OnClickListener() { btnInfo.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Helper.viewFAQ(context, 104); Helper.viewFAQ(getContext(), 104);
} }
}); });
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putBoolean("crash_reports", true).apply(); prefs.edit().putBoolean("crash_reports", true).apply();
Log.setCrashReporting(true); Log.setCrashReporting(true);
} }
@ -7523,7 +7521,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putBoolean("crash_reports_asked", true).apply(); prefs.edit().putBoolean("crash_reports_asked", true).apply();
} }
}) })
@ -7535,30 +7533,29 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_review, null);
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_review, null);
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putBoolean("review_asked", true).apply(); prefs.edit().putBoolean("review_asked", true).apply();
startActivity(Helper.getIntentRate(context)); startActivity(Helper.getIntentRate(getContext()));
} }
}) })
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putBoolean("review_asked", true).apply(); prefs.edit().putBoolean("review_asked", true).apply();
} }
}) })
.setNeutralButton(R.string.title_later, new DialogInterface.OnClickListener() { .setNeutralButton(R.string.title_later, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putLong("review_later", new Date().getTime()).apply(); prefs.edit().putLong("review_later", new Date().getTime()).apply();
} }
}) })
@ -7570,8 +7567,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); final ArrayAdapter<EntityAccount> adapter = new ArrayAdapter<>(getContext(), R.layout.spinner_item1, android.R.id.text1);
final ArrayAdapter<EntityAccount> adapter = new ArrayAdapter<>(context, R.layout.spinner_item1, android.R.id.text1);
// TODO: spinner // TODO: spinner
new SimpleTask<List<EntityAccount>>() { new SimpleTask<List<EntityAccount>>() {
@ -7592,7 +7588,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
} }
}.execute(this, new Bundle(), "messages:accounts"); }.execute(this, new Bundle(), "messages:accounts");
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setAdapter(adapter, new DialogInterface.OnClickListener() { .setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
@ -7610,9 +7606,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_identity, null);
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_identity, null);
final Spinner spIdentity = dview.findViewById(R.id.spIdentity); final Spinner spIdentity = dview.findViewById(R.id.spIdentity);
final CheckBox cbNotAgain = dview.findViewById(R.id.cbNotAgain); final CheckBox cbNotAgain = dview.findViewById(R.id.cbNotAgain);
final Button btnFix = dview.findViewById(R.id.btnFix); final Button btnFix = dview.findViewById(R.id.btnFix);
@ -7623,7 +7617,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
cbNotAgain.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { cbNotAgain.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putBoolean("identities_asked", isChecked).apply(); prefs.edit().putBoolean("identities_asked", isChecked).apply();
} }
}); });
@ -7631,7 +7625,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
btnFix.setOnClickListener(new View.OnClickListener() { btnFix.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
startActivity(new Intent(context, ActivitySetup.class)); startActivity(new Intent(getContext(), ActivitySetup.class));
getActivity().finish(); getActivity().finish();
dismiss(); dismiss();
} }
@ -7653,13 +7647,13 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
@Override @Override
protected List<TupleIdentityEx> onExecute(Context context, Bundle args) { protected List<TupleIdentityEx> onExecute(Context context, Bundle args) {
DB db = DB.getInstance(context); DB db = DB.getInstance(getContext());
return db.identity().getComposableIdentities(null); return db.identity().getComposableIdentities(null);
} }
@Override @Override
protected void onExecuted(Bundle args, List<TupleIdentityEx> identities) { protected void onExecuted(Bundle args, List<TupleIdentityEx> identities) {
AdapterIdentitySelect iadapter = new AdapterIdentitySelect(context, identities); AdapterIdentitySelect iadapter = new AdapterIdentitySelect(getContext(), identities);
spIdentity.setAdapter(iadapter); spIdentity.setAdapter(iadapter);
Integer fallback = null; Integer fallback = null;
@ -7689,14 +7683,14 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
} }
}.execute(this, new Bundle(), "identity:select"); }.execute(this, new Bundle(), "identity:select");
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
TupleIdentityEx identity = (TupleIdentityEx) spIdentity.getSelectedItem(); TupleIdentityEx identity = (TupleIdentityEx) spIdentity.getSelectedItem();
if (identity != null) if (identity != null)
startActivity(new Intent(context, ActivityCompose.class) startActivity(new Intent(getContext(), ActivityCompose.class)
.putExtra("action", "new") .putExtra("action", "new")
.putExtra("account", identity.account) .putExtra("account", identity.account)
.putExtra("identity", identity.id) .putExtra("identity", identity.id)
@ -7714,14 +7708,12 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
String error = getArguments().getString("error"); String error = getArguments().getString("error");
final Context context = getContext(); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_boundary_error, null);
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_boundary_error, null);
TextView tvError = dview.findViewById(R.id.tvError); TextView tvError = dview.findViewById(R.id.tvError);
tvError.setText(error); tvError.setText(error);
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(R.string.title_boundary_retry, new DialogInterface.OnClickListener() { .setPositiveButton(R.string.title_boundary_retry, new DialogInterface.OnClickListener() {
@Override @Override
@ -7746,9 +7738,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
String notagain = getArguments().getString("notagain"); String notagain = getArguments().getString("notagain");
ArrayList<MessageTarget> result = getArguments().getParcelableArrayList("result"); ArrayList<MessageTarget> result = getArguments().getParcelableArrayList("result");
final Context context = getContext(); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_ask_move, null);
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_ask_move, null);
TextView tvMessages = dview.findViewById(R.id.tvMessages); TextView tvMessages = dview.findViewById(R.id.tvMessages);
TextView tvSourceFolders = dview.findViewById(R.id.tvSourceFolders); TextView tvSourceFolders = dview.findViewById(R.id.tvSourceFolders);
TextView tvTargetFolders = dview.findViewById(R.id.tvTargetFolders); TextView tvTargetFolders = dview.findViewById(R.id.tvTargetFolders);
@ -7792,12 +7782,12 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
cbNotAgain.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { cbNotAgain.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putBoolean(notagain, isChecked).apply(); prefs.edit().putBoolean(notagain, isChecked).apply();
} }
}); });
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override

@ -130,9 +130,7 @@ public class FragmentOperations extends FragmentBase {
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); return new AlertDialog.Builder(getContext())
return new AlertDialog.Builder(context)
.setMessage(R.string.title_delete_operation) .setMessage(R.string.title_delete_operation)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
@ -156,7 +154,7 @@ public class FragmentOperations extends FragmentBase {
protected void onException(Bundle args, Throwable ex) { protected void onException(Bundle args, Throwable ex) {
Log.unexpectedError(getParentFragmentManager(), ex); Log.unexpectedError(getParentFragmentManager(), ex);
} }
}.execute(context, getActivity(), new Bundle(), "operations:delete"); }.execute(getContext(), getActivity(), new Bundle(), "operations:delete");
} }
}) })
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)

@ -22,7 +22,6 @@ package eu.faircode.email;
import android.Manifest; import android.Manifest;
import android.app.Activity; import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
@ -335,9 +334,7 @@ public class FragmentOptions extends FragmentBase {
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_setup, null);
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_setup, null);
CheckBox cbNotAgain = dview.findViewById(R.id.cbNotAgain); CheckBox cbNotAgain = dview.findViewById(R.id.cbNotAgain);
Group grp3 = dview.findViewById(R.id.grp3); Group grp3 = dview.findViewById(R.id.grp3);
Group grp4 = dview.findViewById(R.id.grp4); Group grp4 = dview.findViewById(R.id.grp4);
@ -345,18 +342,18 @@ public class FragmentOptions extends FragmentBase {
cbNotAgain.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { cbNotAgain.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putBoolean("setup_reminder", !isChecked).apply(); prefs.edit().putBoolean("setup_reminder", !isChecked).apply();
} }
}); });
boolean hasPermissions = Helper.hasPermission(context, Manifest.permission.READ_CONTACTS); boolean hasPermissions = Helper.hasPermission(getContext(), Manifest.permission.READ_CONTACTS);
Boolean isIgnoring = Helper.isIgnoringOptimizations(context); Boolean isIgnoring = Helper.isIgnoringOptimizations(getContext());
grp3.setVisibility(hasPermissions ? View.GONE : View.VISIBLE); grp3.setVisibility(hasPermissions ? View.GONE : View.VISIBLE);
grp4.setVisibility(isIgnoring == null || isIgnoring ? View.GONE : View.VISIBLE); grp4.setVisibility(isIgnoring == null || isIgnoring ? View.GONE : View.VISIBLE);
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override

@ -491,19 +491,17 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_swipes, null);
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_swipes, null);
spLeft = dview.findViewById(R.id.spLeft); spLeft = dview.findViewById(R.id.spLeft);
spRight = dview.findViewById(R.id.spRight); spRight = dview.findViewById(R.id.spRight);
adapter = new ArrayAdapter<>(context, R.layout.spinner_item1, android.R.id.text1, new ArrayList<EntityFolder>()); adapter = new ArrayAdapter<>(getContext(), R.layout.spinner_item1, android.R.id.text1, new ArrayList<EntityFolder>());
adapter.setDropDownViewResource(R.layout.spinner_item1_dropdown); adapter.setDropDownViewResource(R.layout.spinner_item1_dropdown);
spLeft.setAdapter(adapter); spLeft.setAdapter(adapter);
spRight.setAdapter(adapter); spRight.setAdapter(adapter);
List<EntityFolder> folders = FragmentAccount.getFolderActions(context); List<EntityFolder> folders = FragmentAccount.getFolderActions(getContext());
EntityFolder trash = new EntityFolder(); EntityFolder trash = new EntityFolder();
trash.id = 2L; trash.id = 2L;
@ -517,14 +515,14 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
adapter.addAll(folders); adapter.addAll(folders);
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
int leftPos = prefs.getInt("swipe_left_default", 2); // Trash int leftPos = prefs.getInt("swipe_left_default", 2); // Trash
int rightPos = prefs.getInt("swipe_right_default", 1); // Archive int rightPos = prefs.getInt("swipe_right_default", 1); // Archive
spLeft.setSelection(leftPos); spLeft.setSelection(leftPos);
spRight.setSelection(rightPos); spRight.setSelection(rightPos);
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
@ -537,6 +535,8 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
EntityFolder left = (EntityFolder) spLeft.getSelectedItem(); EntityFolder left = (EntityFolder) spLeft.getSelectedItem();
EntityFolder right = (EntityFolder) spRight.getSelectedItem(); EntityFolder right = (EntityFolder) spRight.getSelectedItem();
final Context context = getContext();
Bundle args = new Bundle(); Bundle args = new Bundle();
args.putLong("left", left == null ? 0 : left.id); args.putLong("left", left == null ? 0 : left.id);
args.putLong("right", right == null ? 0 : right.id); args.putLong("right", right == null ? 0 : right.id);
@ -589,7 +589,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
return (archive == null ? null : archive.id); return (archive == null ? null : archive.id);
} }
} }
}.execute(context, getViewLifecycleOwner(), args, "dialog:swipe"); }.execute(getContext(), getViewLifecycleOwner(), args, "dialog:swipe");
} }
}) })
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)

@ -1038,9 +1038,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_theme, null);
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_theme, null);
itten = dview.findViewById(R.id.itten); itten = dview.findViewById(R.id.itten);
rgTheme = dview.findViewById(R.id.rgTheme); rgTheme = dview.findViewById(R.id.rgTheme);
swReverse = dview.findViewById(R.id.swReverse); swReverse = dview.findViewById(R.id.swReverse);
@ -1048,14 +1046,14 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
swBlack = dview.findViewById(R.id.swBlack); swBlack = dview.findViewById(R.id.swBlack);
tvSystem = dview.findViewById(R.id.tvSystem); tvSystem = dview.findViewById(R.id.tvSystem);
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
String theme = prefs.getString("theme", "light"); String theme = prefs.getString("theme", "light");
itten.setOnClickListener(new View.OnClickListener() { itten.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Uri uri = Uri.parse("https://en.wikipedia.org/wiki/Johannes_Itten"); Uri uri = Uri.parse("https://en.wikipedia.org/wiki/Johannes_Itten");
Helper.view(context, uri, false); Helper.view(getContext(), uri, false);
} }
}); });
@ -1160,14 +1158,14 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
break; break;
} }
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
getActivity().getIntent().putExtra("tab", "display"); getActivity().getIntent().putExtra("tab", "display");
ContactInfo.clearCache(context); ContactInfo.clearCache(getContext());
int optionId = rgThemeOptions.getCheckedRadioButtonId(); int optionId = rgThemeOptions.getCheckedRadioButtonId();
boolean reverse = (swReverse.isEnabled() && swReverse.isChecked()); boolean reverse = (swReverse.isEnabled() && swReverse.isChecked());

@ -388,14 +388,12 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); final View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_pin_set, null);
final View dview = LayoutInflater.from(context).inflate(R.layout.dialog_pin_set, null);
final EditText etPin = dview.findViewById(R.id.etPin); final EditText etPin = dview.findViewById(R.id.etPin);
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
AlertDialog.Builder builder = new AlertDialog.Builder(context) AlertDialog.Builder builder = new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override
@ -404,12 +402,12 @@ public class FragmentOptionsPrivacy extends FragmentBase implements SharedPrefer
if (TextUtils.isEmpty(pin)) if (TextUtils.isEmpty(pin))
prefs.edit().remove("pin").apply(); prefs.edit().remove("pin").apply();
else { else {
boolean pro = ActivityBilling.isPro(context); boolean pro = ActivityBilling.isPro(getContext());
if (pro) { if (pro) {
Helper.setAuthenticated(context); Helper.setAuthenticated(getContext());
prefs.edit().putString("pin", pin).apply(); prefs.edit().putString("pin", pin).apply();
} else } else
startActivity(new Intent(context, ActivityBilling.class)); startActivity(new Intent(getContext(), ActivityBilling.class));
} }
} }
}) })

@ -430,9 +430,7 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
Bundle args = getArguments(); Bundle args = getArguments();
boolean start = args.getBoolean("start"); boolean start = args.getBoolean("start");
final Context context = getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
int minutes = prefs.getInt("schedule_" + (start ? "start" : "end"), 0); int minutes = prefs.getInt("schedule_" + (start ? "start" : "end"), 0);
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
@ -441,10 +439,10 @@ public class FragmentOptionsSynchronize extends FragmentBase implements SharedPr
cal.set(Calendar.SECOND, 0); cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0); cal.set(Calendar.MILLISECOND, 0);
return new TimePickerDialog(context, this, return new TimePickerDialog(getContext(), this,
cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.HOUR_OF_DAY),
cal.get(Calendar.MINUTE), cal.get(Calendar.MINUTE),
DateFormat.is24HourFormat(context)); DateFormat.is24HourFormat(getContext()));
} }
public void onTimeSet(TimePicker view, int hour, int minute) { public void onTimeSet(TimePicker view, int hour, int minute) {

@ -1,7 +1,6 @@
package eu.faircode.email; package eu.faircode.email;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
@ -24,9 +23,7 @@ public class FragmentReview extends FragmentDialogBase {
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_review_account, null);
View dview = LayoutInflater.from(context).inflate(R.layout.dialog_review_account, null);
TextView tvLeft = dview.findViewById(R.id.tvLeft); TextView tvLeft = dview.findViewById(R.id.tvLeft);
TextView tvRight = dview.findViewById(R.id.tvRight); TextView tvRight = dview.findViewById(R.id.tvRight);
Button btnAccount = dview.findViewById(R.id.btnAccount); Button btnAccount = dview.findViewById(R.id.btnAccount);
@ -40,7 +37,7 @@ public class FragmentReview extends FragmentDialogBase {
btnAccount.setOnClickListener(new View.OnClickListener() { btnAccount.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context); LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getContext());
lbm.sendBroadcast( lbm.sendBroadcast(
new Intent(ActivitySetup.ACTION_EDIT_ACCOUNT) new Intent(ActivitySetup.ACTION_EDIT_ACCOUNT)
.putExtra("id", account) .putExtra("id", account)
@ -49,7 +46,7 @@ public class FragmentReview extends FragmentDialogBase {
} }
}); });
DB db = DB.getInstance(context); DB db = DB.getInstance(getContext());
db.account().liveAccountSwipes(account).observe(this, new Observer<List<TupleAccountSwipes>>() { db.account().liveAccountSwipes(account).observe(this, new Observer<List<TupleAccountSwipes>>() {
@Override @Override
public void onChanged(List<TupleAccountSwipes> swipes) { public void onChanged(List<TupleAccountSwipes> swipes) {
@ -65,7 +62,7 @@ public class FragmentReview extends FragmentDialogBase {
} }
}); });
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override

@ -1263,12 +1263,10 @@ public class FragmentRule extends FragmentBase {
cal.set(Calendar.SECOND, 0); cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0); cal.set(Calendar.MILLISECOND, 0);
final Context context = getContext(); return new TimePickerDialog(getContext(), this,
return new TimePickerDialog(context, this,
cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.HOUR_OF_DAY),
cal.get(Calendar.MINUTE), cal.get(Calendar.MINUTE),
DateFormat.is24HourFormat(context)); DateFormat.is24HourFormat(getContext()));
} }
public void onTimeSet(TimePicker view, int hour, int minute) { public void onTimeSet(TimePicker view, int hour, int minute) {
@ -1285,19 +1283,17 @@ public class FragmentRule extends FragmentBase {
String condition = getArguments().getString("condition"); String condition = getArguments().getString("condition");
String action = getArguments().getString("action"); String action = getArguments().getString("action");
final Context context = getContext(); final View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_rule_match, null);
final View dview = LayoutInflater.from(context).inflate(R.layout.dialog_rule_match, null);
final TextView tvNoMessages = dview.findViewById(R.id.tvNoMessages); final TextView tvNoMessages = dview.findViewById(R.id.tvNoMessages);
final RecyclerView rvMessage = dview.findViewById(R.id.rvMessage); final RecyclerView rvMessage = dview.findViewById(R.id.rvMessage);
final Button btnExecute = dview.findViewById(R.id.btnExecute); final Button btnExecute = dview.findViewById(R.id.btnExecute);
final ContentLoadingProgressBar pbWait = dview.findViewById(R.id.pbWait); final ContentLoadingProgressBar pbWait = dview.findViewById(R.id.pbWait);
rvMessage.setHasFixedSize(false); rvMessage.setHasFixedSize(false);
LinearLayoutManager llm = new LinearLayoutManager(context); LinearLayoutManager llm = new LinearLayoutManager(getContext());
rvMessage.setLayoutManager(llm); rvMessage.setLayoutManager(llm);
final AdapterRuleMatch adapter = new AdapterRuleMatch(context, getViewLifecycleOwner()); final AdapterRuleMatch adapter = new AdapterRuleMatch(getContext(), getViewLifecycleOwner());
rvMessage.setAdapter(adapter); rvMessage.setAdapter(adapter);
tvNoMessages.setVisibility(View.GONE); tvNoMessages.setVisibility(View.GONE);
@ -1315,7 +1311,7 @@ public class FragmentRule extends FragmentBase {
new SimpleTask<Integer>() { new SimpleTask<Integer>() {
@Override @Override
protected void onPreExecute(Bundle args) { protected void onPreExecute(Bundle args) {
ToastEx.makeText(context, R.string.title_executing, Toast.LENGTH_LONG).show(); ToastEx.makeText(getContext(), R.string.title_executing, Toast.LENGTH_LONG).show();
} }
@Override @Override
@ -1353,16 +1349,16 @@ public class FragmentRule extends FragmentBase {
@Override @Override
protected void onExecuted(Bundle args, Integer applied) { protected void onExecuted(Bundle args, Integer applied) {
if (applied > 0) if (applied > 0)
ServiceSynchronize.eval(context, "rules/manual"); ServiceSynchronize.eval(getContext(), "rules/manual");
dismiss(); dismiss();
ToastEx.makeText(context, getString(R.string.title_rule_applied, applied), Toast.LENGTH_LONG).show(); ToastEx.makeText(getContext(), getString(R.string.title_rule_applied, applied), Toast.LENGTH_LONG).show();
} }
@Override @Override
protected void onException(Bundle args, Throwable ex) { protected void onException(Bundle args, Throwable ex) {
if (ex instanceof IllegalArgumentException) if (ex instanceof IllegalArgumentException)
ToastEx.makeText(context, ex.getMessage(), Toast.LENGTH_LONG).show(); ToastEx.makeText(getContext(), ex.getMessage(), Toast.LENGTH_LONG).show();
else else
Log.unexpectedError(getParentFragmentManager(), ex); Log.unexpectedError(getParentFragmentManager(), ex);
} }
@ -1429,7 +1425,7 @@ public class FragmentRule extends FragmentBase {
} }
}.execute(this, args, "rule:check"); }.execute(this, args, "rule:check");
return new AlertDialog.Builder(context) return new AlertDialog.Builder(getContext())
.setTitle(R.string.title_rule_matched) .setTitle(R.string.title_rule_matched)
.setView(dview) .setView(dview)
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)

@ -460,9 +460,7 @@ public class FragmentSetup extends FragmentBase {
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = getContext(); return new AlertDialog.Builder(getContext())
return new AlertDialog.Builder(context)
.setMessage(R.string.title_setup_doze_instructions) .setMessage(R.string.title_setup_doze_instructions)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override @Override

@ -634,6 +634,10 @@ public class Helper {
} }
static void viewFAQ(Context context, int question) { static void viewFAQ(Context context, int question) {
if (context == null) {
Log.e(new Throwable("FAQ"));
return;
}
if (question == 0) if (question == 0)
view(context, Uri.parse(FAQ_URI), false); view(context, Uri.parse(FAQ_URI), false);
else else

@ -1190,9 +1190,7 @@ public class Log {
final Throwable ex = (Throwable) getArguments().getSerializable("ex"); final Throwable ex = (Throwable) getArguments().getSerializable("ex");
boolean report = getArguments().getBoolean("report", true); boolean report = getArguments().getBoolean("report", true);
final Context context = getContext(); AlertDialog.Builder builder = new AlertDialog.Builder(getContext())
AlertDialog.Builder builder = new AlertDialog.Builder(context)
.setTitle(R.string.title_unexpected_error) .setTitle(R.string.title_unexpected_error)
.setMessage(Log.formatThrowable(ex, false)) .setMessage(Log.formatThrowable(ex, false))
.setPositiveButton(android.R.string.cancel, null); .setPositiveButton(android.R.string.cancel, null);
@ -1201,6 +1199,9 @@ public class Log {
builder.setNeutralButton(R.string.title_report, new DialogInterface.OnClickListener() { builder.setNeutralButton(R.string.title_report, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
// Dialog will be dismissed
final Context context = getContext();
new SimpleTask<Long>() { new SimpleTask<Long>() {
@Override @Override
protected Long onExecute(Context context, Bundle args) throws Throwable { protected Long onExecute(Context context, Bundle args) throws Throwable {
@ -1221,7 +1222,7 @@ public class Log {
else else
ToastEx.makeText(context, ex.toString(), Toast.LENGTH_LONG).show(); ToastEx.makeText(context, ex.toString(), Toast.LENGTH_LONG).show();
} }
}.execute(context, getActivity(), new Bundle(), "error:unexpected"); }.execute(getContext(), getActivity(), new Bundle(), "error:unexpected");
} }
}); });

Loading…
Cancel
Save