diff --git a/identity-android/src/main/java/com/android/identity/android/storage/AndroidStorageEngine.java b/identity-android/src/main/java/com/android/identity/android/storage/AndroidStorageEngine.java index 72968d4bb..36abc5e66 100644 --- a/identity-android/src/main/java/com/android/identity/android/storage/AndroidStorageEngine.java +++ b/identity-android/src/main/java/com/android/identity/android/storage/AndroidStorageEngine.java @@ -194,7 +194,11 @@ public void delete(@NonNull String key) { @Override public void deleteAll() { - for (File file : mStorageDirectory.listFiles()) { + File[] fileList = mStorageDirectory.listFiles(); + if (fileList == null) { + return; + } + for (File file : fileList) { String name = file.getName(); if (!name.startsWith(PREFIX)) { continue; @@ -207,16 +211,19 @@ public void deleteAll() { @NonNull public Collection enumerate() { ArrayList ret = new ArrayList<>(); - for (File file : mStorageDirectory.listFiles()) { - String name = file.getName(); - if (!name.startsWith(PREFIX)) { - continue; - } - try { - String decodedName = URLDecoder.decode(name.substring(PREFIX.length()), "UTF-8"); - ret.add(decodedName); - } catch (UnsupportedEncodingException e) { - throw new IllegalStateException(e); + File[] fileList = mStorageDirectory.listFiles(); + if (fileList != null) { + for (File file : fileList) { + String name = file.getName(); + if (!name.startsWith(PREFIX)) { + continue; + } + try { + String decodedName = URLDecoder.decode(name.substring(PREFIX.length()), "UTF-8"); + ret.add(decodedName); + } catch (UnsupportedEncodingException e) { + throw new IllegalStateException(e); + } } } return ret;