Skip to content

Commit bfa3e28

Browse files
Use getOnBackPressedDispatcher().addCallback in PostLinkActivity.
1 parent c2128ad commit bfa3e28

File tree

1 file changed

+22
-30
lines changed

1 file changed

+22
-30
lines changed

app/src/main/java/ml/docilealligator/infinityforreddit/activities/PostLinkActivity.java

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import android.content.Intent;
77
import android.content.SharedPreferences;
88
import android.content.res.Resources;
9-
import android.os.Build;
109
import android.os.Bundle;
1110
import android.os.Handler;
1211
import android.os.PersistableBundle;
@@ -16,6 +15,7 @@
1615
import android.webkit.URLUtil;
1716
import android.widget.Toast;
1817

18+
import androidx.activity.OnBackPressedCallback;
1919
import androidx.annotation.NonNull;
2020
import androidx.annotation.Nullable;
2121
import androidx.core.graphics.Insets;
@@ -39,11 +39,9 @@
3939
import javax.inject.Named;
4040

4141
import jp.wasabeef.glide.transformations.RoundedCornersTransformation;
42-
import ml.docilealligator.infinityforreddit.subreddit.Flair;
4342
import ml.docilealligator.infinityforreddit.Infinity;
4443
import ml.docilealligator.infinityforreddit.R;
4544
import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
46-
import ml.docilealligator.infinityforreddit.thing.SelectThingReturnKey;
4745
import ml.docilealligator.infinityforreddit.account.Account;
4846
import ml.docilealligator.infinityforreddit.adapters.MarkdownBottomBarRecyclerViewAdapter;
4947
import ml.docilealligator.infinityforreddit.apis.TitleSuggestion;
@@ -56,6 +54,8 @@
5654
import ml.docilealligator.infinityforreddit.events.SubmitTextOrLinkPostEvent;
5755
import ml.docilealligator.infinityforreddit.events.SwitchAccountEvent;
5856
import ml.docilealligator.infinityforreddit.services.SubmitPostService;
57+
import ml.docilealligator.infinityforreddit.subreddit.Flair;
58+
import ml.docilealligator.infinityforreddit.thing.SelectThingReturnKey;
5959
import ml.docilealligator.infinityforreddit.utils.APIUtils;
6060
import retrofit2.Call;
6161
import retrofit2.Callback;
@@ -391,6 +391,24 @@ public void onUploadImage() {
391391
binding.markdownBottomBarRecyclerViewPostLinkActivity.setLayoutManager(new LinearLayoutManagerBugFixed(this,
392392
LinearLayoutManager.HORIZONTAL, true).setStackFromEndAndReturnCurrentObject());
393393
binding.markdownBottomBarRecyclerViewPostLinkActivity.setAdapter(adapter);
394+
395+
getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
396+
@Override
397+
public void handleOnBackPressed() {
398+
if (isPosting) {
399+
promptAlertDialog(R.string.exit_when_submit, R.string.exit_when_submit_post_detail);
400+
} else {
401+
if (!binding.postTitleEditTextPostLinkActivity.getText().toString().isEmpty()
402+
|| !binding.postContentEditTextPostLinkActivity.getText().toString().isEmpty()
403+
|| !binding.postLinkEditTextPostLinkActivity.getText().toString().isEmpty()) {
404+
promptAlertDialog(R.string.discard, R.string.discard_detail);
405+
} else {
406+
setEnabled(false);
407+
triggerBackPress();
408+
}
409+
}
410+
}
411+
});
394412
}
395413

396414
private void loadCurrentAccount() {
@@ -522,18 +540,7 @@ public boolean onCreateOptionsMenu(Menu menu) {
522540
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
523541
int itemId = item.getItemId();
524542
if (itemId == android.R.id.home) {
525-
if (isPosting) {
526-
promptAlertDialog(R.string.exit_when_submit, R.string.exit_when_submit_post_detail);
527-
return true;
528-
} else {
529-
if (!binding.postTitleEditTextPostLinkActivity.getText().toString().isEmpty()
530-
|| !binding.postContentEditTextPostLinkActivity.getText().toString().isEmpty()
531-
|| !binding.postLinkEditTextPostLinkActivity.getText().toString().isEmpty()) {
532-
promptAlertDialog(R.string.discard, R.string.discard_detail);
533-
return true;
534-
}
535-
}
536-
finish();
543+
triggerBackPress();
537544
return true;
538545
} else if (itemId == R.id.action_send_post_link_activity) {
539546
if (!subredditSelected) {
@@ -614,21 +621,6 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) {
614621
return false;
615622
}
616623

617-
@Override
618-
public void onBackPressed() {
619-
if (isPosting) {
620-
promptAlertDialog(R.string.exit_when_submit, R.string.exit_when_submit_post_detail);
621-
} else {
622-
if (!binding.postTitleEditTextPostLinkActivity.getText().toString().isEmpty()
623-
|| !binding.postContentEditTextPostLinkActivity.getText().toString().isEmpty()
624-
|| !binding.postLinkEditTextPostLinkActivity.getText().toString().isEmpty()) {
625-
promptAlertDialog(R.string.discard, R.string.discard_detail);
626-
} else {
627-
finish();
628-
}
629-
}
630-
}
631-
632624
@Override
633625
protected void onSaveInstanceState(@NonNull Bundle outState) {
634626
super.onSaveInstanceState(outState);

0 commit comments

Comments
 (0)