From 0fe9bb7ce7acf93c69c817fc4d21868f27176362 Mon Sep 17 00:00:00 2001 From: vanitasvitae Date: Fri, 15 Sep 2017 01:40:27 +0200 Subject: [PATCH] Load images in AsyncTask. Fixes #10. --- .../de/trac/spherical/HandleImageTask.java | 23 +++++++++++++++++++ .../java/de/trac/spherical/MainActivity.java | 6 ++--- 2 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/de/trac/spherical/HandleImageTask.java diff --git a/app/src/main/java/de/trac/spherical/HandleImageTask.java b/app/src/main/java/de/trac/spherical/HandleImageTask.java new file mode 100644 index 0000000..15992ab --- /dev/null +++ b/app/src/main/java/de/trac/spherical/HandleImageTask.java @@ -0,0 +1,23 @@ +package de.trac.spherical; + +import android.content.Intent; +import android.os.AsyncTask; + +/** + * Created by vanitas on 15.09.17. + */ + +public class HandleImageTask extends AsyncTask { + + private MainActivity mainActivity; + + public HandleImageTask(MainActivity mainActivity) { + this.mainActivity = mainActivity; + } + + @Override + protected Void doInBackground(Intent... params) { + mainActivity.handleSentImageIntent(params[0]); + return null; + } +} diff --git a/app/src/main/java/de/trac/spherical/MainActivity.java b/app/src/main/java/de/trac/spherical/MainActivity.java index d103db0..a30c53e 100644 --- a/app/src/main/java/de/trac/spherical/MainActivity.java +++ b/app/src/main/java/de/trac/spherical/MainActivity.java @@ -119,7 +119,7 @@ public class MainActivity extends AppCompatActivity { private void checkPermissionAndHandleSentImage(Intent intent) { int status = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE); if (status == PackageManager.PERMISSION_GRANTED) { - handleSentImageIntent(intent); + new HandleImageTask(this).doInBackground(intent); } // Cache intent and request permission @@ -137,7 +137,7 @@ public class MainActivity extends AppCompatActivity { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - handleSentImageIntent(cachedIntent); + new HandleImageTask(this).doInBackground(cachedIntent); } else { Toast.makeText(this, R.string.toast_missing_permission, Toast.LENGTH_LONG).show(); } @@ -184,7 +184,7 @@ public class MainActivity extends AppCompatActivity { * displayed, while images with MIME type image/* are being manually tested using {@link PhotoSphereParser}. * @param intent incoming intent. */ - private void handleSentImageIntent(Intent intent) { + void handleSentImageIntent(Intent intent) { String type = intent.getType(); if (type != null) {