fixed android looper to show dialog for SD card permission
This commit is contained in:
parent
a08c5a3369
commit
c1d6b95829
2 changed files with 8 additions and 4 deletions
|
@ -12,6 +12,8 @@ import android.media.ExifInterface;
|
||||||
import android.media.MediaScannerConnection;
|
import android.media.MediaScannerConnection;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
@ -76,7 +78,7 @@ public abstract class ImageProvider {
|
||||||
Uri sdCardTreeUri = PermissionManager.getSdCardTreeUri(activity);
|
Uri sdCardTreeUri = PermissionManager.getSdCardTreeUri(activity);
|
||||||
if (sdCardTreeUri == null) {
|
if (sdCardTreeUri == null) {
|
||||||
Runnable runnable = () -> rename(activity, oldPath, oldUri, mimeType, newFilename, callback);
|
Runnable runnable = () -> rename(activity, oldPath, oldUri, mimeType, newFilename, callback);
|
||||||
PermissionManager.showSdCardAccessDialog(activity, runnable);
|
new Handler(Looper.getMainLooper()).post(() -> PermissionManager.showSdCardAccessDialog(activity, runnable));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
renamed = StorageUtils.renameOnSdCard(activity, sdCardTreeUri, Env.getStorageVolumes(activity), oldPath, newFilename);
|
renamed = StorageUtils.renameOnSdCard(activity, sdCardTreeUri, Env.getStorageVolumes(activity), oldPath, newFilename);
|
||||||
|
@ -162,7 +164,7 @@ public abstract class ImageProvider {
|
||||||
if (onSdCard) {
|
if (onSdCard) {
|
||||||
if (PermissionManager.getSdCardTreeUri(activity) == null) {
|
if (PermissionManager.getSdCardTreeUri(activity) == null) {
|
||||||
Runnable runnable = () -> rotate(activity, path, uri, mimeType, clockwise, callback);
|
Runnable runnable = () -> rotate(activity, path, uri, mimeType, clockwise, callback);
|
||||||
PermissionManager.showSdCardAccessDialog(activity, runnable);
|
new Handler(Looper.getMainLooper()).post(() -> PermissionManager.showSdCardAccessDialog(activity, runnable));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// copy original file to a temporary file for editing
|
// copy original file to a temporary file for editing
|
||||||
|
@ -241,7 +243,7 @@ public abstract class ImageProvider {
|
||||||
boolean onSdCard = Env.isOnSdCard(activity, path);
|
boolean onSdCard = Env.isOnSdCard(activity, path);
|
||||||
if (onSdCard && PermissionManager.getSdCardTreeUri(activity) == null) {
|
if (onSdCard && PermissionManager.getSdCardTreeUri(activity) == null) {
|
||||||
Runnable runnable = () -> rotate(activity, path, uri, mimeType, clockwise, callback);
|
Runnable runnable = () -> rotate(activity, path, uri, mimeType, clockwise, callback);
|
||||||
PermissionManager.showSdCardAccessDialog(activity, runnable);
|
new Handler(Looper.getMainLooper()).post(() -> PermissionManager.showSdCardAccessDialog(activity, runnable));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,8 @@ import android.content.Context;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
@ -178,7 +180,7 @@ public class MediaStoreImageProvider extends ImageProvider {
|
||||||
Uri sdCardTreeUri = PermissionManager.getSdCardTreeUri(activity);
|
Uri sdCardTreeUri = PermissionManager.getSdCardTreeUri(activity);
|
||||||
if (sdCardTreeUri == null) {
|
if (sdCardTreeUri == null) {
|
||||||
Runnable runnable = () -> delete(activity, path, uri, callback);
|
Runnable runnable = () -> delete(activity, path, uri, callback);
|
||||||
PermissionManager.showSdCardAccessDialog(activity, runnable);
|
new Handler(Looper.getMainLooper()).post(() -> PermissionManager.showSdCardAccessDialog(activity, runnable));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue