From 51e7810c05f749614c580dd43d869d8d750cc72c Mon Sep 17 00:00:00 2001 From: NudeDude Date: Sat, 27 Jul 2019 10:51:49 +0200 Subject: [PATCH] bug fix --- .idea/misc.xml | 2 +- .../twidda/backend/StatusUploader.java | 31 +++++++++++-------- .../nuclearfog/twidda/window/TweetPopup.java | 7 ----- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index af0bbdde..703e5d4b 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,7 +5,7 @@ - + diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/StatusUploader.java b/app/src/main/java/org/nuclearfog/twidda/backend/StatusUploader.java index 781f817a..e6a477b4 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/StatusUploader.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/StatusUploader.java @@ -6,7 +6,6 @@ import android.content.DialogInterface.OnClickListener; import android.os.AsyncTask; import android.view.LayoutInflater; import android.view.View; -import android.view.Window; import android.widget.Toast; import androidx.annotation.NonNull; @@ -21,6 +20,10 @@ import java.lang.ref.WeakReference; import twitter4j.TwitterException; +import static android.os.AsyncTask.Status.RUNNING; +import static android.view.Window.FEATURE_NO_TITLE; +import static android.widget.Toast.LENGTH_LONG; + public class StatusUploader extends AsyncTask { private WeakReference ui; @@ -40,32 +43,32 @@ public class StatusUploader extends AsyncTask { @Override protected void onPreExecute() { if (popup.get() != null && ui.get() != null) { - final Dialog window = popup.get(); - window.requestWindowFeature(Window.FEATURE_NO_TITLE); - window.setCanceledOnTouchOutside(false); - if (window.getWindow() != null) - window.getWindow().setBackgroundDrawableResource(android.R.color.transparent); + final Dialog loadingCircle = popup.get(); + loadingCircle.requestWindowFeature(FEATURE_NO_TITLE); + loadingCircle.setCanceledOnTouchOutside(false); + if (loadingCircle.getWindow() != null) + loadingCircle.getWindow().setBackgroundDrawableResource(android.R.color.transparent); LayoutInflater inflater = LayoutInflater.from(ui.get()); View load = inflater.inflate(R.layout.item_load, null, false); View cancelButton = load.findViewById(R.id.kill_button); - window.setContentView(load); + loadingCircle.setContentView(load); cancelButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - window.dismiss(); + loadingCircle.dismiss(); } }); - window.setOnDismissListener(new DialogInterface.OnDismissListener() { + loadingCircle.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { - if (getStatus() == Status.RUNNING) { + if (ui.get() != null && getStatus() == RUNNING) { Toast.makeText(ui.get(), R.string.abort, Toast.LENGTH_SHORT).show(); cancel(true); } } }); - window.show(); + loadingCircle.show(); } } @@ -89,7 +92,8 @@ public class StatusUploader extends AsyncTask { protected void onPostExecute(Boolean success) { if (ui.get() != null && popup.get() != null) { if (success) { - ui.get().close(); + Toast.makeText(ui.get(), R.string.tweet_sent, LENGTH_LONG).show(); + ui.get().finish(); } else { if (err != null) ErrorHandler.printError(ui.get(), err); @@ -99,7 +103,8 @@ public class StatusUploader extends AsyncTask { .setPositiveButton(R.string.retry, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - ui.get().findViewById(R.id.sendTweet).callOnClick(); + if (ui.get() != null) + ui.get().findViewById(R.id.sendTweet).callOnClick(); } }) .setNegativeButton(R.string.cancel, null).show(); diff --git a/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java b/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java index bc2a0f29..090db7c8 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java @@ -33,7 +33,6 @@ import static android.os.AsyncTask.Status.RUNNING; import static android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI; import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; -import static android.widget.Toast.LENGTH_LONG; import static android.widget.Toast.LENGTH_SHORT; import static org.nuclearfog.twidda.window.MediaViewer.KEY_MEDIA_LINK; import static org.nuclearfog.twidda.window.MediaViewer.KEY_MEDIA_TYPE; @@ -236,12 +235,6 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener { } - public void close() { - Toast.makeText(this, R.string.tweet_sent, LENGTH_LONG).show(); - finish(); - } - - private void showClosingMsg() { if (!addition.equals(tweet.getText().toString()) || !mediaPath.isEmpty()) { Builder closeDialog = new Builder(this);