mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-04-20 22:09:12 +00:00
Merge pull request #1466 from alexbakker/fix-audit-log-crash
Account for audit log entries that reference deleted entries
This commit is contained in:
commit
7472e32b25
4 changed files with 13 additions and 4 deletions
|
@ -6,10 +6,8 @@ import android.view.View;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.lifecycle.LiveData;
|
import androidx.lifecycle.LiveData;
|
||||||
import androidx.lifecycle.Observer;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
@ -64,10 +62,12 @@ public class AuditLogPreferencesFragment extends Fragment {
|
||||||
_noAuditLogsView.setVisibility(entries1.isEmpty() ? View.VISIBLE : View.GONE);
|
_noAuditLogsView.setVisibility(entries1.isEmpty() ? View.VISIBLE : View.GONE);
|
||||||
|
|
||||||
for (AuditLogEntry entry : entries1) {
|
for (AuditLogEntry entry : entries1) {
|
||||||
|
|
||||||
VaultEntry referencedEntry = null;
|
VaultEntry referencedEntry = null;
|
||||||
if (entry.getReference() != null) {
|
if (entry.getReference() != null) {
|
||||||
referencedEntry = _vaultManager.getVault().getEntryByUUID(UUID.fromString(entry.getReference()));
|
UUID referencedEntryUUID = UUID.fromString(entry.getReference());
|
||||||
|
if (_vaultManager.getVault().hasEntryByUUID(referencedEntryUUID)) {
|
||||||
|
referencedEntry = _vaultManager.getVault().getEntryByUUID(referencedEntryUUID);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AuditLogEntryModel auditLogEntryModel = new AuditLogEntryModel(entry, referencedEntry);
|
AuditLogEntryModel auditLogEntryModel = new AuditLogEntryModel(entry, referencedEntry);
|
||||||
|
|
|
@ -61,6 +61,10 @@ public class AuditLogHolder extends RecyclerView.ViewHolder {
|
||||||
if (auditLogEntryModel.getReferencedVaultEntry() != null) {
|
if (auditLogEntryModel.getReferencedVaultEntry() != null) {
|
||||||
VaultEntry referencedVaultEntry = auditLogEntryModel.getReferencedVaultEntry();
|
VaultEntry referencedVaultEntry = auditLogEntryModel.getReferencedVaultEntry();
|
||||||
_auditLogEntryReference.setText(String.format("%s (%s)", referencedVaultEntry.getIssuer(), referencedVaultEntry.getName()));
|
_auditLogEntryReference.setText(String.format("%s (%s)", referencedVaultEntry.getIssuer(), referencedVaultEntry.getName()));
|
||||||
|
_auditLogEntryReference.setVisibility(View.VISIBLE);
|
||||||
|
} else if (auditLogEntryModel.getAuditLogEntry().getReference() != null) {
|
||||||
|
_auditLogEntryReference.setText(R.string.audit_log_entry_deleted);
|
||||||
|
_auditLogEntryReference.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
_auditLogEntryReference.setVisibility(View.GONE);
|
_auditLogEntryReference.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -225,6 +225,10 @@ public class VaultRepository {
|
||||||
_vault.getEntries().add(entry);
|
_vault.getEntries().add(entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasEntryByUUID(UUID uuid) {
|
||||||
|
return _vault.getEntries().has(uuid);
|
||||||
|
}
|
||||||
|
|
||||||
public VaultEntry getEntryByUUID(UUID uuid) {
|
public VaultEntry getEntryByUUID(UUID uuid) {
|
||||||
return _vault.getEntries().getByUUID(uuid);
|
return _vault.getEntries().getByUUID(uuid);
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,6 +127,7 @@
|
||||||
<string name="event_title_vault_unlock_failed_biometrics">Vault unlock failed (biometrics)</string>
|
<string name="event_title_vault_unlock_failed_biometrics">Vault unlock failed (biometrics)</string>
|
||||||
<string name="event_description_vault_unlock_failed_biometrics">An attempt to unlock the vault with biometrics failed</string>
|
<string name="event_description_vault_unlock_failed_biometrics">An attempt to unlock the vault with biometrics failed</string>
|
||||||
<string name="event_unknown">Unknown event type</string>
|
<string name="event_unknown">Unknown event type</string>
|
||||||
|
<string name="audit_log_entry_deleted">(deleted)</string>
|
||||||
|
|
||||||
<string name="today_at_time">Today at %1$s</string>
|
<string name="today_at_time">Today at %1$s</string>
|
||||||
<string name="day_of_week_at_time">%1$s at %2$s</string>
|
<string name="day_of_week_at_time">%1$s at %2$s</string>
|
||||||
|
|
Loading…
Add table
Reference in a new issue