├── .codacy.yaml ├── .gitignore ├── .travis.yml ├── Feedback.md ├── LICENSE ├── README.md ├── client ├── .gitignore ├── LICENSE ├── app │ ├── .gitignore │ ├── build.gradle │ ├── fabric.properties │ ├── gradlew │ ├── gradlew.bat │ ├── libs │ │ └── photoview-release.aar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── me │ │ │ └── shouheng │ │ │ └── notepal │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── ic_launcher-web.png │ │ ├── java │ │ │ └── me │ │ │ │ └── shouheng │ │ │ │ └── notepal │ │ │ │ ├── Constants.java │ │ │ │ ├── PalmApp.java │ │ │ │ ├── activity │ │ │ │ ├── AboutActivity.java │ │ │ │ ├── DirectoryActivity.java │ │ │ │ ├── FabSortActivity.java │ │ │ │ ├── GalleryActivity.java │ │ │ │ ├── ListActivity.java │ │ │ │ ├── LockActivity.java │ │ │ │ ├── MainActivity.java │ │ │ │ ├── QuickActivity.java │ │ │ │ ├── SearchActivity.java │ │ │ │ ├── SettingsActivity.java │ │ │ │ └── SketchActivity.java │ │ │ │ ├── adapter │ │ │ │ ├── AttachmentPagerAdapter.java │ │ │ │ ├── CategoriesAdapter.java │ │ │ │ ├── DirectoriesAdapter.java │ │ │ │ ├── FabSortAdapter.java │ │ │ │ ├── ModelsPickerAdapter.java │ │ │ │ ├── NotesAdapter.java │ │ │ │ ├── TimeLinesAdapter.java │ │ │ │ └── picker │ │ │ │ │ ├── CategoryPickerStrategy.java │ │ │ │ │ ├── ModelsPickerStrategy.java │ │ │ │ │ └── NotebookPickerStrategy.java │ │ │ │ ├── common │ │ │ │ ├── enums │ │ │ │ │ └── SyncTimeInterval.java │ │ │ │ ├── exception │ │ │ │ │ ├── NoteFileReadException.java │ │ │ │ │ └── NoteNotFoundException.java │ │ │ │ └── preferences │ │ │ │ │ ├── SyncPreferences.java │ │ │ │ │ └── UserPreferences.java │ │ │ │ ├── desktop │ │ │ │ ├── BaseWidgetProvider.java │ │ │ │ ├── ConfigActivity.java │ │ │ │ ├── DesktopShortcutAppWidget.java │ │ │ │ ├── ListWidgetProvider.java │ │ │ │ ├── NotesListWidgetService.java │ │ │ │ └── SimpleWidgetProvider.java │ │ │ │ ├── dialog │ │ │ │ ├── CategoryEditDialog.java │ │ │ │ ├── NotebookEditDialog.java │ │ │ │ ├── OpenResolver.java │ │ │ │ ├── PortraitPickerDialog.java │ │ │ │ ├── QuickNoteDialog.java │ │ │ │ ├── SimpleEditDialog.java │ │ │ │ ├── TableInputDialog.java │ │ │ │ ├── ThemePickDialog.java │ │ │ │ └── picker │ │ │ │ │ ├── BasePickerDialog.java │ │ │ │ │ ├── CategoryPickerDialog.java │ │ │ │ │ └── NotebookPickerDialog.java │ │ │ │ ├── fragment │ │ │ │ ├── BaseFragment.java │ │ │ │ ├── CategoriesFragment.java │ │ │ │ ├── DirectoriesFragment.java │ │ │ │ ├── ImageFragment.java │ │ │ │ ├── NoteFragment.java │ │ │ │ ├── NoteViewFragment.java │ │ │ │ ├── NotesFragment.java │ │ │ │ ├── StatisticsFragment.java │ │ │ │ ├── SupportFragment.java │ │ │ │ ├── TimeLineFragment.java │ │ │ │ └── setting │ │ │ │ │ ├── SettingsBackup.java │ │ │ │ │ ├── SettingsFragment.java │ │ │ │ │ ├── SettingsNote.java │ │ │ │ │ └── SettingsSecurity.java │ │ │ │ ├── manager │ │ │ │ ├── FileManager.java │ │ │ │ └── NoteManager.java │ │ │ │ ├── onedrive │ │ │ │ ├── BatchUploadPool.java │ │ │ │ ├── ClearBackupStateTask.java │ │ │ │ ├── DefaultCallback.java │ │ │ │ ├── FileUploadRunnable.java │ │ │ │ ├── FileUploadTask.java │ │ │ │ ├── FileUploadWatcher.java │ │ │ │ ├── GetUploadAttachmentTask.java │ │ │ │ ├── OneDriveBackupService.java │ │ │ │ ├── OneDriveConstants.java │ │ │ │ ├── OneDriveManager.java │ │ │ │ └── PrepareBackupDirTask.java │ │ │ │ ├── service │ │ │ │ └── DataBackupService.java │ │ │ │ ├── util │ │ │ │ ├── AppWidgetUtils.java │ │ │ │ ├── AttachmentHelper.java │ │ │ │ ├── NotificationsHelper.java │ │ │ │ ├── ScreenShotHelper.java │ │ │ │ ├── ShortcutHelper.java │ │ │ │ └── SynchronizeUtils.java │ │ │ │ ├── vm │ │ │ │ ├── CategoriesViewModel.java │ │ │ │ ├── DirectoryViewModel.java │ │ │ │ ├── MainViewModel.java │ │ │ │ ├── NoteViewModel.java │ │ │ │ ├── NoteViewerViewModel.java │ │ │ │ ├── NotesViewModel.java │ │ │ │ ├── QuickViewModel.java │ │ │ │ ├── SearchViewModel.java │ │ │ │ └── StatisticViewModel.java │ │ │ │ └── widget │ │ │ │ └── MDEditorLayout.java │ │ └── res │ │ │ ├── anim │ │ │ ├── fade_in_support.xml │ │ │ └── fade_out_support.xml │ │ │ ├── font │ │ │ └── font.ttf │ │ │ ├── layout-land │ │ │ └── activity_lock.xml │ │ │ ├── layout │ │ │ ├── activity_about.xml │ │ │ ├── activity_base_list.xml │ │ │ ├── activity_content.xml │ │ │ ├── activity_directory.xml │ │ │ ├── activity_fab_sort.xml │ │ │ ├── activity_gallery.xml │ │ │ ├── activity_lock.xml │ │ │ ├── activity_main.xml │ │ │ ├── activity_search.xml │ │ │ ├── activity_settings.xml │ │ │ ├── activity_sketch.xml │ │ │ ├── activity_widget_configuration.xml │ │ │ ├── desktop_shortcut_app_widget.xml │ │ │ ├── dialog_announcement.xml │ │ │ ├── dialog_attachment_picker_layout.xml │ │ │ ├── dialog_backup_layout.xml │ │ │ ├── dialog_category_edit.xml │ │ │ ├── dialog_input_table_layout.xml │ │ │ ├── dialog_models_picker_layout.xml │ │ │ ├── dialog_notebook_edit.xml │ │ │ ├── dialog_open_resolver.xml │ │ │ ├── dialog_portrait_seletor_layout.xml │ │ │ ├── dialog_quick_note.xml │ │ │ ├── dialog_security_question_layout.xml │ │ │ ├── dialog_simple_edit_layout.xml │ │ │ ├── dialog_theme_pick.xml │ │ │ ├── fragment_categories.xml │ │ │ ├── fragment_directories.xml │ │ │ ├── fragment_note.xml │ │ │ ├── fragment_note_view.xml │ │ │ ├── fragment_notes.xml │ │ │ ├── fragment_statistics.xml │ │ │ ├── fragment_support.xml │ │ │ ├── fragment_time_line.xml │ │ │ ├── item_about_license.xml │ │ │ ├── item_about_section.xml │ │ │ ├── item_about_text.xml │ │ │ ├── item_about_user.xml │ │ │ ├── item_category.xml │ │ │ ├── item_directory.xml │ │ │ ├── item_fab_drag_sort.xml │ │ │ ├── item_format.xml │ │ │ ├── item_note.xml │ │ │ ├── item_note_expanded.xml │ │ │ ├── item_portrait.xml │ │ │ ├── item_time_line.xml │ │ │ ├── item_universal_icon_layout.xml │ │ │ ├── layout_action_view_bottom_dialog.xml │ │ │ ├── layout_header.xml │ │ │ ├── layout_markdown_editor.xml │ │ │ ├── layout_note_view_drawer.xml │ │ │ ├── layout_toolbar.xml │ │ │ ├── popup_sketch_eraser.xml │ │ │ ├── popup_sketch_stroke.xml │ │ │ ├── widget_item_note.xml │ │ │ ├── widget_layout.xml │ │ │ ├── widget_layout_list.xml │ │ │ ├── widget_layout_small.xml │ │ │ └── widget_layout_toolbar.xml │ │ │ ├── menu │ │ │ ├── attachment_picker.xml │ │ │ ├── capture.xml │ │ │ ├── category_pop_menu.xml │ │ │ ├── directory.xml │ │ │ ├── export.xml │ │ │ ├── gallery.xml │ │ │ ├── main.xml │ │ │ ├── menu_about.xml │ │ │ ├── note_editor_menu.xml │ │ │ ├── note_find_action.xml │ │ │ ├── note_viewer_menu.xml │ │ │ ├── pop_menu.xml │ │ │ ├── search.xml │ │ │ ├── share.xml │ │ │ └── sort_editor_menu.xml │ │ │ ├── raw │ │ │ ├── files.png │ │ │ ├── play.png │ │ │ └── vcard.png │ │ │ ├── values │ │ │ ├── arrays.xml │ │ │ └── configs.xml │ │ │ ├── xml-v25 │ │ │ └── shortcuts.xml │ │ │ └── xml │ │ │ ├── app_widget_list.xml │ │ │ ├── app_widget_shortcut.xml │ │ │ ├── app_widget_simple.xml │ │ │ ├── network_security_config.xml │ │ │ ├── preferences.xml │ │ │ ├── preferences_data_backup.xml │ │ │ ├── preferences_data_security.xml │ │ │ ├── preferences_note.xml │ │ │ └── provider_paths.xml │ │ └── test │ │ └── java │ │ └── me │ │ └── shouheng │ │ └── notepal │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── commons ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── me │ │ └── shouheng │ │ └── commons │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ └── share.jpg │ ├── ic_launcher-web.png │ ├── java │ │ └── me │ │ │ └── shouheng │ │ │ └── commons │ │ │ ├── BaseApplication.java │ │ │ ├── BaseConstants.java │ │ │ ├── activity │ │ │ ├── CommonActivity.java │ │ │ ├── ContainerActivity.java │ │ │ ├── PermissionActivity.java │ │ │ ├── ThemedActivity.java │ │ │ ├── UMengActivity.java │ │ │ └── interaction │ │ │ │ ├── BackEventResolver.java │ │ │ │ └── FragmentKeyDown.java │ │ │ ├── event │ │ │ ├── PageName.java │ │ │ ├── RxBus.java │ │ │ ├── RxMessage.java │ │ │ └── UMEvent.java │ │ │ ├── fragment │ │ │ ├── BPreferenceFragment.java │ │ │ ├── CommonFragment.java │ │ │ └── WebviewFragment.java │ │ │ ├── helper │ │ │ ├── ActivityHelper.java │ │ │ ├── DialogHelper.java │ │ │ └── FragmentHelper.java │ │ │ ├── image │ │ │ ├── GifSizeFilter.java │ │ │ └── Glide4Engine.java │ │ │ ├── minipay │ │ │ ├── AliZhi.java │ │ │ ├── Config.java │ │ │ ├── DonateActivity.java │ │ │ ├── MiniPayUtils.java │ │ │ └── WeZhi.java │ │ │ ├── model │ │ │ └── data │ │ │ │ ├── Resource.java │ │ │ │ └── Status.java │ │ │ ├── theme │ │ │ ├── SystemUiVisibilityUtil.java │ │ │ ├── ThemeStyle.java │ │ │ └── ThemeUtils.java │ │ │ ├── utils │ │ │ ├── ColorUtils.java │ │ │ ├── IntentUtils.java │ │ │ ├── Md5Utils.java │ │ │ ├── NetworkUtils.java │ │ │ ├── PalmUtils.java │ │ │ ├── PermissionUtils.java │ │ │ ├── PersistData.java │ │ │ ├── StringUtils.java │ │ │ ├── TimeUtils.java │ │ │ ├── UserUtil.java │ │ │ └── ViewUtils.java │ │ │ └── widget │ │ │ ├── Chip.java │ │ │ ├── CircleImageView.java │ │ │ ├── DepthPageTransformer.java │ │ │ ├── FastScroller.java │ │ │ ├── FlowLayout.java │ │ │ ├── HackyViewPager.java │ │ │ ├── SquareFrameLayout.java │ │ │ ├── SquareImageView.java │ │ │ ├── Timeline.java │ │ │ ├── WatcherTextView.java │ │ │ ├── dialog │ │ │ ├── ColorPicker.java │ │ │ └── PopupPicker.java │ │ │ ├── recycler │ │ │ ├── BaseViewHolder.java │ │ │ ├── BubbleTextGetter.java │ │ │ ├── CustomItemAnimator.java │ │ │ ├── CustomItemTouchHelper.java │ │ │ ├── CustomRecyclerScrollViewListener.java │ │ │ ├── DividerItemDecoration.java │ │ │ ├── DragSortRecycler.java │ │ │ ├── EmptySupportRecyclerView.java │ │ │ ├── EmptyView.java │ │ │ ├── IItemTouchHelperAdapter.java │ │ │ ├── SingleChoiceAdapter.java │ │ │ └── SpaceItemDecoration.java │ │ │ ├── sketch │ │ │ ├── OnDrawChangedListener.java │ │ │ └── SketchView.java │ │ │ └── theme │ │ │ ├── CardTitleView.java │ │ │ ├── Divider.java │ │ │ ├── SupportAppBarLayout.java │ │ │ ├── SupportCardView.java │ │ │ ├── SupportImageView.java │ │ │ ├── SupportLoading.java │ │ │ └── SupportTextView.java │ └── res │ │ ├── anim │ │ ├── anim_slide_in_bottom.xml │ │ ├── color_picker_hide.xml │ │ └── color_picker_show.xml │ │ ├── drawable-nodpi │ │ ├── list_widget_preview.png │ │ ├── play_no_bg.png │ │ └── toolbar_widget_preview.png │ │ ├── drawable-v21 │ │ └── ripple.xml │ │ ├── drawable-xhdpi │ │ ├── ab_ink_redo.png │ │ ├── ab_ink_undo.png │ │ ├── ic_action_github.png │ │ ├── ic_action_gmail.png │ │ ├── ic_action_google_play.png │ │ ├── ic_action_twitter.png │ │ ├── mn.png │ │ └── umeng_socialize_qq_on.png │ │ ├── drawable-xxhdpi │ │ └── ic_launcher_round.png │ │ ├── drawable │ │ ├── about_page_card.xml │ │ ├── bg_picker.9.png │ │ ├── bg_toolbar_shade.xml │ │ ├── branded_background.xml │ │ ├── circle.xml │ │ ├── donate_button.xml │ │ ├── donate_wechat_bg.xml │ │ ├── fast_scroll_bar_dark.png │ │ ├── fast_scroll_bar_light.png │ │ ├── ic_access_alarm_grey.xml │ │ ├── ic_add_a_photo_grey_24dp.xml │ │ ├── ic_add_a_photo_white.xml │ │ ├── ic_add_black_24dp.xml │ │ ├── ic_albums.xml │ │ ├── ic_archive_grey.xml │ │ ├── ic_arrow_back_black_24dp.xml │ │ ├── ic_arrow_back_white_24dp.xml │ │ ├── ic_attach_file_black.xml │ │ ├── ic_attach_file_grey.xml │ │ ├── ic_baseline_card_giftcard_24.xml │ │ ├── ic_book.xml │ │ ├── ic_book_large.png │ │ ├── ic_brush_black_24dp.xml │ │ ├── ic_bubble_chart_black_48dp.png │ │ ├── ic_bug.xml │ │ ├── ic_check_circle_black_24dp.xml │ │ ├── ic_checkbox_checked.xml │ │ ├── ic_checkbox_unchecked.xml │ │ ├── ic_close_black_24dp.xml │ │ ├── ic_cloud.xml │ │ ├── ic_collection.xml │ │ ├── ic_color_lens_black_24dp.xml │ │ ├── ic_color_lens_white_24dp.xml │ │ ├── ic_color_picked.xml │ │ ├── ic_content_copy_black_24dp.xml │ │ ├── ic_corporate.xml │ │ ├── ic_count_bg.xml │ │ ├── ic_demostrate.xml │ │ ├── ic_description_black_24dp.xml │ │ ├── ic_edit_white_24dp.xml │ │ ├── ic_envelope.xml │ │ ├── ic_equalizer_grey_24dp.xml │ │ ├── ic_eraser_black_24dp.png │ │ ├── ic_error_outline_black_48dp.png │ │ ├── ic_expand_less_black_24dp.xml │ │ ├── ic_expand_more_black_24dp.xml │ │ ├── ic_favorite_border_red_24dp.xml │ │ ├── ic_fingerprint_black_24dp.xml │ │ ├── ic_flag.xml │ │ ├── ic_folder_black_24dp.xml │ │ ├── ic_football.xml │ │ ├── ic_gesture_grey_24dp.xml │ │ ├── ic_gift.xml │ │ ├── ic_gmail.xml │ │ ├── ic_grow.xml │ │ ├── ic_headset.xml │ │ ├── ic_house.xml │ │ ├── ic_https_white_24dp.xml │ │ ├── ic_insert_drive_file_grey_24dp.xml │ │ ├── ic_insert_link_grey_24dp.xml │ │ ├── ic_keyboard_arrow_left_black_24dp.xml │ │ ├── ic_keyboard_arrow_right_black_24dp.xml │ │ ├── ic_keyboard_black_24dp.xml │ │ ├── ic_label.xml │ │ ├── ic_lightbulb_outline_black_24dp.xml │ │ ├── ic_local_post_office_black_24dp.xml │ │ ├── ic_local_printshop_black_24dp.xml │ │ ├── ic_location.xml │ │ ├── ic_lock.xml │ │ ├── ic_loving_folder.xml │ │ ├── ic_loving_label.xml │ │ ├── ic_medal.xml │ │ ├── ic_menu_black.xml │ │ ├── ic_menu_white.xml │ │ ├── ic_message.xml │ │ ├── ic_mic_grey_24dp.xml │ │ ├── ic_monetization_on_black_24dp.xml │ │ ├── ic_more_horiz.xml │ │ ├── ic_more_vert_black_24dp.xml │ │ ├── ic_move_to_inbox_black_24dp.xml │ │ ├── ic_music.xml │ │ ├── ic_node.xml │ │ ├── ic_node_circle.xml │ │ ├── ic_oval_background.xml │ │ ├── ic_phone_android_grey_24dp.xml │ │ ├── ic_photo_camera_black_24dp.xml │ │ ├── ic_photo_library_grey_24dp.xml │ │ ├── ic_picture_black.xml │ │ ├── ic_play_circle_outline_white_24dp.xml │ │ ├── ic_refresh_black_24dp.xml │ │ ├── ic_save_white.xml │ │ ├── ic_search_black_24dp.xml │ │ ├── ic_search_black_48dp.png │ │ ├── ic_settings_black.xml │ │ ├── ic_share_white.xml │ │ ├── ic_shortcut_capture.xml │ │ ├── ic_shortcut_create.xml │ │ ├── ic_shortcut_quick.xml │ │ ├── ic_shortcut_search.xml │ │ ├── ic_star.xml │ │ ├── ic_subdirectory_arrow_left_black_24dp.xml │ │ ├── ic_timeline.xml │ │ ├── ic_timeline_black_24dp.xml │ │ ├── ic_tourism.xml │ │ ├── ic_trash_black.xml │ │ ├── ic_videocam_grey_24dp.xml │ │ ├── ic_view_module_black_48dp.png │ │ ├── ic_view_module_white_24dp.xml │ │ ├── ic_visibility_black_24dp.xml │ │ ├── ic_wb_cloudy_black_24dp.xml │ │ ├── icon_selector.xml │ │ ├── item_divider_black.xml │ │ ├── item_divider_white.xml │ │ ├── list_selector_focused.xml │ │ ├── list_selector_pressed.xml │ │ ├── mark_note.png │ │ ├── play.png │ │ ├── recyclerview_fastscroller_bubble.xml │ │ ├── recyclerview_fastscroller_handle.xml │ │ ├── roundbtn_tran.xml │ │ ├── roundbtn_tran_enabled.xml │ │ ├── roundbtn_tran_normal.xml │ │ ├── roundbtn_tran_pressed.xml │ │ ├── selectable_item_background.xml │ │ ├── solid_circle_green.xml │ │ ├── ssdk_oks_classic_googleplus.png │ │ ├── ssdk_oks_classic_sinaweibo.png │ │ ├── ssdk_oks_classic_twitter.png │ │ └── stop.png │ │ ├── layout │ │ ├── activity_container.xml │ │ ├── activity_donate.xml │ │ ├── color_picker_bt.xml │ │ ├── color_picker_fab.xml │ │ ├── fragment_webview.xml │ │ ├── layout_network_error_page.xml │ │ ├── rv_popup_picker.xml │ │ ├── widget_card_title_view.xml │ │ ├── widget_chip.xml │ │ ├── widget_empty_view.xml │ │ ├── widget_fastscroller.xml │ │ └── widget_support_loading.xml │ │ ├── menu │ │ └── menu_web_items.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ali_pay.jpg │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ ├── ic_launcher_round.png │ │ └── mm_pay.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── values-v19 │ │ ├── dimens.xml │ │ └── styles.xml │ │ ├── values-v21 │ │ └── styles.xml │ │ ├── values-zh-rCN │ │ └── strings.xml │ │ ├── values-zh-rTW │ │ └── strings.xml │ │ └── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── ic_launcher_background.xml │ │ ├── keys.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── me │ └── shouheng │ └── commons │ └── ExampleUnitTest.java ├── crowdin.yml ├── data ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── me │ │ └── shouheng │ │ └── data │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── me │ │ │ └── shouheng │ │ │ └── data │ │ │ ├── DBConfig.java │ │ │ ├── ModelFactory.java │ │ │ ├── PalmDB.java │ │ │ ├── entity │ │ │ ├── Alarm.java │ │ │ ├── Attachment.java │ │ │ ├── Category.java │ │ │ ├── Location.java │ │ │ ├── Model.java │ │ │ ├── Note.java │ │ │ ├── Notebook.java │ │ │ ├── QuickNote.java │ │ │ ├── TimeLine.java │ │ │ └── Weather.java │ │ │ ├── helper │ │ │ ├── ArchiveHelper.java │ │ │ ├── NotebookHelper.java │ │ │ ├── StatisticsHelper.java │ │ │ ├── StoreHelper.java │ │ │ ├── TimelineHelper.java │ │ │ └── TrashHelper.java │ │ │ ├── model │ │ │ ├── DaysOfMonth.java │ │ │ ├── DaysOfWeek.java │ │ │ ├── Directory.java │ │ │ ├── Stats.java │ │ │ └── enums │ │ │ │ ├── AlarmType.java │ │ │ │ ├── FabSortItem.java │ │ │ │ ├── ModelType.java │ │ │ │ ├── NoteType.java │ │ │ │ ├── Operation.java │ │ │ │ ├── Portrait.java │ │ │ │ ├── Status.java │ │ │ │ └── WeatherType.java │ │ │ ├── schema │ │ │ ├── AlarmSchema.java │ │ │ ├── AttachmentSchema.java │ │ │ ├── BaseSchema.java │ │ │ ├── CategorySchema.java │ │ │ ├── LocationSchema.java │ │ │ ├── NoteSchema.java │ │ │ ├── NotebookSchema.java │ │ │ ├── TimelineSchema.java │ │ │ └── WeatherSchema.java │ │ │ ├── store │ │ │ ├── AlarmsStore.java │ │ │ ├── AttachmentsStore.java │ │ │ ├── BaseStore.java │ │ │ ├── CategoryStore.java │ │ │ ├── LocationsStore.java │ │ │ ├── NotebookStore.java │ │ │ ├── NotesStore.java │ │ │ ├── TimelineStore.java │ │ │ └── WeatherStore.java │ │ │ └── utils │ │ │ ├── OpenUtils.java │ │ │ ├── Selectable.java │ │ │ └── annotation │ │ │ ├── Column.java │ │ │ └── Table.java │ └── res │ │ └── values │ │ └── strings.xml │ └── test │ └── java │ └── me │ └── shouheng │ └── data │ └── ExampleUnitTest.java ├── fingerprint ├── .gitignore ├── build.gradle ├── libs │ ├── MeiZu_Fingerprint.jar │ ├── Samsung_Fingerprint_Pass-v1.2.2.jar │ └── Samsung_Fingerprint_Sdk-v1.0.0.jar ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── wei │ │ └── android │ │ └── lib │ │ └── fingerprintidentify │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ └── java │ │ └── com │ │ └── wei │ │ └── android │ │ └── lib │ │ └── fingerprintidentify │ │ ├── FingerprintIdentify.java │ │ ├── aosp │ │ ├── FingerprintManagerCompat.java │ │ └── FingerprintManagerCompatApi23.java │ │ ├── base │ │ └── BaseFingerprint.java │ │ └── impl │ │ ├── AndroidFingerprint.java │ │ ├── MeiZuFingerprint.java │ │ └── SamsungFingerprint.java │ └── test │ └── java │ └── com │ └── wei │ └── android │ └── lib │ └── fingerprintidentify │ └── ExampleUnitTest.java ├── photoview ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── uk │ │ └── co │ │ └── senab │ │ └── photoview │ │ ├── Compat.java │ │ ├── DefaultOnDoubleTapListener.java │ │ ├── IPhotoView.java │ │ ├── PhotoView.java │ │ ├── PhotoViewAttacher.java │ │ ├── gestures │ │ ├── CupcakeGestureDetector.java │ │ ├── EclairGestureDetector.java │ │ ├── FroyoGestureDetector.java │ │ ├── GestureDetector.java │ │ ├── OnGestureListener.java │ │ └── VersionedGestureDetector.java │ │ ├── log │ │ ├── LogManager.java │ │ ├── Logger.java │ │ └── LoggerDefault.java │ │ └── scrollerproxy │ │ ├── GingerScroller.java │ │ ├── IcsScroller.java │ │ ├── PreGingerScroller.java │ │ └── ScrollerProxy.java │ └── res │ └── values │ └── strings.xml ├── pinlockview ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── andrognito │ │ └── pinlockview │ │ └── ApplicationTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── andrognito │ │ │ └── pinlockview │ │ │ ├── CustomizationOptionsBundle.java │ │ │ ├── IndicatorDots.java │ │ │ ├── ItemSpaceDecoration.java │ │ │ ├── LTRGridLayoutManager.java │ │ │ ├── PinLockAdapter.java │ │ │ ├── PinLockListener.java │ │ │ ├── PinLockView.java │ │ │ ├── ResourceUtils.java │ │ │ └── ShuffleArrayUtils.java │ └── res │ │ ├── drawable │ │ ├── dot_empty.xml │ │ ├── dot_filled.xml │ │ └── ic_backspace.png │ │ ├── layout-v21 │ │ └── layout_number_item.xml │ │ ├── layout │ │ ├── layout_delete_item.xml │ │ └── layout_number_item.xml │ │ └── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimen.xml │ │ └── strings.xml │ └── test │ └── java │ └── com │ └── andrognito │ └── pinlockview │ └── ExampleUnitTest.java └── resources ├── README.md ├── images ├── 1.png ├── 2.png ├── 21.jpg ├── 22.jpg ├── 23.jpg ├── 24.jpg ├── 3.png ├── 4.png ├── 5.png ├── app.png ├── avatar_wngshhng.jpg ├── banner2.jpg ├── bg1.jpg ├── bg2.jpg ├── bg_1.jpg ├── bg_2.jpg ├── bg_3.jpg ├── bg_4.jpg ├── fd1.jpg ├── fd2.jpg ├── fd3.jpg ├── fd4.jpg ├── fd5.jpg ├── fd6.jpg ├── fd7.jpg ├── fd8.jpg ├── logo2.png ├── mark.png ├── page_0.png ├── page_0_en.png ├── page_1.png ├── page_1_en.png ├── page_2.png ├── page_2_en.png ├── page_3_en.png ├── page_4.png ├── page_4_en.png ├── page_5_en.png ├── page_6_en.png ├── page_7_en.png └── page_8_en.png ├── 关于应用.md ├── 协助翻译.md ├── 更新日志.md ├── 更新计划.md ├── 用户手册.md └── 隐私政策.md /.codacy.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - '**.md' 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: android 2 | jdk: oraclejdk8 3 | sudo: false 4 | android: 5 | components: 6 | - tools 7 | - tools 8 | - build-tools-28.0.0 9 | - android-28 10 | - extra-google-m2repository 11 | - extra-android-m2repository 12 | licenses: 13 | - android-sdk-preview-license-.+ 14 | - android-sdk-license-.+ 15 | - google-gdk-license-.+ 16 | script: ./client/gradlew build 17 | -------------------------------------------------------------------------------- /Feedback.md: -------------------------------------------------------------------------------- 1 | # 用户反馈综合整理 2 | 3 | - [ ] 列表界面的英文字体太维和?删除不方便,希望加入左滑删除功能;自定义CSS和WebDav同步 4 | 参考:[feedback1](images/fd1.jpg) 5 | - [ ] 预览的时候底部加FAB按钮用来快速编辑;参考:[feedback1](images/fd2.jpg) 6 | - [ ] 类似于纯纯写作的快捷自定义操作符;参考:[feedback1](images/fd3.jpg) 7 | - [ ] 参考:[feedback1](images/fd4.jpg) 8 | - [ ] 自定义文件存储位置,增加首行缩进等等,shortcut;参考:[feedback1](images/fd5.jpg) 9 | - [ ] 快捷滑动按钮的隐藏;[feedback1](images/fd6.jpg) 10 | - [ ] shortcut。废止篓中一键清空;[feedback1](images/fd7.jpg) 11 | - [ ] 参考:[feedback1](images/fd8.jpg) 12 | 13 | ## Gmail邮箱反馈 14 | 15 | 1. 在笔记界面点击反馈,填写完毕后,点击发送,跳转到手机邮箱,原先填写的反馈内容全部丢失。 16 | 2. 编辑页面不能回车换行。 17 | 3. 图片分享导出不能显示全部内容,只能截取屏幕上显示的那一部分。 18 | 4. 图片中的文字,其实是一句话一个段落,但是在预览和导出后,不能正常换行分段。 19 | 5. 图片中的文字并不是全部内容,下面的空白也有我这人,但是导出的图片不能显示。 20 | 21 | from dukailinfen@126.com 22 | 23 | ====== 24 | 25 | 1. 十分需要 网页版或者PC版 26 | 27 | from 296626750@qq.com 28 | 29 | ====== 30 | 31 | 1. 如果可以改变字体颜色就更棒了 32 | 33 | from Kwok Sauron 34 | 35 | ====== 36 | 37 | 1. 刚在软件内编辑了一些,点击提交后突然跳转到了邮箱里面😂 38 | 2. 在编辑页面插入回车可以换行,但是预览页面却没有了,变成空格了 39 | 3. 希望可以借鉴纯纯笔记那样的,可以在编辑页面有不同的质感背景。 40 | 41 | 谢谢了😂 42 | 43 | from dukailinfen@126.com 44 | 45 | ====== 46 | 47 | 48 | -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the ART/Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | out/ 15 | 16 | # Gradle files 17 | .gradle/ 18 | build/ 19 | .idea 20 | 21 | # Local configuration file (sdk path, etc) 22 | local.properties 23 | 24 | # Proguard folder generated by Eclipse 25 | proguard/ 26 | 27 | # Log Files 28 | *.log 29 | 30 | # Android Studio Navigation editor temp files 31 | .navigation/ 32 | 33 | # Android Studio captures folder 34 | captures/ 35 | 36 | # IntelliJ 37 | *.iml 38 | .idea/workspace.xml 39 | .idea/tasks.xml 40 | .idea/gradle.xml 41 | .idea/dictionaries 42 | .idea/libraries 43 | 44 | # Keystore files 45 | # Uncomment the following line if you do not want to check your keystore files in. 46 | #*.jks 47 | 48 | # External native build folder generated in Android Studio 2.2 and later 49 | .externalNativeBuild 50 | 51 | # Google Services (e.g. APIs or Firebase) 52 | google-services.json 53 | 54 | # Freeline 55 | freeline.py 56 | freeline/ 57 | freeline_project_description.json 58 | 59 | # the gradle properties 60 | ./gradle.properties 61 | -------------------------------------------------------------------------------- /client/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /client/app/fabric.properties: -------------------------------------------------------------------------------- 1 | #Contains API Secret used to validate your application. Commit to internal source control; avoid making secret public. 2 | #Thu Dec 21 13:40:27 CST 2017 3 | apiSecret=e4664a037aa796ecf2f8c00b5160724ef5056a17cd29ee650f42b1bc0bc067e6 4 | -------------------------------------------------------------------------------- /client/app/libs/photoview-release.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/client/app/libs/photoview-release.aar -------------------------------------------------------------------------------- /client/app/src/androidTest/java/me/shouheng/notepal/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.notepal; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumented test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("me.shouheng.notepal", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /client/app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/client/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /client/app/src/main/java/me/shouheng/notepal/adapter/picker/ModelsPickerStrategy.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.notepal.adapter.picker; 2 | 3 | import android.graphics.drawable.Drawable; 4 | 5 | import me.shouheng.data.entity.Model; 6 | 7 | 8 | /** 9 | * Created by wangshouheng on 2017/10/5.*/ 10 | public interface ModelsPickerStrategy { 11 | 12 | String getTitle(T model); 13 | 14 | String getSubTitle(T model); 15 | 16 | Drawable getIconDrawable(T model); 17 | 18 | boolean shouldShowMore(); 19 | 20 | boolean isMultiple(); 21 | } 22 | -------------------------------------------------------------------------------- /client/app/src/main/java/me/shouheng/notepal/common/exception/NoteFileReadException.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.notepal.common.exception; 2 | 3 | import me.shouheng.data.entity.Note; 4 | 5 | /** 6 | * @author WngShhng (shouheng2015@gmail.com) 7 | * @version $Id: NoteFileReadException, v 0.1 2018/12/1 0:44 shouh Exp$ 8 | */ 9 | public class NoteFileReadException extends Exception { 10 | 11 | private Note note; 12 | 13 | public NoteFileReadException(Note note) { 14 | this.note = note; 15 | } 16 | 17 | @Override 18 | public String getMessage() { 19 | return "Failed to read file of note " + note; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /client/app/src/main/java/me/shouheng/notepal/common/exception/NoteNotFoundException.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.notepal.common.exception; 2 | 3 | /** 4 | * Created WngShhng on 2018/11/30. 5 | */ 6 | public class NoteNotFoundException extends Exception { 7 | 8 | private long code; 9 | 10 | public NoteNotFoundException(long code) { 11 | this.code = code; 12 | } 13 | 14 | @Override 15 | public String getMessage() { 16 | return "Note with code " + code + " not found! "; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /client/app/src/main/java/me/shouheng/notepal/desktop/DesktopShortcutAppWidget.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.notepal.desktop; 2 | 3 | import android.app.PendingIntent; 4 | import android.content.Context; 5 | import android.util.SparseArray; 6 | import android.widget.RemoteViews; 7 | 8 | import me.shouheng.notepal.R; 9 | import me.shouheng.utils.stability.L; 10 | 11 | public class DesktopShortcutAppWidget extends BaseWidgetProvider { 12 | 13 | @Override 14 | protected RemoteViews getRemoteViews( 15 | Context context, int widgetId, boolean isSmall, 16 | boolean isSingleLine, SparseArray map) { 17 | L.d(isSingleLine + " " + isSmall); 18 | RemoteViews views; 19 | views = new RemoteViews(context.getPackageName(), R.layout.widget_layout_small); 20 | views.setOnClickPendingIntent(R.id.iv_launch_app, map.get(R.id.iv_launch_app)); 21 | return views; 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /client/app/src/main/java/me/shouheng/notepal/onedrive/ClearBackupStateTask.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.notepal.onedrive; 2 | 3 | import android.os.AsyncTask; 4 | 5 | import me.shouheng.data.store.AttachmentsStore; 6 | import me.shouheng.notepal.common.preferences.SyncPreferences; 7 | 8 | /** 9 | * Created by shouh on 2018/4/7. 10 | */ 11 | public class ClearBackupStateTask extends AsyncTask{ 12 | 13 | @Override 14 | protected Void doInBackground(Void... voids) { 15 | SyncPreferences syncPreferences = SyncPreferences.getInstance(); 16 | syncPreferences.setOneDriveLastSyncTime(0); 17 | syncPreferences.setOneDriveDatabaseLastSyncTime(0); 18 | syncPreferences.setOneDrivePreferenceLastSyncTime(0); 19 | AttachmentsStore.getInstance().clearOneDriveBackupState(); 20 | return null; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /client/app/src/main/java/me/shouheng/notepal/onedrive/FileUploadWatcher.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.notepal.onedrive; 2 | 3 | import java.util.concurrent.CountDownLatch; 4 | import java.util.concurrent.TimeUnit; 5 | 6 | /** 7 | * Created by shouh on 2018/4/2. 8 | */ 9 | public class FileUploadWatcher implements Runnable { 10 | private CountDownLatch downLatch; 11 | private OnWatchListener onWatchListener; 12 | 13 | FileUploadWatcher(CountDownLatch downLatch, OnWatchListener onWatchListener) { 14 | this.downLatch = downLatch; 15 | this.onWatchListener = onWatchListener; 16 | } 17 | 18 | @Override 19 | public void run() { 20 | try { 21 | downLatch.await(10, TimeUnit.MINUTES); 22 | if (onWatchListener != null) { 23 | onWatchListener.onFinish(); 24 | } 25 | } catch (InterruptedException e) { 26 | if (onWatchListener != null) { 27 | onWatchListener.onFail(e.getMessage()); 28 | } 29 | } 30 | } 31 | 32 | public interface OnWatchListener { 33 | void onFinish(); 34 | void onFail(String msg); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /client/app/src/main/java/me/shouheng/notepal/onedrive/OneDriveConstants.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.notepal.onedrive; 2 | 3 | /** 4 | * Created WngShhng on 2018/12/4. 5 | */ 6 | public interface OneDriveConstants { 7 | String CONFLICT_BEHAVIOR_FAIL = "fail"; 8 | String CONFLICT_BEHAVIOR_REPLACE = "replace"; 9 | String CONFLICT_BEHAVIOR_RENAME = "rename"; 10 | } 11 | -------------------------------------------------------------------------------- /client/app/src/main/java/me/shouheng/notepal/util/AppWidgetUtils.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.notepal.util; 2 | 3 | import android.appwidget.AppWidgetManager; 4 | import android.content.ComponentName; 5 | import android.content.Context; 6 | 7 | import java.util.Arrays; 8 | 9 | import me.shouheng.notepal.R; 10 | import me.shouheng.notepal.desktop.ListWidgetProvider; 11 | import me.shouheng.utils.stability.L; 12 | 13 | /** 14 | * Created by wang shouheng on 2018/1/25. 15 | */ 16 | public class AppWidgetUtils { 17 | 18 | public static void notifyAppWidgets(Context context) { 19 | // Home widgets 20 | AppWidgetManager mgr = AppWidgetManager.getInstance(context); 21 | int[] ids = mgr.getAppWidgetIds(new ComponentName(context, ListWidgetProvider.class)); 22 | L.d("Notifies AppWidget data changed for widgets " + Arrays.toString(ids)); 23 | mgr.notifyAppWidgetViewDataChanged(ids, R.id.widget_list); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /client/app/src/main/res/anim/fade_in_support.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /client/app/src/main/res/anim/fade_out_support.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /client/app/src/main/res/font/font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/client/app/src/main/res/font/font.ttf -------------------------------------------------------------------------------- /client/app/src/main/res/layout/desktop_shortcut_app_widget.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/dialog_announcement.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 17 | 18 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/dialog_models_picker_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 13 | 14 | 21 | 22 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/dialog_portrait_seletor_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/dialog_simple_edit_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 16 | 17 | 23 | 24 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/fragment_categories.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 17 | 18 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/fragment_notes.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 7 | 8 | 16 | 17 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/item_about_license.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 11 | 12 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/item_about_section.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/item_about_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/item_about_user.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 21 | 22 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/item_format.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/layout_toolbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 14 | 15 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/widget_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/widget_layout_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /client/app/src/main/res/layout/widget_layout_small.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/attachment_picker.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 11 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/capture.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/category_pop_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 9 | 10 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/directory.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/export.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 11 | 12 | 15 | 16 | 19 | 20 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/gallery.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | 14 | 15 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/menu_about.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/note_find_action.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | 14 | 15 | 19 | 20 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/note_viewer_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 15 | 16 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/pop_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 10 | 11 | 13 | 14 | 16 | 17 | 19 | 20 | 22 | 23 | 25 | 26 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/search.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/share.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 11 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /client/app/src/main/res/menu/sort_editor_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 17 | 18 | -------------------------------------------------------------------------------- /client/app/src/main/res/raw/files.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/client/app/src/main/res/raw/files.png -------------------------------------------------------------------------------- /client/app/src/main/res/raw/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/client/app/src/main/res/raw/play.png -------------------------------------------------------------------------------- /client/app/src/main/res/raw/vcard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/client/app/src/main/res/raw/vcard.png -------------------------------------------------------------------------------- /client/app/src/main/res/values/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | txt 5 | md 6 | 7 | -------------------------------------------------------------------------------- /client/app/src/main/res/values/configs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 255 4 | 120 5 | 125 6 | 450 7 | 125 8 | 50 9 | 50 10 | 250 11 | 20 12 | -------------------------------------------------------------------------------- /client/app/src/main/res/xml/app_widget_list.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /client/app/src/main/res/xml/app_widget_shortcut.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /client/app/src/main/res/xml/app_widget_simple.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /client/app/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | mikecrm.com 5 | m.weibo.cn 6 | 7 | -------------------------------------------------------------------------------- /client/app/src/main/res/xml/preferences_note.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 17 | 18 | -------------------------------------------------------------------------------- /client/app/src/main/res/xml/provider_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /client/app/src/test/java/me/shouheng/notepal/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.notepal; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /client/gradle.properties: -------------------------------------------------------------------------------- 1 | -Xjvm-default=enable 2 | 3 | androidPluginVersion=3.0.1 4 | 5 | umengAppKey=000000 6 | fabricAppKey=000000 7 | 8 | # Hotfix app info, replace with your own. 9 | # The values below are not necessary if you called setSecretMetaData() in Application. 10 | hotfixAppId=123 11 | hotfixAppSecret=123 12 | hotfixRSA=123 13 | 14 | _keyAlias=_keyAlias 15 | _storeFile=_storeFile 16 | _storePassword=_storePassword 17 | _keyPassword=_keyPassword -------------------------------------------------------------------------------- /client/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/client/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /client/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Jun 23 09:30:50 CST 2018 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 | -------------------------------------------------------------------------------- /client/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':commons', ':data', ':pinlockview', ':fingerprint' 2 | project(':commons').projectDir = new File('../commons') 3 | project(':data').projectDir = new File('../data') 4 | project(':pinlockview').projectDir = new File('../pinlockview') 5 | project(':fingerprint').projectDir = new File('../fingerprint') -------------------------------------------------------------------------------- /commons/.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the ART/Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | out/ 15 | 16 | # Gradle files 17 | .gradle/ 18 | build/ 19 | .idea 20 | 21 | # Local configuration file (sdk path, etc) 22 | local.properties 23 | 24 | # Proguard folder generated by Eclipse 25 | proguard/ 26 | 27 | # Log Files 28 | *.log 29 | 30 | # Android Studio Navigation editor temp files 31 | .navigation/ 32 | 33 | # Android Studio captures folder 34 | captures/ 35 | 36 | # IntelliJ 37 | *.iml 38 | .idea/workspace.xml 39 | .idea/tasks.xml 40 | .idea/gradle.xml 41 | .idea/dictionaries 42 | .idea/libraries 43 | 44 | # Keystore files 45 | # Uncomment the following line if you do not want to check your keystore files in. 46 | #*.jks 47 | 48 | # External native build folder generated in Android Studio 2.2 and later 49 | .externalNativeBuild 50 | 51 | # Google Services (e.g. APIs or Firebase) 52 | google-services.json 53 | 54 | # Freeline 55 | freeline.py 56 | freeline/ 57 | freeline_project_description.json 58 | -------------------------------------------------------------------------------- /commons/src/androidTest/java/me/shouheng/commons/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons; 2 | 3 | import android.content.Context; 4 | import androidx.test.InstrumentationRegistry; 5 | import androidx.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumented test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("me.shouheng.commons.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /commons/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /commons/src/main/assets/share.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/assets/share.jpg -------------------------------------------------------------------------------- /commons/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/BaseApplication.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons; 2 | 3 | import android.app.Application; 4 | 5 | import com.crashlytics.android.Crashlytics; 6 | import com.squareup.leakcanary.LeakCanary; 7 | 8 | import io.fabric.sdk.android.Fabric; 9 | 10 | /** 11 | * @author shouh 12 | * @version $Id: BaseApplication, v 0.1 2018/6/6 21:58 shouh Exp$ 13 | */ 14 | public abstract class BaseApplication extends Application { 15 | 16 | private static BaseApplication instance; 17 | 18 | public static BaseApplication getContext() { 19 | return instance; 20 | } 21 | 22 | private boolean needRelaunch = false; 23 | 24 | @Override 25 | public void onCreate() { 26 | super.onCreate(); 27 | 28 | instance = this; 29 | 30 | LeakCanary.install(this); 31 | 32 | Fabric.with(this, new Crashlytics()); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/BaseConstants.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons; 2 | 3 | /** 4 | * Created on 2018/11/28. 5 | */ 6 | public interface BaseConstants { 7 | String MIME_TYPE_IMAGE = "image/jpeg"; 8 | String MIME_TYPE_AUDIO = "audio/amr"; 9 | String MIME_TYPE_VIDEO = "video/mp4"; 10 | String MIME_TYPE_SKETCH = "image/png"; 11 | String MIME_TYPE_FILES = "file/*"; 12 | String MIME_TYPE_HTML = "text/html"; 13 | 14 | String MIME_TYPE_IMAGE_EXTENSION = ".jpeg"; 15 | String MIME_TYPE_SKETCH_EXTENSION = ".png"; 16 | String MIME_TYPE_CONTACT_EXTENSION = ".vcf"; 17 | } 18 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/activity/UMengActivity.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.activity; 2 | 3 | import com.umeng.analytics.MobclickAgent; 4 | 5 | import me.shouheng.commons.event.PageName; 6 | import me.shouheng.utils.stability.L; 7 | 8 | /** 9 | * @author shouh 10 | * @version $Id: UMengActivity, v 0.1 2018/11/21 19:39 shouh Exp$ 11 | */ 12 | public abstract class UMengActivity extends PermissionActivity { 13 | 14 | private String pageName; 15 | 16 | { 17 | Class clazz = getClass(); 18 | if (clazz.isAnnotationPresent(PageName.class)) { 19 | pageName = clazz.getAnnotation(PageName.class).name(); 20 | } 21 | } 22 | 23 | @Override 24 | protected void onResume() { 25 | super.onResume(); 26 | MobclickAgent.onResume(this); 27 | MobclickAgent.onPageStart(pageName); 28 | L.d(pageName); 29 | } 30 | 31 | @Override 32 | protected void onPause() { 33 | super.onPause(); 34 | MobclickAgent.onPause(this); 35 | MobclickAgent.onPageEnd(pageName); 36 | } 37 | 38 | public UMengActivity getContext() { 39 | return this; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/activity/interaction/BackEventResolver.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.activity.interaction; 2 | 3 | /** 4 | * @author shouh 5 | * @version $Id: BackEventResolver, v 0.1 2018/11/18 23:04 shouh Exp$ 6 | */ 7 | public interface BackEventResolver { 8 | 9 | /** 10 | * The method used to resolve back event for fragment. 11 | */ 12 | void resolve(); 13 | } -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/activity/interaction/FragmentKeyDown.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.activity.interaction; 2 | 3 | import android.view.KeyEvent; 4 | 5 | /** 6 | * @author shouh 7 | * @version $Id: FragmentKeyDown, v 0.1 2018/11/17 20:50 shouh Exp$ 8 | */ 9 | public interface FragmentKeyDown { 10 | 11 | /** 12 | * The interaction method when the fragment key down, used to interact with webview fragment 13 | * 14 | * @param keyCode the key code 15 | * @param event the key event 16 | * @return is event handled 17 | */ 18 | boolean onFragmentKeyDown(int keyCode, KeyEvent event); 19 | } 20 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/event/PageName.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.event; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * The annotation used to identify the page name. 10 | * 11 | * Created by WngShhng on 2018/12/7. 12 | * Contact me: shouheng2015@gmail.com 13 | */ 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @Target(ElementType.TYPE) 16 | public @interface PageName { 17 | String name(); 18 | } 19 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/model/data/Status.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.model.data; 2 | 3 | /** 4 | * Created by wang shouheng on 2018/3/13. */ 5 | public enum Status { 6 | SUCCESS, 7 | FAILED, 8 | LOADING 9 | } 10 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/utils/Md5Utils.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.utils; 2 | 3 | import java.security.MessageDigest; 4 | import java.security.NoSuchAlgorithmException; 5 | 6 | public class Md5Utils { 7 | 8 | public static String md5(final String s) { 9 | return md5(s.getBytes()); 10 | } 11 | 12 | public static String md5(byte[] bytes) { 13 | try { 14 | // Create MD5 Hash 15 | MessageDigest digest = java.security.MessageDigest.getInstance("MD5"); 16 | digest.update(bytes); 17 | byte messageDigest[] = digest.digest(); 18 | 19 | // Create Hex String 20 | StringBuilder hexString = new StringBuilder(); 21 | for (byte aMessageDigest : messageDigest) { 22 | StringBuilder h = new StringBuilder(Integer.toHexString(0xFF & aMessageDigest)); 23 | while (h.length() < 2) { 24 | h.insert(0, "0"); 25 | } 26 | hexString.append(h); 27 | } 28 | return hexString.toString(); 29 | 30 | } catch (NoSuchAlgorithmException ignored) { 31 | 32 | } 33 | return ""; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/utils/NetworkUtils.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.utils; 2 | 3 | import android.content.Context; 4 | import android.net.ConnectivityManager; 5 | import android.net.NetworkInfo; 6 | 7 | /** 8 | * Created by WngShhng on 2017/2/26. 9 | */ 10 | public class NetworkUtils { 11 | 12 | public static boolean isNetworkAvailable(Context context){ 13 | ConnectivityManager connectivityManager = 14 | (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 15 | NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); 16 | return ((networkInfo != null) && (networkInfo.isAvailable())); 17 | } 18 | 19 | public static boolean isWifi(Context mContext) { 20 | ConnectivityManager connectivityManager = 21 | (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); 22 | NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); 23 | return activeNetInfo != null && activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI; 24 | } 25 | } -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/widget/SquareFrameLayout.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.widget; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.widget.FrameLayout; 6 | 7 | public class SquareFrameLayout extends FrameLayout { 8 | 9 | public SquareFrameLayout(Context context, AttributeSet attrs, int defStyle) { 10 | super(context, attrs, defStyle); 11 | } 12 | 13 | public SquareFrameLayout(Context context, AttributeSet attrs) { 14 | super(context, attrs); 15 | } 16 | 17 | public SquareFrameLayout(Context context) { 18 | super(context); 19 | } 20 | 21 | @SuppressWarnings("unused") 22 | @Override 23 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 24 | setMeasuredDimension(getDefaultSize(0, widthMeasureSpec), getDefaultSize(0, heightMeasureSpec)); 25 | int childWidthSize = getMeasuredWidth(); 26 | int childHeightSize = getMeasuredHeight(); 27 | heightMeasureSpec = widthMeasureSpec = MeasureSpec.makeMeasureSpec(childWidthSize, MeasureSpec.EXACTLY); 28 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/widget/SquareImageView.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.widget; 2 | 3 | import android.content.Context; 4 | import android.support.v7.widget.AppCompatImageView; 5 | import android.util.AttributeSet; 6 | 7 | public class SquareImageView extends AppCompatImageView { 8 | 9 | public SquareImageView(Context context) { 10 | super(context); 11 | } 12 | 13 | public SquareImageView(Context context, AttributeSet attrs) { 14 | super(context, attrs); 15 | } 16 | 17 | public SquareImageView(Context context, AttributeSet attrs, int defStyle) { 18 | super(context, attrs, defStyle); 19 | } 20 | 21 | @Override 22 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 23 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); 24 | setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth()); 25 | } 26 | } -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/widget/recycler/BaseViewHolder.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.widget.recycler; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | import android.view.View; 5 | 6 | public class BaseViewHolder extends RecyclerView.ViewHolder { 7 | 8 | protected View mContentView; 9 | 10 | public BaseViewHolder(View itemView) { 11 | super(itemView); 12 | mContentView = itemView; 13 | } 14 | 15 | @SuppressWarnings("unchecked") 16 | protected final T f(int id) { 17 | return (T) mContentView.findViewById(id); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/widget/recycler/BubbleTextGetter.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.widget.recycler; 2 | 3 | public interface BubbleTextGetter { 4 | String getTextToShowInBubble(int pos); 5 | } -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/widget/recycler/IItemTouchHelperAdapter.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.widget.recycler; 2 | 3 | /** 4 | * Created by wangshouheng on 2017/3/31.*/ 5 | public interface IItemTouchHelperAdapter { 6 | 7 | /** 8 | * View type of current position, here are three options: 9 | * 1.Header of list; 10 | * 2.Footer of list; 11 | * 3.Normal list item.*/ 12 | enum ViewType { 13 | NORMAL(0), 14 | HEADER(1), 15 | FOOTER(2); 16 | 17 | public final int mId; 18 | 19 | ViewType(int mId) { 20 | this.mId = mId; 21 | } 22 | } 23 | 24 | void onItemMoved(int fromPosition, int toPosition); 25 | 26 | void onItemRemoved(int position); 27 | 28 | void afterMoved(); 29 | } 30 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/widget/recycler/SingleChoiceAdapter.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.widget.recycler; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | import android.view.ViewGroup; 5 | 6 | public abstract class SingleChoiceAdapter extends RecyclerView.Adapter { 7 | 8 | public static final String TAG = "SingleChoiceAdapter"; 9 | 10 | protected int mPickedPosition = -1; 11 | 12 | @Override 13 | public abstract BaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType); 14 | 15 | @Override 16 | public abstract void onBindViewHolder(BaseViewHolder viewHolder, int position); 17 | 18 | @Override 19 | public abstract int getItemCount(); 20 | 21 | public void pick(int position) { 22 | mPickedPosition = position; 23 | notifyDataSetChanged(); 24 | } 25 | 26 | public int getPickedPosition() { 27 | return mPickedPosition; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/widget/recycler/SpaceItemDecoration.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.widget.recycler; 2 | 3 | import android.graphics.Rect; 4 | import android.support.annotation.NonNull; 5 | import android.support.v7.widget.RecyclerView; 6 | import android.view.View; 7 | 8 | public class SpaceItemDecoration extends RecyclerView.ItemDecoration { 9 | 10 | private int leftDp, upDp, rightDp, downDp; 11 | 12 | public SpaceItemDecoration(int leftDp, int upDp, int rightDp, int downDp) { 13 | this.leftDp = leftDp; 14 | this.upDp = upDp; 15 | this.rightDp = rightDp; 16 | this.downDp = downDp; 17 | } 18 | 19 | @Override 20 | public void getItemOffsets(@NonNull Rect outRect, 21 | @NonNull View view, 22 | @NonNull RecyclerView parent, 23 | @NonNull RecyclerView.State state) { 24 | super.getItemOffsets(outRect, view, parent, state); 25 | outRect.set(leftDp, upDp, rightDp, downDp); 26 | } 27 | } -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/widget/sketch/OnDrawChangedListener.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.widget.sketch; 2 | 3 | public interface OnDrawChangedListener { 4 | public void onDrawChanged(); 5 | } 6 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/widget/theme/SupportAppBarLayout.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.widget.theme; 2 | 3 | import android.content.Context; 4 | import android.support.design.widget.AppBarLayout; 5 | import android.support.design.widget.CoordinatorLayout; 6 | import android.util.AttributeSet; 7 | import android.view.ContextThemeWrapper; 8 | 9 | import me.shouheng.commons.R; 10 | import me.shouheng.commons.theme.ThemeUtils; 11 | 12 | /** 13 | * @author shouh 14 | * @version $Id: SupportAppBarLayout, v 0.1 2018/9/1 12:15 shouh Exp$ 15 | */ 16 | @CoordinatorLayout.DefaultBehavior(AppBarLayout.Behavior.class) 17 | public class SupportAppBarLayout extends AppBarLayout { 18 | 19 | public SupportAppBarLayout(Context context) { 20 | this(context, null); 21 | } 22 | 23 | public SupportAppBarLayout(Context context, AttributeSet attrs) { 24 | super(new ContextThemeWrapper(context, 25 | ThemeUtils.getInstance().getThemeStyle().isDarkTheme ? 26 | R.style.AppTheme_AppBarOverlayDark : R.style.AppTheme_AppBarOverlay), attrs); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /commons/src/main/java/me/shouheng/commons/widget/theme/SupportCardView.java: -------------------------------------------------------------------------------- 1 | package me.shouheng.commons.widget.theme; 2 | 3 | import android.content.Context; 4 | import android.support.annotation.NonNull; 5 | import android.support.annotation.Nullable; 6 | import android.support.v7.widget.CardView; 7 | import android.util.AttributeSet; 8 | 9 | import me.shouheng.commons.utils.ColorUtils; 10 | 11 | /** 12 | * Created by WangShouheng on 2018/3/1. */ 13 | public class SupportCardView extends CardView { 14 | 15 | public SupportCardView(@NonNull Context context) { 16 | super(context); 17 | init(); 18 | } 19 | 20 | public SupportCardView(@NonNull Context context, @Nullable AttributeSet attrs) { 21 | super(context, attrs); 22 | init(); 23 | } 24 | 25 | public SupportCardView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { 26 | super(context, attrs, defStyleAttr); 27 | init(); 28 | } 29 | 30 | /** 31 | * Set the foreground only for above lollipop */ 32 | private void init() { 33 | ColorUtils.addRipple(this); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /commons/src/main/res/anim/anim_slide_in_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/anim/color_picker_hide.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | -------------------------------------------------------------------------------- /commons/src/main/res/anim/color_picker_show.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable-nodpi/list_widget_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-nodpi/list_widget_preview.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-nodpi/play_no_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-nodpi/play_no_bg.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-nodpi/toolbar_widget_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-nodpi/toolbar_widget_preview.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-v21/ripple.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/ab_ink_redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-xhdpi/ab_ink_redo.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/ab_ink_undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-xhdpi/ab_ink_undo.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/ic_action_github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-xhdpi/ic_action_github.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/ic_action_gmail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-xhdpi/ic_action_gmail.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/ic_action_google_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-xhdpi/ic_action_google_play.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/ic_action_twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-xhdpi/ic_action_twitter.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/mn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-xhdpi/mn.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xhdpi/umeng_socialize_qq_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-xhdpi/umeng_socialize_qq_on.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/about_page_card.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/bg_picker.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/bg_picker.9.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/bg_toolbar_shade.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/branded_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/circle.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/donate_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/donate_wechat_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/fast_scroll_bar_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/fast_scroll_bar_dark.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/fast_scroll_bar_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/fast_scroll_bar_light.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_access_alarm_grey.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_add_a_photo_grey_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_add_a_photo_white.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_add_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_albums.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_archive_grey.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_arrow_back_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_arrow_back_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_attach_file_black.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_attach_file_grey.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_baseline_card_giftcard_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_book.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_book_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/ic_book_large.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_brush_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_bubble_chart_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/ic_bubble_chart_black_48dp.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_bug.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_check_circle_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_checkbox_checked.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_checkbox_unchecked.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_close_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_cloud.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_collection.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_color_lens_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_color_lens_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_color_picked.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_content_copy_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_corporate.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_count_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_demostrate.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_description_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_edit_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_envelope.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_equalizer_grey_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_eraser_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/ic_eraser_black_24dp.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_error_outline_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/ic_error_outline_black_48dp.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_expand_less_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_expand_more_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_favorite_border_red_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_flag.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_folder_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_football.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_gesture_grey_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_gift.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_grow.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_headset.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_house.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_https_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_insert_drive_file_grey_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_insert_link_grey_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_keyboard_arrow_left_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_keyboard_arrow_right_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_keyboard_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_label.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_lightbulb_outline_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_local_post_office_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_local_printshop_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_location.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_lock.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_loving_folder.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_loving_label.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_medal.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_menu_black.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_menu_white.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_message.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_mic_grey_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_monetization_on_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_more_horiz.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_more_vert_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_move_to_inbox_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_music.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_node.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_node_circle.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_oval_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_phone_android_grey_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_photo_camera_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_photo_library_grey_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_picture_black.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_play_circle_outline_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_refresh_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_save_white.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_search_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_search_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/ic_search_black_48dp.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_settings_black.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_share_white.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_shortcut_capture.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_shortcut_create.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_shortcut_quick.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_shortcut_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_star.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_subdirectory_arrow_left_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_timeline.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_timeline_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_tourism.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_trash_black.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_videocam_grey_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_view_module_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/ic_view_module_black_48dp.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_view_module_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_visibility_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ic_wb_cloudy_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/icon_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/item_divider_black.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/item_divider_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/list_selector_focused.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/list_selector_pressed.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/mark_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/mark_note.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/play.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/recyclerview_fastscroller_bubble.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | 13 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/recyclerview_fastscroller_handle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/roundbtn_tran.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/roundbtn_tran_enabled.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/roundbtn_tran_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/roundbtn_tran_pressed.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/selectable_item_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/solid_circle_green.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ssdk_oks_classic_googleplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/ssdk_oks_classic_googleplus.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ssdk_oks_classic_sinaweibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/ssdk_oks_classic_sinaweibo.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/ssdk_oks_classic_twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/ssdk_oks_classic_twitter.png -------------------------------------------------------------------------------- /commons/src/main/res/drawable/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Shouheng88/MarkNote/6e174f8c686878567b48ab45d4640a74c2596201/commons/src/main/res/drawable/stop.png -------------------------------------------------------------------------------- /commons/src/main/res/layout/color_picker_bt.xml: -------------------------------------------------------------------------------- 1 | 2 |