mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-05-14 14:02:49 +00:00
Pass Context instead of Activity where possible
This commit is contained in:
parent
caad516a6e
commit
d7e2114811
6 changed files with 31 additions and 35 deletions
|
@ -1,6 +1,5 @@
|
||||||
package com.beemdevelopment.aegis.ui.dialogs;
|
package com.beemdevelopment.aegis.ui.dialogs;
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.ClipData;
|
import android.content.ClipData;
|
||||||
import android.content.ClipboardManager;
|
import android.content.ClipboardManager;
|
||||||
|
@ -36,7 +35,6 @@ import com.beemdevelopment.aegis.R;
|
||||||
import com.beemdevelopment.aegis.helpers.EditTextHelper;
|
import com.beemdevelopment.aegis.helpers.EditTextHelper;
|
||||||
import com.beemdevelopment.aegis.helpers.PasswordStrengthHelper;
|
import com.beemdevelopment.aegis.helpers.PasswordStrengthHelper;
|
||||||
import com.beemdevelopment.aegis.importers.DatabaseImporter;
|
import com.beemdevelopment.aegis.importers.DatabaseImporter;
|
||||||
import com.beemdevelopment.aegis.ui.fragments.preferences.BackupsPreferencesFragment;
|
|
||||||
import com.beemdevelopment.aegis.ui.tasks.KeyDerivationTask;
|
import com.beemdevelopment.aegis.ui.tasks.KeyDerivationTask;
|
||||||
import com.beemdevelopment.aegis.vault.VaultEntry;
|
import com.beemdevelopment.aegis.vault.VaultEntry;
|
||||||
import com.beemdevelopment.aegis.vault.slots.PasswordSlot;
|
import com.beemdevelopment.aegis.vault.slots.PasswordSlot;
|
||||||
|
@ -70,26 +68,26 @@ public class Dialogs {
|
||||||
dialog.show();
|
dialog.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void showDeleteEntriesDialog(Activity activity, List<VaultEntry> services, DialogInterface.OnClickListener onDelete) {
|
public static void showDeleteEntriesDialog(Context context, List<VaultEntry> services, DialogInterface.OnClickListener onDelete) {
|
||||||
View view = activity.getLayoutInflater().inflate(R.layout.dialog_delete_entry, null);
|
View view = LayoutInflater.from(context).inflate(R.layout.dialog_delete_entry, null);
|
||||||
TextView textMessage = view.findViewById(R.id.text_message);
|
TextView textMessage = view.findViewById(R.id.text_message);
|
||||||
TextView textExplanation = view.findViewById(R.id.text_explanation);
|
TextView textExplanation = view.findViewById(R.id.text_explanation);
|
||||||
String entries = services.stream()
|
String entries = services.stream()
|
||||||
.map(entry -> String.format("• %s", getVaultEntryName(activity, entry)))
|
.map(entry -> String.format("• %s", getVaultEntryName(context, entry)))
|
||||||
.collect(Collectors.joining("\n"));
|
.collect(Collectors.joining("\n"));
|
||||||
textExplanation.setText(activity.getString(R.string.delete_entry_explanation, entries));
|
textExplanation.setText(context.getString(R.string.delete_entry_explanation, entries));
|
||||||
|
|
||||||
String title, message;
|
String title, message;
|
||||||
if (services.size() > 1) {
|
if (services.size() > 1) {
|
||||||
title = activity.getString(R.string.delete_entries);
|
title = context.getString(R.string.delete_entries);
|
||||||
message = activity.getResources().getQuantityString(R.plurals.delete_entries_description, services.size(), services.size());
|
message = context.getResources().getQuantityString(R.plurals.delete_entries_description, services.size(), services.size());
|
||||||
} else {
|
} else {
|
||||||
title = activity.getString(R.string.delete_entry);
|
title = context.getString(R.string.delete_entry);
|
||||||
message = activity.getString(R.string.delete_entry_description);
|
message = context.getString(R.string.delete_entry_description);
|
||||||
}
|
}
|
||||||
textMessage.setText(message);
|
textMessage.setText(message);
|
||||||
|
|
||||||
showSecureDialog(new AlertDialog.Builder(activity)
|
showSecureDialog(new AlertDialog.Builder(context)
|
||||||
.setTitle(title)
|
.setTitle(title)
|
||||||
.setView(view)
|
.setView(view)
|
||||||
.setPositiveButton(android.R.string.yes, onDelete)
|
.setPositiveButton(android.R.string.yes, onDelete)
|
||||||
|
@ -109,10 +107,10 @@ public class Dialogs {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void showDiscardDialog(Activity activity, DialogInterface.OnClickListener onSave, DialogInterface.OnClickListener onDiscard) {
|
public static void showDiscardDialog(Context context, DialogInterface.OnClickListener onSave, DialogInterface.OnClickListener onDiscard) {
|
||||||
showSecureDialog(new AlertDialog.Builder(activity)
|
showSecureDialog(new AlertDialog.Builder(context)
|
||||||
.setTitle(activity.getString(R.string.discard_changes))
|
.setTitle(context.getString(R.string.discard_changes))
|
||||||
.setMessage(activity.getString(R.string.discard_changes_description))
|
.setMessage(context.getString(R.string.discard_changes_description))
|
||||||
.setPositiveButton(R.string.save, onSave)
|
.setPositiveButton(R.string.save, onSave)
|
||||||
.setNegativeButton(R.string.discard, onDiscard)
|
.setNegativeButton(R.string.discard, onDiscard)
|
||||||
.create());
|
.create());
|
||||||
|
@ -297,15 +295,15 @@ public class Dialogs {
|
||||||
showSecureDialog(dialog);
|
showSecureDialog(dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void showTapToRevealTimeoutPickerDialog(Activity activity, int currentValue, NumberInputListener listener) {
|
public static void showTapToRevealTimeoutPickerDialog(Context context, int currentValue, NumberInputListener listener) {
|
||||||
View view = activity.getLayoutInflater().inflate(R.layout.dialog_number_picker, null);
|
View view = LayoutInflater.from(context).inflate(R.layout.dialog_number_picker, null);
|
||||||
NumberPicker numberPicker = view.findViewById(R.id.numberPicker);
|
NumberPicker numberPicker = view.findViewById(R.id.numberPicker);
|
||||||
numberPicker.setMinValue(1);
|
numberPicker.setMinValue(1);
|
||||||
numberPicker.setMaxValue(60);
|
numberPicker.setMaxValue(60);
|
||||||
numberPicker.setValue(currentValue);
|
numberPicker.setValue(currentValue);
|
||||||
numberPicker.setWrapSelectorWheel(true);
|
numberPicker.setWrapSelectorWheel(true);
|
||||||
|
|
||||||
AlertDialog dialog = new AlertDialog.Builder(activity)
|
AlertDialog dialog = new AlertDialog.Builder(context)
|
||||||
.setTitle(R.string.set_number)
|
.setTitle(R.string.set_number)
|
||||||
.setView(view)
|
.setView(view)
|
||||||
.setPositiveButton(android.R.string.ok, (dialog1, which) ->
|
.setPositiveButton(android.R.string.ok, (dialog1, which) ->
|
||||||
|
@ -315,14 +313,14 @@ public class Dialogs {
|
||||||
showSecureDialog(dialog);
|
showSecureDialog(dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void showBackupVersionsPickerDialog(Activity activity, int currentVersionCount, NumberInputListener listener) {
|
public static void showBackupVersionsPickerDialog(Context context, int currentVersionCount, NumberInputListener listener) {
|
||||||
final int max = 30;
|
final int max = 30;
|
||||||
String[] numbers = new String[max / 5];
|
String[] numbers = new String[max / 5];
|
||||||
for (int i = 0; i < numbers.length; i++) {
|
for (int i = 0; i < numbers.length; i++) {
|
||||||
numbers[i] = Integer.toString(i * 5 + 5);
|
numbers[i] = Integer.toString(i * 5 + 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
View view = activity.getLayoutInflater().inflate(R.layout.dialog_number_picker, null);
|
View view = LayoutInflater.from(context).inflate(R.layout.dialog_number_picker, null);
|
||||||
NumberPicker numberPicker = view.findViewById(R.id.numberPicker);
|
NumberPicker numberPicker = view.findViewById(R.id.numberPicker);
|
||||||
numberPicker.setDisplayedValues(numbers);
|
numberPicker.setDisplayedValues(numbers);
|
||||||
numberPicker.setMaxValue(numbers.length - 1);
|
numberPicker.setMaxValue(numbers.length - 1);
|
||||||
|
@ -330,7 +328,7 @@ public class Dialogs {
|
||||||
numberPicker.setValue(currentVersionCount / 5 - 1);
|
numberPicker.setValue(currentVersionCount / 5 - 1);
|
||||||
numberPicker.setWrapSelectorWheel(false);
|
numberPicker.setWrapSelectorWheel(false);
|
||||||
|
|
||||||
AlertDialog dialog = new AlertDialog.Builder(activity)
|
AlertDialog dialog = new AlertDialog.Builder(context)
|
||||||
.setTitle(R.string.set_number)
|
.setTitle(R.string.set_number)
|
||||||
.setView(view)
|
.setView(view)
|
||||||
.setPositiveButton(android.R.string.ok, (dialog1, which) ->
|
.setPositiveButton(android.R.string.ok, (dialog1, which) ->
|
||||||
|
|
|
@ -41,17 +41,17 @@ public abstract class SimpleWebViewDialog extends DialogFragment {
|
||||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||||
final View view;
|
final View view;
|
||||||
try {
|
try {
|
||||||
view = LayoutInflater.from(requireActivity()).inflate(R.layout.dialog_web_view, null);
|
view = LayoutInflater.from(requireContext()).inflate(R.layout.dialog_web_view, null);
|
||||||
} catch (InflateException e) {
|
} catch (InflateException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return new AlertDialog.Builder(requireActivity())
|
return new AlertDialog.Builder(requireContext())
|
||||||
.setTitle(android.R.string.dialog_alert_title)
|
.setTitle(android.R.string.dialog_alert_title)
|
||||||
.setMessage(getString(R.string.webview_error))
|
.setMessage(getString(R.string.webview_error))
|
||||||
.setPositiveButton(android.R.string.ok, null)
|
.setPositiveButton(android.R.string.ok, null)
|
||||||
.show();
|
.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
AlertDialog dialog = new AlertDialog.Builder(requireActivity())
|
AlertDialog dialog = new AlertDialog.Builder(requireContext())
|
||||||
.setTitle(_title)
|
.setTitle(_title)
|
||||||
.setView(view)
|
.setView(view)
|
||||||
.setPositiveButton(android.R.string.ok, null)
|
.setPositiveButton(android.R.string.ok, null)
|
||||||
|
|
|
@ -13,8 +13,6 @@ import com.beemdevelopment.aegis.ViewMode;
|
||||||
import com.beemdevelopment.aegis.ui.GroupManagerActivity;
|
import com.beemdevelopment.aegis.ui.GroupManagerActivity;
|
||||||
import com.beemdevelopment.aegis.ui.dialogs.Dialogs;
|
import com.beemdevelopment.aegis.ui.dialogs.Dialogs;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
public class AppearancePreferencesFragment extends PreferencesFragment {
|
public class AppearancePreferencesFragment extends PreferencesFragment {
|
||||||
private Preference _groupsPreference;
|
private Preference _groupsPreference;
|
||||||
private Preference _resetUsageCountPreference;
|
private Preference _resetUsageCountPreference;
|
||||||
|
@ -26,14 +24,14 @@ public class AppearancePreferencesFragment extends PreferencesFragment {
|
||||||
|
|
||||||
_groupsPreference = requirePreference("pref_groups");
|
_groupsPreference = requirePreference("pref_groups");
|
||||||
_groupsPreference.setOnPreferenceClickListener(preference -> {
|
_groupsPreference.setOnPreferenceClickListener(preference -> {
|
||||||
Intent intent = new Intent(requireActivity(), GroupManagerActivity.class);
|
Intent intent = new Intent(requireContext(), GroupManagerActivity.class);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
_resetUsageCountPreference = requirePreference("pref_reset_usage_count");
|
_resetUsageCountPreference = requirePreference("pref_reset_usage_count");
|
||||||
_resetUsageCountPreference.setOnPreferenceClickListener(preference -> {
|
_resetUsageCountPreference.setOnPreferenceClickListener(preference -> {
|
||||||
Dialogs.showSecureDialog(new AlertDialog.Builder(requireActivity())
|
Dialogs.showSecureDialog(new AlertDialog.Builder(requireContext())
|
||||||
.setTitle(R.string.preference_reset_usage_count)
|
.setTitle(R.string.preference_reset_usage_count)
|
||||||
.setMessage(R.string.preference_reset_usage_count_dialog)
|
.setMessage(R.string.preference_reset_usage_count_dialog)
|
||||||
.setPositiveButton(android.R.string.yes, (dialog, which) -> _prefs.clearUsageCount())
|
.setPositiveButton(android.R.string.yes, (dialog, which) -> _prefs.clearUsageCount())
|
||||||
|
@ -48,7 +46,7 @@ public class AppearancePreferencesFragment extends PreferencesFragment {
|
||||||
darkModePreference.setOnPreferenceClickListener(preference -> {
|
darkModePreference.setOnPreferenceClickListener(preference -> {
|
||||||
int currentTheme1 = _prefs.getCurrentTheme().ordinal();
|
int currentTheme1 = _prefs.getCurrentTheme().ordinal();
|
||||||
|
|
||||||
Dialogs.showSecureDialog(new AlertDialog.Builder(requireActivity())
|
Dialogs.showSecureDialog(new AlertDialog.Builder(requireContext())
|
||||||
.setTitle(R.string.choose_theme)
|
.setTitle(R.string.choose_theme)
|
||||||
.setSingleChoiceItems(R.array.theme_titles, currentTheme1, (dialog, which) -> {
|
.setSingleChoiceItems(R.array.theme_titles, currentTheme1, (dialog, which) -> {
|
||||||
int i = ((AlertDialog) dialog).getListView().getCheckedItemPosition();
|
int i = ((AlertDialog) dialog).getListView().getCheckedItemPosition();
|
||||||
|
@ -83,7 +81,7 @@ public class AppearancePreferencesFragment extends PreferencesFragment {
|
||||||
viewModePreference.setOnPreferenceClickListener(preference -> {
|
viewModePreference.setOnPreferenceClickListener(preference -> {
|
||||||
int currentViewMode1 = _prefs.getCurrentViewMode().ordinal();
|
int currentViewMode1 = _prefs.getCurrentViewMode().ordinal();
|
||||||
|
|
||||||
Dialogs.showSecureDialog(new AlertDialog.Builder(requireActivity())
|
Dialogs.showSecureDialog(new AlertDialog.Builder(requireContext())
|
||||||
.setTitle(R.string.choose_view_mode)
|
.setTitle(R.string.choose_view_mode)
|
||||||
.setSingleChoiceItems(R.array.view_mode_titles, currentViewMode1, (dialog, which) -> {
|
.setSingleChoiceItems(R.array.view_mode_titles, currentViewMode1, (dialog, which) -> {
|
||||||
int i = ((AlertDialog) dialog).getListView().getCheckedItemPosition();
|
int i = ((AlertDialog) dialog).getListView().getCheckedItemPosition();
|
||||||
|
|
|
@ -104,7 +104,7 @@ public class BackupsPreferencesFragment extends PreferencesFragment {
|
||||||
_backupsVersionsPreference = requirePreference("pref_backups_versions");
|
_backupsVersionsPreference = requirePreference("pref_backups_versions");
|
||||||
_backupsVersionsPreference.setSummary(getResources().getQuantityString(R.plurals.pref_backups_versions_summary, _prefs.getBackupsVersionCount(), _prefs.getBackupsVersionCount()));
|
_backupsVersionsPreference.setSummary(getResources().getQuantityString(R.plurals.pref_backups_versions_summary, _prefs.getBackupsVersionCount(), _prefs.getBackupsVersionCount()));
|
||||||
_backupsVersionsPreference.setOnPreferenceClickListener(preference -> {
|
_backupsVersionsPreference.setOnPreferenceClickListener(preference -> {
|
||||||
Dialogs.showBackupVersionsPickerDialog(requireActivity(), _prefs.getBackupsVersionCount(), number -> {
|
Dialogs.showBackupVersionsPickerDialog(requireContext(), _prefs.getBackupsVersionCount(), number -> {
|
||||||
number = number * 5 + 5;
|
number = number * 5 + 5;
|
||||||
_prefs.setBackupsVersionCount(number);
|
_prefs.setBackupsVersionCount(number);
|
||||||
_backupsVersionsPreference.setSummary(getResources().getQuantityString(R.plurals.pref_backups_versions_summary, _prefs.getBackupsVersionCount(), _prefs.getBackupsVersionCount()));
|
_backupsVersionsPreference.setSummary(getResources().getQuantityString(R.plurals.pref_backups_versions_summary, _prefs.getBackupsVersionCount(), _prefs.getBackupsVersionCount()));
|
||||||
|
@ -206,7 +206,7 @@ public class BackupsPreferencesFragment extends PreferencesFragment {
|
||||||
private void scheduleBackup() {
|
private void scheduleBackup() {
|
||||||
try {
|
try {
|
||||||
_vaultManager.scheduleBackup();
|
_vaultManager.scheduleBackup();
|
||||||
Toast.makeText(requireActivity(), R.string.backup_successful, Toast.LENGTH_LONG).show();
|
Toast.makeText(requireContext(), R.string.backup_successful, Toast.LENGTH_LONG).show();
|
||||||
} catch (VaultRepositoryException e) {
|
} catch (VaultRepositoryException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
Dialogs.showErrorDialog(requireContext(), R.string.backup_error, e);
|
Dialogs.showErrorDialog(requireContext(), R.string.backup_error, e);
|
||||||
|
|
|
@ -147,7 +147,7 @@ public class ImportExportPreferencesFragment extends PreferencesFragment {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startImportEntriesActivity(DatabaseImporter.Definition importerDef, File file) {
|
private void startImportEntriesActivity(DatabaseImporter.Definition importerDef, File file) {
|
||||||
Intent intent = new Intent(requireActivity(), ImportEntriesActivity.class);
|
Intent intent = new Intent(requireContext(), ImportEntriesActivity.class);
|
||||||
intent.putExtra("importerDef", importerDef);
|
intent.putExtra("importerDef", importerDef);
|
||||||
intent.putExtra("file", file);
|
intent.putExtra("file", file);
|
||||||
startActivityForResult(intent, CODE_IMPORT);
|
startActivityForResult(intent, CODE_IMPORT);
|
||||||
|
|
|
@ -78,7 +78,7 @@ public class SecurityPreferencesFragment extends PreferencesFragment {
|
||||||
Preference tapToRevealTimePreference = requirePreference("pref_tap_to_reveal_time");
|
Preference tapToRevealTimePreference = requirePreference("pref_tap_to_reveal_time");
|
||||||
tapToRevealTimePreference.setSummary(_prefs.getTapToRevealTime() + " seconds");
|
tapToRevealTimePreference.setSummary(_prefs.getTapToRevealTime() + " seconds");
|
||||||
tapToRevealTimePreference.setOnPreferenceClickListener(preference -> {
|
tapToRevealTimePreference.setOnPreferenceClickListener(preference -> {
|
||||||
Dialogs.showTapToRevealTimeoutPickerDialog(requireActivity(), _prefs.getTapToRevealTime(), number -> {
|
Dialogs.showTapToRevealTimeoutPickerDialog(requireContext(), _prefs.getTapToRevealTime(), number -> {
|
||||||
_prefs.setTapToRevealTime(number);
|
_prefs.setTapToRevealTime(number);
|
||||||
tapToRevealTimePreference.setSummary(number + " seconds");
|
tapToRevealTimePreference.setSummary(number + " seconds");
|
||||||
getResult().putExtra("needsRefresh", true);
|
getResult().putExtra("needsRefresh", true);
|
||||||
|
@ -459,7 +459,7 @@ public class SecurityPreferencesFragment extends PreferencesFragment {
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
_pinKeyboardPreference.setChecked(true);
|
_pinKeyboardPreference.setChecked(true);
|
||||||
} else {
|
} else {
|
||||||
Dialogs.showSecureDialog(new AlertDialog.Builder(requireActivity())
|
Dialogs.showSecureDialog(new AlertDialog.Builder(requireContext())
|
||||||
.setTitle(R.string.pin_keyboard_error)
|
.setTitle(R.string.pin_keyboard_error)
|
||||||
.setMessage(R.string.invalid_password)
|
.setMessage(R.string.invalid_password)
|
||||||
.setCancelable(false)
|
.setCancelable(false)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue