Check for nulls in intent extra's sent to MainActivity

This commit is contained in:
Alexander Bakker 2022-12-03 19:31:25 +01:00
parent 6ea9502ad1
commit 5cf8f73193

View file

@ -61,6 +61,7 @@ import java.util.Map;
import java.util.Objects;
import java.util.TreeSet;
import java.util.UUID;
import java.util.stream.Collectors;
public class MainActivity extends AegisActivity implements EntryListView.Listener {
// activity request codes
@ -561,13 +562,17 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
uri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
intent.setAction(null);
intent.removeExtra(Intent.EXTRA_STREAM);
if (uri != null) {
startDecodeQrCodeImages(Collections.singletonList(uri));
}
}
if (intent.hasExtra(Intent.EXTRA_TEXT)) {
String stringExtra = intent.getStringExtra(Intent.EXTRA_TEXT);
intent.setAction(null);
intent.removeExtra(Intent.EXTRA_TEXT);
if (stringExtra != null) {
GoogleAuthInfo info;
try {
info = GoogleAuthInfo.parseUri(stringExtra);
@ -579,14 +584,22 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
VaultEntry entry = new VaultEntry(info);
startEditEntryActivityForNew(CODE_ADD_ENTRY, entry);
}
}
break;
case Intent.ACTION_SEND_MULTIPLE:
if (intent.hasExtra(Intent.EXTRA_STREAM)) {
List<Uri> uris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
if (uris != null) {
intent.setAction(null);
intent.removeExtra(Intent.EXTRA_STREAM);
if (uris != null) {
uris = uris.stream()
.filter(Objects::nonNull)
.collect(Collectors.toList());
startDecodeQrCodeImages(uris);
}
}
break;
}
}