Skip to content

Commit c2128ad

Browse files
Use getOnBackPressedDispatcher().addCallback in EditPostActivity.
1 parent 9564299 commit c2128ad

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

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

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import android.content.Intent;
55
import android.content.SharedPreferences;
66
import android.net.Uri;
7-
import android.os.Build;
87
import android.os.Bundle;
98
import android.os.Environment;
109
import android.os.Handler;
@@ -14,6 +13,7 @@
1413
import android.view.View;
1514
import android.widget.Toast;
1615

16+
import androidx.activity.OnBackPressedCallback;
1717
import androidx.annotation.NonNull;
1818
import androidx.annotation.Nullable;
1919
import androidx.core.content.FileProvider;
@@ -40,14 +40,14 @@
4040

4141
import ml.docilealligator.infinityforreddit.Infinity;
4242
import ml.docilealligator.infinityforreddit.R;
43-
import ml.docilealligator.infinityforreddit.thing.UploadedImage;
4443
import ml.docilealligator.infinityforreddit.adapters.MarkdownBottomBarRecyclerViewAdapter;
4544
import ml.docilealligator.infinityforreddit.apis.RedditAPI;
4645
import ml.docilealligator.infinityforreddit.bottomsheetfragments.UploadedImagesBottomSheetFragment;
4746
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
4847
import ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed;
4948
import ml.docilealligator.infinityforreddit.databinding.ActivityEditPostBinding;
5049
import ml.docilealligator.infinityforreddit.events.SwitchAccountEvent;
50+
import ml.docilealligator.infinityforreddit.thing.UploadedImage;
5151
import ml.docilealligator.infinityforreddit.utils.APIUtils;
5252
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
5353
import ml.docilealligator.infinityforreddit.utils.Utils;
@@ -178,6 +178,22 @@ public void onUploadImage() {
178178

179179
binding.postContentEditTextEditPostActivity.requestFocus();
180180
Utils.showKeyboard(this, new Handler(), binding.postContentEditTextEditPostActivity);
181+
182+
getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
183+
@Override
184+
public void handleOnBackPressed() {
185+
if (isSubmitting) {
186+
promptAlertDialog(R.string.exit_when_submit, R.string.exit_when_edit_post_detail);
187+
} else {
188+
if (binding.postContentEditTextEditPostActivity.getText().toString().equals(mPostContent)) {
189+
setEnabled(false);
190+
triggerBackPress();
191+
} else {
192+
promptAlertDialog(R.string.discard, R.string.discard_detail);
193+
}
194+
}
195+
}
196+
});
181197
}
182198

183199
@Override
@@ -235,7 +251,7 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) {
235251
editPost();
236252
return true;
237253
} else if (item.getItemId() == android.R.id.home) {
238-
onBackPressed();
254+
triggerBackPress();
239255
return true;
240256
}
241257
return false;
@@ -309,19 +325,6 @@ private void promptAlertDialog(int titleResId, int messageResId) {
309325
.show();
310326
}
311327

312-
@Override
313-
public void onBackPressed() {
314-
if (isSubmitting) {
315-
promptAlertDialog(R.string.exit_when_submit, R.string.exit_when_edit_post_detail);
316-
} else {
317-
if (binding.postContentEditTextEditPostActivity.getText().toString().equals(mPostContent)) {
318-
finish();
319-
} else {
320-
promptAlertDialog(R.string.discard, R.string.discard_detail);
321-
}
322-
}
323-
}
324-
325328
@Override
326329
protected void onDestroy() {
327330
super.onDestroy();

0 commit comments

Comments
 (0)