From d49733695dad50d42d4155b17ad1af47e838b078 Mon Sep 17 00:00:00 2001 From: sk Date: Sun, 22 Jan 2023 01:06:49 +0100 Subject: [PATCH] add back file opener closes sk22#328 --- .../android/fragments/ComposeFragment.java | 20 +++++++++++++++---- .../drawable/ic_fluent_attach_24_regular.xml | 3 +++ .../ic_fluent_document_24_regular.xml | 3 +++ .../src/main/res/layout/fragment_compose.xml | 2 +- mastodon/src/main/res/menu/attach.xml | 11 ++++++++++ mastodon/src/main/res/values/strings_sk.xml | 2 ++ 6 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 mastodon/src/main/res/drawable/ic_fluent_attach_24_regular.xml create mode 100644 mastodon/src/main/res/drawable/ic_fluent_document_24_regular.xml create mode 100644 mastodon/src/main/res/menu/attach.xml 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 e00cfc671..883e381bc 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java @@ -175,7 +175,7 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr private int charCount, charLimit, trimmedCharCount; private Button publishButton, languageButton, scheduleTimeBtn, draftsBtn; - private PopupMenu languagePopup, visibilityPopup, draftOptionsPopup; + private PopupMenu languagePopup, visibilityPopup, draftOptionsPopup, attachPopup; private ImageButton mediaBtn, pollBtn, emojiBtn, spoilerBtn, visibilityBtn, scheduleDraftDismiss; private ImageView sensitiveIcon; private ComposeMediaLayout attachmentsView; @@ -348,7 +348,19 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr sensitiveItem=view.findViewById(R.id.sensitive_item); replyText=view.findViewById(R.id.reply_text); - mediaBtn.setOnClickListener(v->openFilePicker()); + if (isPhotoPickerAvailable()) { + PopupMenu attachPopup = new PopupMenu(getContext(), mediaBtn); + attachPopup.inflate(R.menu.attach); + attachPopup.setOnMenuItemClickListener(i -> { + openFilePicker(i.getItemId() == R.id.media); + return true; + }); + UiUtils.enablePopupMenuIcons(getContext(), attachPopup); + mediaBtn.setOnClickListener(v->attachPopup.show()); + mediaBtn.setOnTouchListener(attachPopup.getDragToOpenListener()); + } else { + mediaBtn.setOnClickListener(v -> openFilePicker(false)); + } pollBtn.setOnClickListener(v->togglePoll()); emojiBtn.setOnClickListener(v->emojiKeyboard.toggleKeyboardPopup(mainEditText)); spoilerBtn.setOnClickListener(v->toggleSpoiler()); @@ -1207,9 +1219,9 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr * *

For earlier versions use the built in docs ui via {@link Intent#ACTION_GET_CONTENT} */ - private void openFilePicker(){ + private void openFilePicker(boolean photoPicker){ Intent intent; - boolean usePhotoPicker = isPhotoPickerAvailable(); + boolean usePhotoPicker = photoPicker && isPhotoPickerAvailable(); if (usePhotoPicker) { intent = new Intent(MediaStore.ACTION_PICK_IMAGES); intent.putExtra(MediaStore.EXTRA_PICK_IMAGES_MAX, MediaStore.getPickImagesMaxLimit()); diff --git a/mastodon/src/main/res/drawable/ic_fluent_attach_24_regular.xml b/mastodon/src/main/res/drawable/ic_fluent_attach_24_regular.xml new file mode 100644 index 000000000..06c6ed284 --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_attach_24_regular.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/drawable/ic_fluent_document_24_regular.xml b/mastodon/src/main/res/drawable/ic_fluent_document_24_regular.xml new file mode 100644 index 000000000..8fab94e5e --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_document_24_regular.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/layout/fragment_compose.xml b/mastodon/src/main/res/layout/fragment_compose.xml index 4ef708752..8e0d0b633 100644 --- a/mastodon/src/main/res/layout/fragment_compose.xml +++ b/mastodon/src/main/res/layout/fragment_compose.xml @@ -331,7 +331,7 @@ android:tintMode="src_in" android:contentDescription="@string/add_media" android:tooltipText="@string/add_media" - android:src="@drawable/ic_fluent_image_24_regular"/> + android:src="@drawable/ic_fluent_attach_24_regular"/> +

+ + + \ No newline at end of file diff --git a/mastodon/src/main/res/values/strings_sk.xml b/mastodon/src/main/res/values/strings_sk.xml index db16b5cfe..796586124 100644 --- a/mastodon/src/main/res/values/strings_sk.xml +++ b/mastodon/src/main/res/values/strings_sk.xml @@ -174,4 +174,6 @@ edited Edited posts Edits a reblogged post + Add media + Attach file \ No newline at end of file