mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
fix(android): file manipulation threw exception inside worker (#10076)
This commit is contained in:
committed by
GitHub
parent
1a5faecba0
commit
25c862e148
Binary file not shown.
Binary file not shown.
@@ -43,7 +43,7 @@ public class FileHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
FileHelper(Uri uri) {
|
FileHelper(Uri uri) {
|
||||||
handler = new Handler(Looper.getMainLooper());
|
handler = new Handler(Looper.myLooper());
|
||||||
this.uri = uri;
|
this.uri = uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -233,9 +233,8 @@ public class Utils {
|
|||||||
return rotationAngle;
|
return rotationAngle;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Handler mainHandler = new Handler(Looper.getMainLooper());
|
|
||||||
|
|
||||||
public static void loadImageAsync(final Context context, final String src, final String options, final int maxWidth, final int maxHeight, final AsyncImageCallback callback) {
|
public static void loadImageAsync(final Context context, final String src, final String options, final int maxWidth, final int maxHeight, final AsyncImageCallback callback) {
|
||||||
|
final Handler mHandler = new Handler(Looper.myLooper());
|
||||||
executors.execute(new Runnable() {
|
executors.execute(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -251,7 +250,7 @@ public class Utils {
|
|||||||
try {
|
try {
|
||||||
pfd = resolver.openFileDescriptor(uri, "r");
|
pfd = resolver.openFileDescriptor(uri, "r");
|
||||||
} catch (final FileNotFoundException e) {
|
} catch (final FileNotFoundException e) {
|
||||||
mainHandler.post(new Runnable() {
|
mHandler.post(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
callback.onError(e);
|
callback.onError(e);
|
||||||
@@ -324,7 +323,7 @@ public class Utils {
|
|||||||
|
|
||||||
final String finalError = error;
|
final String finalError = error;
|
||||||
final Bitmap finalBitmap = bitmap;
|
final Bitmap finalBitmap = bitmap;
|
||||||
mainHandler.post(new Runnable() {
|
mHandler.post(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (finalError != null) {
|
if (finalError != null) {
|
||||||
@@ -335,7 +334,7 @@ public class Utils {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (final Exception ex) {
|
} catch (final Exception ex) {
|
||||||
mainHandler.post(new Runnable() {
|
mHandler.post(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
callback.onError(ex);
|
callback.onError(ex);
|
||||||
@@ -358,6 +357,7 @@ public class Utils {
|
|||||||
|
|
||||||
|
|
||||||
public static void saveToFileAsync(final Bitmap bitmap, final String path, final String format, final int quality, final AsyncImageCallback callback) {
|
public static void saveToFileAsync(final Bitmap bitmap, final String path, final String format, final int quality, final AsyncImageCallback callback) {
|
||||||
|
final Handler mHandler = new Handler(Looper.myLooper());
|
||||||
executors.execute(new Runnable() {
|
executors.execute(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -374,7 +374,7 @@ public class Utils {
|
|||||||
|
|
||||||
final Exception finalException = exception;
|
final Exception finalException = exception;
|
||||||
final boolean finalIsSuccess = isSuccess;
|
final boolean finalIsSuccess = isSuccess;
|
||||||
mainHandler.post(new Runnable() {
|
mHandler.post(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (finalException != null) {
|
if (finalException != null) {
|
||||||
@@ -389,6 +389,7 @@ public class Utils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void toBase64StringAsync(final Bitmap bitmap, final String format, final int quality, final AsyncImageCallback callback) {
|
public static void toBase64StringAsync(final Bitmap bitmap, final String format, final int quality, final AsyncImageCallback callback) {
|
||||||
|
final Handler mHandler = new Handler(Looper.myLooper());
|
||||||
executors.execute(new Runnable() {
|
executors.execute(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -411,7 +412,7 @@ public class Utils {
|
|||||||
|
|
||||||
final Exception finalException = exception;
|
final Exception finalException = exception;
|
||||||
final String finalResult = result;
|
final String finalResult = result;
|
||||||
mainHandler.post(new Runnable() {
|
mHandler.post(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (finalException != null) {
|
if (finalException != null) {
|
||||||
@@ -447,6 +448,7 @@ public class Utils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void resizeAsync(final Bitmap bitmap, final float maxSize, final String options, final AsyncImageCallback callback) {
|
public static void resizeAsync(final Bitmap bitmap, final float maxSize, final String options, final AsyncImageCallback callback) {
|
||||||
|
final Handler mHandler = new Handler(Looper.myLooper());
|
||||||
executors.execute(new Runnable() {
|
executors.execute(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -471,7 +473,7 @@ public class Utils {
|
|||||||
|
|
||||||
final Exception finalException = exception;
|
final Exception finalException = exception;
|
||||||
final Bitmap finalResult = result;
|
final Bitmap finalResult = result;
|
||||||
mainHandler.post(new Runnable() {
|
mHandler.post(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (finalException != null) {
|
if (finalException != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user