decryptlist: fix iterators
This commit is contained in:
@@ -22,6 +22,7 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
@@ -676,11 +677,13 @@ public class DecryptListFragment
|
|||||||
if (permissionWasGranted) {
|
if (permissionWasGranted) {
|
||||||
|
|
||||||
// permission granted -> retry all cancelled file uris
|
// permission granted -> retry all cancelled file uris
|
||||||
for (Uri uri : mCancelledInputUris) {
|
Iterator<Uri> it = mCancelledInputUris.iterator();
|
||||||
|
while (it.hasNext()) {
|
||||||
|
Uri uri = it.next();
|
||||||
if ( ! "file".equals(uri.getScheme())) {
|
if ( ! "file".equals(uri.getScheme())) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
mCancelledInputUris.remove(uri);
|
it.remove();
|
||||||
mPendingInputUris.add(uri);
|
mPendingInputUris.add(uri);
|
||||||
mAdapter.setCancelled(uri, false);
|
mAdapter.setCancelled(uri, false);
|
||||||
}
|
}
|
||||||
@@ -688,12 +691,17 @@ public class DecryptListFragment
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
// permission denied -> cancel current, and all pending file uris
|
// permission denied -> cancel current, and all pending file uris
|
||||||
|
mCancelledInputUris.add(mCurrentInputUri);
|
||||||
|
mAdapter.setCancelled(mCurrentInputUri, true);
|
||||||
|
|
||||||
mCurrentInputUri = null;
|
mCurrentInputUri = null;
|
||||||
for (final Uri uri : mPendingInputUris) {
|
Iterator<Uri> it = mPendingInputUris.iterator();
|
||||||
|
while (it.hasNext()) {
|
||||||
|
Uri uri = it.next();
|
||||||
if ( ! "file".equals(uri.getScheme())) {
|
if ( ! "file".equals(uri.getScheme())) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
mPendingInputUris.remove(uri);
|
it.remove();
|
||||||
mCancelledInputUris.add(uri);
|
mCancelledInputUris.add(uri);
|
||||||
mAdapter.setCancelled(uri, true);
|
mAdapter.setCancelled(uri, true);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user