From b1cb75d45fc0637e35b35d65dd0edaef2bdbd5db Mon Sep 17 00:00:00 2001 From: LucasGGamerM Date: Sun, 11 Jun 2023 18:12:30 -0300 Subject: [PATCH] feat: still show the attach menu even if no PhotoPicker is avaiable This is due to the newly added camera shortcut, which makes the menu necessary even if no PhotoPicker is available --- .../android/fragments/ComposeFragment.java | 39 +++++++++---------- mastodon/src/main/res/menu/attach.xml | 1 + 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java index e34c4c495..c52d9fbfd 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java @@ -375,29 +375,28 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr view.findViewById(GlobalUserPreferences.replyLineAboveHeader ? R.id.reply_text_below : R.id.reply_text) .setVisibility(View.GONE); - if (isPhotoPickerAvailable()) { - PopupMenu attachPopup = new PopupMenu(getContext(), mediaBtn); - attachPopup.inflate(R.menu.attach); - attachPopup.setOnMenuItemClickListener(i -> { - if (i.getItemId() == R.id.camera){ - if (getContext().checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) { - Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); - startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST_CODE); - } else { - getActivity().requestPermissions(new String[] { Manifest.permission.CAMERA }, CAMERA_PERMISSION_CODE); - } + PopupMenu attachPopup = new PopupMenu(getContext(), mediaBtn); + attachPopup.inflate(R.menu.attach); + if(isPhotoPickerAvailable()) + attachPopup.getMenu().findItem(R.id.media).setVisible(true); + attachPopup.setOnMenuItemClickListener(i -> { + if (i.getItemId() == R.id.camera){ + if (getContext().checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) { + Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST_CODE); } else { - openFilePicker(i.getItemId() == R.id.media); + getActivity().requestPermissions(new String[] { Manifest.permission.CAMERA }, CAMERA_PERMISSION_CODE); } - return true; - }); - UiUtils.enablePopupMenuIcons(getContext(), attachPopup); - mediaBtn.setOnClickListener(v->attachPopup.show()); - mediaBtn.setOnTouchListener(attachPopup.getDragToOpenListener()); - } else { - mediaBtn.setOnClickListener(v -> openFilePicker(false)); - } + + } else { + openFilePicker(i.getItemId() == R.id.media); + } + return true; + }); + UiUtils.enablePopupMenuIcons(getContext(), attachPopup); + mediaBtn.setOnClickListener(v->attachPopup.show()); + mediaBtn.setOnTouchListener(attachPopup.getDragToOpenListener()); if (isInstancePixelfed()) pollBtn.setVisibility(View.GONE); pollBtn.setOnClickListener(v->togglePoll()); emojiBtn.setOnClickListener(v->emojiKeyboard.toggleKeyboardPopup(mainEditText)); diff --git a/mastodon/src/main/res/menu/attach.xml b/mastodon/src/main/res/menu/attach.xml index f1511e99d..6e8c92952 100644 --- a/mastodon/src/main/res/menu/attach.xml +++ b/mastodon/src/main/res/menu/attach.xml @@ -3,6 +3,7 @@