convert photoProcessor to kotlin
This commit is contained in:
parent
85416aa0db
commit
76c2312b6d
|
@ -1,75 +0,0 @@
|
||||||
package com.simplemobiletools.camera;
|
|
||||||
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.AsyncTask;
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import com.simplemobiletools.camera.activities.MainActivity;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.lang.ref.WeakReference;
|
|
||||||
|
|
||||||
public class PhotoProcessor extends AsyncTask<byte[], Void, String> {
|
|
||||||
private static final String TAG = PhotoProcessor.class.getSimpleName();
|
|
||||||
private static WeakReference<MainActivity> mActivity;
|
|
||||||
private static Uri mUri;
|
|
||||||
|
|
||||||
public PhotoProcessor(MainActivity activity, Uri uri) {
|
|
||||||
mActivity = new WeakReference<>(activity);
|
|
||||||
mUri = uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String doInBackground(byte[]... params) {
|
|
||||||
FileOutputStream fos = null;
|
|
||||||
String path;
|
|
||||||
try {
|
|
||||||
if (mUri != null) {
|
|
||||||
path = mUri.getPath();
|
|
||||||
} else {
|
|
||||||
path = Utils.getOutputMediaFile(mActivity.get(), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (path.isEmpty()) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
final File photoFile = new File(path);
|
|
||||||
final byte[] data = params[0];
|
|
||||||
fos = new FileOutputStream(photoFile);
|
|
||||||
fos.write(data);
|
|
||||||
fos.close();
|
|
||||||
return photoFile.getAbsolutePath();
|
|
||||||
} catch (FileNotFoundException e) {
|
|
||||||
Log.e(TAG, "PhotoProcessor file not found: " + e.getMessage());
|
|
||||||
} catch (IOException e) {
|
|
||||||
Log.e(TAG, "PhotoProcessor ioexception " + e.getMessage());
|
|
||||||
} finally {
|
|
||||||
if (fos != null) {
|
|
||||||
try {
|
|
||||||
fos.close();
|
|
||||||
} catch (IOException e) {
|
|
||||||
Log.e(TAG, "PhotoProcessor close ioexception " + e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onPostExecute(String path) {
|
|
||||||
super.onPostExecute(path);
|
|
||||||
final MediaSavedListener listener = mActivity.get();
|
|
||||||
if (listener != null) {
|
|
||||||
listener.mediaSaved(path);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface MediaSavedListener {
|
|
||||||
void mediaSaved(String path);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
package com.simplemobiletools.camera
|
||||||
|
|
||||||
|
import android.net.Uri
|
||||||
|
import android.os.AsyncTask
|
||||||
|
import android.util.Log
|
||||||
|
|
||||||
|
import com.simplemobiletools.camera.activities.MainActivity
|
||||||
|
|
||||||
|
import java.io.File
|
||||||
|
import java.io.FileNotFoundException
|
||||||
|
import java.io.FileOutputStream
|
||||||
|
import java.io.IOException
|
||||||
|
import java.lang.ref.WeakReference
|
||||||
|
|
||||||
|
class PhotoProcessor(activity: MainActivity, val uri: Uri?) : AsyncTask<ByteArray, Void, String>() {
|
||||||
|
companion object {
|
||||||
|
private val TAG = PhotoProcessor::class.java.simpleName
|
||||||
|
private var mActivity: WeakReference<MainActivity>? = null
|
||||||
|
}
|
||||||
|
|
||||||
|
init {
|
||||||
|
mActivity = WeakReference(activity)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun doInBackground(vararg params: ByteArray): String {
|
||||||
|
var fos: FileOutputStream? = null
|
||||||
|
val path: String
|
||||||
|
try {
|
||||||
|
if (uri != null) {
|
||||||
|
path = uri.path
|
||||||
|
} else {
|
||||||
|
path = Utils.getOutputMediaFile(mActivity?.get(), true)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (path.isEmpty()) {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
val photoFile = File(path)
|
||||||
|
val data = params[0]
|
||||||
|
fos = FileOutputStream(photoFile)
|
||||||
|
fos.write(data)
|
||||||
|
fos.close()
|
||||||
|
return photoFile.absolutePath
|
||||||
|
} catch (e: FileNotFoundException) {
|
||||||
|
Log.e(TAG, "PhotoProcessor file not found: " + e.message)
|
||||||
|
} catch (e: IOException) {
|
||||||
|
Log.e(TAG, "PhotoProcessor ioexception " + e.message)
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
fos?.close()
|
||||||
|
} catch (e: IOException) {
|
||||||
|
Log.e(TAG, "PhotoProcessor close ioexception " + e.message)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onPostExecute(path: String) {
|
||||||
|
super.onPostExecute(path)
|
||||||
|
val listener = mActivity?.get()
|
||||||
|
listener?.mediaSaved(path)
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MediaSavedListener {
|
||||||
|
fun mediaSaved(path: String)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue