diff --git a/app/src/main/java/app/fedilab/android/activities/BaseTootActivity.java b/app/src/main/java/app/fedilab/android/activities/BaseTootActivity.java index 71a0f5b3e..48100445c 100644 --- a/app/src/main/java/app/fedilab/android/activities/BaseTootActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/BaseTootActivity.java @@ -272,7 +272,6 @@ public abstract class BaseTootActivity extends BaseActivity implements UploadSta private Poll poll; private ImageButton poll_action; private int pollCountItem; - private UploadServiceSingleBroadcastReceiver uploadReceiver; private String quickmessagecontent, quickmessagevisibility; private TextView warning_message; private Editor wysiwyg; @@ -284,7 +283,7 @@ public abstract class BaseTootActivity extends BaseActivity implements UploadSta public void onReceive(Context context, Intent intent) { String imgpath = intent.getStringExtra("imgpath"); if (imgpath != null) { - prepareUpload(BaseTootActivity.this, Uri.fromFile(new File(imgpath)), null, uploadReceiver); + prepareUpload(BaseTootActivity.this, Uri.fromFile(new File(imgpath)), null); } } }; @@ -806,15 +805,15 @@ public abstract class BaseTootActivity extends BaseActivity implements UploadSta ContentResolver cr = getContentResolver(); String mime = cr.getType(uri); if (mime != null && (mime.toLowerCase().contains("video") || mime.toLowerCase().contains("gif"))) { - prepareUpload(BaseTootActivity.this, uri, filename, uploadReceiver); + prepareUpload(BaseTootActivity.this, uri, filename); } else if (mime != null && mime.toLowerCase().contains("image")) { if (photo_editor) { launchPhotoEditor(uri); } else { - prepareUpload(BaseTootActivity.this, uri, filename, uploadReceiver); + prepareUpload(BaseTootActivity.this, uri, filename); } } else if (mime != null && mime.toLowerCase().contains("audio")) { - prepareUpload(BaseTootActivity.this, uri, filename, uploadReceiver); + prepareUpload(BaseTootActivity.this, uri, filename); } else { Toasty.error(BaseTootActivity.this, getString(R.string.toot_select_image_error), Toast.LENGTH_LONG).show(); } @@ -1261,9 +1260,6 @@ public abstract class BaseTootActivity extends BaseActivity implements UploadSta .registerReceiver(imageReceiver, new IntentFilter(Helper.INTENT_SEND_MODIFIED_IMAGE)); - uploadReceiver = new UploadServiceSingleBroadcastReceiver(this); - uploadReceiver.register(this); - LocalBroadcastManager.getInstance(this) .registerReceiver(add_new_media, new IntentFilter(Helper.INTENT_ADD_UPLOADED_MEDIA)); @@ -1455,7 +1451,7 @@ public abstract class BaseTootActivity extends BaseActivity implements UploadSta } picture_scrollview.setVisibility(View.VISIBLE); try { - prepareUpload(BaseTootActivity.this, fileUri, null, uploadReceiver); + prepareUpload(BaseTootActivity.this, fileUri, null); count++; } catch (Exception e) { e.printStackTrace(); @@ -1542,15 +1538,15 @@ public abstract class BaseTootActivity extends BaseActivity implements UploadSta ContentResolver cr = getContentResolver(); String mime = cr.getType(data.getData()); if (mime != null && (mime.toLowerCase().contains("video") || mime.toLowerCase().contains("gif"))) { - prepareUpload(BaseTootActivity.this, data.getData(), filename, uploadReceiver); + prepareUpload(BaseTootActivity.this, data.getData(), filename); } else if (mime != null && mime.toLowerCase().contains("image")) { if (photo_editor) { launchPhotoEditor(data.getData()); } else { - prepareUpload(BaseTootActivity.this, data.getData(), filename, uploadReceiver); + prepareUpload(BaseTootActivity.this, data.getData(), filename); } } else if (mime != null && mime.toLowerCase().contains("audio")) { - prepareUpload(BaseTootActivity.this, data.getData(), filename, uploadReceiver); + prepareUpload(BaseTootActivity.this, data.getData(), filename); } else { Toasty.error(BaseTootActivity.this, getString(R.string.toot_select_image_error), Toast.LENGTH_LONG).show(); } @@ -1558,24 +1554,22 @@ public abstract class BaseTootActivity extends BaseActivity implements UploadSta } else if (requestCode == SEND_VOICE_MESSAGE && resultCode == RESULT_OK) { Uri uri = Uri.fromFile(new File(getCacheDir() + "/fedilab_recorded_audio.wav")); - prepareUpload(BaseTootActivity.this, uri, "fedilab_recorded_audio.wav", uploadReceiver); + prepareUpload(BaseTootActivity.this, uri, "fedilab_recorded_audio.wav"); } else if (requestCode == TAKE_PHOTO && resultCode == RESULT_OK) { if (photo_editor) { launchPhotoEditor(photoFileUri); } else { - prepareUpload(BaseTootActivity.this, photoFileUri, null, uploadReceiver); + prepareUpload(BaseTootActivity.this, photoFileUri, null); } } else if (requestCode == wysiwyg.PICK_IMAGE_REQUEST && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { String filename = Helper.getFileName(BaseTootActivity.this, data.getData()); - prepareUpload(BaseTootActivity.this, data.getData(), "fedilabins_" + filename, uploadReceiver); + prepareUpload(BaseTootActivity.this, data.getData(), "fedilabins_" + filename); } } - private void prepareUpload(Activity activity, android.net.Uri uri, String filename, UploadServiceSingleBroadcastReceiver uploadReceiver) { - if (uploadReceiver == null) { - uploadReceiver = new UploadServiceSingleBroadcastReceiver(BaseTootActivity.this); - uploadReceiver.register(this); - } + private void prepareUpload(Activity activity, android.net.Uri uri, String filename) { + UploadServiceSingleBroadcastReceiver uploadReceiver = new UploadServiceSingleBroadcastReceiver(BaseTootActivity.this); + uploadReceiver.register(this); new asyncPicture(activity, account, social, uri, filename, uploadReceiver).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } @@ -1643,7 +1637,7 @@ public abstract class BaseTootActivity extends BaseActivity implements UploadSta } String filename = Helper.getFileName(BaseTootActivity.this, imageUri); - prepareUpload(BaseTootActivity.this, imageUri, filename, uploadReceiver); + prepareUpload(BaseTootActivity.this, imageUri, filename); } } @@ -2168,7 +2162,7 @@ public abstract class BaseTootActivity extends BaseActivity implements UploadSta toot_picture_container.setVisibility(View.VISIBLE); toot_picture.setEnabled(false); toot_it.setEnabled(false); - upload(BaseTootActivity.this, account, social, uri, filename, uploadReceiver); + prepareUpload(BaseTootActivity.this, uri, filename); } } @@ -2373,7 +2367,6 @@ public abstract class BaseTootActivity extends BaseActivity implements UploadSta .unregisterReceiver(imageReceiver); LocalBroadcastManager.getInstance(this) .unregisterReceiver(add_new_media); - uploadReceiver.unregister(this); } @Override