├── .gitignore ├── .vscode └── ipch │ └── dd02a524d19a9110 │ └── mmap_address.bin ├── LICENSE.txt ├── README.md ├── ViewPager ├── .gitignore ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── ryanharter │ │ └── viewpager │ │ ├── PagerAdapter.java │ │ └── ViewPager.java │ └── res │ ├── values-v11 │ └── styles.xml │ ├── values-v14 │ └── styles.xml │ └── values │ ├── attrs.xml │ ├── strings.xml │ └── styles.xml ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── mmjang │ │ └── ankihelper │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ ├── book │ │ │ └── grave.epub │ │ ├── litepal.xml │ │ └── vocabulary_card_model.html │ ├── java │ │ └── com │ │ │ ├── ichi2 │ │ │ └── anki │ │ │ │ ├── FlashCardsContract.java │ │ │ │ └── api │ │ │ │ ├── AddContentApi.java │ │ │ │ ├── Basic2Model.java │ │ │ │ ├── BasicModel.java │ │ │ │ ├── NoteInfo.java │ │ │ │ └── Utils.java │ │ │ └── mmjang │ │ │ └── ankihelper │ │ │ ├── MyApplication.java │ │ │ ├── anki │ │ │ └── AnkiDroidHelper.java │ │ │ ├── data │ │ │ ├── Settings.java │ │ │ ├── book │ │ │ │ ├── Book.java │ │ │ │ └── DefaultBook.java │ │ │ ├── content │ │ │ │ ├── ContentEntity.java │ │ │ │ ├── ExternalContent.java │ │ │ │ └── ExternalContentDatabaseHelper.java │ │ │ ├── database │ │ │ │ ├── DBContract.java │ │ │ │ ├── ExternalDatabase.java │ │ │ │ ├── ExternalDatabaseContext.java │ │ │ │ ├── ExternalDatabaseHelper.java │ │ │ │ └── MigrationUtil.java │ │ │ ├── dict │ │ │ │ ├── BingImage.java │ │ │ │ ├── BingOxford.java │ │ │ │ ├── Cloze.java │ │ │ │ ├── Collins.java │ │ │ │ ├── CollinsEnEn.java │ │ │ │ ├── CustomDictionary.java │ │ │ │ ├── Dedict.java │ │ │ │ ├── Definition.java │ │ │ │ ├── DictionaryDotCom.java │ │ │ │ ├── DictionaryRegister.java │ │ │ │ ├── Dub91Sentence.java │ │ │ │ ├── Esdict.java │ │ │ │ ├── EudicSentence.java │ │ │ │ ├── FormsUtil.java │ │ │ │ ├── Frdict.java │ │ │ │ ├── Handian.java │ │ │ │ ├── HujiangJapanese.java │ │ │ │ ├── IDictionary.java │ │ │ │ ├── IdiomDict.java │ │ │ │ ├── JPDeinflector │ │ │ │ │ ├── Deinflection.java │ │ │ │ │ ├── Deinflector.java │ │ │ │ │ ├── Inflection.java │ │ │ │ │ └── Inflections.java │ │ │ │ ├── JiSho.java │ │ │ │ ├── Mnemonic.java │ │ │ │ ├── Ode2.java │ │ │ │ ├── RenRenCiDianSentence.java │ │ │ │ ├── SolrDictionary.java │ │ │ │ ├── UrbanAutoCompleteAdapter.java │ │ │ │ ├── UrbanDict.java │ │ │ │ ├── VocabCom.java │ │ │ │ ├── WebsterLearners.java │ │ │ │ ├── YoudaoOnline.java │ │ │ │ ├── YoudaoResult.java │ │ │ │ └── customdict │ │ │ │ │ ├── CustomDictionaryDbHelper.java │ │ │ │ │ ├── CustomDictionaryEntry.java │ │ │ │ │ ├── CustomDictionaryInformation.java │ │ │ │ │ ├── CustomDictionaryManager.java │ │ │ │ │ ├── CustomDictionaryParser.java │ │ │ │ │ ├── ParserException.java │ │ │ │ │ └── TabDictionaryParser.java │ │ │ ├── history │ │ │ │ ├── History.java │ │ │ │ ├── HistoryPOJO.java │ │ │ │ ├── HistoryStat.java │ │ │ │ ├── HistoryType.java │ │ │ │ └── HistoryUtil.java │ │ │ ├── model │ │ │ │ └── UserTag.java │ │ │ ├── plan │ │ │ │ ├── DefaultPlan.java │ │ │ │ ├── OutputPlan.java │ │ │ │ ├── OutputPlanPOJO.java │ │ │ │ └── VocabularyCardModel.java │ │ │ ├── quote │ │ │ │ ├── Quote.java │ │ │ │ ├── QuoteDb.java │ │ │ │ └── RandomQuote.java │ │ │ └── read │ │ │ │ └── MyReadPosition.java │ │ │ ├── domain │ │ │ ├── CBWatcherService.java │ │ │ ├── OnlockReceiver.java │ │ │ ├── PlayAudioManager.java │ │ │ └── PronounceManager.java │ │ │ ├── ui │ │ │ ├── LauncherActivity.java │ │ │ ├── about │ │ │ │ └── AboutActivity.java │ │ │ ├── behaviour │ │ │ │ └── ScrollAwareFABBehaviour.java │ │ │ ├── content │ │ │ │ ├── ContentActivity.java │ │ │ │ └── ContentViewerActivity.java │ │ │ ├── customdict │ │ │ │ └── CustomDictionaryActivity.java │ │ │ ├── plan │ │ │ │ ├── FieldMapSpinnerListAdapter.java │ │ │ │ ├── FieldsMapItem.java │ │ │ │ ├── PlanEditorActivity.java │ │ │ │ ├── PlansAdapter.java │ │ │ │ ├── PlansManagerActivity.java │ │ │ │ └── helper │ │ │ │ │ ├── ItemTouchHelperAdapter.java │ │ │ │ │ ├── ItemTouchHelperViewHolder.java │ │ │ │ │ └── SimpleItemTouchHelperCallback.java │ │ │ ├── popup │ │ │ │ └── PopupActivity.java │ │ │ ├── stat │ │ │ │ └── StatActivity.java │ │ │ ├── translation │ │ │ │ └── CustomTranslationActivity.java │ │ │ └── widget │ │ │ │ ├── BigBangBottom.java │ │ │ │ ├── BigBangHeader.java │ │ │ │ ├── BigBangLayout.java │ │ │ │ ├── BigBangLayoutWrapper.java │ │ │ │ └── SpinnerNoSwipe.java │ │ │ └── util │ │ │ ├── Constant.java │ │ │ ├── ConstantUtil.java │ │ │ ├── DialogUtil.java │ │ │ ├── FieldUtil.java │ │ │ ├── FileUtils.java │ │ │ ├── RegexUtil.java │ │ │ ├── StringUtil.java │ │ │ ├── TextSplitter.java │ │ │ ├── Translator.java │ │ │ ├── Utils.java │ │ │ ├── ViewUtil.java │ │ │ ├── WanaKanaJava.java │ │ │ └── com │ │ │ └── baidu │ │ │ └── translate │ │ │ └── demo │ │ │ ├── HttpGet.java │ │ │ ├── MD5.java │ │ │ ├── RandomAPIKeyGenerator.java │ │ │ └── TransApi.java │ └── res │ │ ├── anim │ │ ├── design_fab_in.xml │ │ ├── design_fab_out.xml │ │ ├── slide_in.xml │ │ └── slide_out.xml │ │ ├── color │ │ ├── bigbang_item_text.xml │ │ └── custom_bigbang_item_text.xml │ │ ├── drawable-xxhdpi │ │ ├── alipay10.png │ │ ├── alipay20.png │ │ ├── alipay5.png │ │ ├── alipayany.png │ │ ├── bigbang_action_cloud.png │ │ ├── bigbang_action_copy.png │ │ ├── bigbang_action_enter.png │ │ ├── bigbang_action_local.png │ │ ├── bigbang_action_no_enter.png │ │ ├── bigbang_action_no_symbol.png │ │ ├── bigbang_action_search.png │ │ ├── bigbang_action_select_other.png │ │ ├── bigbang_action_share.png │ │ ├── bigbang_action_symbol.png │ │ ├── ic_about_dot.png │ │ ├── ic_add.png │ │ ├── ic_close_capture.png │ │ ├── ic_compare_arrows_white_36dp.png │ │ ├── ic_done_white_36dp.png │ │ ├── ic_drag_select_36dp_n.png │ │ ├── ic_drag_select_36dp_p.png │ │ ├── ic_float_copy.png │ │ ├── ic_pronounce.png │ │ └── ic_sort_white_36dp.png │ │ ├── drawable-xxxhdpi │ │ ├── bigbang_item_bg_nor.9.png │ │ ├── bigbang_item_bg_nor_section.9.png │ │ ├── bigbang_item_bg_sel.9.png │ │ └── bigbang_item_bg_sel_section.9.png │ │ ├── drawable │ │ ├── begging.jpg │ │ ├── bg_chip_state_list.xml │ │ ├── bigbang_action_bar_bg.xml │ │ ├── donate2.png │ │ ├── ic_about.png │ │ ├── ic_add_blue.png │ │ ├── ic_add_grey.png │ │ ├── ic_ali_add.xml │ │ ├── ic_ali_add_green.xml │ │ ├── ic_ali_arrow_down.xml │ │ ├── ic_ali_arrow_down_pink.xml │ │ ├── ic_ali_arrow_up.xml │ │ ├── ic_ali_arrow_up_pink.xml │ │ ├── ic_ali_back_to_top.xml │ │ ├── ic_ali_back_to_top_pink.xml │ │ ├── ic_ali_heart.xml │ │ ├── ic_ali_heart_depr.xml │ │ ├── ic_ali_heart_filled.xml │ │ ├── ic_ali_heart_filled_depr.xml │ │ ├── ic_ali_note.xml │ │ ├── ic_ali_note_pink.xml │ │ ├── ic_ali_play.xml │ │ ├── ic_ali_play_pink.xml │ │ ├── ic_ali_search.xml │ │ ├── ic_ali_search_pink.xml │ │ ├── ic_ali_tag.xml │ │ ├── ic_ali_tag_pink.xml │ │ ├── ic_ali_translate.xml │ │ ├── ic_ali_translate_green.xml │ │ ├── ic_ali_translate_green_pink.xml │ │ ├── ic_ali_translate_pink.xml │ │ ├── ic_ali_wait.xml │ │ ├── ic_ali_wait_pink.xml │ │ ├── ic_bookshelf.png │ │ ├── ic_delete.png │ │ ├── ic_edit.png │ │ ├── ic_import.png │ │ ├── ic_launcher.png │ │ ├── ic_lc_2.png │ │ ├── ic_lc_new.png │ │ ├── ic_left_arrow.png │ │ ├── ic_note_black.png │ │ ├── ic_ok.png │ │ ├── ic_read.png │ │ ├── ic_right_arrow.png │ │ ├── ic_search.png │ │ ├── ic_search_grey.png │ │ ├── ic_stat.png │ │ ├── ic_tag_black.png │ │ ├── ic_up_arrow.png │ │ ├── icon_light.png │ │ ├── icon_translate_done.png │ │ ├── icon_translate_normal.png │ │ ├── icon_translate_wait.png │ │ ├── item_background.xml │ │ ├── item_background_section.xml │ │ ├── item_background_symbol.xml │ │ ├── selector.xml │ │ ├── selector_pink.xml │ │ ├── word_select_box_item.xml │ │ ├── word_select_box_item_hl.xml │ │ └── word_select_box_item_trans.xml │ │ ├── layout │ │ ├── activity_about.xml │ │ ├── activity_bookshelf.xml │ │ ├── activity_content.xml │ │ ├── activity_content_viewer.xml │ │ ├── activity_custom_dictionary.xml │ │ ├── activity_custom_translation.xml │ │ ├── activity_launcher.xml │ │ ├── activity_main.xml │ │ ├── activity_plan_editor.xml │ │ ├── activity_plans_manager.xml │ │ ├── activity_popup.xml │ │ ├── activity_stat.xml │ │ ├── bigbang_layout.xml │ │ ├── content_db_box.xml │ │ ├── definition_item.xml │ │ ├── definition_item_left.xml │ │ ├── dialog_edit_note.xml │ │ ├── dialog_edit_tag.xml │ │ ├── field_map_item.xml │ │ ├── item_book.xml │ │ ├── item_plans.xml │ │ └── tag_chip_item.xml │ │ ├── menu │ │ ├── activity_about_menu_entry.xml │ │ ├── activity_bookshelf_menu_entry.xml │ │ ├── activity_plan_editor_menu_entry.xml │ │ ├── activity_plans_manager_menu.xml │ │ └── menu_stat.xml │ │ ├── values-v24 │ │ └── strings.xml │ │ ├── values-zh-v24 │ │ └── strings.xml │ │ ├── values-zh │ │ └── strings.xml │ │ ├── values │ │ ├── arrays.xml │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ ├── styles.xml │ │ └── tags.xml │ │ └── xml │ │ └── network.xml │ └── test │ └── java │ └── com │ └── mmjang │ └── ankihelper │ └── ExampleUnitTest.java ├── build.gradle ├── config └── quality │ ├── checkstyle │ └── checkstyle-config.xml │ ├── findbugs │ └── android-exclude-filter.xml │ ├── pmd │ └── pmd-ruleset.xml │ └── quality.gradle ├── custom_dictionary ├── Oxford_Thesaurus.zip ├── collins.txt ├── longman.zip └── oxford.zip ├── folioreader ├── AndroidManifest.xml ├── bintray │ ├── bintrayv1.gradle │ └── installv1.gradle ├── build.gradle ├── lint.xml ├── res │ ├── anim │ │ ├── disappear.xml │ │ ├── enter_from_left.xml │ │ ├── enter_from_right.xml │ │ ├── exit_to_left.xml │ │ ├── exit_to_right.xml │ │ ├── fadein.xml │ │ ├── fadeout.xml │ │ ├── grow_from_bottom.xml │ │ ├── grow_from_bottomleft_to_topright.xml │ │ ├── grow_from_bottomright_to_topleft.xml │ │ ├── grow_from_top.xml │ │ ├── grow_from_topleft_to_bottomright.xml │ │ ├── grow_from_topright_to_bottomleft.xml │ │ ├── pump_bottom.xml │ │ ├── pump_top.xml │ │ ├── shrink_from_bottom.xml │ │ ├── shrink_from_bottomleft_to_topright.xml │ │ ├── shrink_from_bottomright_to_topleft.xml │ │ ├── shrink_from_top.xml │ │ ├── shrink_from_topleft_to_bottomright.xml │ │ ├── shrink_from_topright_to_bottomleft.xml │ │ ├── slide_down.xml │ │ ├── slide_in_up.xml │ │ ├── slide_out_up.xml │ │ └── slide_up.xml │ ├── drawable-hdpi │ │ ├── ic_format_font_black_24dp.png │ │ └── ic_format_font_black_36dp.png │ ├── drawable-mdpi │ │ ├── ic_format_font_black_24dp.png │ │ └── ic_format_font_black_36dp.png │ ├── drawable-xhdpi │ │ ├── edit_note.png │ │ ├── ic_format_font_black_24dp.png │ │ ├── ic_format_font_black_36dp.png │ │ ├── icon_moon_normal.png │ │ ├── icon_moon_sel.png │ │ ├── icon_sun_normal.png │ │ ├── icon_sun_sel.png │ │ ├── next_icon.png │ │ ├── pause_btn.png │ │ ├── play_icon.png │ │ ├── prev_con.png │ │ ├── seekbar_thumb.png │ │ └── trash.png │ ├── drawable-xxhdpi │ │ ├── ic_format_font_black_24dp.png │ │ └── ic_format_font_black_36dp.png │ ├── drawable-xxxhdpi │ │ ├── ic_format_font_black_24dp.png │ │ └── ic_format_font_black_36dp.png │ ├── drawable │ │ ├── arrow_down.png │ │ ├── arrow_up.png │ │ ├── blue_border_background.xml │ │ ├── btn_contents_highlights.xml │ │ ├── btn_moon_selector.xml │ │ ├── btn_sun_selector.xml │ │ ├── content_highlight_back_selector_night_mode.xml │ │ ├── content_highlight_text_selector.xml │ │ ├── dottet_line.xml │ │ ├── font_text_selector.xml │ │ ├── green_border_background.xml │ │ ├── ic_close_green_24dp.xml │ │ ├── ic_drawer.xml │ │ ├── ic_format_underlined.xml │ │ ├── ic_highlight_delete.xml │ │ ├── ic_minus_black_24dp.xml │ │ ├── ic_minus_white_24dp.xml │ │ ├── ic_offline_gray_48dp.xml │ │ ├── ic_offline_gray_layer_list.xml │ │ ├── ic_plus_black_24dp.xml │ │ ├── ic_plus_white_24dp.xml │ │ ├── ic_search.xml │ │ ├── ic_volume_gray_24dp.xml │ │ ├── icon_font.xml │ │ ├── icons_sroll.png │ │ ├── man_speech_icon.xml │ │ ├── note_edittext_background.xml │ │ ├── popup.9.png │ │ ├── red_border_background.xml │ │ ├── round_button.xml │ │ ├── shape_highlight_blue.xml │ │ ├── shape_highlight_green.xml │ │ ├── shape_highlight_pink.xml │ │ ├── shape_highlight_yellow.xml │ │ ├── style_back_color_selector.xml │ │ ├── style_text_color_selector.xml │ │ ├── thumb.xml │ │ └── transparent_selector.xml │ ├── layout │ │ ├── action_item_horizontal.xml │ │ ├── action_item_vertical.xml │ │ ├── activity_content_highlight.xml │ │ ├── activity_search.xml │ │ ├── dialog_edit_notes.xml │ │ ├── folio_activity.xml │ │ ├── folio_page_fragment.xml │ │ ├── fragment_contents.xml │ │ ├── fragment_highlight_list.xml │ │ ├── horiz_separator.xml │ │ ├── item_dictionary.xml │ │ ├── item_search_empty.xml │ │ ├── item_search_failure.xml │ │ ├── item_search_init.xml │ │ ├── item_search_loading.xml │ │ ├── item_search_normal.xml │ │ ├── layout_dictionary.xml │ │ ├── layout_wikipedia.xml │ │ ├── popup_horizontal.xml │ │ ├── popup_vertical.xml │ │ ├── progress_dialog.xml │ │ ├── row_font.xml │ │ ├── row_highlight.xml │ │ ├── row_table_of_contents.xml │ │ ├── text_selection.xml │ │ ├── view_audio_player.xml │ │ ├── view_config.xml │ │ ├── view_loading.xml │ │ └── view_webview_pager.xml │ ├── menu │ │ ├── menu_main.xml │ │ └── menu_search.xml │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ ├── res │ │ ├── drawable-hdpi │ │ │ └── icon_font.png │ │ ├── drawable-mdpi │ │ │ └── icon_font.png │ │ ├── drawable-xhdpi │ │ │ └── icon_font.png │ │ ├── drawable-xxhdpi │ │ │ └── icon_font.png │ │ └── drawable-xxxhdpi │ │ │ └── icon_font.png │ ├── values-cs │ │ └── strings.xml │ ├── values-pt-rBR │ │ └── strings.xml │ ├── values-ru │ │ └── strings.xml │ ├── values-sk │ │ └── strings.xml │ ├── values-w820dp │ │ └── dimens.xml │ ├── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── day_theme.xml │ │ ├── dimens.xml │ │ ├── night_theme.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── xml │ │ └── searchable.xml └── src │ └── main │ ├── assets │ ├── css │ │ └── Style.css │ ├── fonts │ │ ├── andada │ │ │ ├── Andada-Bold.otf │ │ │ ├── Andada-BoldItalic.otf │ │ │ ├── Andada-Italic.otf │ │ │ └── Andada-Regular.otf │ │ ├── lato │ │ │ ├── Lato-Bold.ttf │ │ │ ├── Lato-BoldItalic.ttf │ │ │ ├── Lato-Italic.ttf │ │ │ └── Lato-Regular.ttf │ │ ├── lora │ │ │ ├── Lora-Bold.ttf │ │ │ ├── Lora-BoldItalic.ttf │ │ │ ├── Lora-Italic.ttf │ │ │ └── Lora-Regular.ttf │ │ └── raleway │ │ │ ├── Raleway-Bold.ttf │ │ │ ├── Raleway-BoldItalic.ttf │ │ │ ├── Raleway-Italic.ttf │ │ │ └── Raleway-Regular.ttf │ └── js │ │ ├── Bridge.js │ │ ├── jquery-3.1.1.min.js │ │ ├── jsface.min.js │ │ ├── rangefix.js │ │ ├── rangy-classapplier.js │ │ ├── rangy-core.js │ │ ├── rangy-highlighter.js │ │ └── rangy-serializer.js │ └── java │ └── com │ └── folioreader │ ├── AppContext.java │ ├── Config.java │ ├── Constants.java │ ├── FolioReader.java │ ├── Font.java │ ├── loaders │ └── SearchLoader.kt │ ├── model │ ├── BookMeta.java │ ├── HighLight.java │ ├── HighlightImpl.java │ ├── ReadPosition.java │ ├── ReadPositionImpl.java │ ├── TOCLinkWrapper.java │ ├── dictionary │ │ ├── Audio.java │ │ ├── Dictionary.java │ │ ├── DictionaryResults.java │ │ ├── Example.java │ │ ├── Pronunciations.java │ │ ├── Senses.java │ │ └── Wikipedia.java │ ├── event │ │ ├── AnchorIdEvent.java │ │ ├── MediaOverlayHighlightStyleEvent.java │ │ ├── MediaOverlayPlayPauseEvent.java │ │ ├── MediaOverlaySpeedEvent.java │ │ ├── ReloadDataEvent.java │ │ ├── RewindIndexEvent.java │ │ ├── UpdateHighlightEvent.java │ │ └── WebViewPosition.java │ ├── media_overlay │ │ └── OverlayItems.java │ ├── search │ │ ├── SearchItem.kt │ │ └── SearchItemType.kt │ └── sqlite │ │ ├── DbAdapter.java │ │ ├── DictionaryTable.java │ │ ├── ExternalDatabaseContext.java │ │ ├── FolioDatabaseHelper.java │ │ └── HighLightTable.java │ ├── network │ └── TLSSocketFactory.java │ ├── ui │ ├── base │ │ ├── BaseMvpView.java │ │ ├── DictionaryCallBack.java │ │ ├── DictionaryTask.java │ │ ├── HtmlTask.java │ │ ├── HtmlTaskCallback.java │ │ ├── HtmlUtil.java │ │ ├── OnSaveHighlight.java │ │ ├── SaveReceivedHighlightTask.java │ │ ├── WikipediaCallBack.java │ │ └── WikipediaTask.java │ ├── folio │ │ ├── activity │ │ │ ├── ContentHighlightActivity.java │ │ │ ├── FolioActivity.java │ │ │ ├── FolioActivityCallback.java │ │ │ └── SearchActivity.kt │ │ ├── adapter │ │ │ ├── DictionaryAdapter.java │ │ │ ├── FolioPageFragmentAdapter.java │ │ │ ├── FontAdapter.java │ │ │ ├── HighlightAdapter.java │ │ │ ├── ListViewType.kt │ │ │ ├── OnItemClickListener.kt │ │ │ ├── SearchAdapter.kt │ │ │ └── ViewHolder.kt │ │ ├── fragment │ │ │ ├── DictionaryFragment.java │ │ │ ├── FolioPageFragment.java │ │ │ ├── HighlightFragment.java │ │ │ └── MediaControllerFragment.kt │ │ └── mediaoverlay │ │ │ ├── MediaController.java │ │ │ └── MediaControllerCallbacks.java │ └── tableofcontents │ │ ├── adapter │ │ └── TOCAdapter.java │ │ └── view │ │ └── TableOfContentFragment.java │ ├── util │ ├── AppUtil.java │ ├── FileUtil.java │ ├── HighlightUtil.java │ ├── MultiLevelExpIndListAdapter.java │ ├── ObjectMapperSingleton.java │ ├── OnHighlightListener.java │ ├── ProgressDialog.java │ ├── ReadPositionListener.java │ ├── SMILParser.java │ ├── ScreenUtils.java │ ├── SharedPreferenceUtil.java │ ├── StyleableTextView.java │ └── UiUtil.java │ └── view │ ├── ConfigBottomSheetDialogFragment.kt │ ├── DirectionalViewpager.java │ ├── FolioAppBarLayout.kt │ ├── FolioSearchView.kt │ ├── FolioWebView.kt │ ├── LoadingView.java │ ├── MediaControllerCallback.kt │ ├── StyleableTextView.java │ ├── UnderlinedTextView.java │ ├── VerticalSeekbar.java │ ├── VerticalViewPager.java │ └── WebViewPager.java ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── model ├── cici.apkg ├── 单词卡.apkg └── 配套模板.md ├── pics ├── alipay.psd ├── alipay10.png ├── alipay20.png ├── alipay5.png ├── alipayany.png ├── begging.jpg ├── card_back.png ├── card_front.png ├── chrome_context.png ├── chrome_copy.png ├── chrome_dot.png ├── chrome_popup.png ├── copy.png ├── downloaded-icons │ ├── ic_ali_heart.svg │ ├── ic_ali_heart_filled.svg │ ├── ic_ali_heart_filled.svg.png │ ├── 下拉.svg │ ├── 向上.svg │ ├── 增加.svg │ ├── 多语言.svg │ ├── 搜索.svg │ ├── 播放.svg │ ├── 收起.svg │ ├── 点评.svg │ ├── 省钱.svg │ ├── 等待.svg │ └── 编辑.svg ├── hello.png ├── ic_about.png ├── ic_about_dot.png ├── icon.psd ├── icon_light.png ├── icon_light.psd ├── icon_light_gray.png ├── icon_translate_done.png ├── icon_translate_normal.png ├── icon_translate_wait.png └── model.png ├── poster.png ├── poster.pptx ├── sample ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── folioreader │ │ └── android │ │ └── sample │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ ├── Ernesto_Sabato-Abaddon_exterminatorul.epub │ │ ├── PhysicsSyllabus.epub │ │ ├── TheSilverChair.epub │ │ ├── epub1.epub │ │ ├── highlights │ │ │ └── highlights_data.json │ │ ├── mimetype.epub │ │ ├── read_positions │ │ │ └── read_position.json │ │ └── sketchdraw.epub │ ├── java │ │ └── com │ │ │ └── folioreader │ │ │ └── android │ │ │ └── sample │ │ │ ├── HighlightData.java │ │ │ └── HomeActivity.java │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ └── activity_home.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── raw │ │ ├── adventures.epub │ │ ├── barrett.epub │ │ └── varun.epub │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ └── network_security_config.xml │ └── test │ └── java │ └── com │ └── folioreader │ └── android │ └── sample │ └── ExampleUnitTest.java └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | *.db 4 | *.apk 5 | /local.properties 6 | /.idea/workspace.xml 7 | /.idea/libraries 8 | /app/release/ 9 | .DS_Store 10 | /build 11 | /captures 12 | /folioreader/build 13 | .externalNativeBuild 14 | .idea 15 | 16 | # Custom 17 | _site 18 | 19 | # Ant 20 | MANIFEST.MF 21 | ./*.jar 22 | build.num 23 | build 24 | 25 | # ADT 26 | .classpath 27 | .project 28 | .settings 29 | local.properties 30 | bin 31 | gen 32 | _layouts 33 | proguard.cfg 34 | 35 | # OSX 36 | .DS_Store 37 | 38 | # Github 39 | gh-pages 40 | 41 | # Gradle 42 | .gradle 43 | build 44 | 45 | # IDEA 46 | *.iml 47 | *.ipr 48 | *.iws 49 | out 50 | .idea 51 | 52 | # Maven 53 | target 54 | release.properties 55 | pom.xml.* 56 | 57 | # Readium DRM LCP 58 | liblcp.aar -------------------------------------------------------------------------------- /.vscode/ipch/dd02a524d19a9110/mmap_address.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/.vscode/ipch/dd02a524d19a9110/mmap_address.bin -------------------------------------------------------------------------------- /ViewPager/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /ViewPager/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'android-library' 2 | 3 | repositories { 4 | mavenCentral() 5 | } 6 | 7 | android { 8 | compileSdkVersion 27 9 | buildToolsVersion "27.0.0" 10 | 11 | defaultConfig { 12 | minSdkVersion 14 13 | targetSdkVersion 27 14 | } 15 | 16 | compileOptions { 17 | sourceCompatibility JavaVersion.VERSION_1_7 18 | targetCompatibility JavaVersion.VERSION_1_7 19 | } 20 | } 21 | 22 | dependencies { 23 | compile 'com.android.support:appcompat-v7:27.0.0' 24 | } 25 | -------------------------------------------------------------------------------- /ViewPager/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /ViewPager/src/main/java/com/ryanharter/viewpager/PagerAdapter.java: -------------------------------------------------------------------------------- 1 | package com.ryanharter.viewpager; 2 | 3 | /** 4 | * {@inheritDoc} 5 | */ 6 | public abstract class PagerAdapter extends android.support.v4.view.PagerAdapter { 7 | 8 | /** 9 | * {@inheritDoc} 10 | * @deprecated Use {@link #getPageSize(int)} instead. 11 | */ 12 | @Override 13 | public float getPageWidth(int position) { 14 | return super.getPageWidth(position); 15 | } 16 | 17 | /** 18 | * Returns the proportional size (width or height depending on orientation) 19 | * of a given page as a percentage of the ViewPager's measured size from (0.f-1.f). 20 | * 21 | * @param position The position of the page requested 22 | * @return Proportional size for the given page position 23 | */ 24 | public float getPageSize(int position) { 25 | return getPageWidth(position); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ViewPager/src/main/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ViewPager/src/main/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /ViewPager/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ViewPager/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ViewPager 3 | 4 | -------------------------------------------------------------------------------- /ViewPager/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 14 | 15 | 16 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:\Users\liao\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/mmjang/ankihelper/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper; 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 | * Instrumentation 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("com.mmjang.ankihelperrefactor", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/assets/book/grave.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/assets/book/grave.epub -------------------------------------------------------------------------------- /app/src/main/java/com/ichi2/anki/api/Basic2Model.java: -------------------------------------------------------------------------------- 1 | package com.ichi2.anki.api; 2 | 3 | /** 4 | * Definitions of the basic with reverse model 5 | */ 6 | class Basic2Model { 7 | public static final String[] FIELDS = {"Front","Back"}; 8 | // List of card names that will be used in AnkiDroid (one for each direction of learning) 9 | public static final String[] CARD_NAMES = {"Card 1", "Card 2"}; 10 | // Template for the question of each card 11 | static final String[] QFMT = {"{{Front}}", "{{Back}}"}; 12 | static final String[] AFMT = {"{{FrontSide}}\n\n
\n\n{{Back}}", 13 | "{{FrontSide}}\n\n
\n\n{{Front}}"}; 14 | } -------------------------------------------------------------------------------- /app/src/main/java/com/ichi2/anki/api/BasicModel.java: -------------------------------------------------------------------------------- 1 | package com.ichi2.anki.api; 2 | 3 | /** 4 | * Definitions of the basic model 5 | */ 6 | class BasicModel { 7 | public static final String[] FIELDS = {"Front","Back"}; 8 | // List of card names that will be used in AnkiDroid (one for each direction of learning) 9 | public static final String[] CARD_NAMES = {"Card 1"}; 10 | // Template for the question of each card 11 | static final String[] QFMT = {"{{Front}}"}; 12 | static final String[] AFMT = {"{{FrontSide}}\n\n
\n\n{{Back}}"}; 13 | } -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/book/DefaultBook.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.book; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class DefaultBook { 7 | public static List getDefaultBook(){ 8 | Book book1 = new Book( 9 | System.currentTimeMillis(), 10 | System.currentTimeMillis(), 11 | "The Graveyard Book", 12 | "Neil Gaiman", 13 | "file:///android_asset/book/grave.epub", 14 | "" 15 | ); 16 | 17 | Book book2 = new Book( 18 | System.currentTimeMillis(), 19 | System.currentTimeMillis(), 20 | "Moon over Manifest", 21 | "Clare Vanderpool", 22 | "file:///android_asset/book/moon.epub", 23 | "" 24 | ); 25 | List books = new ArrayList<>(); 26 | books.add(book1); 27 | //books.add(book2); 28 | return books; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/content/ContentEntity.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.content; 2 | 3 | public class ContentEntity { 4 | private String text; 5 | private String note; 6 | 7 | public ContentEntity(String text, String note) { 8 | this.text = text; 9 | this.note = note; 10 | } 11 | 12 | public String getText() { 13 | return text; 14 | 15 | } 16 | 17 | public void setText(String text) { 18 | this.text = text; 19 | } 20 | 21 | public String getNote() { 22 | return note; 23 | } 24 | 25 | public void setNote(String note) { 26 | this.note = note; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/content/ExternalContentDatabaseHelper.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.content; 2 | 3 | import android.content.Context; 4 | import android.database.sqlite.SQLiteDatabase; 5 | import android.database.sqlite.SQLiteOpenHelper; 6 | 7 | import com.mmjang.ankihelper.data.database.DBContract; 8 | import com.mmjang.ankihelper.data.database.ExternalDatabaseContext; 9 | import com.mmjang.ankihelper.util.Constant; 10 | 11 | import java.io.File; 12 | 13 | public class ExternalContentDatabaseHelper extends SQLiteOpenHelper { 14 | 15 | //private static final String DB_NAME = "ankihelper.db"; 16 | private static final int VERSION = 1; 17 | private Context mContext; 18 | 19 | public ExternalContentDatabaseHelper(Context context, String dbName) { 20 | super(new ExternalDatabaseContext(context), 21 | Constant.EXTERNAL_STORAGE_CONTENT_SUBDIRECTORY + File.separator + dbName, null, VERSION); 22 | mContext = context; 23 | } 24 | 25 | @Override 26 | public void onCreate(SQLiteDatabase db) { 27 | 28 | } 29 | 30 | @Override 31 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 32 | 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/dict/Cloze.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.dict; 2 | 3 | import android.content.Context; 4 | import android.widget.ListAdapter; 5 | 6 | import java.util.ArrayList; 7 | import java.util.HashMap; 8 | import java.util.List; 9 | 10 | /** 11 | * Created by liao on 2017/5/6. 12 | */ 13 | 14 | public class Cloze implements IDictionary { 15 | private static final String[] EXP_ELE_LIST = new String[]{ 16 | }; 17 | 18 | public Cloze(Context context) { 19 | 20 | } 21 | 22 | public String getDictionaryName() { 23 | return "制作填空"; 24 | } 25 | 26 | public String getIntroduction() { 27 | return "无释义,用于快速制作填空"; 28 | } 29 | 30 | public String[] getExportElementsList() { 31 | return EXP_ELE_LIST; 32 | } 33 | 34 | public List wordLookup(String key) { 35 | ArrayList result = new ArrayList<>(); 36 | result.add(new Definition( 37 | new HashMap(), 38 | "制作填空卡片" 39 | )); 40 | return result; 41 | } 42 | 43 | public ListAdapter getAutoCompleteAdapter(Context context, int layout) { 44 | return null; 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/dict/IDictionary.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.dict; 2 | 3 | import android.content.Context; 4 | import android.widget.ListAdapter; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * Created by liao on 2017/4/13. 10 | */ 11 | 12 | public interface IDictionary { 13 | String getDictionaryName(); 14 | 15 | String getIntroduction(); 16 | 17 | String[] getExportElementsList(); 18 | 19 | List wordLookup(String key); 20 | 21 | ListAdapter getAutoCompleteAdapter(Context context, int layout); 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/dict/JPDeinflector/Inflection.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.dict.JPDeinflector; 2 | 3 | /** 4 | * This class stores the before and after of an inflection 5 | * and the form it represents, e.g. past tense. 6 | * 7 | * @author James Kirk 8 | */ 9 | public class Inflection { 10 | /** 11 | * The inflected end of the word. 12 | */ 13 | private final String inflection; 14 | /** 15 | * The uninflected end of the word. 16 | */ 17 | private final String base; 18 | /** 19 | * The class of the inflection (passive, past, negative, etc.) 20 | */ 21 | private final int form; 22 | 23 | public Inflection(String inflection, String base, int form) { 24 | this.inflection = inflection; 25 | this.base = base; 26 | this.form = form; 27 | } 28 | 29 | public String getInflection() { 30 | return inflection; 31 | } 32 | 33 | public String getBase() { 34 | return base; 35 | } 36 | 37 | public int getForm() { 38 | return form; 39 | } 40 | 41 | @Override 42 | public String toString() { 43 | return String.format("%s -> %s (%s) ", 44 | inflection, base, form); 45 | } 46 | } 47 | 48 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/dict/YoudaoResult.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.dict; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import java.util.ArrayList; 6 | import java.util.Collection; 7 | import java.util.HashMap; 8 | import java.util.Iterator; 9 | import java.util.LinkedHashMap; 10 | import java.util.List; 11 | import java.util.ListIterator; 12 | import java.util.Map; 13 | 14 | /** 15 | * Created by liao on 2017/7/30. 16 | */ 17 | 18 | public class YoudaoResult { 19 | public String returnPhrase = ""; 20 | public String phonetic = ""; 21 | public List translation = new ArrayList<>(); 22 | public Map> webTranslation = new LinkedHashMap<>(); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/dict/customdict/CustomDictionaryInformation.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.dict.customdict; 2 | 3 | /** 4 | * Created by liao on 2017/8/12. 5 | */ 6 | 7 | public class CustomDictionaryInformation { 8 | private int id; 9 | private String dictName; 10 | private String dictIntro; 11 | private String dictLang; 12 | private String defTpml; 13 | private String[] fields; 14 | 15 | public CustomDictionaryInformation(int id, String dictName, String dictIntro, String dictLang, String defTpml, String[] fields){ 16 | //this.version = version; 17 | this.id = id; 18 | this.dictName = dictName; 19 | this.dictIntro = dictIntro; 20 | this.dictLang = dictLang; 21 | this.defTpml = defTpml; 22 | this.fields = fields; 23 | } 24 | 25 | public int getVersion() { 26 | return id; 27 | } 28 | 29 | public String getDictName() { 30 | return dictName; 31 | } 32 | 33 | public String getDictIntro() { 34 | return dictIntro; 35 | } 36 | 37 | public String getDictLang() { 38 | return dictLang; 39 | } 40 | 41 | public String getDefTpml() { 42 | return defTpml; 43 | } 44 | 45 | public String[] getFields() { 46 | return fields; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/dict/customdict/CustomDictionaryParser.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.dict.customdict; 2 | 3 | import com.mmjang.ankihelper.data.dict.DictionaryRegister; 4 | 5 | /** 6 | * Created by liao on 2017/8/17. 7 | */ 8 | 9 | public interface CustomDictionaryParser { 10 | CustomDictionaryInformation getCustomDictionaryInformation(); 11 | boolean hasNext(); 12 | CustomDictionaryEntry getNextEntry(); 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/dict/customdict/ParserException.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.dict.customdict; 2 | 3 | import java.io.IOException; 4 | 5 | /** 6 | * Created by liao on 2017/8/17. 7 | */ 8 | 9 | public class ParserException extends IOException { 10 | public ParserException(){ 11 | 12 | } 13 | 14 | public ParserException(String msg){ 15 | super(msg); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/dict/customdict/TabDictionaryParser.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.dict.customdict; 2 | 3 | import android.content.Context; 4 | import android.support.annotation.NonNull; 5 | import android.support.annotation.Nullable; 6 | 7 | import com.mmjang.ankihelper.data.dict.CustomDictionary; 8 | import com.mmjang.ankihelper.data.dict.IDictionary; 9 | 10 | import java.io.BufferedReader; 11 | import java.io.File; 12 | import java.io.FileInputStream; 13 | import java.io.FileNotFoundException; 14 | import java.io.IOException; 15 | import java.io.InputStreamReader; 16 | import java.nio.charset.Charset; 17 | import java.util.ArrayList; 18 | import java.util.LinkedList; 19 | import java.util.List; 20 | 21 | /** 22 | * Created by liao on 2017/8/17. 23 | */ 24 | 25 | public class TabDictionaryParser implements CustomDictionaryParser { 26 | 27 | 28 | 29 | @Override 30 | public CustomDictionaryInformation getCustomDictionaryInformation() { 31 | return null; 32 | } 33 | 34 | @Override 35 | public boolean hasNext() { 36 | return false; 37 | } 38 | 39 | @Override 40 | public CustomDictionaryEntry getNextEntry() { 41 | return null; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/history/HistoryType.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.history; 2 | 3 | public final class HistoryType { 4 | public static final int POPUP_OPEN = 0; 5 | public static final int WORD_LOOK_UP = 1; 6 | public static final int NOTE_ADD = 2; 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/model/UserTag.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.model; 2 | 3 | import org.litepal.annotation.Column; 4 | import org.litepal.crud.DataSupport; 5 | 6 | /** 7 | * Created by liao on 2017/4/20. 8 | */ 9 | 10 | public class UserTag extends DataSupport { 11 | @Column(unique = true) 12 | private String tag; 13 | 14 | public UserTag(String pTag) { 15 | tag = pTag; 16 | } 17 | 18 | public void setTag(String planName) { 19 | this.tag = planName; 20 | } 21 | 22 | public String getTag() { 23 | return tag; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/quote/Quote.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.quote; 2 | 3 | public class Quote { 4 | public String Quote = ""; 5 | public String Author = ""; 6 | public String Caption = ""; 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/quote/RandomQuote.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.quote; 2 | 3 | import com.mmjang.ankihelper.MyApplication; 4 | import com.mmjang.ankihelper.util.com.baidu.translate.demo.HttpGet; 5 | 6 | import org.json.JSONArray; 7 | import org.json.JSONException; 8 | import org.json.JSONObject; 9 | 10 | public class RandomQuote { 11 | private static final String URL = "https://talaikis.com/api/quotes/random/"; 12 | public static Quote fetch() throws JSONException { 13 | String doc = HttpGet.get(URL, null); 14 | JSONObject docJson = new JSONObject(doc); 15 | String quote = docJson.getString("quote"); 16 | String author = docJson.getString("author"); 17 | String cat = docJson.getString("cat"); 18 | Quote q = new Quote(); 19 | q.Quote = quote; 20 | q.Author = author; 21 | q.Caption = cat; 22 | return q; 23 | } 24 | 25 | public static Quote fetchFromDB(){ 26 | String quote = QuoteDb.getInstance(MyApplication.getContext()).getQuote(); 27 | String[] splited = quote.split("\t"); 28 | Quote q = new Quote(); 29 | q.Quote = splited[0].replaceAll("
", "\n").trim(); 30 | q.Author = splited[1].replace(",", "").trim(); 31 | q.Caption = splited[2].replace("\n", "").trim(); 32 | return q; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/data/read/MyReadPosition.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.data.read; -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/domain/OnlockReceiver.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.domain; 2 | 3 | import android.content.BroadcastReceiver; 4 | import android.content.Context; 5 | import android.content.Intent; 6 | import android.widget.Toast; 7 | 8 | import com.mmjang.ankihelper.data.Settings; 9 | 10 | public class OnlockReceiver extends BroadcastReceiver { 11 | @Override 12 | public void onReceive(Context context, Intent intent) { 13 | Intent newIntent = new Intent(context, CBWatcherService.class); 14 | Settings settings = Settings.getInstance(context); 15 | if(settings.getMoniteClipboardQ()) { 16 | Toast.makeText(context, "debug", Toast.LENGTH_SHORT).show(); 17 | context.startService(newIntent); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/ui/plan/FieldsMapItem.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.ui.plan; 2 | 3 | /** 4 | * Created by liao on 2017/4/28. 5 | */ 6 | 7 | public class FieldsMapItem { 8 | private String field; 9 | private String[] exportElements; 10 | private int selectedFieldPos; 11 | 12 | public FieldsMapItem(String fld, String[] expEleList) { 13 | field = fld; 14 | exportElements = expEleList; 15 | selectedFieldPos = 0; 16 | } 17 | 18 | public FieldsMapItem(String fld, String[] expEleList, int selPos) { 19 | field = fld; 20 | exportElements = expEleList; 21 | selectedFieldPos = selPos; 22 | } 23 | 24 | public String[] getExportedElementNames() { 25 | return exportElements; 26 | } 27 | 28 | public String getField() { 29 | return field; 30 | } 31 | 32 | public int getSelectedFieldPos() { 33 | return selectedFieldPos; 34 | } 35 | 36 | public void setSelectedFieldPos(int selectedFieldPos) { 37 | this.selectedFieldPos = selectedFieldPos; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/ui/plan/helper/ItemTouchHelperAdapter.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.ui.plan.helper; 2 | 3 | public interface ItemTouchHelperAdapter { 4 | void onItemMove(int fromPosition, int toPosition); 5 | void onMoveFinished(); 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/ui/plan/helper/ItemTouchHelperViewHolder.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.ui.plan.helper; 2 | 3 | public interface ItemTouchHelperViewHolder { 4 | void onItemSelected(); 5 | void onItemClear(); 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/ui/widget/SpinnerNoSwipe.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.ui.widget; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.view.GestureDetector; 6 | import android.view.MotionEvent; 7 | public class SpinnerNoSwipe extends android.support.v7.widget.AppCompatSpinner { 8 | 9 | private GestureDetector mGestureDetector; 10 | 11 | public SpinnerNoSwipe(Context context) { 12 | super(context); 13 | setup(); 14 | } 15 | 16 | public SpinnerNoSwipe(Context context, AttributeSet attrs) { 17 | super(context, attrs); 18 | setup(); 19 | } 20 | 21 | public SpinnerNoSwipe(Context context, AttributeSet attrs, int defStyleAttr) { 22 | super(context, attrs, defStyleAttr); 23 | setup(); 24 | } 25 | 26 | private void setup() { 27 | mGestureDetector = new GestureDetector(getContext(), new GestureDetector.SimpleOnGestureListener() { 28 | @Override 29 | public boolean onSingleTapUp(MotionEvent e) { 30 | return performClick(); 31 | } 32 | }); 33 | } 34 | 35 | @Override 36 | public boolean onTouchEvent(MotionEvent event) { 37 | mGestureDetector.onTouchEvent(event); 38 | return true; 39 | } 40 | } -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/util/DialogUtil.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.util; 2 | 3 | import android.content.Context; 4 | import android.content.DialogInterface; 5 | import android.support.v7.app.AlertDialog; 6 | 7 | import com.mmjang.ankihelper.MyApplication; 8 | import com.mmjang.ankihelper.R; 9 | 10 | /** 11 | * Created by Gao on 2017/6/27. 12 | */ 13 | 14 | public class DialogUtil { 15 | 16 | public static void showStartAnkiDialog(Context activityContext) { 17 | new AlertDialog.Builder(activityContext) 18 | .setMessage(activityContext.getString(R.string.plan_anki_not_started)) 19 | .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { 20 | @Override 21 | public void onClick(DialogInterface dialogInterface, int i) { 22 | 23 | } 24 | }) 25 | .setPositiveButton(android.R.string.ok, 26 | new DialogInterface.OnClickListener() { 27 | @Override 28 | public void onClick(DialogInterface dialogInterface, int i) { 29 | 30 | MyApplication.getAnkiDroid().startAnkiDroid(); 31 | } 32 | }) 33 | .show(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/util/StringUtil.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.util; 2 | 3 | /** 4 | * Created by chenxiangjie on 2017/7/26. 5 | */ 6 | 7 | public class StringUtil { 8 | /** 9 | * 判断字符串是否为null或全为空白字符 10 | * 11 | * @param s 待校验字符串 12 | * @return {@code true}: null或全空白字符
{@code false}: 不为null且不全空白字符 13 | */ 14 | public static boolean isSpace(final String s) { 15 | if (s == null) return true; 16 | for (int i = 0, len = s.length(); i < len; ++i) { 17 | if (!Character.isWhitespace(s.charAt(i))) { 18 | return false; 19 | } 20 | } 21 | return true; 22 | } 23 | 24 | public static boolean isSpace(char c) { 25 | return Character.isSpaceChar(c) || Character.isWhitespace(c); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/util/com/baidu/translate/demo/RandomAPIKeyGenerator.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.util.com.baidu.translate.demo; 2 | 3 | import java.util.Random; 4 | public class RandomAPIKeyGenerator { 5 | 6 | private static String[] APP_ID_AND_KEY_LIST = new String[] { 7 | // "20181126000239193\nCPhOj0FHGhvt2f5x5kag", 8 | // "20180208000121840\n6vcjzWbWq5Swqk8y_VQG", 9 | // "20181125000239165\nXVCzhWeP3QLLzW7TXHGm", 10 | // "20181125000239170\np4CI4cEngtYvRx12HUec", 11 | "20160220000012831\nISSPx0K_ZyrUN9IAOKel" 12 | }; 13 | 14 | public static String[] next(){ 15 | int min = 0; 16 | int max = APP_ID_AND_KEY_LIST.length - 1; 17 | int index = randInt(min, max); 18 | return APP_ID_AND_KEY_LIST[index].split("\n"); 19 | } 20 | 21 | public static int randInt(int min, int max) { 22 | 23 | Random rand = new Random(); 24 | int randomNum = rand.nextInt((max - min) + 1) + min; 25 | return randomNum; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/com/mmjang/ankihelper/util/com/baidu/translate/demo/TransApi.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper.util.com.baidu.translate.demo; 2 | 3 | import java.util.HashMap; 4 | import java.util.Map; 5 | 6 | public class TransApi { 7 | private static final String TRANS_API_HOST = "http://api.fanyi.baidu.com/api/trans/vip/translate"; 8 | 9 | private String appid; 10 | private String securityKey; 11 | 12 | public TransApi(String appid, String securityKey) { 13 | this.appid = appid; 14 | this.securityKey = securityKey; 15 | } 16 | 17 | public String getTransResult(String query, String from, String to) { 18 | Map params = buildParams(query, from, to); 19 | return HttpGet.get(TRANS_API_HOST, params); 20 | } 21 | 22 | private Map buildParams(String query, String from, String to) { 23 | Map params = new HashMap(); 24 | params.put("q", query); 25 | params.put("from", from); 26 | params.put("to", to); 27 | 28 | params.put("appid", appid); 29 | 30 | // 随机数 31 | String salt = String.valueOf(System.currentTimeMillis()); 32 | params.put("salt", salt); 33 | 34 | // 签名 35 | String src = appid + query + salt + securityKey; // 加密前的原文 36 | params.put("sign", MD5.md5(src)); 37 | 38 | return params; 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/res/anim/design_fab_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 20 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/anim/design_fab_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 20 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_in.xml: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_out.xml: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/color/bigbang_item_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/color/custom_bigbang_item_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/alipay10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/alipay10.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/alipay20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/alipay20.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/alipay5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/alipay5.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/alipayany.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/alipayany.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bigbang_action_cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/bigbang_action_cloud.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bigbang_action_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/bigbang_action_copy.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bigbang_action_enter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/bigbang_action_enter.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bigbang_action_local.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/bigbang_action_local.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bigbang_action_no_enter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/bigbang_action_no_enter.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bigbang_action_no_symbol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/bigbang_action_no_symbol.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bigbang_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/bigbang_action_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bigbang_action_select_other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/bigbang_action_select_other.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bigbang_action_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/bigbang_action_share.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/bigbang_action_symbol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/bigbang_action_symbol.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_about_dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/ic_about_dot.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/ic_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_close_capture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/ic_close_capture.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_compare_arrows_white_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/ic_compare_arrows_white_36dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_done_white_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/ic_done_white_36dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drag_select_36dp_n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/ic_drag_select_36dp_n.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drag_select_36dp_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/ic_drag_select_36dp_p.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_float_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/ic_float_copy.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_pronounce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/ic_pronounce.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_sort_white_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxhdpi/ic_sort_white_36dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/bigbang_item_bg_nor.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxxhdpi/bigbang_item_bg_nor.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/bigbang_item_bg_nor_section.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxxhdpi/bigbang_item_bg_nor_section.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/bigbang_item_bg_sel.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxxhdpi/bigbang_item_bg_sel.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/bigbang_item_bg_sel_section.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable-xxxhdpi/bigbang_item_bg_sel_section.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/begging.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/begging.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_chip_state_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bigbang_action_bar_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/donate2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/donate2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_about.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_add_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_add_blue.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_add_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_add_grey.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_add.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_add_green.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_arrow_down.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_arrow_down_pink.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_arrow_up.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_arrow_up_pink.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_back_to_top.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_back_to_top_pink.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_heart.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_heart_depr.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_heart_filled_depr.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_note.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_note_pink.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_play.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_play_pink.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_search.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_search_pink.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_tag.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ali_tag_pink.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_bookshelf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_bookshelf.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_import.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_lc_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_lc_2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_lc_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_lc_new.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_left_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_left_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_note_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_note_black.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_ok.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_read.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_read.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_right_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_right_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_search_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_search_grey.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_stat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_stat.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tag_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_tag_black.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_up_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/ic_up_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/icon_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/icon_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/icon_translate_done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/icon_translate_done.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/icon_translate_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/icon_translate_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/icon_translate_wait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/app/src/main/res/drawable/icon_translate_wait.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/item_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/item_background_section.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/item_background_symbol.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_pink.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/word_select_box_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/word_select_box_item_hl.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/word_select_box_item_trans.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_bookshelf.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_edit_note.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_edit_tag.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 16 | 22 | 23 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/res/layout/field_map_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 | 19 | 20 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/layout/tag_chip_item.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/src/main/res/menu/activity_about_menu_entry.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/menu/activity_bookshelf_menu_entry.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/menu/activity_plan_editor_menu_entry.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/menu/activity_plans_manager_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_stat.xml: -------------------------------------------------------------------------------- 1 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | last 7 days 5 | last 30 days 6 | last 365 days 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | #227D51 6 | #2D6D4B 7 | 8 | #2D6D4B 9 | 10 | #e39090 11 | #e68080 12 | 13 | #e58080 14 | 15 | #212121 16 | #727272 17 | 18 | #00000000 19 | #E0E0E0 20 | #f4e7e7 21 | 22 | #cee9e9e9 23 | 24 | #e0e0e0 25 | #e1bcbc 26 | 27 | #4f8069 28 | #c5a4a4 29 | 30 | #808080 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 52dp 4 | 0dp 5 | 8dp 6 | 180dp 7 | 16dp 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/tags.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/res/xml/network.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/test/java/com/mmjang/ankihelper/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.mmjang.ankihelper; 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 | } -------------------------------------------------------------------------------- /config/quality/findbugs/android-exclude-filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /custom_dictionary/Oxford_Thesaurus.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/custom_dictionary/Oxford_Thesaurus.zip -------------------------------------------------------------------------------- /custom_dictionary/longman.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/custom_dictionary/longman.zip -------------------------------------------------------------------------------- /custom_dictionary/oxford.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/custom_dictionary/oxford.zip -------------------------------------------------------------------------------- /folioreader/bintray/installv1.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.github.dcendents.android-maven' 2 | 3 | group = publishedGroupId // Maven Group ID for the artifact 4 | 5 | install { 6 | repositories.mavenInstaller { 7 | // This generates POM.xml with proper parameters 8 | pom { 9 | project { 10 | packaging 'aar' 11 | groupId publishedGroupId 12 | artifactId artifact 13 | 14 | // Add your description here 15 | name libraryName 16 | description libraryDescription 17 | url siteUrl 18 | 19 | // Set your license 20 | licenses { 21 | license { 22 | name licenseName 23 | url licenseUrl 24 | } 25 | } 26 | developers { 27 | developer { 28 | id developerId 29 | name developerName 30 | email developerEmail 31 | } 32 | } 33 | scm { 34 | connection gitUrl 35 | developerConnection gitUrl 36 | url siteUrl 37 | 38 | } 39 | } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /folioreader/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /folioreader/res/anim/disappear.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /folioreader/res/anim/enter_from_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | -------------------------------------------------------------------------------- /folioreader/res/anim/enter_from_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | -------------------------------------------------------------------------------- /folioreader/res/anim/exit_to_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | -------------------------------------------------------------------------------- /folioreader/res/anim/exit_to_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | -------------------------------------------------------------------------------- /folioreader/res/anim/fadein.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | -------------------------------------------------------------------------------- /folioreader/res/anim/fadeout.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | -------------------------------------------------------------------------------- /folioreader/res/anim/grow_from_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /folioreader/res/anim/grow_from_bottomleft_to_topright.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | -------------------------------------------------------------------------------- /folioreader/res/anim/grow_from_bottomright_to_topleft.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | -------------------------------------------------------------------------------- /folioreader/res/anim/grow_from_top.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /folioreader/res/anim/grow_from_topleft_to_bottomright.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /folioreader/res/anim/grow_from_topright_to_bottomleft.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | -------------------------------------------------------------------------------- /folioreader/res/anim/pump_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /folioreader/res/anim/pump_top.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /folioreader/res/anim/shrink_from_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /folioreader/res/anim/shrink_from_bottomleft_to_topright.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | -------------------------------------------------------------------------------- /folioreader/res/anim/shrink_from_bottomright_to_topleft.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /folioreader/res/anim/shrink_from_top.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /folioreader/res/anim/shrink_from_topleft_to_bottomright.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | -------------------------------------------------------------------------------- /folioreader/res/anim/shrink_from_topright_to_bottomleft.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /folioreader/res/anim/slide_down.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /folioreader/res/anim/slide_in_up.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /folioreader/res/anim/slide_out_up.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /folioreader/res/anim/slide_up.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /folioreader/res/drawable-hdpi/ic_format_font_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-hdpi/ic_format_font_black_24dp.png -------------------------------------------------------------------------------- /folioreader/res/drawable-hdpi/ic_format_font_black_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-hdpi/ic_format_font_black_36dp.png -------------------------------------------------------------------------------- /folioreader/res/drawable-mdpi/ic_format_font_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-mdpi/ic_format_font_black_24dp.png -------------------------------------------------------------------------------- /folioreader/res/drawable-mdpi/ic_format_font_black_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-mdpi/ic_format_font_black_36dp.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/edit_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/edit_note.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/ic_format_font_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/ic_format_font_black_24dp.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/ic_format_font_black_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/ic_format_font_black_36dp.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/icon_moon_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/icon_moon_normal.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/icon_moon_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/icon_moon_sel.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/icon_sun_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/icon_sun_normal.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/icon_sun_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/icon_sun_sel.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/next_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/next_icon.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/pause_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/pause_btn.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/play_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/play_icon.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/prev_con.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/prev_con.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/seekbar_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/seekbar_thumb.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xhdpi/trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xhdpi/trash.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xxhdpi/ic_format_font_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xxhdpi/ic_format_font_black_24dp.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xxhdpi/ic_format_font_black_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xxhdpi/ic_format_font_black_36dp.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xxxhdpi/ic_format_font_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xxxhdpi/ic_format_font_black_24dp.png -------------------------------------------------------------------------------- /folioreader/res/drawable-xxxhdpi/ic_format_font_black_36dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable-xxxhdpi/ic_format_font_black_36dp.png -------------------------------------------------------------------------------- /folioreader/res/drawable/arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable/arrow_down.png -------------------------------------------------------------------------------- /folioreader/res/drawable/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable/arrow_up.png -------------------------------------------------------------------------------- /folioreader/res/drawable/blue_border_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/btn_contents_highlights.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/btn_moon_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/btn_sun_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/content_highlight_back_selector_night_mode.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/content_highlight_text_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/dottet_line.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /folioreader/res/drawable/font_text_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/green_border_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_close_green_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_drawer.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_format_underlined.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 9 | 12 | 13 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_highlight_delete.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_minus_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_minus_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_offline_gray_48dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_offline_gray_layer_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_plus_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_plus_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_search.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /folioreader/res/drawable/ic_volume_gray_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/icon_font.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /folioreader/res/drawable/icons_sroll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable/icons_sroll.png -------------------------------------------------------------------------------- /folioreader/res/drawable/man_speech_icon.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /folioreader/res/drawable/note_edittext_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/popup.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/drawable/popup.9.png -------------------------------------------------------------------------------- /folioreader/res/drawable/red_border_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | -------------------------------------------------------------------------------- /folioreader/res/drawable/round_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /folioreader/res/drawable/shape_highlight_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /folioreader/res/drawable/shape_highlight_green.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /folioreader/res/drawable/shape_highlight_pink.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /folioreader/res/drawable/shape_highlight_yellow.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /folioreader/res/drawable/style_back_color_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/style_text_color_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /folioreader/res/drawable/thumb.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /folioreader/res/drawable/transparent_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /folioreader/res/layout/action_item_horizontal.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 15 | 16 | 27 | 28 | -------------------------------------------------------------------------------- /folioreader/res/layout/action_item_vertical.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 14 | 15 | 24 | 25 | -------------------------------------------------------------------------------- /folioreader/res/layout/fragment_contents.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 13 | 21 | 22 | -------------------------------------------------------------------------------- /folioreader/res/layout/fragment_highlight_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /folioreader/res/layout/horiz_separator.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /folioreader/res/layout/item_search_empty.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 16 | 17 | -------------------------------------------------------------------------------- /folioreader/res/layout/item_search_failure.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 16 | 17 | -------------------------------------------------------------------------------- /folioreader/res/layout/item_search_init.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 15 | 16 | -------------------------------------------------------------------------------- /folioreader/res/layout/item_search_loading.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /folioreader/res/layout/layout_wikipedia.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 15 | 16 | 24 | 25 | 30 | -------------------------------------------------------------------------------- /folioreader/res/layout/progress_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 10 | 14 | 21 | 22 | -------------------------------------------------------------------------------- /folioreader/res/layout/row_font.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /folioreader/res/layout/row_table_of_contents.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 14 | 15 | 21 | -------------------------------------------------------------------------------- /folioreader/res/layout/view_loading.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 19 | 20 | -------------------------------------------------------------------------------- /folioreader/res/layout/view_webview_pager.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 19 | 20 | -------------------------------------------------------------------------------- /folioreader/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 20 | 21 | 27 | 28 | -------------------------------------------------------------------------------- /folioreader/res/menu/menu_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /folioreader/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /folioreader/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /folioreader/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /folioreader/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /folioreader/res/res/drawable-hdpi/icon_font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/res/drawable-hdpi/icon_font.png -------------------------------------------------------------------------------- /folioreader/res/res/drawable-mdpi/icon_font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/res/drawable-mdpi/icon_font.png -------------------------------------------------------------------------------- /folioreader/res/res/drawable-xhdpi/icon_font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/res/drawable-xhdpi/icon_font.png -------------------------------------------------------------------------------- /folioreader/res/res/drawable-xxhdpi/icon_font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/res/drawable-xxhdpi/icon_font.png -------------------------------------------------------------------------------- /folioreader/res/res/drawable-xxxhdpi/icon_font.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/res/res/drawable-xxxhdpi/icon_font.png -------------------------------------------------------------------------------- /folioreader/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /folioreader/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /folioreader/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | #3F51B5 5 | #303F9F 6 | #FF4081 7 | 8 | #80000000 9 | #F1EFF2 10 | #000000 11 | #322D32 12 | #090609 13 | #71C951 14 | #bcbcbc 15 | 16 | #B6B6B6 17 | #ff0000 18 | #767676 19 | #848484 20 | #FFFFFF 21 | #F02814 22 | #a8a8a8 23 | #131313 24 | 25 | #AAAAAA 26 | 27 | #FFEB6B 28 | #C0ED72 29 | #ADD8FF 30 | #FFB0CA 31 | 32 | -------------------------------------------------------------------------------- /folioreader/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /folioreader/res/xml/searchable.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/andada/Andada-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/andada/Andada-Bold.otf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/andada/Andada-BoldItalic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/andada/Andada-BoldItalic.otf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/andada/Andada-Italic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/andada/Andada-Italic.otf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/andada/Andada-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/andada/Andada-Regular.otf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/lato/Lato-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/lato/Lato-Bold.ttf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/lato/Lato-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/lato/Lato-BoldItalic.ttf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/lato/Lato-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/lato/Lato-Italic.ttf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/lato/Lato-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/lato/Lato-Regular.ttf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/lora/Lora-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/lora/Lora-Bold.ttf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/lora/Lora-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/lora/Lora-BoldItalic.ttf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/lora/Lora-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/lora/Lora-Italic.ttf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/lora/Lora-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/lora/Lora-Regular.ttf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/raleway/Raleway-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/raleway/Raleway-Bold.ttf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/raleway/Raleway-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/raleway/Raleway-BoldItalic.ttf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/raleway/Raleway-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/raleway/Raleway-Italic.ttf -------------------------------------------------------------------------------- /folioreader/src/main/assets/fonts/raleway/Raleway-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmjang/ankihelper/ba5c087d4a02e53d97df369897689b615da514ef/folioreader/src/main/assets/fonts/raleway/Raleway-Regular.ttf -------------------------------------------------------------------------------- /folioreader/src/main/java/com/folioreader/Font.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Pedro Paulo de Amorim 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package com.folioreader; 17 | 18 | public class Font { 19 | 20 | String name; 21 | 22 | public Font(String name) { 23 | this.name = name; 24 | } 25 | 26 | public String getName() { 27 | return name; 28 | } 29 | 30 | public void setName(String name) { 31 | this.name = name; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /folioreader/src/main/java/com/folioreader/model/BookMeta.java: -------------------------------------------------------------------------------- 1 | package com.folioreader.model; 2 | 3 | public class BookMeta { 4 | private String title; 5 | private String author; 6 | 7 | public BookMeta(String title, String author) { 8 | this.title = title; 9 | this.author = author; 10 | } 11 | 12 | public String getTitle() { 13 | return title; 14 | } 15 | 16 | public void setTitle(String title) { 17 | this.title = title; 18 | } 19 | 20 | public String getAuthor() { 21 | return author; 22 | } 23 | 24 | public void setAuthor(String author) { 25 | this.author = author; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /folioreader/src/main/java/com/folioreader/model/ReadPosition.java: -------------------------------------------------------------------------------- 1 | package com.folioreader.model; 2 | 3 | import android.os.Parcelable; 4 | 5 | import com.folioreader.FolioReader; 6 | import com.folioreader.ui.folio.activity.FolioActivity; 7 | 8 | /** 9 | * Interface contract for last read position 10 | * 11 | * @author Hrishikesh Kadam on 20/04/2018. 12 | */ 13 | public interface ReadPosition extends Parcelable { 14 | 15 | /** 16 | * Returns the bookId if sent in {@link FolioReader}'s openBook() else logic defined in 17 | * {@link FolioActivity#onBookInitSuccess()} will return the bookId. 18 | */ 19 | String getBookId(); 20 | 21 | /** 22 | * Returns the href of the manifest item. 23 | */ 24 | String getChapterHref(); 25 | 26 | /** 27 | * Returns true if span tag has id 28 | */ 29 | boolean isUsingId(); 30 | 31 | /** 32 | * Returns the span id, if usingId true or else returns span index 33 | */ 34 | String getValue(); 35 | 36 | /** 37 | * Returns the json format of this object 38 | */ 39 | String toJson(); 40 | } 41 | -------------------------------------------------------------------------------- /folioreader/src/main/java/com/folioreader/model/dictionary/Audio.java: -------------------------------------------------------------------------------- 1 | package com.folioreader.model.dictionary; 2 | 3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 4 | import com.fasterxml.jackson.annotation.JsonProperty; 5 | 6 | /** 7 | * @author gautam chibde on 4/7/17. 8 | */ 9 | @JsonIgnoreProperties(ignoreUnknown = true) 10 | public class Audio { 11 | @JsonProperty 12 | private String lang; 13 | @JsonProperty 14 | private String type; 15 | @JsonProperty 16 | private String url; 17 | 18 | @Override 19 | public String toString() { 20 | return "Audio{" + 21 | "lang='" + lang + '\'' + 22 | ", type='" + type + '\'' + 23 | ", url='" + url + '\'' + 24 | '}'; 25 | } 26 | 27 | public String getLang() { 28 | return lang; 29 | } 30 | 31 | public void setLang(String lang) { 32 | this.lang = lang; 33 | } 34 | 35 | public String getType() { 36 | return type; 37 | } 38 | 39 | public void setType(String type) { 40 | this.type = type; 41 | } 42 | 43 | public String getUrl() { 44 | return url; 45 | } 46 | 47 | public void setUrl(String url) { 48 | this.url = url; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /folioreader/src/main/java/com/folioreader/model/dictionary/Example.java: -------------------------------------------------------------------------------- 1 | package com.folioreader.model.dictionary; 2 | 3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 4 | import com.fasterxml.jackson.annotation.JsonProperty; 5 | 6 | /** 7 | * @author gautam chibde on 4/7/17. 8 | */ 9 | @JsonIgnoreProperties(ignoreUnknown = true) 10 | public class Example { 11 | @JsonProperty 12 | private String text; 13 | 14 | @Override 15 | public String toString() { 16 | return "Example{" + 17 | "text='" + text + '\'' + 18 | '}'; 19 | } 20 | 21 | public String getText() { 22 | return text; 23 | } 24 | 25 | public void setText(String text) { 26 | this.text = text; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /folioreader/src/main/java/com/folioreader/model/dictionary/Pronunciations.java: -------------------------------------------------------------------------------- 1 | package com.folioreader.model.dictionary; 2 | 3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; 4 | import com.fasterxml.jackson.annotation.JsonProperty; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @author gautam chibde on 4/7/17. 10 | */ 11 | @JsonIgnoreProperties(ignoreUnknown = true) 12 | public class Pronunciations { 13 | 14 | @JsonProperty 15 | private List