|
4 | 4 | import android.content.Intent;
|
5 | 5 | import android.content.SharedPreferences;
|
6 | 6 | import android.net.Uri;
|
7 |
| -import android.os.Build; |
8 | 7 | import android.os.Bundle;
|
9 | 8 | import android.os.Environment;
|
10 | 9 | import android.os.Handler;
|
|
14 | 13 | import android.view.View;
|
15 | 14 | import android.widget.Toast;
|
16 | 15 |
|
| 16 | +import androidx.activity.OnBackPressedCallback; |
17 | 17 | import androidx.annotation.NonNull;
|
18 | 18 | import androidx.annotation.Nullable;
|
19 | 19 | import androidx.core.content.FileProvider;
|
|
40 | 40 |
|
41 | 41 | import ml.docilealligator.infinityforreddit.Infinity;
|
42 | 42 | import ml.docilealligator.infinityforreddit.R;
|
43 |
| -import ml.docilealligator.infinityforreddit.thing.UploadedImage; |
44 | 43 | import ml.docilealligator.infinityforreddit.adapters.MarkdownBottomBarRecyclerViewAdapter;
|
45 | 44 | import ml.docilealligator.infinityforreddit.apis.RedditAPI;
|
46 | 45 | import ml.docilealligator.infinityforreddit.bottomsheetfragments.UploadedImagesBottomSheetFragment;
|
47 | 46 | import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
48 | 47 | import ml.docilealligator.infinityforreddit.customviews.LinearLayoutManagerBugFixed;
|
49 | 48 | import ml.docilealligator.infinityforreddit.databinding.ActivityEditPostBinding;
|
50 | 49 | import ml.docilealligator.infinityforreddit.events.SwitchAccountEvent;
|
| 50 | +import ml.docilealligator.infinityforreddit.thing.UploadedImage; |
51 | 51 | import ml.docilealligator.infinityforreddit.utils.APIUtils;
|
52 | 52 | import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
53 | 53 | import ml.docilealligator.infinityforreddit.utils.Utils;
|
@@ -178,6 +178,22 @@ public void onUploadImage() {
|
178 | 178 |
|
179 | 179 | binding.postContentEditTextEditPostActivity.requestFocus();
|
180 | 180 | 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 | + }); |
181 | 197 | }
|
182 | 198 |
|
183 | 199 | @Override
|
@@ -235,7 +251,7 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
235 | 251 | editPost();
|
236 | 252 | return true;
|
237 | 253 | } else if (item.getItemId() == android.R.id.home) {
|
238 |
| - onBackPressed(); |
| 254 | + triggerBackPress(); |
239 | 255 | return true;
|
240 | 256 | }
|
241 | 257 | return false;
|
@@ -309,19 +325,6 @@ private void promptAlertDialog(int titleResId, int messageResId) {
|
309 | 325 | .show();
|
310 | 326 | }
|
311 | 327 |
|
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 |
| - |
325 | 328 | @Override
|
326 | 329 | protected void onDestroy() {
|
327 | 330 | super.onDestroy();
|
|
0 commit comments