gitextract_to5l3p13/ ├── .gitignore ├── LICENSE ├── README.md ├── app/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── leo/ │ │ └── matisse/ │ │ └── ExampleInstrumentedTest.kt │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── leo/ │ │ │ └── matisse/ │ │ │ ├── ExampleActivity.kt │ │ │ ├── FrescoEngine.kt │ │ │ ├── Glide4Engine.kt │ │ │ ├── GlideEngine.kt │ │ │ ├── ImageSizeFilter.kt │ │ │ ├── MainActivity.kt │ │ │ └── SizeFilter.kt │ │ └── res/ │ │ ├── drawable/ │ │ │ └── ic_launcher_background.xml │ │ ├── drawable-v24/ │ │ │ └── ic_launcher_foreground.xml │ │ ├── drawable-xhdpi/ │ │ │ └── ic_launcher_foreground.xml │ │ ├── layout/ │ │ │ ├── activity_example.xml │ │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26/ │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── colors_dracula.xml │ │ │ ├── ids.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── xml/ │ │ └── file_paths_public.xml │ └── test/ │ └── java/ │ └── com/ │ └── leo/ │ └── matisse/ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle.properties ├── gradlew ├── gradlew.bat ├── matisse/ │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── matisse/ │ │ └── ExampleInstrumentedTest.java │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── matisse/ │ │ │ ├── Matisse.kt │ │ │ ├── MimeType.kt │ │ │ ├── MimeTypeManager.kt │ │ │ ├── SelectionCreator.kt │ │ │ ├── engine/ │ │ │ │ └── ImageEngine.kt │ │ │ ├── entity/ │ │ │ │ ├── Album.kt │ │ │ │ ├── CaptureStrategy.kt │ │ │ │ ├── ConstValue.kt │ │ │ │ ├── IncapableCause.kt │ │ │ │ └── Item.kt │ │ │ ├── filter/ │ │ │ │ └── Filter.kt │ │ │ ├── internal/ │ │ │ │ └── entity/ │ │ │ │ └── SelectionSpec.kt │ │ │ ├── listener/ │ │ │ │ ├── OnCheckedListener.kt │ │ │ │ └── OnSelectedListener.kt │ │ │ ├── loader/ │ │ │ │ ├── AlbumLoader.kt │ │ │ │ └── AlbumMediaLoader.kt │ │ │ ├── model/ │ │ │ │ ├── AlbumCallbacks.kt │ │ │ │ ├── AlbumCollection.kt │ │ │ │ ├── AlbumMediaCollection.kt │ │ │ │ └── SelectedItemCollection.kt │ │ │ ├── photoview/ │ │ │ │ ├── Compat.java │ │ │ │ ├── CustomGestureDetector.java │ │ │ │ ├── OnGestureListener.java │ │ │ │ ├── OnMatrixChangedListener.java │ │ │ │ ├── OnOutsidePhotoTapListener.java │ │ │ │ ├── OnPhotoTapListener.java │ │ │ │ ├── OnScaleChangedListener.java │ │ │ │ ├── OnSingleFlingListener.java │ │ │ │ ├── OnViewDragListener.java │ │ │ │ ├── OnViewTapListener.java │ │ │ │ ├── PhotoView.java │ │ │ │ ├── PhotoViewAttacher.java │ │ │ │ └── Util.java │ │ │ ├── ucrop/ │ │ │ │ ├── PictureMultiCuttingActivity.java │ │ │ │ ├── PicturePhotoGalleryAdapter.java │ │ │ │ ├── UCrop.java │ │ │ │ ├── UCropActivity.java │ │ │ │ ├── UCropMulti.java │ │ │ │ ├── callback/ │ │ │ │ │ └── Callback.kt │ │ │ │ ├── immersion/ │ │ │ │ │ ├── CropImmersiveManage.java │ │ │ │ │ ├── CropLightStatusBarUtils.java │ │ │ │ │ └── CropRomUtils.java │ │ │ │ ├── model/ │ │ │ │ │ ├── AspectRatio.java │ │ │ │ │ ├── CropParameters.java │ │ │ │ │ ├── CutInfo.java │ │ │ │ │ ├── ExifInfo.java │ │ │ │ │ └── ImageState.java │ │ │ │ ├── task/ │ │ │ │ │ ├── BitmapCropTask.java │ │ │ │ │ ├── BitmapLoadShowTask.java │ │ │ │ │ └── BitmapLoadTask.java │ │ │ │ ├── util/ │ │ │ │ │ ├── BitmapLoadUtils.java │ │ │ │ │ ├── CubicEasing.java │ │ │ │ │ ├── EglUtils.java │ │ │ │ │ ├── FastBitmapDrawable.java │ │ │ │ │ ├── FileUtils.java │ │ │ │ │ ├── ImageHeaderParser.java │ │ │ │ │ ├── RectUtils.java │ │ │ │ │ ├── RotationGestureDetector.java │ │ │ │ │ ├── SelectedStateListDrawable.java │ │ │ │ │ └── VersionUtils.java │ │ │ │ └── view/ │ │ │ │ ├── CropImageView.java │ │ │ │ ├── GestureCropImageView.java │ │ │ │ ├── OverlayView.java │ │ │ │ ├── TransformImageView.java │ │ │ │ ├── UCropView.java │ │ │ │ └── widget/ │ │ │ │ ├── AspectRatioTextView.java │ │ │ │ └── HorizontalProgressWheelView.java │ │ │ ├── ui/ │ │ │ │ ├── activity/ │ │ │ │ │ ├── AlbumPreviewActivity.kt │ │ │ │ │ ├── BaseActivity.kt │ │ │ │ │ ├── BasePreviewActivity.kt │ │ │ │ │ ├── SelectedPreviewActivity.kt │ │ │ │ │ └── matisse/ │ │ │ │ │ ├── AlbumFolderSheetHelper.kt │ │ │ │ │ ├── AlbumLoadHelper.kt │ │ │ │ │ ├── IAlbumLoad.kt │ │ │ │ │ └── MatisseActivity.kt │ │ │ │ ├── adapter/ │ │ │ │ │ ├── AlbumMediaAdapter.kt │ │ │ │ │ ├── FolderItemMediaAdapter.kt │ │ │ │ │ ├── PicturePreviewPagerAdapter.kt │ │ │ │ │ ├── PreviewPagerAdapter.kt │ │ │ │ │ └── RecyclerViewCursorAdapter.kt │ │ │ │ └── view/ │ │ │ │ ├── BottomSheetDialogFragment.kt │ │ │ │ ├── FolderBottomSheet.kt │ │ │ │ ├── MediaSelectionFragment.kt │ │ │ │ ├── PicturePreviewItemFragment.kt │ │ │ │ └── PreviewItemFragment.kt │ │ │ ├── utils/ │ │ │ │ ├── BitmapUtils.kt │ │ │ │ ├── ExifInterfaceCompat.kt │ │ │ │ ├── IntentUtils.kt │ │ │ │ ├── ItemSelectUtils.kt │ │ │ │ ├── MediaStoreCompat.kt │ │ │ │ ├── PathUtils.kt │ │ │ │ ├── PhotoMetadataUtils.kt │ │ │ │ ├── Platform.kt │ │ │ │ └── UIUtils.kt │ │ │ └── widget/ │ │ │ ├── CheckRadioView.kt │ │ │ ├── CheckView.kt │ │ │ ├── IncapableDialog.kt │ │ │ ├── MediaGrid.kt │ │ │ ├── MediaGridInset.kt │ │ │ ├── PreviewViewPager.kt │ │ │ ├── SquareFrameLayout.kt │ │ │ └── longimage/ │ │ │ ├── CompatDecoderFactory.java │ │ │ ├── DecoderFactory.java │ │ │ ├── ImageDecoder.java │ │ │ ├── ImageRegionDecoder.java │ │ │ ├── ImageSource.java │ │ │ ├── ImageViewState.java │ │ │ ├── SkiaImageDecoder.java │ │ │ ├── SkiaImageRegionDecoder.java │ │ │ └── SubsamplingScaleImageView.java │ │ └── res/ │ │ ├── anim/ │ │ │ ├── bottom_down_out.xml │ │ │ ├── bottom_up_in.xml │ │ │ ├── ucrop_anim_fade_in.xml │ │ │ ├── ucrop_close.xml │ │ │ ├── ucrop_loader_circle_path.xml │ │ │ └── ucrop_loader_circle_scale.xml │ │ ├── color/ │ │ │ ├── selector_base_text.xml │ │ │ ├── selector_black_text.xml │ │ │ ├── selector_white_text.xml │ │ │ └── ucrop_scale_text_view_selector.xml │ │ ├── drawable/ │ │ │ ├── ucrop_gif_bg.xml │ │ │ ├── ucrop_oval_true.xml │ │ │ ├── ucrop_shadow_upside.xml │ │ │ ├── ucrop_vector_ic_crop.xml │ │ │ ├── ucrop_vector_loader.xml │ │ │ └── ucrop_vector_loader_animated.xml │ │ ├── drawable-xhdpi/ │ │ │ └── transparent.xml │ │ ├── layout/ │ │ │ ├── activity_matisse.xml │ │ │ ├── activity_media_preview.xml │ │ │ ├── dialog_bottom_sheet.xml │ │ │ ├── dialog_bottom_sheet_folder.xml │ │ │ ├── fragment_media_selection.xml │ │ │ ├── fragment_picture_preview_item.xml │ │ │ ├── fragment_preview_item.xml │ │ │ ├── include_view_bottom.xml │ │ │ ├── include_view_navigation.xml │ │ │ ├── item_album_folder.xml │ │ │ ├── item_media_grid.xml │ │ │ ├── item_photo_capture.xml │ │ │ ├── ucrop_activity_photobox.xml │ │ │ ├── ucrop_aspect_ratio.xml │ │ │ ├── ucrop_layout_rotate_wheel.xml │ │ │ ├── ucrop_layout_scale_wheel.xml │ │ │ ├── ucrop_picture_activity_multi_cutting.xml │ │ │ ├── ucrop_picture_gf_adapter_edit_list.xml │ │ │ ├── ucrop_view.xml │ │ │ └── view_media_grid_content.xml │ │ ├── menu/ │ │ │ └── ucrop_menu_activity.xml │ │ ├── values/ │ │ │ ├── attrs.xml │ │ │ ├── colors.xml │ │ │ ├── colors_default.xml │ │ │ ├── dimens.xml │ │ │ ├── ids.xml │ │ │ ├── long_attrs.xml │ │ │ ├── strings.xml │ │ │ ├── styles.xml │ │ │ └── values.xml │ │ └── values-zh/ │ │ └── strings.xml │ └── test/ │ └── java/ │ └── com/ │ └── matisse/ │ └── ExampleUnitTest.java └── settings.gradle