Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/passman-android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbinsky08 <timo@binsky.org>2022-08-25 04:56:29 +0300
committerbinsky08 <timo@binsky.org>2022-08-25 05:02:27 +0300
commitb99969646165281dc476699e6206b02351c8fedb (patch)
treef312d82ab0a84f5595e65a1137330e13284630f8
parent0db025ef5bb7ee6216f940e0c4ba02513ade8bb7 (diff)
fix some NullPointer and Runtime exceptions
Signed-off-by: binsky08 <timo@binsky.org>
-rw-r--r--app/src/main/java/es/wolfi/app/passman/activities/LoginActivity.java3
-rw-r--r--app/src/main/java/es/wolfi/app/passman/fragments/CredentialDisplayFragment.java5
-rw-r--r--app/src/main/java/es/wolfi/app/passman/fragments/VaultLockScreenFragment.java12
-rw-r--r--app/src/main/java/es/wolfi/passman/API/Vault.java13
4 files changed, 24 insertions, 9 deletions
diff --git a/app/src/main/java/es/wolfi/app/passman/activities/LoginActivity.java b/app/src/main/java/es/wolfi/app/passman/activities/LoginActivity.java
index e9a840a..8ca0129 100644
--- a/app/src/main/java/es/wolfi/app/passman/activities/LoginActivity.java
+++ b/app/src/main/java/es/wolfi/app/passman/activities/LoginActivity.java
@@ -62,6 +62,7 @@ import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
+import es.wolfi.app.passman.OfflineStorage;
import es.wolfi.app.passman.R;
import es.wolfi.app.passman.SettingValues;
import es.wolfi.app.passman.SingleTon;
@@ -95,6 +96,8 @@ public class LoginActivity extends AppCompatActivity {
setContentView(R.layout.activity_login);
ButterKnife.bind(this);
+ new OfflineStorage(getBaseContext());
+
if (!isNextcloudFilesAppInstalled(this)) {
isLegacyOnly = true;
loadLegacyLogin();
diff --git a/app/src/main/java/es/wolfi/app/passman/fragments/CredentialDisplayFragment.java b/app/src/main/java/es/wolfi/app/passman/fragments/CredentialDisplayFragment.java
index c150c0c..a00b88c 100644
--- a/app/src/main/java/es/wolfi/app/passman/fragments/CredentialDisplayFragment.java
+++ b/app/src/main/java/es/wolfi/app/passman/fragments/CredentialDisplayFragment.java
@@ -127,7 +127,10 @@ public class CredentialDisplayFragment extends Fragment {
if (getArguments() != null) {
Vault v = (Vault) SingleTon.getTon().getExtra(SettingValues.ACTIVE_VAULT.toString());
if (v != null) {
- credential = v.findCredentialByGUID(getArguments().getString(CREDENTIAL));
+ Credential credential = v.findCredentialByGUID(getArguments().getString(CREDENTIAL));
+ if (credential != null) { // credential may have been removed from vault in the meantime
+ this.credential = credential;
+ }
}
}
}
diff --git a/app/src/main/java/es/wolfi/app/passman/fragments/VaultLockScreenFragment.java b/app/src/main/java/es/wolfi/app/passman/fragments/VaultLockScreenFragment.java
index bb157e9..271c880 100644
--- a/app/src/main/java/es/wolfi/app/passman/fragments/VaultLockScreenFragment.java
+++ b/app/src/main/java/es/wolfi/app/passman/fragments/VaultLockScreenFragment.java
@@ -40,8 +40,6 @@ import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import es.wolfi.app.passman.R;
-import es.wolfi.app.passman.SettingValues;
-import es.wolfi.app.passman.SingleTon;
import es.wolfi.passman.API.Vault;
import es.wolfi.utils.KeyStoreUtils;
@@ -110,9 +108,13 @@ public class VaultLockScreenFragment extends Fragment {
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- ButterKnife.bind(this, view);
- Log.e("VaultLockScreenFragment", "Vault guid: ".concat(vault.guid));
- vault_name.setText(vault.name);
+ if (vault != null) {
+ ButterKnife.bind(this, view);
+ Log.e("VaultLockScreenFragment", "Vault guid: ".concat(vault.guid));
+ vault_name.setText(vault.name);
+ } else {
+ Toast.makeText(getContext(), R.string.error_occurred, Toast.LENGTH_SHORT).show();
+ }
}
@Override
diff --git a/app/src/main/java/es/wolfi/passman/API/Vault.java b/app/src/main/java/es/wolfi/passman/API/Vault.java
index 0358d5c..5730aca 100644
--- a/app/src/main/java/es/wolfi/passman/API/Vault.java
+++ b/app/src/main/java/es/wolfi/passman/API/Vault.java
@@ -72,7 +72,7 @@ public class Vault extends Core implements Filterable {
public static Integer[] keyStrengths = {1024, 2048, 4096};
ArrayList<Credential> credentials;
- HashMap<String, Integer> credential_guid;
+ HashMap<String, Integer> credential_guid = new HashMap<>();
private String encryption_key = "";
@@ -182,8 +182,15 @@ public class Vault extends Core implements Filterable {
}
public Credential findCredentialByGUID(String guid) {
- Log.e("Vault", "GUID: ".concat(guid).concat(" Arr pos: ").concat(String.valueOf(credential_guid.get(guid))));
- return credentials.get(credential_guid.get(guid));
+ if (credential_guid != null && guid != null) {
+ Integer arrPos = credential_guid.get(guid);
+
+ Log.e("Vault", "GUID: ".concat(guid).concat(" Arr pos: ").concat(String.valueOf(arrPos)));
+ if (arrPos != null) {
+ return credentials.get(arrPos);
+ }
+ }
+ return null;
}
public Date getLastAccessTime() {