19
19
import android .text .Editable ;
20
20
import android .text .Spanned ;
21
21
import android .text .TextUtils ;
22
- import android .util .ArrayMap ;
23
22
import android .view .ContextThemeWrapper ;
24
23
import android .view .DragEvent ;
25
24
import android .view .Menu ;
@@ -258,7 +257,6 @@ enum RestartEditorOptions {
258
257
private boolean mShowAztecEditor ;
259
258
private boolean mShowGutenbergEditor ;
260
259
private boolean mMediaInsertedOnCreation ;
261
- private boolean mAllowMultipleSelection ;
262
260
263
261
private List <String > mPendingVideoPressInfoRequests ;
264
262
private List <String > mAztecBackspaceDeletedOrGbBlockDeletedMediaItemIds = new ArrayList <>();
@@ -1206,9 +1204,8 @@ public void onMediaToolbarButtonClicked(MediaToolbarAction action) {
1206
1204
* picker, or WP media picker
1207
1205
*/
1208
1206
@ Override
1209
- public void onPhotoPickerIconClicked (@ NonNull PhotoPickerIcon icon , boolean allowMultipleSelection ) {
1207
+ public void onPhotoPickerIconClicked (@ NonNull PhotoPickerIcon icon ) {
1210
1208
hidePhotoPicker ();
1211
- mAllowMultipleSelection = allowMultipleSelection ;
1212
1209
switch (icon ) {
1213
1210
case ANDROID_CAPTURE_PHOTO :
1214
1211
launchCamera ();
@@ -1790,11 +1787,13 @@ private void onUploadProgress(MediaModel media, float progress) {
1790
1787
}
1791
1788
1792
1789
private void launchPictureLibrary () {
1793
- WPMediaUtils .launchPictureLibrary (this , mAllowMultipleSelection );
1790
+ // don't allow multiple selection for Gutenberg, as we're on a single image block for now
1791
+ WPMediaUtils .launchPictureLibrary (this , !mShowGutenbergEditor );
1794
1792
}
1795
1793
1796
1794
private void launchVideoLibrary () {
1797
- WPMediaUtils .launchVideoLibrary (this , mAllowMultipleSelection );
1795
+ // don't allow multiple selection for Gutenberg, as we're on a single image block for now
1796
+ WPMediaUtils .launchVideoLibrary (this , !mShowGutenbergEditor );
1798
1797
}
1799
1798
1800
1799
private void launchVideoCamera () {
@@ -2523,24 +2522,6 @@ private boolean addExistingMediaToEditor(@NonNull AddExistingdMediaSource source
2523
2522
return true ;
2524
2523
}
2525
2524
2526
- private void addExistingMediaToEditor (@ NonNull AddExistingdMediaSource source , List <Long > mediaIdList ) {
2527
- ArrayMap <String , MediaFile > mediaMap = new ArrayMap <>();
2528
- for (Long mediaId : mediaIdList ) {
2529
- MediaModel media = mMediaStore .getSiteMediaWithId (mSite , mediaId );
2530
- if (media == null ) {
2531
- AppLog .w (T .MEDIA , "Cannot add null media to post" );
2532
- } else {
2533
- trackAddMediaEvent (source , media );
2534
-
2535
- MediaFile mediaFile = FluxCUtils .mediaFileFromMediaModel (media );
2536
- String urlToUse = TextUtils .isEmpty (media .getUrl ()) ? media .getFilePath () : media .getUrl ();
2537
-
2538
- mediaMap .put (urlToUse , mediaFile );
2539
- }
2540
- }
2541
- mEditorFragment .appendMediaFiles (mediaMap );
2542
- }
2543
-
2544
2525
private class LoadPostContentTask extends AsyncTask <String , Spanned , Spanned > {
2545
2526
@ Override
2546
2527
protected Spanned doInBackground (String ... params ) {
@@ -2845,7 +2826,7 @@ private boolean addMedia(Uri mediaUri, boolean isNew) {
2845
2826
private void addMediaList (@ NonNull List <Uri > uriList , boolean isNew ) {
2846
2827
// fetch any shared media first - must be done on the main thread
2847
2828
List <Uri > fetchedUriList = fetchMediaList (uriList );
2848
- mAddMediaListThread = new AddMediaListThread (fetchedUriList , isNew , mAllowMultipleSelection );
2829
+ mAddMediaListThread = new AddMediaListThread (fetchedUriList , isNew );
2849
2830
mAddMediaListThread .start ();
2850
2831
}
2851
2832
@@ -2868,23 +2849,13 @@ private class AddMediaListThread extends Thread {
2868
2849
private final boolean mIsNew ;
2869
2850
private ProgressDialog mProgressDialog ;
2870
2851
private boolean mDidAnyFail ;
2871
- private int mFinishedUploads = 0 ;
2872
- private boolean mAllowMultipleSelection = false ;
2873
- private Map <String , MediaFile > mediaMap = new ArrayMap <>();
2874
2852
2875
2853
AddMediaListThread (@ NonNull List <Uri > uriList , boolean isNew ) {
2876
2854
this .mUriList .addAll (uriList );
2877
2855
this .mIsNew = isNew ;
2878
2856
showOverlay (false );
2879
2857
}
2880
2858
2881
- AddMediaListThread (@ NonNull List <Uri > uriList , boolean isNew , boolean allowMultipleSelection ) {
2882
- this .mUriList .addAll (uriList );
2883
- this .mIsNew = isNew ;
2884
- this .mAllowMultipleSelection = allowMultipleSelection ;
2885
- showOverlay (false );
2886
- }
2887
-
2888
2859
private void showProgressDialog (final boolean show ) {
2889
2860
runOnUiThread (new Runnable () {
2890
2861
@ Override
@@ -2984,45 +2955,20 @@ private boolean processMedia(Uri mediaUri) {
2984
2955
}
2985
2956
2986
2957
private void postProcessMedia (final Uri mediaUri , final String path , final boolean isVideo ) {
2987
- if (mAllowMultipleSelection ) {
2988
- MediaFile mediaFile = getMediaFile (mediaUri );
2989
- if (mediaFile != null ) {
2990
- mediaMap .put (path , mediaFile );
2991
- }
2992
- mFinishedUploads ++;
2993
- if (mUriList .size () == mFinishedUploads ) {
2994
- runOnUiThread (new Runnable () {
2995
- @ Override
2996
- public void run () {
2997
- mEditorFragment .appendMediaFiles (mediaMap );
2998
- }
2999
- });
2958
+ runOnUiThread (new Runnable () {
2959
+ @ Override
2960
+ public void run () {
2961
+ addMediaVisualEditor (mediaUri , path );
3000
2962
}
3001
- } else {
3002
- runOnUiThread (new Runnable () {
3003
- @ Override
3004
- public void run () {
3005
- addMediaVisualEditor (mediaUri , path );
3006
- }
3007
- });
3008
- }
2963
+ });
3009
2964
}
3010
2965
}
3011
2966
3012
2967
private void addMediaVisualEditor (Uri uri , String path ) {
3013
- MediaFile mediaFile = getMediaFile (uri );
3014
- if (mediaFile != null ) {
3015
- mEditorFragment .appendMediaFile (mediaFile , path , mImageLoader );
3016
- }
3017
- }
3018
-
3019
- private MediaFile getMediaFile (Uri uri ) {
3020
2968
MediaModel media = queueFileForUpload (uri , getContentResolver ().getType (uri ));
3021
2969
MediaFile mediaFile = FluxCUtils .mediaFileFromMediaModel (media );
3022
2970
if (media != null ) {
3023
- return mediaFile ;
3024
- } else {
3025
- return null ;
2971
+ mEditorFragment .appendMediaFile (mediaFile , path , mImageLoader );
3026
2972
}
3027
2973
}
3028
2974
@@ -3050,12 +2996,10 @@ private void addMediaLegacyEditor(Uri mediaUri, boolean isVideo) {
3050
2996
private void addMediaItemGroupOrSingleItem (Intent data ) {
3051
2997
ClipData clipData = data .getClipData ();
3052
2998
if (clipData != null ) {
3053
- ArrayList <Uri > uriList = new ArrayList <>();
3054
2999
for (int i = 0 ; i < clipData .getItemCount (); i ++) {
3055
3000
ClipData .Item item = clipData .getItemAt (i );
3056
- uriList . add (item .getUri ());
3001
+ addMedia (item .getUri (), false );
3057
3002
}
3058
- addMediaList (uriList , false );
3059
3003
} else {
3060
3004
addMedia (data .getData (), false );
3061
3005
}
@@ -3285,14 +3229,8 @@ private void handleMediaPickerResult(Intent data) {
3285
3229
if (ids .size () > 1 && allAreImages && !mShowGutenbergEditor ) {
3286
3230
showInsertMediaDialog (ids );
3287
3231
} else {
3288
- // if mAllowMultipleSelection and gutenberg editor, pass all ids to addExistingMediaToEditor at once
3289
- if (mShowGutenbergEditor && mAllowMultipleSelection ) {
3290
- addExistingMediaToEditor (AddExistingdMediaSource .WP_MEDIA_LIBRARY , ids );
3291
- mAllowMultipleSelection = false ;
3292
- } else {
3293
- for (Long id : ids ) {
3294
- addExistingMediaToEditor (AddExistingdMediaSource .WP_MEDIA_LIBRARY , id );
3295
- }
3232
+ for (Long id : ids ) {
3233
+ addExistingMediaToEditor (AddExistingdMediaSource .WP_MEDIA_LIBRARY , id );
3296
3234
}
3297
3235
savePostAsync (null );
3298
3236
}
@@ -3524,35 +3462,33 @@ public void onAddMediaClicked() {
3524
3462
}
3525
3463
3526
3464
@ Override
3527
- public void onAddMediaImageClicked (boolean allowMultipleSelection ) {
3528
- mAllowMultipleSelection = allowMultipleSelection ;
3465
+ public void onAddMediaImageClicked () {
3529
3466
ActivityLauncher .viewMediaPickerForResult (this , mSite , MediaBrowserType .GUTENBERG_IMAGE_PICKER );
3530
3467
}
3531
3468
3532
3469
@ Override
3533
- public void onAddMediaVideoClicked (boolean allowMultipleSelection ) {
3534
- mAllowMultipleSelection = allowMultipleSelection ;
3470
+ public void onAddMediaVideoClicked () {
3535
3471
ActivityLauncher .viewMediaPickerForResult (this , mSite , MediaBrowserType .GUTENBERG_VIDEO_PICKER );
3536
3472
}
3537
3473
3538
3474
@ Override
3539
- public void onAddPhotoClicked (boolean allowMultipleSelection ) {
3540
- onPhotoPickerIconClicked (PhotoPickerIcon .ANDROID_CHOOSE_PHOTO , allowMultipleSelection );
3475
+ public void onAddPhotoClicked () {
3476
+ onPhotoPickerIconClicked (PhotoPickerIcon .ANDROID_CHOOSE_PHOTO );
3541
3477
}
3542
3478
3543
3479
@ Override
3544
3480
public void onCapturePhotoClicked () {
3545
- onPhotoPickerIconClicked (PhotoPickerIcon .ANDROID_CAPTURE_PHOTO , false );
3481
+ onPhotoPickerIconClicked (PhotoPickerIcon .ANDROID_CAPTURE_PHOTO );
3546
3482
}
3547
3483
3548
3484
@ Override
3549
- public void onAddVideoClicked (boolean allowMultipleSelectio ) {
3550
- onPhotoPickerIconClicked (PhotoPickerIcon .ANDROID_CHOOSE_VIDEO , allowMultipleSelectio );
3485
+ public void onAddVideoClicked () {
3486
+ onPhotoPickerIconClicked (PhotoPickerIcon .ANDROID_CHOOSE_VIDEO );
3551
3487
}
3552
3488
3553
3489
@ Override
3554
3490
public void onCaptureVideoClicked () {
3555
- onPhotoPickerIconClicked (PhotoPickerIcon .ANDROID_CAPTURE_VIDEO , false );
3491
+ onPhotoPickerIconClicked (PhotoPickerIcon .ANDROID_CAPTURE_VIDEO );
3556
3492
}
3557
3493
3558
3494
@ Override
0 commit comments