diff options
author | binsky08 <timo@binsky.org> | 2022-08-25 04:56:29 +0300 |
---|---|---|
committer | binsky08 <timo@binsky.org> | 2022-08-25 05:02:27 +0300 |
commit | b99969646165281dc476699e6206b02351c8fedb (patch) | |
tree | f312d82ab0a84f5595e65a1137330e13284630f8 | |
parent | 0db025ef5bb7ee6216f940e0c4ba02513ade8bb7 (diff) |
fix some NullPointer and Runtime exceptions
Signed-off-by: binsky08 <timo@binsky.org>
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() { |