aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java190
1 files changed, 85 insertions, 105 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java
index 3a3b632d..d7095dae 100644
--- a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java
+++ b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java
@@ -5,18 +5,13 @@ import android.app.Activity;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.os.Bundle;
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.appcompat.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
@@ -24,7 +19,9 @@ import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
-
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
+import androidx.core.content.ContextCompat;
import com.zeapo.pwdstore.PasswordStore;
import com.zeapo.pwdstore.R;
@@ -84,12 +81,7 @@ public class AutofillFragment extends DialogFragment {
((ListView) view.findViewById(R.id.matched)).setAdapter(adapter);
// delete items by clicking them
((ListView) view.findViewById(R.id.matched)).setOnItemClickListener(
- new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- adapter.remove(adapter.getItem(position));
- }
- });
+ (parent, view1, position, id) -> adapter.remove(adapter.getItem(position)));
// set the existing preference, if any
SharedPreferences prefs;
@@ -116,36 +108,27 @@ public class AutofillFragment extends DialogFragment {
}
// add items with the + button
- View.OnClickListener matchPassword = new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- ((RadioButton) view.findViewById(R.id.match)).toggle();
- Intent intent = new Intent(getActivity(), PasswordStore.class);
- intent.putExtra("matchWith", true);
- startActivityForResult(intent, MATCH_WITH);
- }
+ View.OnClickListener matchPassword = v -> {
+ ((RadioButton) view.findViewById(R.id.match)).toggle();
+ Intent intent = new Intent(getActivity(), PasswordStore.class);
+ intent.putExtra("matchWith", true);
+ startActivityForResult(intent, MATCH_WITH);
};
view.findViewById(R.id.matchButton).setOnClickListener(matchPassword);
// write to preferences when OK clicked
- builder.setPositiveButton(R.string.dialog_ok, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
+ builder.setPositiveButton(R.string.dialog_ok, (dialog, which) -> {
- }
});
builder.setNegativeButton(R.string.dialog_cancel, null);
final SharedPreferences.Editor editor = prefs.edit();
if (isWeb) {
- builder.setNeutralButton(R.string.autofill_apps_delete, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- if (callingActivity.recyclerAdapter != null
- && packageName != null && !packageName.equals("")) {
- editor.remove(packageName);
- callingActivity.recyclerAdapter.removeWebsite(packageName);
- editor.apply();
- }
+ builder.setNeutralButton(R.string.autofill_apps_delete, (dialog, which) -> {
+ if (callingActivity.recyclerAdapter != null
+ && packageName != null && !packageName.equals("")) {
+ editor.remove(packageName);
+ callingActivity.recyclerAdapter.removeWebsite(packageName);
+ editor.apply();
}
});
}
@@ -157,91 +140,88 @@ public class AutofillFragment extends DialogFragment {
public void onStart() {
super.onStart();
AlertDialog ad = (AlertDialog) getDialog();
- if(ad != null) {
+ if (ad != null) {
Button positiveButton = ad.getButton(Dialog.BUTTON_POSITIVE);
- positiveButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- AutofillPreferenceActivity callingActivity = (AutofillPreferenceActivity) getActivity();
- Dialog dialog = getDialog();
-
- SharedPreferences prefs;
- if (!isWeb) {
- prefs = getActivity().getApplicationContext().getSharedPreferences("autofill", Context.MODE_PRIVATE);
- } else {
- prefs = getActivity().getApplicationContext().getSharedPreferences("autofill_web", Context.MODE_PRIVATE);
- }
- SharedPreferences.Editor editor = prefs.edit();
+ positiveButton.setOnClickListener(v -> {
+ AutofillPreferenceActivity callingActivity = (AutofillPreferenceActivity) getActivity();
+ Dialog dialog = getDialog();
+
+ SharedPreferences prefs;
+ if (!isWeb) {
+ prefs = getActivity().getApplicationContext().getSharedPreferences("autofill", Context.MODE_PRIVATE);
+ } else {
+ prefs = getActivity().getApplicationContext().getSharedPreferences("autofill_web", Context.MODE_PRIVATE);
+ }
+ SharedPreferences.Editor editor = prefs.edit();
- String packageName = getArguments().getString("packageName", "");
- if (isWeb) {
- // handle some errors and don't dismiss the dialog
- EditText webURL = (EditText) dialog.findViewById(R.id.webURL);
+ String packageName = getArguments().getString("packageName", "");
+ if (isWeb) {
+ // handle some errors and don't dismiss the dialog
+ EditText webURL = dialog.findViewById(R.id.webURL);
- packageName = webURL.getText().toString();
+ packageName = webURL.getText().toString();
- if (packageName.equals("")) {
- webURL.setError("URL cannot be blank");
- return;
- }
- String oldPackageName = getArguments().getString("packageName", "");
- if (!oldPackageName.equals(packageName) && prefs.getAll().containsKey(packageName)) {
- webURL.setError("URL already exists");
- return;
- }
+ if (packageName.equals("")) {
+ webURL.setError("URL cannot be blank");
+ return;
}
-
- // write to preferences accordingly
- RadioGroup radioGroup = (RadioGroup) dialog.findViewById(R.id.autofill_radiogroup);
- switch (radioGroup.getCheckedRadioButtonId()) {
- case R.id.use_default:
- if (!isWeb) {
- editor.remove(packageName);
- } else {
- editor.putString(packageName, "");
- }
- break;
- case R.id.first:
- editor.putString(packageName, "/first");
- break;
- case R.id.never:
- editor.putString(packageName, "/never");
- break;
- default:
- StringBuilder paths = new StringBuilder();
- for (int i = 0; i < adapter.getCount(); i++) {
- paths.append(adapter.getItem(i));
- if (i != adapter.getCount()) {
- paths.append("\n");
- }
- }
- editor.putString(packageName, paths.toString());
+ String oldPackageName = getArguments().getString("packageName", "");
+ if (!oldPackageName.equals(packageName) && prefs.getAll().containsKey(packageName)) {
+ webURL.setError("URL already exists");
+ return;
}
- editor.apply();
+ }
- // notify the recycler adapter if it is loaded
- if (callingActivity.recyclerAdapter != null) {
- int position;
+ // write to preferences accordingly
+ RadioGroup radioGroup = dialog.findViewById(R.id.autofill_radiogroup);
+ switch (radioGroup.getCheckedRadioButtonId()) {
+ case R.id.use_default:
if (!isWeb) {
- String appName = getArguments().getString("appName", "");
- position = callingActivity.recyclerAdapter.getPosition(appName);
- callingActivity.recyclerAdapter.notifyItemChanged(position);
+ editor.remove(packageName);
} else {
- position = callingActivity.recyclerAdapter.getPosition(packageName);
- String oldPackageName = getArguments().getString("packageName", "");
- if (oldPackageName.equals(packageName)) {
- callingActivity.recyclerAdapter.notifyItemChanged(position);
- } else if (oldPackageName.equals("")){
- callingActivity.recyclerAdapter.addWebsite(packageName);
- } else {
- editor.remove(oldPackageName);
- callingActivity.recyclerAdapter.updateWebsite(oldPackageName, packageName);
+ editor.putString(packageName, "");
+ }
+ break;
+ case R.id.first:
+ editor.putString(packageName, "/first");
+ break;
+ case R.id.never:
+ editor.putString(packageName, "/never");
+ break;
+ default:
+ StringBuilder paths = new StringBuilder();
+ for (int i = 0; i < adapter.getCount(); i++) {
+ paths.append(adapter.getItem(i));
+ if (i != adapter.getCount()) {
+ paths.append("\n");
}
}
- }
+ editor.putString(packageName, paths.toString());
+ }
+ editor.apply();
- dismiss();
+ // notify the recycler adapter if it is loaded
+ if (callingActivity.recyclerAdapter != null) {
+ int position;
+ if (!isWeb) {
+ String appName = getArguments().getString("appName", "");
+ position = callingActivity.recyclerAdapter.getPosition(appName);
+ callingActivity.recyclerAdapter.notifyItemChanged(position);
+ } else {
+ position = callingActivity.recyclerAdapter.getPosition(packageName);
+ String oldPackageName = getArguments().getString("packageName", "");
+ if (oldPackageName.equals(packageName)) {
+ callingActivity.recyclerAdapter.notifyItemChanged(position);
+ } else if (oldPackageName.equals("")) {
+ callingActivity.recyclerAdapter.addWebsite(packageName);
+ } else {
+ editor.remove(oldPackageName);
+ callingActivity.recyclerAdapter.updateWebsite(oldPackageName, packageName);
+ }
+ }
}
+
+ dismiss();
});
}
}