├── .idea ├── .name ├── codeStyles │ └── codeStyleConfig.xml ├── vcs.xml ├── runConfigurations.xml ├── modules.xml ├── gradle.xml └── dictionaries │ └── Aaron.xml ├── app ├── .gitignore ├── src │ ├── main │ │ ├── app_ic_launcher-web.png │ │ ├── java │ │ │ └── com │ │ │ │ └── aaron │ │ │ │ └── yespdf │ │ │ │ ├── about │ │ │ │ ├── Message.kt │ │ │ │ ├── Library.kt │ │ │ │ ├── IAboutContract.kt │ │ │ │ └── Info.kt │ │ │ │ ├── common │ │ │ │ ├── event │ │ │ │ │ ├── HotfixEvent.java │ │ │ │ │ ├── MaxRecentEvent.java │ │ │ │ │ ├── ImportEvent.java │ │ │ │ │ ├── AllEvent.java │ │ │ │ │ ├── ContentEvent.java │ │ │ │ │ ├── RecentPDFEvent.java │ │ │ │ │ └── event.plantuml │ │ │ │ ├── MVP.kt │ │ │ │ ├── bean │ │ │ │ │ ├── Backup.kt │ │ │ │ │ ├── Shortcut.kt │ │ │ │ │ └── Cover.java │ │ │ │ ├── BaseHolder.kt │ │ │ │ ├── AppConfig.java │ │ │ │ ├── utils │ │ │ │ │ ├── ImageUtils.kt │ │ │ │ │ ├── GreyUI.kt │ │ │ │ │ └── utils.plantuml │ │ │ │ ├── HeaderHolder.java │ │ │ │ ├── EmptyHolder.java │ │ │ │ ├── statistic │ │ │ │ │ └── Statistic.kt │ │ │ │ ├── XGridDecoration.java │ │ │ │ ├── CoverHolder.kt │ │ │ │ ├── DaoConverter.java │ │ │ │ ├── YGridDecoration.java │ │ │ │ ├── CollectionHolder.kt │ │ │ │ ├── widgets │ │ │ │ │ └── NewViewPager.java │ │ │ │ └── greendao │ │ │ │ │ └── UpdateOpenHelper.java │ │ │ │ ├── main │ │ │ │ ├── DirNameEvent.kt │ │ │ │ ├── OperationEvent.kt │ │ │ │ ├── AllDeleteEvent.kt │ │ │ │ ├── PdfDeleteEvent.kt │ │ │ │ ├── IOperation.kt │ │ │ │ ├── IMainContract.kt │ │ │ │ ├── MainFragmentAdapter.kt │ │ │ │ ├── MainPresenter.kt │ │ │ │ ├── OperationBarHelper.kt │ │ │ │ └── CollectionAdapter2.kt │ │ │ │ ├── preview │ │ │ │ ├── IActivityInterface.kt │ │ │ │ ├── IBkFragInterface.kt │ │ │ │ ├── IContentFragInterface.kt │ │ │ │ └── PagerAdapter.kt │ │ │ │ └── filepicker │ │ │ │ ├── IListable.kt │ │ │ │ ├── AbstractAdapter.kt │ │ │ │ ├── FileFilterImpl.kt │ │ │ │ ├── SelectFragmentAdapter.kt │ │ │ │ ├── IViewAllContract.kt │ │ │ │ └── ViewAllModel.kt │ │ └── res │ │ │ ├── drawable-xxhdpi │ │ │ ├── app_ic_all.png │ │ │ ├── app_ic_pdf.png │ │ │ ├── app_img_all.png │ │ │ ├── app_ic_github.png │ │ │ ├── app_ic_inverse.png │ │ │ ├── app_ic_radar.png │ │ │ ├── app_ic_recent.png │ │ │ ├── app_ic_yespdf.png │ │ │ ├── app_img_file.png │ │ │ ├── app_img_qrcode.jpg │ │ │ ├── app_img_recent.png │ │ │ ├── app_mix2_model.png │ │ │ ├── app_ic_imported.png │ │ │ ├── app_img_bookmark.png │ │ │ ├── app_splash_logo.png │ │ │ ├── app_ic_back_black.png │ │ │ ├── app_ic_back_white.png │ │ │ ├── app_ic_can_up_grey.png │ │ │ ├── app_ic_delete_black.png │ │ │ ├── app_ic_imported_en.png │ │ │ ├── app_ic_yespdf_dev.png │ │ │ ├── app_img_auto_scan.png │ │ │ ├── app_ic_can_down_grey.png │ │ │ ├── app_ic_scroll_normal.png │ │ │ ├── app_ic_shortcut_book.png │ │ │ ├── app_ic_cannot_down_grey.png │ │ │ ├── app_ic_check_circle_red.png │ │ │ ├── app_ic_create_shortcut.png │ │ │ ├── app_ic_scroll_selected.png │ │ │ ├── app_ic_shortcut_folder.png │ │ │ ├── app_ic_shortcut_search.png │ │ │ ├── app_img_loading_list_1.png │ │ │ ├── app_img_loading_list_10.png │ │ │ ├── app_img_loading_list_11.png │ │ │ ├── app_img_loading_list_12.png │ │ │ ├── app_img_loading_list_2.png │ │ │ ├── app_img_loading_list_3.png │ │ │ ├── app_img_loading_list_4.png │ │ │ ├── app_img_loading_list_5.png │ │ │ ├── app_img_loading_list_6.png │ │ │ ├── app_img_loading_list_7.png │ │ │ ├── app_img_loading_list_8.png │ │ │ ├── app_img_loading_list_9.png │ │ │ └── app_ic_uncheck_circle_red.png │ │ │ ├── mipmap-hdpi │ │ │ ├── app_ic_launcher.png │ │ │ └── app_ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── app_ic_launcher.png │ │ │ └── app_ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── app_ic_launcher.png │ │ │ └── app_ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── app_ic_launcher.png │ │ │ └── app_ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── app_ic_launcher.png │ │ │ └── app_ic_launcher_round.png │ │ │ ├── xml │ │ │ └── app_file_paths.xml │ │ │ ├── drawable │ │ │ ├── app_ic_action_delete_grey.xml │ │ │ ├── app_ic_action_delete_black.xml │ │ │ ├── app_ic_action_back_black.xml │ │ │ ├── app_ic_action_back_white.xml │ │ │ ├── app_ic_can_down_white.xml │ │ │ ├── app_ic_action_create_shortcut_black.xml │ │ │ ├── app_ic_action_create_shortcut_grey.xml │ │ │ ├── app_ic_cannot_down_white.xml │ │ │ ├── app_shape_bg_scale_view_black.xml │ │ │ ├── app_shape_bg_scale_view_white.xml │ │ │ ├── app_text_cursor_red.xml │ │ │ ├── app_shape_circle_white_alpha.xml │ │ │ ├── app_bg_rect_red_normal.xml │ │ │ ├── app_shape_circle_black_alpha.xml │ │ │ ├── app_bg_rect_red_pressed.xml │ │ │ ├── app_bg_progress.xml │ │ │ ├── app_shape_round_rect.xml │ │ │ ├── app_bg_round_rect_grey.xml │ │ │ ├── app_shape_pageinfo_bg.xml │ │ │ ├── app_bg_round_red_normal.xml │ │ │ ├── app_bg_round_red_pressed.xml │ │ │ ├── app_sel_btn_stop_scan.xml │ │ │ ├── app_sel_autoscroll.xml │ │ │ ├── app_sel_undo_redo.xml │ │ │ ├── app_shape_circle_red.xml │ │ │ ├── app_sel_btn_rect_red.xml │ │ │ ├── app_sel_btn_round_red.xml │ │ │ ├── app_sel_content_tab.xml │ │ │ ├── app_sel_main_select.xml │ │ │ ├── app_bg_round_rect_stroke_grey.xml │ │ │ ├── app_img_add_group.xml │ │ │ ├── app_img_none_cover.xml │ │ │ ├── app_sel_backup_item_bg.xml │ │ │ ├── app_sel_bookmark.xml │ │ │ ├── app_sel_operation_delete.xml │ │ │ ├── app_bg_scale_bar.xml │ │ │ ├── app_sel_bookmark_tab.xml │ │ │ ├── app_shape_round_rect_white.xml │ │ │ ├── app_sel_operation_create_shortcut.xml │ │ │ ├── app_bg_btn_normal.xml │ │ │ ├── app_bg_btn_pressed.xml │ │ │ ├── app_ic_action_read_method_white.xml │ │ │ ├── app_bg_rect_red_ripple.xml │ │ │ ├── app_sel_select_single.xml │ │ │ ├── app_ic_add_white_60dp.xml │ │ │ ├── app_ic_navigate_next_black_20dp.xml │ │ │ ├── app_shape_border_rect.xml │ │ │ ├── app_ic_arrow_back_white_24dp.xml │ │ │ ├── app_sel_night_mode.xml │ │ │ ├── app_shape_seekbar_thum_normal.xml │ │ │ ├── app_ic_email.xml │ │ │ ├── app_shape_seekbar_thum.xml │ │ │ ├── app_ic_check_circle_red_24dp.xml │ │ │ ├── app_sel_select_all.xml │ │ │ ├── app_bg_round_red_ripple.xml │ │ │ ├── app_ic_bookmark_red_24dp.xml │ │ │ ├── app_ic_image_white_24dp.xml │ │ │ ├── app_ic_unchecked_grey_24dp.xml │ │ │ ├── app_animated_play_pause.xml │ │ │ ├── app_ic_bookmark_border_red_24dp.xml │ │ │ ├── app_ic_delete_black_24dp.xml │ │ │ ├── app_ic_import_export_black_24dp.xml │ │ │ ├── app_ic_folder_yellow_24dp.xml │ │ │ ├── app_ic_redo_white_24dp.xml │ │ │ ├── app_ic_star_black_24dp.xml │ │ │ ├── app_ic_undo_white_24dp.xml │ │ │ ├── app_ic_bookmark_border_white_24dp.xml │ │ │ ├── app_ic_crop_white_24dp.xml │ │ │ ├── app_bg_launch.xml │ │ │ ├── app_ic_bookmark_white_shallow_16dp.xml │ │ │ ├── app_ic_clear_grey_20dp.xml │ │ │ ├── app_ic_action_clear_grey.xml │ │ │ ├── app_ic_bookmark_border_tab_24dp.xml │ │ │ ├── app_ic_unchecked_red_24dp.xml │ │ │ ├── app_ic_night_yellow_24dp.xml │ │ │ ├── app_ic_toys_red_24dp.xml │ │ │ ├── app_ic_night_white_24dp.xml │ │ │ ├── app_seekbar_bg.xml │ │ │ ├── app_ic_search_black_24dp.xml │ │ │ ├── app_ic_more_horiz_black_24dp.xml │ │ │ ├── app_ic_action_about_black.xml │ │ │ ├── app_bg_progressbar_red.xml │ │ │ ├── app_bg_round_white_ripple.xml │ │ │ ├── app_ic_action_more_black.xml │ │ │ ├── app_sel_seekbar.xml │ │ │ ├── app_ic_action_content_white.xml │ │ │ ├── app_ic_thumb_up_black_24dp.xml │ │ │ ├── app_ic_action_search_grey.xml │ │ │ ├── app_ic_content_red_24dp.xml │ │ │ ├── app_vector_play_pause.xml │ │ │ ├── app_ic_pdf_red_24dp.xml │ │ │ ├── app_ic_pdf_white_40dp.xml │ │ │ ├── app_ic_content_tab_24dp.xml │ │ │ ├── app_ic_screen_lock_landscape_white_24dp.xml │ │ │ ├── app_ic_action_selectall_unchecked.xml │ │ │ ├── app_ic_action_selectall_disable.xml │ │ │ ├── app_ic_placeholder_black.xml │ │ │ ├── app_ic_introduce.xml │ │ │ ├── app_ic_action_selectall_checked.xml │ │ │ ├── app_ic_action_import_black.xml │ │ │ ├── app_ic_placeholder_white.xml │ │ │ ├── app_ic_gift.xml │ │ │ ├── app_ic_vertical_white_24dp.xml │ │ │ ├── app_ic_horizontal_white_24dp.xml │ │ │ ├── app_ic_launcher_foreground.xml │ │ │ ├── app_ic_source_code.xml │ │ │ ├── app_ic_android_white_40dp.xml │ │ │ ├── app_ic_action_settings_white.xml │ │ │ ├── app_ic_action_settings_black.xml │ │ │ └── app_loading_list.xml │ │ │ ├── anim │ │ │ ├── app_layout_fall_down.xml │ │ │ ├── app_layout_translate_left.xml │ │ │ ├── app_pw_collection_fade_in.xml │ │ │ ├── app_pw_collection_fade_out.xml │ │ │ ├── app_translate_left.xml │ │ │ ├── app_window_group_out.xml │ │ │ ├── app_window_group_in.xml │ │ │ ├── app_window_slide_exit.xml │ │ │ ├── app_window_slide_enter.xml │ │ │ ├── app_pw_fade_in.xml │ │ │ ├── app_pw_fade_out.xml │ │ │ ├── app_window_scale_exit.xml │ │ │ ├── app_window_scale_enter.xml │ │ │ └── app_fall_down.xml │ │ │ ├── layout │ │ │ ├── app_tab_bookmark.xml │ │ │ ├── app_tab_content.xml │ │ │ ├── app_fragment_bookmark.xml │ │ │ ├── app_include_toolbar.xml │ │ │ ├── app_recycler_item_search_header.xml │ │ │ ├── app_include_tv_path.xml │ │ │ ├── app_fragment_content.xml │ │ │ ├── app_fragment_all.xml │ │ │ ├── app_include_path.xml │ │ │ ├── app_recycler_item_emptyview.xml │ │ │ ├── app_fragment_recent.xml │ │ │ ├── app_activity_settings.xml │ │ │ ├── app_toast.xml │ │ │ ├── app_recycler_item_message.xml │ │ │ ├── app_recycler_item_settings_switch.xml │ │ │ ├── app_fragment_auto_scan.xml │ │ │ ├── app_bottomdialog_grouping.xml │ │ │ ├── app_dialog_loading.xml │ │ │ ├── app_dialog_qrcode.xml │ │ │ ├── app_recycler_item_settings_seekbar.xml │ │ │ ├── app_activity_search.xml │ │ │ ├── app_recycler_item_settings_recent_count.xml │ │ │ ├── app_bottomdialog_scan.xml │ │ │ ├── app_recycler_item_backup.xml │ │ │ ├── app_fragment_view_all.xml │ │ │ └── app_activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── app_ic_launcher.xml │ │ │ └── app_ic_launcher_round.xml │ │ │ ├── animator │ │ │ ├── app_pause_anim.xml │ │ │ └── app_play_anim.xml │ │ │ ├── menu │ │ │ └── app_main.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ └── attr.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── aaron │ │ │ └── yespdf │ │ │ ├── yespdf.plantuml │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── aaron │ │ └── yespdf │ │ ├── yespdf.plantuml │ │ └── ExampleInstrumentedTest.java └── release │ └── v2.2.0 │ └── output.json ├── README.md ├── settings.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── config.gradle ├── android-pdf-viewer ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── barteksc │ │ │ └── pdfviewer │ │ │ ├── listener │ │ │ ├── OnScrollListener.java │ │ │ ├── OnShowListener.java │ │ │ ├── OnErrorListener.java │ │ │ ├── OnRenderListener.java │ │ │ ├── OnPageErrorListener.java │ │ │ ├── OnLoadCompleteListener.java │ │ │ ├── OnPageChangeListener.java │ │ │ ├── OnLongPressListener.java │ │ │ ├── OnPageScrollListener.java │ │ │ ├── OnTapListener.java │ │ │ └── OnDrawListener.java │ │ │ ├── exception │ │ │ ├── PageRenderingException.java │ │ │ ├── exception.plantuml │ │ │ └── FileNotFoundException.java │ │ │ ├── util │ │ │ ├── FitPolicy.java │ │ │ ├── SnapEdge.java │ │ │ ├── Util.java │ │ │ └── Constants.java │ │ │ ├── link │ │ │ ├── LinkHandler.java │ │ │ └── link.plantuml │ │ │ ├── source │ │ │ ├── DocumentSource.java │ │ │ ├── ByteArraySource.java │ │ │ ├── UriSource.java │ │ │ ├── InputStreamSource.java │ │ │ ├── FileSource.java │ │ │ └── AssetSource.java │ │ │ ├── scroll │ │ │ └── ScrollHandle.java │ │ │ └── model │ │ │ └── model.plantuml │ │ └── res │ │ ├── drawable │ │ ├── default_scroll_handle_left.xml │ │ ├── default_scroll_handle_top.xml │ │ ├── default_scroll_handle_bottom.xml │ │ └── default_scroll_handle_right.xml │ │ └── values │ │ └── attrs.xml └── build.gradle ├── YES PDF!.plantuml ├── gradle.properties └── .gitignore /.idea/.name: -------------------------------------------------------------------------------- 1 | YES PDF! -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # YESPDF 2 | A pdf reader. 3 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':android-pdf-viewer' 2 | rootProject.name='YES PDF!' 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/app_ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/app_ic_launcher-web.png -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/about/Message.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.about 2 | 3 | class Message(var iconId: Int, var title: String) -------------------------------------------------------------------------------- /config.gradle: -------------------------------------------------------------------------------- 1 | ext { 2 | bugly = [ 3 | baseApkDir: "app-1204-17-20-17", 4 | tinkerId : "base-1.0.9" 5 | ] 6 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_all.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_pdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_pdf.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_all.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/app_ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/mipmap-hdpi/app_ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/app_ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/mipmap-mdpi/app_ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_github.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_inverse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_inverse.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_radar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_radar.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_recent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_recent.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_yespdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_yespdf.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_file.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_qrcode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_qrcode.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_recent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_recent.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_mix2_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_mix2_model.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/app_ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/mipmap-xhdpi/app_ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/app_ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/mipmap-xxhdpi/app_ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/app_ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/mipmap-xxxhdpi/app_ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/xml/app_file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/event/HotfixEvent.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.event; 2 | 3 | public class HotfixEvent { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_imported.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_imported.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_bookmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_bookmark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_splash_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_splash_logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_back_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_back_black.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_back_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_back_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_can_up_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_can_up_grey.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_delete_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_delete_black.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_imported_en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_imported_en.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_yespdf_dev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_yespdf_dev.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_auto_scan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_auto_scan.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/app_ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/mipmap-hdpi/app_ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/app_ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/mipmap-mdpi/app_ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/app_ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/mipmap-xhdpi/app_ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/app_ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/mipmap-xxhdpi/app_ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/about/Library.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.about 2 | 3 | class Library(var name: String, var author: String, var introduce: String) -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_can_down_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_can_down_grey.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_scroll_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_scroll_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_shortcut_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_shortcut_book.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/app_ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/mipmap-xxxhdpi/app_ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/main/DirNameEvent.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.main 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | class DirNameEvent -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_cannot_down_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_cannot_down_grey.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_check_circle_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_check_circle_red.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_create_shortcut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_create_shortcut.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_scroll_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_scroll_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_shortcut_folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_shortcut_folder.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_shortcut_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_shortcut_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_10.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_11.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_12.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_4.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_5.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_6.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_7.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_8.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_img_loading_list_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_img_loading_list_9.png -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/main/OperationEvent.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.main 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | class OperationEvent -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/app_ic_uncheck_circle_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronzzx/YESPDF/HEAD/app/src/main/res/drawable-xxhdpi/app_ic_uncheck_circle_red.png -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/main/AllDeleteEvent.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.main 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | class AllDeleteEvent(val dirList: List = listOf()) -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/event/MaxRecentEvent.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.event; 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | public class MaxRecentEvent { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/preview/IActivityInterface.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.preview 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | interface IActivityInterface { 7 | fun onJumpTo(page: Int) 8 | } -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_delete_grey.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_delete_black.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/preview/IBkFragInterface.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.preview 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | interface IBkFragInterface { 7 | fun update(collection: MutableCollection) 8 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_back_black.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_back_white.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_can_down_white.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_create_shortcut_black.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_create_shortcut_grey.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_cannot_down_white.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_shape_bg_scale_view_black.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_shape_bg_scale_view_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/MVP.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | interface IModel 7 | 8 | interface IView 9 | 10 | abstract class IPresenter(protected var view: V) -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_text_cursor_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_shape_circle_white_alpha.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/bean/Backup.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.bean 2 | 3 | /** 4 | * @author aaronzzxup@gmail.com 5 | * @since 2020/6/14 6 | */ 7 | data class Backup( 8 | val dirName: String, 9 | val datas: List 10 | ) -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/filepicker/IListable.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.filepicker 2 | 3 | import java.io.File 4 | 5 | /** 6 | * @author Aaron aaronzzxup@gmail.com 7 | */ 8 | interface IListable { 9 | fun listFile(path: String?): List 10 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_rect_red_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_shape_circle_black_alpha.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_rect_red_pressed.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_layout_fall_down.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/listener/OnScrollListener.java: -------------------------------------------------------------------------------- 1 | package com.github.barteksc.pdfviewer.listener; 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | public interface OnScrollListener { 7 | 8 | void onScroll(); 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_layout_translate_left.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Tue Sep 03 17:31:27 CST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/main/PdfDeleteEvent.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.main 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | class PdfDeleteEvent( 7 | val deleted: List = listOf(), 8 | val dir: String, 9 | val isEmpty: Boolean 10 | ) -------------------------------------------------------------------------------- /app/src/main/res/anim/app_pw_collection_fade_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_pw_collection_fade_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_shape_round_rect.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_round_rect_grey.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_shape_pageinfo_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_round_red_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/preview/IContentFragInterface.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.preview 2 | 3 | import com.shockwave.pdfium.PdfDocument 4 | 5 | /** 6 | * @author Aaron aaronzzxup@gmail.com 7 | */ 8 | interface IContentFragInterface { 9 | fun update(collection: MutableCollection) 10 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_round_red_pressed.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_btn_stop_scan.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/listener/OnShowListener.java: -------------------------------------------------------------------------------- 1 | package com.github.barteksc.pdfviewer.listener; 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | public interface OnShowListener { 7 | 8 | void onShow(float pageWidth, float pageHeight, int displayedPage); 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_autoscroll.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_undo_redo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_shape_circle_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/res/drawable/default_scroll_handle_left.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/res/drawable/default_scroll_handle_top.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/event/ImportEvent.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.event; 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | public class ImportEvent { 7 | 8 | public String name; 9 | public int curProgress; 10 | public int totalProgress; 11 | public boolean stop; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_btn_rect_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_btn_round_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_content_tab.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_main_select.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_tab_bookmark.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_tab_content.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/app_ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_round_rect_stroke_grey.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_img_add_group.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_img_none_cover.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_backup_item_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_bookmark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/app_ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_operation_delete.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_scale_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_bookmark_tab.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_shape_round_rect_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /app/src/test/java/com/aaron/yespdf/yespdf.plantuml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | title __YESPDF's Class Diagram__\n 4 | 5 | 6 | 7 | right footer 8 | 9 | 10 | PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it) 11 | For more information about this tool, please contact philippe.mesmeur@gmail.com 12 | endfooter 13 | 14 | @enduml 15 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/aaron/yespdf/yespdf.plantuml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | title __YESPDF's Class Diagram__\n 4 | 5 | 6 | 7 | right footer 8 | 9 | 10 | PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it) 11 | For more information about this tool, please contact philippe.mesmeur@gmail.com 12 | endfooter 13 | 14 | @enduml 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_operation_create_shortcut.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_translate_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /YES PDF!.plantuml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | title __YES PDF!'s Component Diagram__\n 4 | 5 | [app] --> [android-pdf-viewer] 6 | [app] --> [bugly] 7 | 8 | 9 | right footer 10 | 11 | 12 | PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it) 13 | For more information about this tool, please contact philippe.mesmeur@gmail.com 14 | endfooter 15 | 16 | @enduml 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_btn_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/BaseHolder.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common 2 | 3 | import android.view.View 4 | import android.widget.CheckBox 5 | import com.chad.library.adapter.base.BaseViewHolder 6 | 7 | /** 8 | * @author Aaron aaronzzxup@gmail.com 9 | */ 10 | abstract class BaseHolder(itemView: View) : BaseViewHolder(itemView) { 11 | 12 | abstract val checkBox: CheckBox 13 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_btn_pressed.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_read_method_white.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/filepicker/AbstractAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.filepicker 2 | 3 | import androidx.recyclerview.widget.RecyclerView 4 | 5 | /** 6 | * @author Aaron aaronzzxup@gmail.com 7 | */ 8 | abstract class AbstractAdapter : RecyclerView.Adapter() { 9 | abstract fun selectAll(selectAll: Boolean) 10 | abstract fun reset(): Boolean 11 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_rect_red_ripple.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/AppConfig.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common; 2 | 3 | import com.aaron.yespdf.BuildConfig; 4 | 5 | /** 6 | * @author Aaron aaronzzxup@gmail.com 7 | */ 8 | public interface AppConfig { 9 | 10 | String DB_NAME = "yespdf.db"; 11 | String BUGLY_APPID = "fd084373ed"; 12 | String AUTHORITY = BuildConfig.APPLICATION_ID + ".fileprovider"; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_select_single.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_add_white_60dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_navigate_next_black_20dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_shape_border_rect.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_arrow_back_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/main/IOperation.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.main 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | interface IOperation { 7 | fun createShortcut() 8 | fun showExport(): Boolean 9 | fun delete(deleteLocal: Boolean) 10 | fun selectAll(selectAll: Boolean) 11 | fun cancelSelect() 12 | fun deleteDescription(): String? 13 | fun localDeleteVisibility(): Int 14 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_night_mode.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_shape_seekbar_thum_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 10 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/event/AllEvent.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.event; 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | public class AllEvent { 7 | 8 | public boolean isEmpty; 9 | public String dir; 10 | 11 | public AllEvent() { 12 | } 13 | 14 | public AllEvent(boolean isEmpty, String dir) { 15 | this.isEmpty = isEmpty; 16 | this.dir = dir; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_email.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_shape_seekbar_thum.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 10 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /app/release/v2.2.0/output.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "outputType": { 4 | "type": "APK" 5 | }, 6 | "apkData": { 7 | "type": "MAIN", 8 | "splits": [], 9 | "versionCode": 29, 10 | "versionName": "2.2.0", 11 | "enabled": true, 12 | "outputFile": "app-release.apk", 13 | "fullName": "release", 14 | "baseName": "release" 15 | }, 16 | "path": "app-release.apk", 17 | "properties": {} 18 | } 19 | ] -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_check_circle_red_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_select_all.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/filepicker/FileFilterImpl.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.filepicker 2 | 3 | import java.io.File 4 | import java.io.FileFilter 5 | 6 | /** 7 | * @author Aaron aaronzzxup@gmail.com 8 | */ 9 | internal class FileFilterImpl : FileFilter { 10 | override fun accept(file: File): Boolean { 11 | return !file.name.startsWith(".") && (file.isDirectory || file.name.endsWith(".pdf") || file.name.endsWith(".PDF")) 12 | } 13 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_round_red_ripple.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_bookmark_red_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/exception/PageRenderingException.java: -------------------------------------------------------------------------------- 1 | package com.github.barteksc.pdfviewer.exception; 2 | 3 | public class PageRenderingException extends Exception { 4 | private final int page; 5 | 6 | public PageRenderingException(int page, Throwable cause) { 7 | super(cause); 8 | this.page = page; 9 | } 10 | 11 | public int getPage() { 12 | return page; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/res/drawable/default_scroll_handle_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/res/drawable/default_scroll_handle_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_image_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_unchecked_grey_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_animated_play_pause.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_bookmark_border_red_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_delete_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_window_group_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 10 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/animator/app_pause_anim.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/animator/app_play_anim.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_import_export_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_window_group_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 10 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_folder_yellow_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_redo_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_star_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_undo_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_bookmark_border_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_crop_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_window_slide_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_window_slide_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_launch.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_bookmark_white_shallow_16dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/test/java/com/aaron/yespdf/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_clear_grey_20dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_clear_grey.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_bookmark_border_tab_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_unchecked_red_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_pw_fade_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_pw_fade_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_night_yellow_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_toys_red_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/bean/Shortcut.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.bean 2 | 3 | import android.app.Activity 4 | import androidx.annotation.DrawableRes 5 | 6 | /** 7 | * @author aaronzzxup@gmail.com 8 | * @since 2020/6/14 9 | */ 10 | data class Shortcut( 11 | val target: Class, 12 | val id: String, 13 | val shortLabel: String, 14 | val longLabel: String, 15 | @DrawableRes val icon: Int, 16 | val extraKey: String? = null, 17 | val extraValue: String? = null 18 | ) -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_night_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_seekbar_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_fragment_bookmark.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_search_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_more_horiz_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_about_black.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_progressbar_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_bg_round_white_ripple.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_include_toolbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/event/ContentEvent.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.event; 2 | 3 | import com.shockwave.pdfium.PdfDocument; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * @author Aaron aaronzzxup@gmail.com 9 | */ 10 | public class ContentEvent { 11 | 12 | private List bookmarkList; 13 | 14 | public ContentEvent(List bookmarkList) { 15 | this.bookmarkList = bookmarkList; 16 | } 17 | 18 | public List getBookmarkList() { 19 | return bookmarkList; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_more_black.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/menu/app_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 9 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_recycler_item_search_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_window_scale_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/main/IMainContract.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.main 2 | 3 | import androidx.annotation.StringRes 4 | import com.aaron.yespdf.common.IPresenter 5 | import com.aaron.yespdf.common.IView 6 | 7 | /** 8 | * @author Aaron aaronzzxup@gmail.com 9 | */ 10 | interface IMainView : IView { 11 | fun onShowMessage(@StringRes stringId: Int) 12 | fun onShowLoading() 13 | fun onHideLoading() 14 | fun onUpdate() 15 | } 16 | 17 | abstract class IMainPresenter(view: IMainView) : IPresenter(view) { 18 | abstract fun insertPDF(paths: List?, type: Int?, groupName: String?) 19 | } -------------------------------------------------------------------------------- /app/src/main/res/anim/app_window_scale_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_sel_seekbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_content_white.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_thumb_up_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/about/IAboutContract.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.about 2 | 3 | import com.aaron.yespdf.common.IPresenter 4 | import com.aaron.yespdf.common.IView 5 | 6 | /** 7 | * @author Aaron aaronzheng9603@gmail.com 8 | */ 9 | interface IAboutView : IView { 10 | fun onShowMessage(list: List) 11 | fun onShowLibrary(list: List) 12 | } 13 | 14 | abstract class IAboutPresenter(view: IAboutView) : IPresenter(view) { 15 | abstract fun requestMessage(iconId: IntArray, title: Array) 16 | abstract fun requestLibrary(name: Array, author: Array, introduce: Array) 17 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_search_grey.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_content_red_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_vector_play_pause.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_include_tv_path.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/event/RecentPDFEvent.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.event; 2 | 3 | /** 4 | * @author Aaron aaronzzxup@gmail.com 5 | */ 6 | public class RecentPDFEvent { 7 | 8 | private boolean fromPreviewActivity; 9 | 10 | public RecentPDFEvent() { 11 | } 12 | 13 | public RecentPDFEvent(boolean fromPreviewActivity) { 14 | this.fromPreviewActivity = fromPreviewActivity; 15 | } 16 | 17 | public boolean isFromPreviewActivity() { 18 | return fromPreviewActivity; 19 | } 20 | 21 | public void setFromPreviewActivity(boolean fromPreviewActivity) { 22 | this.fromPreviewActivity = fromPreviewActivity; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/preview/PagerAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.preview 2 | 3 | import androidx.fragment.app.Fragment 4 | import androidx.fragment.app.FragmentManager 5 | import androidx.fragment.app.FragmentPagerAdapter 6 | 7 | /** 8 | * @author Aaron aaronzzxup@gmail.com 9 | */ 10 | internal class PagerAdapter(fm: FragmentManager) : FragmentPagerAdapter(fm, BEHAVIOR_SET_USER_VISIBLE_HINT) { 11 | 12 | override fun getItem(position: Int): Fragment { 13 | return if (position == 0) { 14 | ContentFragment.newInstance() 15 | } else BookmarkFragment.newInstance() 16 | } 17 | 18 | override fun getCount(): Int { 19 | return 2 20 | } 21 | } -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/utils/ImageUtils.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.utils 2 | 3 | import android.graphics.* 4 | 5 | /** 6 | * @author Aaron aaronzzxup@gmail.com 7 | */ 8 | object ImageUtils { 9 | 10 | fun handleImageEffect(bm: Bitmap, saturation: Float): Bitmap { 11 | val bmp = Bitmap.createBitmap(bm.width, bm.height, Bitmap.Config.ARGB_8888) 12 | val canvas = Canvas(bmp) 13 | val paint = Paint() 14 | val saturationMatrix = ColorMatrix() 15 | saturationMatrix.setSaturation(saturation) 16 | paint.colorFilter = ColorMatrixColorFilter(saturationMatrix) 17 | canvas.drawBitmap(bm, 0f, 0f, paint) 18 | return bmp 19 | } 20 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_pdf_red_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_pdf_white_40dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_fragment_content.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_content_tab_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_screen_lock_landscape_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/HeaderHolder.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common; 2 | 3 | import android.view.View; 4 | import android.widget.TextView; 5 | 6 | import androidx.annotation.NonNull; 7 | import androidx.recyclerview.widget.RecyclerView; 8 | 9 | import com.aaron.yespdf.R; 10 | 11 | /** 12 | * @author Aaron aaronzzxup@gmail.com 13 | */ 14 | public class HeaderHolder extends RecyclerView.ViewHolder { 15 | 16 | public static final int DEFAULT_LAYOUT = R.layout.app_recycler_item_search_header; 17 | 18 | public TextView tvCount; 19 | 20 | public HeaderHolder(@NonNull View itemView) { 21 | super(itemView); 22 | tvCount = itemView.findViewById(R.id.app_tv_count); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_selectall_unchecked.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_fragment_all.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/EmptyHolder.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common; 2 | 3 | import android.view.View; 4 | 5 | import androidx.annotation.NonNull; 6 | import androidx.recyclerview.widget.RecyclerView; 7 | 8 | import com.aaron.yespdf.R; 9 | import com.aaron.yespdf.common.widgets.ImageTextView; 10 | 11 | /** 12 | * @author Aaron aaronzzxup@gmail.com 13 | */ 14 | public class EmptyHolder extends RecyclerView.ViewHolder { 15 | 16 | public static final int DEFAULT_LAYOUT = R.layout.app_recycler_item_emptyview; 17 | 18 | public ImageTextView itvEmpty; 19 | 20 | public EmptyHolder(@NonNull View itemView) { 21 | super(itemView); 22 | itvEmpty = itemView.findViewById(R.id.app_itv_placeholder); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/bean/Cover.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.bean; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * @author Aaron aaronzzxup@gmail.com 7 | */ 8 | public class Cover { 9 | 10 | public String name; 11 | public List coverList; 12 | public int count; 13 | 14 | public Cover(String name, List coverList, int count) { 15 | this.name = name; 16 | this.coverList = coverList; 17 | this.count = count; 18 | } 19 | 20 | @Override 21 | public String toString() { 22 | return "Cover{" + 23 | "name='" + name + '\'' + 24 | ", coverList=" + coverList + 25 | ", count=" + count + 26 | '}'; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_selectall_disable.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_placeholder_black.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_introduce.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_selectall_checked.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/anim/app_fall_down.xml: -------------------------------------------------------------------------------- 1 | 3 | 8 | 13 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_import_black.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_placeholder_white.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_include_path.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_recycler_item_emptyview.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_gift.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_fragment_recent.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_vertical_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_horizontal_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/util/FitPolicy.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2017 Bartosz Schiller 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.github.barteksc.pdfviewer.util; 17 | 18 | public enum FitPolicy { 19 | WIDTH, HEIGHT, BOTH 20 | } 21 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/util/SnapEdge.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2017 Bartosz Schiller 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.github.barteksc.pdfviewer.util; 17 | 18 | public enum SnapEdge { 19 | START, CENTER, END, NONE 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/statistic/Statistic.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.statistic 2 | 3 | import android.content.Context 4 | import com.umeng.analytics.MobclickAgent 5 | import com.umeng.commonsdk.UMConfigure 6 | 7 | /** 8 | * @author aaronzzxup@gmail.com 9 | * @since 2020/7/4 10 | */ 11 | object Statistic { 12 | 13 | private const val APP_KEY = "5ef6d654167eddf17b000015" 14 | private const val APP_CHANNEL = "coolapk" 15 | 16 | fun init(context: Context) { 17 | UMConfigure.init(context, APP_KEY, APP_CHANNEL, UMConfigure.DEVICE_TYPE_PHONE, null) 18 | } 19 | 20 | fun setLogEnabled(value: Boolean) { 21 | UMConfigure.setLogEnabled(value) 22 | } 23 | 24 | fun onResume(context: Context) { 25 | MobclickAgent.onResume(context) 26 | } 27 | 28 | fun onPause(context: Context) { 29 | MobclickAgent.onPause(context) 30 | } 31 | } -------------------------------------------------------------------------------- /app/src/androidTest/java/com/aaron/yespdf/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf; 2 | 3 | import android.content.Context; 4 | 5 | import androidx.test.platform.app.InstrumentationRegistry; 6 | import androidx.test.ext.junit.runners.AndroidJUnit4; 7 | 8 | import org.junit.Test; 9 | import org.junit.runner.RunWith; 10 | 11 | import static org.junit.Assert.*; 12 | 13 | /** 14 | * Instrumented test, which will execute on an Android device. 15 | * 16 | * @see Testing documentation 17 | */ 18 | @RunWith(AndroidJUnit4.class) 19 | public class ExampleInstrumentedTest { 20 | @Test 21 | public void useAppContext() { 22 | // Context of the app under test. 23 | Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); 24 | 25 | assertEquals("com.aaron.yespdf", appContext.getPackageName()); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/utils/GreyUI.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common.utils 2 | 3 | import android.graphics.ColorMatrix 4 | import android.graphics.ColorMatrixColorFilter 5 | import android.graphics.Paint 6 | import android.view.View 7 | import android.view.Window 8 | 9 | /** 10 | * @author aaronzzxup@gmail.com 11 | * @since 2020/7/4 12 | */ 13 | object GreyUI { 14 | 15 | fun grey(window: Window?, value: Boolean) { 16 | window ?: return 17 | 18 | val paint = makePaint() 19 | val decorView = window.decorView 20 | decorView.setLayerType(View.LAYER_TYPE_HARDWARE, if (value) paint else null) 21 | } 22 | 23 | private fun makePaint(): Paint { 24 | return Paint().apply { 25 | val matrix = ColorMatrix().apply { 26 | setSaturation(0f) 27 | } 28 | colorFilter = ColorMatrixColorFilter(matrix) 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/app_activity_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_toast.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/XGridDecoration.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common; 2 | 3 | import android.graphics.Rect; 4 | import android.view.View; 5 | 6 | import androidx.annotation.NonNull; 7 | import androidx.recyclerview.widget.RecyclerView; 8 | 9 | import com.blankj.utilcode.util.ConvertUtils; 10 | 11 | /** 12 | * @author Aaron aaronzzxup@gmail.com 13 | */ 14 | public class XGridDecoration extends RecyclerView.ItemDecoration { 15 | 16 | @Override 17 | public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { 18 | int pos = parent.getChildAdapterPosition(view); 19 | switch (pos % 3) { 20 | case 0: 21 | case 1: 22 | case 2: 23 | outRect.left = ConvertUtils.dp2px(8); 24 | outRect.right = ConvertUtils.dp2px(8); 25 | break; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_recycler_item_message.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 14 | 15 | 23 | 24 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/exception/exception.plantuml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | title __EXCEPTION's Class Diagram__\n 4 | 5 | namespace com.github.barteksc.pdfviewer { 6 | namespace exception { 7 | class com.github.barteksc.pdfviewer.exception.FileNotFoundException { 8 | + FileNotFoundException() 9 | + FileNotFoundException() 10 | } 11 | } 12 | } 13 | 14 | 15 | namespace com.github.barteksc.pdfviewer { 16 | namespace exception { 17 | class com.github.barteksc.pdfviewer.exception.PageRenderingException { 18 | - page : int 19 | + PageRenderingException() 20 | + getPage() 21 | } 22 | } 23 | } 24 | 25 | 26 | 27 | 28 | right footer 29 | 30 | 31 | PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it) 32 | For more information about this tool, please contact philippe.mesmeur@gmail.com 33 | endfooter 34 | 35 | @enduml 36 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_source_code.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_recycler_item_settings_switch.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 18 | 19 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_android_white_40dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/CoverHolder.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common 2 | 3 | import android.view.View 4 | import android.widget.CheckBox 5 | import android.widget.ImageView 6 | import android.widget.TextView 7 | import com.aaron.yespdf.R 8 | 9 | /** 10 | * @author Aaron aaronzzxup@gmail.com 11 | */ 12 | class CoverHolder(itemView: View) : BaseHolder(itemView) { 13 | val ivCover: ImageView 14 | val tvTitle: TextView 15 | val tvProgress: TextView 16 | override val checkBox: CheckBox 17 | 18 | companion object { 19 | const val DEFAULT_LAYOUT = R.layout.app_recycler_item_cover 20 | const val DEFAULT_LAYOUT_HORIZONTAL = R.layout.app_recycler_item_cover_horizontal 21 | } 22 | 23 | init { 24 | ivCover = itemView.findViewById(R.id.app_iv_cover) 25 | tvTitle = itemView.findViewById(R.id.app_tv_title) 26 | tvProgress = itemView.findViewById(R.id.app_tv_progress) 27 | checkBox = itemView.findViewById(R.id.app_cb) 28 | } 29 | } -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/main/MainFragmentAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.main 2 | 3 | import androidx.fragment.app.Fragment 4 | import androidx.fragment.app.FragmentManager 5 | import androidx.fragment.app.FragmentPagerAdapter 6 | import com.aaron.yespdf.R 7 | import com.aaron.yespdf.common.App 8 | 9 | /** 10 | * @author Aaron aaronzzxup@gmail.com 11 | */ 12 | class MainFragmentAdapter(fm: FragmentManager) : FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { 13 | 14 | override fun getItem(position: Int): Fragment { 15 | return if (position == 0) { 16 | RecentFragment.newInstance() 17 | } else AllFragment2.newInstance() 18 | } 19 | 20 | override fun getCount(): Int = 2 21 | 22 | override fun getPageTitle(position: Int): CharSequence? = TITLES[position] 23 | 24 | companion object { 25 | private val TITLES = arrayOf(App.getContext().getString(R.string.app_recent), App.getContext().getString(R.string.app_all)) 26 | } 27 | } -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/listener/OnErrorListener.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2016 Bartosz Schiller 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.github.barteksc.pdfviewer.listener; 17 | 18 | public interface OnErrorListener { 19 | 20 | /** 21 | * Called if error occurred while opening PDF 22 | * @param t Throwable with error 23 | */ 24 | void onError(Throwable t); 25 | } 26 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/listener/OnRenderListener.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2017 Bartosz Schiller 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.github.barteksc.pdfviewer.listener; 17 | 18 | public interface OnRenderListener { 19 | 20 | /** 21 | * Called only once, when document is rendered 22 | * @param nbPages number of pages 23 | */ 24 | void onInitiallyRendered(int nbPages); 25 | } 26 | -------------------------------------------------------------------------------- /android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/listener/OnPageErrorListener.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2017 Bartosz Schiller 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.github.barteksc.pdfviewer.listener; 17 | 18 | public interface OnPageErrorListener { 19 | 20 | /** 21 | * Called if error occurred while loading PDF page 22 | * @param t Throwable with error 23 | */ 24 | void onPageError(int page, Throwable t); 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/aaron/yespdf/common/DaoConverter.java: -------------------------------------------------------------------------------- 1 | package com.aaron.yespdf.common; 2 | 3 | import org.greenrobot.greendao.converter.PropertyConverter; 4 | 5 | import java.util.Arrays; 6 | import java.util.List; 7 | 8 | /** 9 | * @author Aaron aaronzzxup@gmail.com 10 | */ 11 | public final class DaoConverter implements PropertyConverter, String> { 12 | 13 | @Override 14 | public List convertToEntityProperty(String databaseValue) { 15 | if (databaseValue == null) { 16 | return null; 17 | } 18 | return Arrays.asList(databaseValue.split(",")); 19 | } 20 | 21 | @Override 22 | public String convertToDatabaseValue(List entityProperty) { 23 | if (entityProperty == null) { 24 | return null; 25 | } 26 | StringBuilder sb = new StringBuilder(); 27 | for (String json : entityProperty) { 28 | sb.append(json).append(","); 29 | } 30 | return sb.substring(0, sb.length() - 1); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_settings_white.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/app_ic_action_settings_black.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/app_fragment_auto_scan.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 13 | 14 |