Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
e6be88e
Updated ref for wp media picker.
jd-alexander Nov 17, 2020
24665ad
Added support to the MediaBrowserType for a single file picker
jd-alexander Nov 18, 2020
e7c7166
the media picker setup now has support for selecting files.
jd-alexander Nov 18, 2020
fc8fcfe
implemented listener behavior to trigger picker action from the block.
jd-alexander Nov 18, 2020
187b642
Updated ref
jd-alexander Nov 18, 2020
850f6cf
Utilize the consolidated media picker for file picking.
jd-alexander Nov 19, 2020
6c75b06
configured multiselect for file picker behavior.
jd-alexander Nov 19, 2020
9723ab9
MediaBrowserActivity File Picker action now does multiselect by default.
jd-alexander Nov 19, 2020
979868e
removed the SINGLE_FILE_PICKER from here since its not an IMAGE_PICKER
jd-alexander Nov 19, 2020
d54ef3f
The SINGLE_FILE_PICKER is associated with isSingleMediaPicker
jd-alexander Nov 19, 2020
2690759
fixed lint errors
jd-alexander Nov 19, 2020
eeabd44
Created isSingleFilePicker so a single file can be selected.
jd-alexander Nov 19, 2020
5f1bfa2
removed unneeded line.
jd-alexander Nov 19, 2020
08d816c
Updated gb ref.
jd-alexander Nov 19, 2020
5dcf658
Merge branch 'develop' into file-block-III-wp-media-picker
jd-alexander Nov 20, 2020
9518cdf
Updated gb ref.
jd-alexander Nov 20, 2020
49db75a
Update gutenberg ref
etoledom Nov 25, 2020
410d746
Update gutenberg ref.
jd-alexander Nov 26, 2020
86292a7
Merge pull request #13413 from wordpress-mobile/file-block-III-wp-med…
jd-alexander Nov 26, 2020
4ffffa4
Merge branch 'develop' into gutenberg/after_1.42.0
jd-alexander Nov 27, 2020
cc2879a
Merge branch 'develop' into gutenberg/after_1.42.0
cameronvoell Dec 1, 2020
7f6ce08
Updated gutenberg-mobile ref
cameronvoell Dec 1, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -709,7 +709,8 @@ public void onMediaItemSelected(int localMediaId, boolean isLongClick) {
if (mBrowserType.isBrowser() && !isLongClick
|| mBrowserType.isPicker() && isLongClick) {
showMediaSettings(media);
} else if ((mBrowserType.isSingleImagePicker() || mBrowserType.isSingleMediaPicker()) && !isLongClick) {
} else if ((mBrowserType.isSingleImagePicker() || mBrowserType.isSingleMediaPicker() || mBrowserType
.isSingleFilePicker()) && !isLongClick) {
// if we're picking a single image, we're done
Intent intent = new Intent();
ArrayList<Long> remoteMediaIds = new ArrayList<>();
Expand Down Expand Up @@ -1010,7 +1011,7 @@ private void doAddMediaItemClicked(@NonNull AddMenuItem item) {
WPMediaUtils.launchVideoLibrary(this, true);
break;
case ITEM_CHOOSE_FILE:
mMediaPickerLauncher.showFilePicker(this);
mMediaPickerLauncher.showFilePicker(this, true);
break;
case ITEM_CHOOSE_STOCK_MEDIA:
mMediaPickerLauncher.showStockMediaPickerForResult(this,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ public enum MediaBrowserType {
GUTENBERG_SINGLE_VIDEO_PICKER, // select video from Gutenberg editor
GUTENBERG_SINGLE_MEDIA_PICKER, // select a single image or video to insert into a post
GUTENBERG_MEDIA_PICKER, // select multiple images or videos to insert into a post
GUTENBERG_SINGLE_FILE_PICKER, // select a file to insert into a post
WP_STORIES_MEDIA_PICKER; // select multiple images or videos to insert as Story frames in a Story

public boolean isPicker() {
Expand Down Expand Up @@ -40,7 +41,8 @@ public boolean isImagePicker() {
|| this == GUTENBERG_SINGLE_IMAGE_PICKER
|| this == GUTENBERG_SINGLE_MEDIA_PICKER
|| this == GUTENBERG_MEDIA_PICKER
|| this == WP_STORIES_MEDIA_PICKER;
|| this == WP_STORIES_MEDIA_PICKER
|| this == GUTENBERG_SINGLE_FILE_PICKER;
}

public boolean isVideoPicker() {
Expand All @@ -50,7 +52,16 @@ public boolean isVideoPicker() {
|| this == GUTENBERG_SINGLE_VIDEO_PICKER
|| this == GUTENBERG_SINGLE_MEDIA_PICKER
|| this == GUTENBERG_MEDIA_PICKER
|| this == WP_STORIES_MEDIA_PICKER;
|| this == WP_STORIES_MEDIA_PICKER
|| this == GUTENBERG_SINGLE_FILE_PICKER;
}

public boolean isAudioPicker() {
return this == GUTENBERG_SINGLE_FILE_PICKER;
}

public boolean isDocumentPicker() {
return this == GUTENBERG_SINGLE_FILE_PICKER;
}

public boolean isGutenbergPicker() {
Expand All @@ -59,23 +70,28 @@ public boolean isGutenbergPicker() {
|| this == GUTENBERG_VIDEO_PICKER
|| this == GUTENBERG_SINGLE_VIDEO_PICKER
|| this == GUTENBERG_SINGLE_MEDIA_PICKER
|| this == GUTENBERG_MEDIA_PICKER;
|| this == GUTENBERG_MEDIA_PICKER
|| this == GUTENBERG_SINGLE_FILE_PICKER;
}

public boolean isWPStoriesPicker() {
return this == WP_STORIES_MEDIA_PICKER;
}

public boolean isSingleFilePicker() {
return this == GUTENBERG_SINGLE_FILE_PICKER;
}

public boolean isSingleMediaPicker() {
return this == GUTENBERG_SINGLE_MEDIA_PICKER;
}

public boolean canMultiselect() {
return this == EDITOR_PICKER
|| this == AZTEC_EDITOR_PICKER
|| this == GUTENBERG_IMAGE_PICKER
|| this == GUTENBERG_VIDEO_PICKER
|| this == WP_STORIES_MEDIA_PICKER;
|| this == AZTEC_EDITOR_PICKER
|| this == GUTENBERG_IMAGE_PICKER
|| this == GUTENBERG_VIDEO_PICKER
|| this == WP_STORIES_MEDIA_PICKER;
}

public boolean canFilter() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,8 @@ List<MediaModel> getFilteredMedia() {
}
} else if (mBrowserType.isSingleImagePicker()) {
mediaList = mMediaStore.getSiteImages(mSite);
} else if (mBrowserType.canFilter() || mBrowserType.canOnlyDoInitialFilter()) {
} else if (mBrowserType.canFilter() || mBrowserType.canOnlyDoInitialFilter() || mBrowserType
.isSingleFilePicker()) {
mediaList = getMediaList();
} else {
List<MediaModel> allMedia = mMediaStore.getAllSiteMedia(mSite);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,13 +162,13 @@ class MediaPickerLauncher @Inject constructor(
fragment.startActivityForResult(intent, RequestCodes.PHOTO_PICKER)
}

fun showFilePicker(activity: Activity) {
fun showFilePicker(activity: Activity, canMultiselect: Boolean = true) {
if (consolidatedMediaPickerFeatureConfig.isEnabled()) {
val allowedTypes = mutableSetOf(IMAGE, VIDEO, AUDIO, DOCUMENT)
val mediaPickerSetup = MediaPickerSetup(
primaryDataSource = DEVICE,
availableDataSources = setOf(),
canMultiselect = true,
canMultiselect = canMultiselect,
requiresStoragePermissions = true,
allowedTypes = allowedTypes,
cameraSetup = HIDDEN,
Expand All @@ -187,7 +187,7 @@ class MediaPickerLauncher @Inject constructor(
RequestCodes.FILE_LIBRARY
)
} else {
WPMediaUtils.launchFileLibrary(activity, true)
WPMediaUtils.launchFileLibrary(activity, canMultiselect)
}
}

Expand Down Expand Up @@ -313,6 +313,15 @@ class MediaPickerLauncher @Inject constructor(
if (browserType.isVideoPicker) {
allowedTypes.add(VIDEO)
}

if (browserType.isAudioPicker) {
allowedTypes.add(AUDIO)
}

if (browserType.isDocumentPicker) {
allowedTypes.add(DOCUMENT)
}

return MediaPickerSetup(
primaryDataSource = WP_LIBRARY,
availableDataSources = setOf(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2721,10 +2721,21 @@ postId, getSite(), mediaUri,
}
break;
case RequestCodes.FILE_LIBRARY:
uris = WPMediaUtils.retrieveMediaUris(data);
mAnalyticsTrackerWrapper.track(Stat.EDITOR_ADDED_FILE_VIA_LIBRARY);
for (Uri item : uris) {
mEditorMedia.addNewMediaToEditorAsync(item, false);
if (mConsolidatedMediaPickerFeatureConfig.isEnabled()) {
if (data.hasExtra(MediaPickerConstants.EXTRA_MEDIA_URIS)) {
List<Uri> uriResults = convertStringArrayIntoUrisList(
Objects.requireNonNull(
data.getStringArrayExtra(MediaPickerConstants.EXTRA_MEDIA_URIS)));
for (Uri uri : uriResults) {
mEditorMedia.addNewMediaToEditorAsync(uri, false);
}
}
} else {
uris = WPMediaUtils.retrieveMediaUris(data);
mAnalyticsTrackerWrapper.track(Stat.EDITOR_ADDED_FILE_VIA_LIBRARY);
for (Uri item : uris) {
mEditorMedia.addNewMediaToEditorAsync(item, false);
}
}
break;
}
Expand Down Expand Up @@ -2926,6 +2937,12 @@ public void onAddLibraryMediaClicked(boolean allowMultipleSelection) {
}
}

@Override public void onAddLibraryFileClicked(boolean allowMultipleSelection) {
mEditorPhotoPicker.setAllowMultipleSelection(allowMultipleSelection);
mMediaPickerLauncher
.viewWPMediaLibraryPickerForResult(this, mSite, MediaBrowserType.GUTENBERG_SINGLE_FILE_PICKER);
}

@Override
public void onAddPhotoClicked(boolean allowMultipleSelection) {
if (allowMultipleSelection) {
Expand Down Expand Up @@ -2976,7 +2993,7 @@ public void onAddGifClicked(boolean allowMultipleSelection) {

@Override
public void onAddFileClicked(boolean allowMultipleSelection) {
WPMediaUtils.launchFileLibrary(this, allowMultipleSelection);
mMediaPickerLauncher.showFilePicker(this, allowMultipleSelection);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ public interface EditorFragmentListener extends DialogVisibilityProvider {
void onAddMediaImageClicked(boolean allowMultipleSelection);
void onAddMediaVideoClicked(boolean allowMultipleSelection);
void onAddLibraryMediaClicked(boolean allowMultipleSelection);
void onAddLibraryFileClicked(boolean allowMultipleSelection);
void onAddPhotoClicked(boolean allowMultipleSelection);
void onCapturePhotoClicked();
void onAddVideoClicked(boolean allowMultipleSelection);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,11 @@ public void onMediaLibraryMediaButtonClicked(boolean allowMultipleSelection) {
mEditorFragmentListener.onAddLibraryMediaClicked(allowMultipleSelection);
}

@Override public void onMediaLibraryFileButtonClicked(boolean allowMultipleSelection) {
mEditorFragmentListener.onTrackableEvent(TrackableEvent.MEDIA_BUTTON_TAPPED);
mEditorFragmentListener.onAddLibraryFileClicked(allowMultipleSelection);
}

@Override
public void onUploadPhotoButtonClicked(boolean allowMultipleSelection) {
mEditorFragmentListener.onAddPhotoClicked(allowMultipleSelection);
Expand Down
2 changes: 1 addition & 1 deletion libs/gutenberg-mobile
Submodule gutenberg-mobile updated 55 files
+2 −0 bundle/android/strings.xml
+2,982 −3,362 bundle/ios/App.js
+1 −1 bundle/ios/App.js.map
+2 −0 bundle/ios/GutenbergNativeTranslations.swift
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/ar.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/bg.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/bo.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/ca.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/cs.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/cy.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/da.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/de.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/el.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/en-au.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/en-ca.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/en-gb.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/en-nz.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/en-za.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/es-ar.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/es-cl.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/es-cr.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/es.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/fa.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/fr.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/gl.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/he.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/hr.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/hu.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/id.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/is.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/it.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/ja.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/ka.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/ko.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/nb.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/nl-be.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/nl.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/pl.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/pt-br.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/pt.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/ro.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/ru.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/sk.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/sq.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/sr.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/sv.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/th.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/tr.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/uk.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/ur.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/vi.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/zh-cn.json
+1 −1 bundle/ios/assets/gutenberg/packages/react-native-editor/i18n-cache/data/zh-tw.json
+1 −1 gutenberg
+1 −1 jetpack