├── .editorconfig ├── .github └── FUNDING.yml ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro ├── schemas │ └── com.simplemobiletools.notes.pro.databases.NotesDatabase │ │ └── 4.json └── src │ ├── debug │ └── res │ │ └── values │ │ └── strings.xml │ ├── fdroid │ └── res │ │ └── values │ │ └── bools.xml │ ├── main │ ├── AndroidManifest.xml │ ├── kotlin │ │ └── com │ │ │ └── simplemobiletools │ │ │ └── notes │ │ │ └── pro │ │ │ ├── App.kt │ │ │ ├── activities │ │ │ ├── MainActivity.kt │ │ │ ├── SettingsActivity.kt │ │ │ ├── SimpleActivity.kt │ │ │ ├── SplashActivity.kt │ │ │ └── WidgetConfigureActivity.kt │ │ │ ├── adapters │ │ │ ├── ChecklistAdapter.kt │ │ │ ├── NotesPagerAdapter.kt │ │ │ ├── OpenNoteAdapter.kt │ │ │ └── WidgetAdapter.kt │ │ │ ├── databases │ │ │ └── NotesDatabase.kt │ │ │ ├── dialogs │ │ │ ├── DateTimePatternInfoDialog.kt │ │ │ ├── DeleteNoteDialog.kt │ │ │ ├── ExportFileDialog.kt │ │ │ ├── ExportFilesDialog.kt │ │ │ ├── ExportNotesDialog.kt │ │ │ ├── ImportFolderDialog.kt │ │ │ ├── ManageAutoBackupsDialog.kt │ │ │ ├── NewChecklistItemDialog.kt │ │ │ ├── NewNoteDialog.kt │ │ │ ├── OpenFileDialog.kt │ │ │ ├── OpenNoteDialog.kt │ │ │ ├── RenameChecklistItemDialog.kt │ │ │ ├── RenameNoteDialog.kt │ │ │ ├── SortChecklistDialog.kt │ │ │ └── UnlockNotesDialog.kt │ │ │ ├── extensions │ │ │ ├── Context.kt │ │ │ ├── Fragment.kt │ │ │ └── String.kt │ │ │ ├── fragments │ │ │ ├── ChecklistFragment.kt │ │ │ ├── NoteFragment.kt │ │ │ └── TextFragment.kt │ │ │ ├── helpers │ │ │ ├── CollatorBasedComparator.kt │ │ │ ├── Config.kt │ │ │ ├── Constants.kt │ │ │ ├── MyMovementMethod.kt │ │ │ ├── MyWidgetProvider.kt │ │ │ └── NotesHelper.kt │ │ │ ├── interfaces │ │ │ ├── ChecklistItemsListener.kt │ │ │ ├── NotesDao.kt │ │ │ └── WidgetsDao.kt │ │ │ ├── models │ │ │ ├── ChecklistItem.kt │ │ │ ├── Note.kt │ │ │ ├── NoteType.kt │ │ │ ├── NoteTypeConverter.kt │ │ │ ├── TextHistory.kt │ │ │ ├── TextHistoryItem.kt │ │ │ └── Widget.kt │ │ │ ├── receivers │ │ │ ├── AutomaticBackupReceiver.kt │ │ │ └── BootCompletedReceiver.kt │ │ │ ├── services │ │ │ └── WidgetService.kt │ │ │ └── views │ │ │ └── MyHorizontalScrollView.kt │ └── res │ │ ├── drawable-nodpi │ │ └── img_widget_preview.png │ │ ├── drawable │ │ ├── ic_launcher_monochrome.xml │ │ ├── ic_lock_open_vector.xml │ │ ├── ic_shortcut_icon.xml │ │ ├── shortcut_check.xml │ │ └── shortcut_note.xml │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── activity_settings.xml │ │ ├── datetime_pattern_info_layout.xml │ │ ├── dialog_delete_note.xml │ │ ├── dialog_export_file.xml │ │ ├── dialog_export_files.xml │ │ ├── dialog_export_notes.xml │ │ ├── dialog_import_folder.xml │ │ ├── dialog_manage_automatic_backups.xml │ │ ├── dialog_new_checklist_item.xml │ │ ├── dialog_new_note.xml │ │ ├── dialog_open_file.xml │ │ ├── dialog_open_note.xml │ │ ├── dialog_rename_checklist_item.xml │ │ ├── dialog_rename_note.xml │ │ ├── dialog_sort_checklist.xml │ │ ├── dialog_unlock_notes.xml │ │ ├── fragment_checklist.xml │ │ ├── fragment_text.xml │ │ ├── item_add_checklist.xml │ │ ├── item_checklist.xml │ │ ├── item_checklist_widget.xml │ │ ├── item_locked_note.xml │ │ ├── note_view_horiz_scrollable.xml │ │ ├── note_view_static.xml │ │ ├── open_note_item.xml │ │ ├── widget.xml │ │ ├── widget_config.xml │ │ └── widget_text_layout.xml │ │ ├── menu │ │ ├── cab_checklist.xml │ │ └── menu.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ ├── ic_launcher_amber.xml │ │ ├── ic_launcher_blue.xml │ │ ├── ic_launcher_blue_grey.xml │ │ ├── ic_launcher_brown.xml │ │ ├── ic_launcher_cyan.xml │ │ ├── ic_launcher_deep_orange.xml │ │ ├── ic_launcher_deep_purple.xml │ │ ├── ic_launcher_green.xml │ │ ├── ic_launcher_grey_black.xml │ │ ├── ic_launcher_indigo.xml │ │ ├── ic_launcher_light_blue.xml │ │ ├── ic_launcher_light_green.xml │ │ ├── ic_launcher_lime.xml │ │ ├── ic_launcher_pink.xml │ │ ├── ic_launcher_purple.xml │ │ ├── ic_launcher_red.xml │ │ ├── ic_launcher_teal.xml │ │ └── ic_launcher_yellow.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_amber.png │ │ ├── ic_launcher_blue.png │ │ ├── ic_launcher_blue_grey.png │ │ ├── ic_launcher_brown.png │ │ ├── ic_launcher_cyan.png │ │ ├── ic_launcher_deep_orange.png │ │ ├── ic_launcher_deep_purple.png │ │ ├── ic_launcher_foreground.png │ │ ├── ic_launcher_green.png │ │ ├── ic_launcher_grey_black.png │ │ ├── ic_launcher_indigo.png │ │ ├── ic_launcher_light_blue.png │ │ ├── ic_launcher_light_green.png │ │ ├── ic_launcher_lime.png │ │ ├── ic_launcher_pink.png │ │ ├── ic_launcher_purple.png │ │ ├── ic_launcher_red.png │ │ ├── ic_launcher_teal.png │ │ └── ic_launcher_yellow.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_amber.png │ │ ├── ic_launcher_blue.png │ │ ├── ic_launcher_blue_grey.png │ │ ├── ic_launcher_brown.png │ │ ├── ic_launcher_cyan.png │ │ ├── ic_launcher_deep_orange.png │ │ ├── ic_launcher_deep_purple.png │ │ ├── ic_launcher_foreground.png │ │ ├── ic_launcher_green.png │ │ ├── ic_launcher_grey_black.png │ │ ├── ic_launcher_indigo.png │ │ ├── ic_launcher_light_blue.png │ │ ├── ic_launcher_light_green.png │ │ ├── ic_launcher_lime.png │ │ ├── ic_launcher_pink.png │ │ ├── ic_launcher_purple.png │ │ ├── ic_launcher_red.png │ │ ├── ic_launcher_teal.png │ │ └── ic_launcher_yellow.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_amber.png │ │ ├── ic_launcher_blue.png │ │ ├── ic_launcher_blue_grey.png │ │ ├── ic_launcher_brown.png │ │ ├── ic_launcher_cyan.png │ │ ├── ic_launcher_deep_orange.png │ │ ├── ic_launcher_deep_purple.png │ │ ├── ic_launcher_foreground.png │ │ ├── ic_launcher_green.png │ │ ├── ic_launcher_grey_black.png │ │ ├── ic_launcher_indigo.png │ │ ├── ic_launcher_light_blue.png │ │ ├── ic_launcher_light_green.png │ │ ├── ic_launcher_lime.png │ │ ├── ic_launcher_pink.png │ │ ├── ic_launcher_purple.png │ │ ├── ic_launcher_red.png │ │ ├── ic_launcher_teal.png │ │ └── ic_launcher_yellow.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_amber.png │ │ ├── ic_launcher_blue.png │ │ ├── ic_launcher_blue_grey.png │ │ ├── ic_launcher_brown.png │ │ ├── ic_launcher_cyan.png │ │ ├── ic_launcher_deep_orange.png │ │ ├── ic_launcher_deep_purple.png │ │ ├── ic_launcher_foreground.png │ │ ├── ic_launcher_green.png │ │ ├── ic_launcher_grey_black.png │ │ ├── ic_launcher_indigo.png │ │ ├── ic_launcher_light_blue.png │ │ ├── ic_launcher_light_green.png │ │ ├── ic_launcher_lime.png │ │ ├── ic_launcher_pink.png │ │ ├── ic_launcher_purple.png │ │ ├── ic_launcher_red.png │ │ ├── ic_launcher_teal.png │ │ └── ic_launcher_yellow.png │ │ ├── values-ar │ │ └── strings.xml │ │ ├── values-az │ │ └── strings.xml │ │ ├── values-be │ │ └── strings.xml │ │ ├── values-bg │ │ └── strings.xml │ │ ├── values-ca │ │ └── strings.xml │ │ ├── values-cs │ │ └── strings.xml │ │ ├── values-cy │ │ └── strings.xml │ │ ├── values-da │ │ └── strings.xml │ │ ├── values-de │ │ └── strings.xml │ │ ├── values-el │ │ └── strings.xml │ │ ├── values-eo │ │ └── strings.xml │ │ ├── values-es │ │ └── strings.xml │ │ ├── values-et │ │ └── strings.xml │ │ ├── values-fa │ │ └── strings.xml │ │ ├── values-fi │ │ └── strings.xml │ │ ├── values-fr │ │ └── strings.xml │ │ ├── values-gl │ │ └── strings.xml │ │ ├── values-hr │ │ └── strings.xml │ │ ├── values-hu │ │ └── strings.xml │ │ ├── values-in │ │ └── strings.xml │ │ ├── values-it │ │ └── strings.xml │ │ ├── values-iw │ │ └── strings.xml │ │ ├── values-ja │ │ └── strings.xml │ │ ├── values-lt │ │ └── strings.xml │ │ ├── values-ms │ │ └── strings.xml │ │ ├── values-my │ │ └── strings.xml │ │ ├── values-nb-rNO │ │ └── strings.xml │ │ ├── values-nl │ │ └── strings.xml │ │ ├── values-pa-rPK │ │ └── strings.xml │ │ ├── values-pl │ │ └── strings.xml │ │ ├── values-pt-rBR │ │ └── strings.xml │ │ ├── values-pt │ │ └── strings.xml │ │ ├── values-ro │ │ └── strings.xml │ │ ├── values-ru │ │ └── strings.xml │ │ ├── values-sat │ │ └── strings.xml │ │ ├── values-sk │ │ └── strings.xml │ │ ├── values-sl │ │ └── strings.xml │ │ ├── values-sr │ │ └── strings.xml │ │ ├── values-sv │ │ └── strings.xml │ │ ├── values-th │ │ └── strings.xml │ │ ├── values-tr │ │ └── strings.xml │ │ ├── values-uk │ │ └── strings.xml │ │ ├── values-vi │ │ └── strings.xml │ │ ├── values-zh-rCN │ │ └── strings.xml │ │ ├── values-zh-rTW │ │ └── strings.xml │ │ ├── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── donottranslate.xml │ │ ├── integers.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ └── widget_info.xml │ └── prepaid │ └── res │ └── values │ └── bools.xml ├── build.gradle.kts ├── fastlane ├── Appfile ├── Fastfile └── metadata │ └── android │ ├── ar │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── bg │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── ca │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── cs-CZ │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── da-DK │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── de-DE │ ├── full_description.txt │ ├── images │ │ ├── phoneScreenshots │ │ │ ├── 1_de-DE.jpeg │ │ │ ├── 2_de-DE.jpeg │ │ │ ├── 3_de-DE.jpeg │ │ │ └── 4_de-DE.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_de-DE.jpeg │ │ │ └── 2_de-DE.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_de-DE.jpeg │ │ │ └── 2_de-DE.jpeg │ ├── short_description.txt │ └── title.txt │ ├── el-GR │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── en-GB │ ├── full_description.txt │ ├── images │ │ ├── featureGraphic.jpeg │ │ ├── icon.png │ │ ├── phoneScreenshots │ │ │ ├── 1_en-GB.jpeg │ │ │ ├── 2_en-GB.jpeg │ │ │ ├── 3_en-GB.jpeg │ │ │ └── 4_en-GB.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_en-GB.jpeg │ │ │ └── 2_en-GB.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_en-GB.jpeg │ │ │ └── 2_en-GB.jpeg │ ├── short_description.txt │ └── title.txt │ ├── en-US │ ├── changelogs │ │ ├── 100.txt │ │ ├── 101.txt │ │ ├── 102.txt │ │ ├── 103.txt │ │ ├── 104.txt │ │ ├── 105.txt │ │ ├── 107.txt │ │ ├── 108.txt │ │ ├── 109.txt │ │ ├── 110.txt │ │ ├── 111.txt │ │ ├── 112.txt │ │ ├── 113.txt │ │ ├── 114.txt │ │ └── 99.txt │ ├── full_description.txt │ ├── images │ │ ├── featureGraphic.jpeg │ │ ├── icon.png │ │ ├── phoneScreenshots │ │ │ ├── 1_en-US.jpeg │ │ │ ├── 2_en-US.jpeg │ │ │ ├── 3_en-US.jpeg │ │ │ └── 4_en-US.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_en-US.jpeg │ │ │ └── 2_en-US.jpeg │ │ ├── tenInchScreenshots │ │ │ ├── 1_en-US.jpeg │ │ │ └── 2_en-US.jpeg │ │ └── tvBanner.png │ ├── short_description.txt │ └── title.txt │ ├── es-ES │ ├── full_description.txt │ ├── images │ │ ├── phoneScreenshots │ │ │ ├── 1_es-ES.jpeg │ │ │ ├── 2_es-ES.jpeg │ │ │ ├── 3_es-ES.jpeg │ │ │ └── 4_es-ES.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_es-ES.jpeg │ │ │ └── 2_es-ES.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_es-ES.jpeg │ │ │ └── 2_es-ES.jpeg │ ├── short_description.txt │ └── title.txt │ ├── et │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── fi-FI │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── fr-FR │ ├── full_description.txt │ ├── images │ │ ├── phoneScreenshots │ │ │ ├── 1_fr-FR.jpeg │ │ │ ├── 2_fr-FR.jpeg │ │ │ ├── 3_fr-FR.jpeg │ │ │ └── 4_fr-FR.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_fr-FR.jpeg │ │ │ └── 2_fr-FR.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_fr-FR.jpeg │ │ │ └── 2_fr-FR.jpeg │ ├── short_description.txt │ └── title.txt │ ├── gl-ES │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── hi-IN │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── hr │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── hu-HU │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── id │ ├── full_description.txt │ ├── images │ │ ├── phoneScreenshots │ │ │ ├── 1_id.jpeg │ │ │ ├── 2_id.jpeg │ │ │ ├── 3_id.jpeg │ │ │ └── 4_id.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_id.jpeg │ │ │ └── 2_id.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_id.jpeg │ │ │ └── 2_id.jpeg │ ├── short_description.txt │ └── title.txt │ ├── it-IT │ ├── full_description.txt │ ├── images │ │ ├── phoneScreenshots │ │ │ ├── 1_it-IT.jpeg │ │ │ ├── 2_it-IT.jpeg │ │ │ ├── 3_it-IT.jpeg │ │ │ └── 4_it-IT.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_it-IT.jpeg │ │ │ └── 2_it-IT.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_it-IT.jpeg │ │ │ └── 2_it-IT.jpeg │ ├── short_description.txt │ └── title.txt │ ├── iw-IL │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── ja-JP │ ├── full_description.txt │ ├── images │ │ ├── phoneScreenshots │ │ │ ├── 1_ja-JP.jpeg │ │ │ ├── 2_ja-JP.jpeg │ │ │ ├── 3_ja-JP.jpeg │ │ │ └── 4_ja-JP.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_ja-JP.jpeg │ │ │ └── 2_ja-JP.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_ja-JP.jpeg │ │ │ └── 2_ja-JP.jpeg │ ├── short_description.txt │ └── title.txt │ ├── ko-KR │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── lt │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── nl-NL │ ├── full_description.txt │ ├── images │ │ ├── phoneScreenshots │ │ │ ├── 1_nl-NL.jpeg │ │ │ ├── 2_nl-NL.jpeg │ │ │ ├── 3_nl-NL.jpeg │ │ │ └── 4_nl-NL.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_nl-NL.jpeg │ │ │ └── 2_nl-NL.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_nl-NL.jpeg │ │ │ └── 2_nl-NL.jpeg │ ├── short_description.txt │ └── title.txt │ ├── pl-PL │ ├── full_description.txt │ ├── images │ │ ├── phoneScreenshots │ │ │ ├── 1_pl-PL.jpeg │ │ │ ├── 2_pl-PL.jpeg │ │ │ ├── 3_pl-PL.jpeg │ │ │ └── 4_pl-PL.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_pl-PL.jpeg │ │ │ └── 2_pl-PL.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_pl-PL.jpeg │ │ │ └── 2_pl-PL.jpeg │ ├── short_description.txt │ └── title.txt │ ├── pt-BR │ └── title.txt │ ├── pt-PT │ ├── full_description.txt │ ├── images │ │ ├── phoneScreenshots │ │ │ ├── 1_pt-PT.jpeg │ │ │ ├── 2_pt-PT.jpeg │ │ │ ├── 3_pt-PT.jpeg │ │ │ └── 4_pt-PT.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_pt-PT.jpeg │ │ │ └── 2_pt-PT.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_pt-PT.jpeg │ │ │ └── 2_pt-PT.jpeg │ ├── short_description.txt │ └── title.txt │ ├── ro │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── ru-RU │ ├── full_description.txt │ ├── images │ │ ├── phoneScreenshots │ │ │ ├── 1_ru-RU.jpeg │ │ │ ├── 2_ru-RU.jpeg │ │ │ ├── 3_ru-RU.jpeg │ │ │ └── 4_ru-RU.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_ru-RU.jpeg │ │ │ └── 2_ru-RU.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_ru-RU.jpeg │ │ │ └── 2_ru-RU.jpeg │ ├── short_description.txt │ └── title.txt │ ├── sk │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── sl │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── sr │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── sv-SE │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── tr-TR │ ├── full_description.txt │ ├── images │ │ ├── phoneScreenshots │ │ │ ├── 1_tr-TR.jpeg │ │ │ ├── 2_tr-TR.jpeg │ │ │ ├── 3_tr-TR.jpeg │ │ │ └── 4_tr-TR.jpeg │ │ ├── sevenInchScreenshots │ │ │ ├── 1_tr-TR.jpeg │ │ │ └── 2_tr-TR.jpeg │ │ └── tenInchScreenshots │ │ │ ├── 1_tr-TR.jpeg │ │ │ └── 2_tr-TR.jpeg │ ├── short_description.txt │ └── title.txt │ ├── uk │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ ├── zh-CN │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt │ └── zh-TW │ ├── full_description.txt │ ├── short_description.txt │ └── title.txt ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── graphics ├── app_icon.png ├── featureGraphic.jpg ├── featureGraphic.xcf ├── icon.png ├── promo_graphic.png ├── square.png ├── square.xcf └── tv_banner.png ├── keystore.properties_sample └── settings.gradle.kts /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig 2 | # http://EditorConfig.org 3 | 4 | # top-most EditorConfig file 5 | root = true 6 | 7 | # LF end-of-line, insert an empty new line and UTF-8 8 | [*] 9 | end_of_line = lf 10 | insert_final_newline = true 11 | charset = utf-8 12 | indent_style = space 13 | indent_size = 4 14 | continuation_indent_size = 4 15 | max_line_length = 160 16 | 17 | [*.xml] 18 | continuation_indent_size = 4 19 | 20 | [*.kt] 21 | ij_kotlin_name_count_to_use_star_import = 5 22 | ij_kotlin_name_count_to_use_star_import_for_members = 5 23 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [tibbi] 2 | patreon: tiborkaputa 3 | custom: ["https://www.paypal.me/simplemobiletools"] 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | *.aab 3 | .gradle 4 | /local.properties 5 | /.idea/ 6 | .DS_Store 7 | /build 8 | /captures 9 | keystore.jks 10 | keystore.properties 11 | fastlane/fastlane.json 12 | Gemfile 13 | Gemfile.lock 14 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ### Reporting 2 | Before you report something, read the reporting rules [here](https://github.com/SimpleMobileTools/General-Discussion#how-do-i-suggest-an-improvement-ask-a-question-or-report-an-issue) please. 3 | 4 | ### Contributing as a developer 5 | Some instructions about code style and everything that has to be done to increase the change of your code getting accepted can be found at the [General Discussion](https://github.com/SimpleMobileTools/General-Discussion#contribution-rules-for-developers) section. 6 | 7 | ### Contributing as a non developer 8 | In case you just want to for example improve a translation, you can find the way of doing it [here](https://github.com/SimpleMobileTools/General-Discussion#how-can-i-suggest-an-edit-to-a-file). 9 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.simplemobiletools.notes.pro.models.* { 2 | ; 3 | } 4 | 5 | # Keep `Companion` object fields of serializable classes. 6 | # This avoids serializer lookup through `getDeclaredClasses` as done for named companion objects. 7 | -if @kotlinx.serialization.Serializable class ** 8 | -keepclassmembers class <1> { 9 | static <1>$Companion Companion; 10 | } 11 | 12 | # Keep `serializer()` on companion objects (both default and named) of serializable classes. 13 | -if @kotlinx.serialization.Serializable class ** { 14 | static **$* *; 15 | } 16 | -keepclassmembers class <2>$<3> { 17 | kotlinx.serialization.KSerializer serializer(...); 18 | } 19 | 20 | # Keep `INSTANCE.serializer()` of serializable objects. 21 | -if @kotlinx.serialization.Serializable class ** { 22 | public static ** INSTANCE; 23 | } 24 | -keepclassmembers class <1> { 25 | public static <1> INSTANCE; 26 | kotlinx.serialization.KSerializer serializer(...); 27 | } 28 | 29 | # Needed for using TypeToken with Gson 30 | # Taken from: https://r8.googlesource.com/r8/+/refs/heads/main/compatibility-faq.md#troubleshooting-gson-gson 31 | -keepattributes Signature 32 | -keep class com.google.gson.reflect.TypeToken { *; } 33 | -keep class * extends com.google.gson.reflect.TypeToken 34 | -------------------------------------------------------------------------------- /app/src/debug/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Notes_debug 4 | -------------------------------------------------------------------------------- /app/src/fdroid/res/values/bools.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | true 4 | true 5 | true 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/App.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro 2 | 3 | import android.app.Application 4 | import com.simplemobiletools.commons.extensions.checkUseEnglish 5 | 6 | class App : Application() { 7 | override fun onCreate() { 8 | super.onCreate() 9 | checkUseEnglish() 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SimpleActivity.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.activities 2 | 3 | import com.simplemobiletools.commons.activities.BaseSimpleActivity 4 | import com.simplemobiletools.notes.pro.R 5 | 6 | open class SimpleActivity : BaseSimpleActivity() { 7 | override fun getAppIconIDs() = arrayListOf( 8 | R.mipmap.ic_launcher_red, 9 | R.mipmap.ic_launcher_pink, 10 | R.mipmap.ic_launcher_purple, 11 | R.mipmap.ic_launcher_deep_purple, 12 | R.mipmap.ic_launcher_indigo, 13 | R.mipmap.ic_launcher_blue, 14 | R.mipmap.ic_launcher_light_blue, 15 | R.mipmap.ic_launcher_cyan, 16 | R.mipmap.ic_launcher_teal, 17 | R.mipmap.ic_launcher_green, 18 | R.mipmap.ic_launcher_light_green, 19 | R.mipmap.ic_launcher_lime, 20 | R.mipmap.ic_launcher_yellow, 21 | R.mipmap.ic_launcher_amber, 22 | R.mipmap.ic_launcher, 23 | R.mipmap.ic_launcher_deep_orange, 24 | R.mipmap.ic_launcher_brown, 25 | R.mipmap.ic_launcher_blue_grey, 26 | R.mipmap.ic_launcher_grey_black 27 | ) 28 | 29 | override fun getAppLauncherName() = getString(R.string.app_launcher_name) 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SplashActivity.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.activities 2 | 3 | import android.content.Intent 4 | import com.simplemobiletools.commons.activities.BaseSplashActivity 5 | import com.simplemobiletools.notes.pro.helpers.OPEN_NOTE_ID 6 | 7 | class SplashActivity : BaseSplashActivity() { 8 | override fun initActivity() { 9 | if (intent.extras?.containsKey(OPEN_NOTE_ID) == true) { 10 | Intent(this, MainActivity::class.java).apply { 11 | putExtra(OPEN_NOTE_ID, intent.getLongExtra(OPEN_NOTE_ID, -1L)) 12 | startActivity(this) 13 | } 14 | } else { 15 | startActivity(Intent(this, MainActivity::class.java)) 16 | } 17 | finish() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/DateTimePatternInfoDialog.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.dialogs 2 | 3 | import com.simplemobiletools.commons.activities.BaseSimpleActivity 4 | import com.simplemobiletools.commons.extensions.getAlertDialogBuilder 5 | import com.simplemobiletools.commons.extensions.setupDialogStuff 6 | import com.simplemobiletools.notes.pro.R 7 | 8 | class DateTimePatternInfoDialog(activity: BaseSimpleActivity) { 9 | 10 | init { 11 | val view = activity.layoutInflater.inflate(R.layout.datetime_pattern_info_layout, null) 12 | activity.getAlertDialogBuilder() 13 | .setPositiveButton(com.simplemobiletools.commons.R.string.ok) { _, _ -> { } } 14 | .apply { 15 | activity.setupDialogStuff(view, this) 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/DeleteNoteDialog.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.dialogs 2 | 3 | import androidx.appcompat.app.AlertDialog 4 | import com.simplemobiletools.commons.extensions.beVisible 5 | import com.simplemobiletools.commons.extensions.getAlertDialogBuilder 6 | import com.simplemobiletools.commons.extensions.setupDialogStuff 7 | import com.simplemobiletools.notes.pro.R 8 | import com.simplemobiletools.notes.pro.activities.SimpleActivity 9 | import com.simplemobiletools.notes.pro.databinding.DialogDeleteNoteBinding 10 | import com.simplemobiletools.notes.pro.models.Note 11 | 12 | class DeleteNoteDialog(val activity: SimpleActivity, val note: Note, val callback: (deleteFile: Boolean) -> Unit) { 13 | var dialog: AlertDialog? = null 14 | 15 | init { 16 | val message = String.format(activity.getString(R.string.delete_note_prompt_message), note.title) 17 | val binding = DialogDeleteNoteBinding.inflate(activity.layoutInflater).apply{ 18 | if (note.path.isNotEmpty()) { 19 | deleteNoteCheckbox.text = String.format(activity.getString(R.string.delete_file_itself), note.path) 20 | deleteNoteCheckboxHolder.beVisible() 21 | deleteNoteCheckboxHolder.setOnClickListener { 22 | deleteNoteCheckbox.toggle() 23 | } 24 | } 25 | deleteNoteDescription.text = message 26 | } 27 | 28 | activity.getAlertDialogBuilder() 29 | .setPositiveButton(com.simplemobiletools.commons.R.string.delete) { dialog, which -> dialogConfirmed(binding.deleteNoteCheckbox.isChecked) } 30 | .setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) 31 | .apply { 32 | activity.setupDialogStuff(binding.root, this) 33 | } 34 | } 35 | 36 | private fun dialogConfirmed(deleteFile: Boolean) { 37 | callback(deleteFile && note.path.isNotEmpty()) 38 | dialog?.dismiss() 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/ExportFilesDialog.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.dialogs 2 | 3 | import androidx.appcompat.app.AlertDialog 4 | import com.simplemobiletools.commons.dialogs.FilePickerDialog 5 | import com.simplemobiletools.commons.extensions.* 6 | import com.simplemobiletools.notes.pro.R 7 | import com.simplemobiletools.notes.pro.activities.SimpleActivity 8 | import com.simplemobiletools.notes.pro.databinding.DialogExportFilesBinding 9 | import com.simplemobiletools.notes.pro.extensions.config 10 | import com.simplemobiletools.notes.pro.models.Note 11 | 12 | class ExportFilesDialog(val activity: SimpleActivity, val notes: ArrayList, val callback: (parent: String, extension: String) -> Unit) { 13 | init { 14 | var realPath = activity.config.lastUsedSavePath 15 | val binding = DialogExportFilesBinding.inflate(activity.layoutInflater).apply { 16 | folderPath.setText(activity.humanizePath(realPath)) 17 | 18 | extension.setText(activity.config.lastUsedExtension) 19 | folderPath.setOnClickListener { 20 | FilePickerDialog(activity, realPath, false, false, true, true) { 21 | folderPath.setText(activity.humanizePath(it)) 22 | realPath = it 23 | } 24 | } 25 | } 26 | 27 | activity.getAlertDialogBuilder() 28 | .setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) 29 | .setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) 30 | .apply { 31 | activity.setupDialogStuff(binding.root, this, R.string.export_as_file) { alertDialog -> 32 | alertDialog.showKeyboard(binding.extension) 33 | alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { 34 | activity.handleSAFDialog(realPath) { 35 | val extension = binding.extension.value 36 | activity.config.lastUsedExtension = extension 37 | activity.config.lastUsedSavePath = realPath 38 | callback(realPath, extension) 39 | alertDialog.dismiss() 40 | } 41 | } 42 | } 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/ExportNotesDialog.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.dialogs 2 | 3 | import androidx.appcompat.app.AlertDialog 4 | import com.simplemobiletools.commons.extensions.* 5 | import com.simplemobiletools.notes.pro.R 6 | import com.simplemobiletools.notes.pro.activities.SimpleActivity 7 | import com.simplemobiletools.notes.pro.databinding.DialogExportNotesBinding 8 | 9 | class ExportNotesDialog(val activity: SimpleActivity, callback: (filename: String) -> Unit) { 10 | 11 | init { 12 | val binding = DialogExportNotesBinding.inflate(activity.layoutInflater).apply { 13 | exportNotesFilename.setText( 14 | buildString { 15 | append(root.context.getString(com.simplemobiletools.commons.R.string.notes)) 16 | append("_") 17 | append(root.context.getCurrentFormattedDateTime()) 18 | } 19 | ) 20 | } 21 | 22 | activity.getAlertDialogBuilder().setPositiveButton(com.simplemobiletools.commons.R.string.ok, null).setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null).apply { 23 | activity.setupDialogStuff(binding.root, this, R.string.export_notes) { alertDialog -> 24 | alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { 25 | 26 | val filename = binding.exportNotesFilename.value 27 | when { 28 | filename.isEmpty() -> activity.toast(com.simplemobiletools.commons.R.string.empty_name) 29 | filename.isAValidFilename() -> { 30 | callback(filename) 31 | alertDialog.dismiss() 32 | } 33 | 34 | else -> activity.toast(com.simplemobiletools.commons.R.string.invalid_name) 35 | } 36 | } 37 | } 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/OpenFileDialog.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.dialogs 2 | 3 | import androidx.appcompat.app.AlertDialog 4 | import com.simplemobiletools.commons.extensions.getAlertDialogBuilder 5 | import com.simplemobiletools.commons.extensions.getFilenameFromPath 6 | import com.simplemobiletools.commons.extensions.humanizePath 7 | import com.simplemobiletools.commons.extensions.setupDialogStuff 8 | import com.simplemobiletools.commons.helpers.PROTECTION_NONE 9 | import com.simplemobiletools.notes.pro.R 10 | import com.simplemobiletools.notes.pro.activities.SimpleActivity 11 | import com.simplemobiletools.notes.pro.databinding.DialogOpenFileBinding 12 | import com.simplemobiletools.notes.pro.models.Note 13 | import com.simplemobiletools.notes.pro.models.NoteType 14 | import java.io.File 15 | 16 | class OpenFileDialog(val activity: SimpleActivity, val path: String, val callback: (note: Note) -> Unit) : AlertDialog.Builder(activity) { 17 | private var dialog: AlertDialog? = null 18 | 19 | init { 20 | val binding = DialogOpenFileBinding.inflate(activity.layoutInflater).apply { 21 | openFileFilename.setText(activity.humanizePath(path)) 22 | } 23 | 24 | activity.getAlertDialogBuilder() 25 | .setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) 26 | .setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) 27 | .apply { 28 | activity.setupDialogStuff(binding.root, this, R.string.open_file) { alertDialog -> 29 | dialog = alertDialog 30 | alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener { 31 | val updateFileOnEdit = binding.openFileType.checkedRadioButtonId == binding.openFileUpdateFile.id 32 | val storePath = if (updateFileOnEdit) path else "" 33 | val storeContent = if (updateFileOnEdit) "" else File(path).readText() 34 | 35 | if (updateFileOnEdit) { 36 | activity.handleSAFDialog(path) { 37 | saveNote(storeContent, storePath) 38 | } 39 | } else { 40 | saveNote(storeContent, storePath) 41 | } 42 | } 43 | } 44 | } 45 | } 46 | 47 | private fun saveNote(storeContent: String, storePath: String) { 48 | val filename = path.getFilenameFromPath() 49 | val note = Note(null, filename, storeContent, NoteType.TYPE_TEXT, storePath, PROTECTION_NONE, "") 50 | callback(note) 51 | dialog?.dismiss() 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/OpenNoteDialog.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.dialogs 2 | 3 | import androidx.appcompat.app.AlertDialog 4 | import androidx.recyclerview.widget.StaggeredGridLayoutManager 5 | import com.simplemobiletools.commons.activities.BaseSimpleActivity 6 | import com.simplemobiletools.commons.extensions.getAlertDialogBuilder 7 | import com.simplemobiletools.commons.extensions.setupDialogStuff 8 | import com.simplemobiletools.commons.views.AutoStaggeredGridLayoutManager 9 | import com.simplemobiletools.notes.pro.R 10 | import com.simplemobiletools.notes.pro.adapters.OpenNoteAdapter 11 | import com.simplemobiletools.notes.pro.databinding.DialogOpenNoteBinding 12 | import com.simplemobiletools.notes.pro.helpers.NotesHelper 13 | import com.simplemobiletools.notes.pro.models.Note 14 | 15 | class OpenNoteDialog(val activity: BaseSimpleActivity, val callback: (checkedId: Long, newNote: Note?) -> Unit) { 16 | private var dialog: AlertDialog? = null 17 | 18 | init { 19 | val binding = DialogOpenNoteBinding.inflate(activity.layoutInflater) 20 | 21 | val noteItemWidth = activity.resources.getDimensionPixelSize(R.dimen.grid_note_item_width) 22 | binding.dialogOpenNoteList.layoutManager = AutoStaggeredGridLayoutManager(noteItemWidth, StaggeredGridLayoutManager.VERTICAL) 23 | 24 | NotesHelper(activity).getNotes { 25 | initDialog(it, binding) 26 | } 27 | } 28 | 29 | private fun initDialog(notes: List, binding: DialogOpenNoteBinding) { 30 | binding.dialogOpenNoteList.adapter = OpenNoteAdapter(activity, notes, binding.dialogOpenNoteList) { 31 | it as Note 32 | callback(it.id!!, null) 33 | dialog?.dismiss() 34 | } 35 | 36 | binding.newNoteFab.setOnClickListener { 37 | NewNoteDialog(activity, setChecklistAsDefault = false) { 38 | callback(0, it) 39 | dialog?.dismiss() 40 | } 41 | } 42 | 43 | activity.getAlertDialogBuilder() 44 | .setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) 45 | .apply { 46 | activity.setupDialogStuff(binding.root, this, R.string.open_note) { alertDialog -> 47 | dialog = alertDialog 48 | } 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/RenameChecklistItemDialog.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.dialogs 2 | 3 | import android.app.Activity 4 | import android.content.DialogInterface.BUTTON_POSITIVE 5 | import com.simplemobiletools.commons.extensions.* 6 | import com.simplemobiletools.notes.pro.databinding.DialogRenameChecklistItemBinding 7 | 8 | class RenameChecklistItemDialog(val activity: Activity, val oldTitle: String, callback: (newTitle: String) -> Unit) { 9 | init { 10 | val binding = DialogRenameChecklistItemBinding.inflate(activity.layoutInflater).apply { 11 | checklistItemTitle.setText(oldTitle) 12 | } 13 | 14 | activity.getAlertDialogBuilder() 15 | .setPositiveButton(com.simplemobiletools.commons.R.string.ok, null) 16 | .setNegativeButton(com.simplemobiletools.commons.R.string.cancel, null) 17 | .apply { 18 | activity.setupDialogStuff(binding.root, this) { alertDialog -> 19 | alertDialog.showKeyboard(binding.checklistItemTitle) 20 | alertDialog.getButton(BUTTON_POSITIVE).setOnClickListener { 21 | val newTitle = binding.checklistItemTitle.value 22 | when { 23 | newTitle.isEmpty() -> activity.toast(com.simplemobiletools.commons.R.string.empty_name) 24 | else -> { 25 | callback(newTitle) 26 | alertDialog.dismiss() 27 | } 28 | } 29 | } 30 | } 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/extensions/Fragment.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.extensions 2 | 3 | import androidx.fragment.app.Fragment 4 | import com.simplemobiletools.notes.pro.helpers.Config 5 | 6 | val Fragment.config: Config? get() = if (context != null) Config.newInstance(context!!) else null 7 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/extensions/String.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.extensions 2 | 3 | import com.google.gson.Gson 4 | import com.google.gson.reflect.TypeToken 5 | import com.simplemobiletools.notes.pro.models.ChecklistItem 6 | 7 | fun String.parseChecklistItems(): ArrayList? { 8 | if (startsWith("[{") && endsWith("}]")) { 9 | try { 10 | val checklistItemType = object : TypeToken>() {}.type 11 | return Gson().fromJson>(this, checklistItemType) ?: null 12 | } catch (e: Exception) { 13 | } 14 | } 15 | return null 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/CollatorBasedComparator.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.helpers 2 | 3 | import java.text.Collator 4 | 5 | /** 6 | * Collator-based string comparator 7 | * 8 | * Adapted from AlphanumericComparator to support numerical collation. It sorts accents properly too. 9 | */ 10 | class CollatorBasedComparator : Comparator { 11 | override fun compare(string1: String, string2: String): Int { 12 | val collator = getCollator() 13 | 14 | var thisMarker = 0 15 | var thatMarker = 0 16 | 17 | while (thisMarker < string1.length && thatMarker < string2.length) { 18 | val thisChunk = getChunk(string1, string1.length, thisMarker) 19 | thisMarker += thisChunk.length 20 | 21 | val thatChunk = getChunk(string2, string2.length, thatMarker) 22 | thatMarker += thatChunk.length 23 | 24 | val result = if (isDigit(thisChunk[0]) && isDigit(thatChunk[0])) { 25 | collateNumerically(thisChunk, thatChunk) 26 | } else { 27 | collator.compare(thisChunk, thatChunk) 28 | } 29 | 30 | if (result != 0) { 31 | return coerceResult(result) 32 | } 33 | } 34 | 35 | return coerceResult(string1.length - string2.length) 36 | } 37 | 38 | private fun collateNumerically(string1: String, string2: String): Int { 39 | var result: Int 40 | result = string1.length - string2.length 41 | if (result == 0) { 42 | // equal length, the first different number counts 43 | for (i in string1.indices) { 44 | result = string1[i] - string2[i] 45 | if (result != 0) { 46 | break 47 | } 48 | } 49 | } 50 | return result 51 | } 52 | 53 | private fun getChunk(string: String, length: Int, marker: Int): String { 54 | var current = marker 55 | var c = string[current] 56 | val chunk = StringBuilder(c.toString()) 57 | current++ 58 | val chunkOfDigits = isDigit(c) 59 | while (current < length) { 60 | c = string[current] 61 | if (isDigit(c) != chunkOfDigits) { 62 | break 63 | } 64 | chunk.append(c) 65 | current++ 66 | } 67 | 68 | return chunk.toString() 69 | } 70 | 71 | private fun isDigit(ch: Char) = ch in '0'..'9' 72 | 73 | private fun coerceResult(compareToResult: Int) = compareToResult.coerceIn(-1, 1) 74 | 75 | private fun getCollator(): Collator { 76 | val collator = Collator.getInstance() 77 | collator.strength = Collator.PRIMARY 78 | collator.decomposition = Collator.CANONICAL_DECOMPOSITION 79 | return collator 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/MyMovementMethod.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.helpers 2 | 3 | import android.text.Selection 4 | import android.text.Spannable 5 | import android.text.method.ArrowKeyMovementMethod 6 | import android.text.style.ClickableSpan 7 | import android.view.MotionEvent 8 | import android.widget.TextView 9 | 10 | class MyMovementMethod : ArrowKeyMovementMethod() { 11 | companion object { 12 | private var sInstance: MyMovementMethod? = null 13 | 14 | fun getInstance(): MyMovementMethod { 15 | if (sInstance == null) { 16 | sInstance = MyMovementMethod() 17 | } 18 | return sInstance!! 19 | } 20 | } 21 | 22 | override fun onTouchEvent(widget: TextView, buffer: Spannable, event: MotionEvent): Boolean { 23 | val action = event.action 24 | 25 | if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_DOWN) { 26 | var x = event.x.toInt() 27 | var y = event.y.toInt() 28 | 29 | x -= widget.totalPaddingLeft 30 | y -= widget.totalPaddingTop 31 | 32 | x += widget.scrollX 33 | y += widget.scrollY 34 | 35 | val layout = widget.layout 36 | val line = layout.getLineForVertical(y) 37 | val off = layout.getOffsetForHorizontal(line, x.toFloat()) 38 | 39 | val links = buffer.getSpans(off, off, ClickableSpan::class.java) 40 | if (links.isNotEmpty()) { 41 | if (action == MotionEvent.ACTION_UP) { 42 | links[0].onClick(widget) 43 | } else if (action == MotionEvent.ACTION_DOWN) { 44 | Selection.setSelection(buffer, 45 | buffer.getSpanStart(links[0]), 46 | buffer.getSpanEnd(links[0])) 47 | } 48 | return true 49 | } 50 | } 51 | 52 | return super.onTouchEvent(widget, buffer, event) 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/interfaces/ChecklistItemsListener.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.interfaces 2 | 3 | interface ChecklistItemsListener { 4 | fun refreshItems() 5 | 6 | fun saveChecklist(callback: () -> Unit = {}) 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/interfaces/NotesDao.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.interfaces 2 | 3 | import androidx.room.* 4 | import com.simplemobiletools.notes.pro.models.Note 5 | 6 | @Dao 7 | interface NotesDao { 8 | @Query("SELECT * FROM notes ORDER BY title COLLATE UNICODE ASC ") 9 | fun getNotes(): List 10 | 11 | @Query("SELECT * FROM notes WHERE id = :id") 12 | fun getNoteWithId(id: Long): Note? 13 | 14 | @Query("SELECT id FROM notes WHERE path = :path") 15 | fun getNoteIdWithPath(path: String): Long? 16 | 17 | @Query("SELECT id FROM notes WHERE title = :title COLLATE NOCASE") 18 | fun getNoteIdWithTitle(title: String): Long? 19 | 20 | @Query("SELECT id FROM notes WHERE title = :title") 21 | fun getNoteIdWithTitleCaseSensitive(title: String): Long? 22 | 23 | @Insert(onConflict = OnConflictStrategy.REPLACE) 24 | fun insertOrUpdate(note: Note): Long 25 | 26 | @Insert(onConflict = OnConflictStrategy.REPLACE) 27 | fun insertOrUpdate(notes: List): List 28 | 29 | @Delete 30 | fun deleteNote(note: Note) 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/interfaces/WidgetsDao.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.interfaces 2 | 3 | import androidx.room.Dao 4 | import androidx.room.Insert 5 | import androidx.room.OnConflictStrategy 6 | import androidx.room.Query 7 | import com.simplemobiletools.notes.pro.models.Widget 8 | 9 | @Dao 10 | interface WidgetsDao { 11 | @Query("SELECT * FROM widgets") 12 | fun getWidgets(): List 13 | 14 | @Query("SELECT * FROM widgets WHERE widget_id = :widgetId") 15 | fun getWidgetWithWidgetId(widgetId: Int): Widget? 16 | 17 | @Insert(onConflict = OnConflictStrategy.REPLACE) 18 | fun insertOrUpdate(widget: Widget): Long 19 | 20 | @Query("DELETE FROM widgets WHERE note_id = :noteId") 21 | fun deleteNoteWidgets(noteId: Long) 22 | 23 | @Query("DELETE FROM widgets WHERE widget_id = :widgetId") 24 | fun deleteWidgetId(widgetId: Int) 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/models/ChecklistItem.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.models 2 | 3 | import com.simplemobiletools.commons.helpers.SORT_BY_TITLE 4 | import com.simplemobiletools.commons.helpers.SORT_DESCENDING 5 | import com.simplemobiletools.notes.pro.helpers.CollatorBasedComparator 6 | import kotlinx.serialization.Serializable 7 | 8 | @Serializable 9 | data class ChecklistItem( 10 | val id: Int, 11 | val dateCreated: Long = 0L, 12 | var title: String, 13 | var isDone: Boolean 14 | ) : Comparable { 15 | 16 | companion object { 17 | var sorting = 0 18 | } 19 | 20 | override fun compareTo(other: ChecklistItem): Int { 21 | var result = when { 22 | sorting and SORT_BY_TITLE != 0 -> CollatorBasedComparator().compare(title, other.title) 23 | else -> dateCreated.compareTo(other.dateCreated) 24 | } 25 | 26 | if (sorting and SORT_DESCENDING != 0) { 27 | result *= -1 28 | } 29 | 30 | return result 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/models/Note.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.models 2 | 3 | import android.content.Context 4 | import android.net.Uri 5 | import androidx.room.* 6 | import com.simplemobiletools.commons.extensions.isBiometricIdAvailable 7 | import com.simplemobiletools.commons.helpers.PROTECTION_FINGERPRINT 8 | import com.simplemobiletools.commons.helpers.PROTECTION_NONE 9 | import kotlinx.serialization.Serializable 10 | import java.io.File 11 | 12 | /** 13 | * Represents a note. 14 | * 15 | * @property value The content of the note. Could be plain text or [ChecklistItem] 16 | * @property type The type of the note. Should be one of the [NoteType] enum entries. 17 | */ 18 | @Serializable 19 | @Entity(tableName = "notes", indices = [(Index(value = ["id"], unique = true))]) 20 | @TypeConverters(NoteTypeConverter::class) 21 | data class Note( 22 | @PrimaryKey(autoGenerate = true) var id: Long?, 23 | @ColumnInfo(name = "title") var title: String, 24 | @ColumnInfo(name = "value") var value: String, 25 | @ColumnInfo(name = "type") var type: NoteType, 26 | @ColumnInfo(name = "path") var path: String, 27 | @ColumnInfo(name = "protection_type") var protectionType: Int, 28 | @ColumnInfo(name = "protection_hash") var protectionHash: String 29 | ) { 30 | 31 | fun getNoteStoredValue(context: Context): String? { 32 | return if (path.isNotEmpty()) { 33 | try { 34 | if (path.startsWith("content://")) { 35 | val inputStream = context.contentResolver.openInputStream(Uri.parse(path)) 36 | inputStream?.bufferedReader().use { it!!.readText() } 37 | } else { 38 | File(path).readText() 39 | } 40 | } catch (e: Exception) { 41 | null 42 | } 43 | } else { 44 | value 45 | } 46 | } 47 | 48 | fun isLocked() = protectionType != PROTECTION_NONE 49 | 50 | fun shouldBeUnlocked(context: Context): Boolean { 51 | return protectionType == PROTECTION_FINGERPRINT && !context.isBiometricIdAvailable() 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/models/NoteType.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.models 2 | 3 | import kotlinx.serialization.Serializable 4 | 5 | @Serializable 6 | enum class NoteType(val value: Int) { 7 | TYPE_TEXT(0), 8 | TYPE_CHECKLIST(1); 9 | 10 | companion object { 11 | fun fromValue(value: Int): NoteType { 12 | return values().find { it.value == value } ?: TYPE_TEXT 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/models/NoteTypeConverter.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.models 2 | 3 | import androidx.room.TypeConverter 4 | 5 | class NoteTypeConverter { 6 | @TypeConverter 7 | fun fromNoteType(noteType: NoteType): Int { 8 | return noteType.value 9 | } 10 | 11 | @TypeConverter 12 | fun toNoteType(value: Int): NoteType { 13 | return NoteType.fromValue(value) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/models/TextHistory.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.models 2 | 3 | import java.util.* 4 | 5 | class TextHistory { 6 | var position = 0 7 | val history = LinkedList() 8 | 9 | fun getPrevious(): TextHistoryItem? { 10 | if (position == 0) { 11 | return null 12 | } 13 | position-- 14 | return history[position] 15 | } 16 | 17 | fun getNext(): TextHistoryItem? { 18 | if (position >= history.size) { 19 | return null 20 | } 21 | 22 | val item = history[position] 23 | position++ 24 | return item 25 | } 26 | 27 | fun add(item: TextHistoryItem) { 28 | while (history.size > position) { 29 | history.removeLast() 30 | } 31 | 32 | history.add(item) 33 | position++ 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/models/TextHistoryItem.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.models 2 | 3 | data class TextHistoryItem(val start: Int, val before: CharSequence?, val after: CharSequence?) 4 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/models/Widget.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.models 2 | 3 | import androidx.room.ColumnInfo 4 | import androidx.room.Entity 5 | import androidx.room.Index 6 | import androidx.room.PrimaryKey 7 | 8 | @Entity(tableName = "widgets", indices = [(Index(value = ["widget_id"], unique = true))]) 9 | data class Widget( 10 | @PrimaryKey(autoGenerate = true) var id: Long?, 11 | @ColumnInfo(name = "widget_id") var widgetId: Int, 12 | @ColumnInfo(name = "note_id") var noteId: Long, 13 | @ColumnInfo(name = "widget_bg_color") var widgetBgColor: Int, 14 | @ColumnInfo(name = "widget_text_color") var widgetTextColor: Int, 15 | @ColumnInfo(name = "widget_show_title") var widgetShowTitle: Boolean 16 | ) 17 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/receivers/AutomaticBackupReceiver.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.receivers 2 | 3 | import android.content.BroadcastReceiver 4 | import android.content.Context 5 | import android.content.Intent 6 | import android.os.PowerManager 7 | import com.simplemobiletools.notes.pro.extensions.backupNotes 8 | 9 | class AutomaticBackupReceiver : BroadcastReceiver() { 10 | 11 | override fun onReceive(context: Context, intent: Intent) { 12 | val powerManager = context.getSystemService(Context.POWER_SERVICE) as PowerManager 13 | val wakelock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "simplenotes:automaticbackupreceiver") 14 | wakelock.acquire(3000) 15 | context.backupNotes() 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/receivers/BootCompletedReceiver.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.receivers 2 | 3 | import android.content.BroadcastReceiver 4 | import android.content.Context 5 | import android.content.Intent 6 | import com.simplemobiletools.commons.helpers.ensureBackgroundThread 7 | import com.simplemobiletools.notes.pro.extensions.checkAndBackupNotesOnBoot 8 | 9 | class BootCompletedReceiver : BroadcastReceiver() { 10 | 11 | override fun onReceive(context: Context, intent: Intent) { 12 | ensureBackgroundThread { 13 | context.apply { 14 | checkAndBackupNotesOnBoot() 15 | } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/services/WidgetService.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.services 2 | 3 | import android.content.Intent 4 | import android.widget.RemoteViewsService 5 | import com.simplemobiletools.notes.pro.adapters.WidgetAdapter 6 | 7 | class WidgetService : RemoteViewsService() { 8 | override fun onGetViewFactory(intent: Intent) = WidgetAdapter(applicationContext, intent) 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/kotlin/com/simplemobiletools/notes/pro/views/MyHorizontalScrollView.kt: -------------------------------------------------------------------------------- 1 | package com.simplemobiletools.notes.pro.views 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | import android.view.MotionEvent 6 | import android.widget.HorizontalScrollView 7 | 8 | class MyHorizontalScrollView : HorizontalScrollView { 9 | constructor(context: Context) : super(context) 10 | 11 | constructor(context: Context, attrs: AttributeSet) : super(context, attrs) 12 | 13 | override fun onTouchEvent(ev: MotionEvent): Boolean { 14 | parent.requestDisallowInterceptTouchEvent(false) 15 | return super.onTouchEvent(ev) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/img_widget_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/drawable-nodpi/img_widget_preview.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_monochrome.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_lock_open_vector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_shortcut_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shortcut_check.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shortcut_note.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 15 | 16 | 22 | 23 | 26 | 27 | 31 | 32 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /app/src/main/res/layout/datetime_pattern_info_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_delete_note.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 18 | 19 | 26 | 27 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_export_file.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 21 | 22 | 23 | 24 | 30 | 31 | 39 | 40 | 41 | 42 | 47 | 48 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_export_files.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 21 | 22 | 23 | 24 | 29 | 30 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_export_notes.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 22 | 23 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_import_folder.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 17 | 18 | 23 | 24 | 25 | 26 | 30 | 31 | 39 | 40 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_manage_automatic_backups.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 23 | 24 | 29 | 30 | 31 | 32 | 41 | 42 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_new_checklist_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 15 | 16 | 21 | 22 | 34 | 35 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_new_note.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 18 | 19 | 27 | 28 | 29 | 30 | 36 | 37 | 41 | 42 | 50 | 51 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_open_file.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 17 | 18 | 23 | 24 | 25 | 26 | 30 | 31 | 39 | 40 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_open_note.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 17 | 18 | 25 | 26 | 27 | 28 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_rename_checklist_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 17 | 18 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_rename_note.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_unlock_notes.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 22 | 23 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_add_checklist.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_checklist.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 25 | 26 | 36 | 37 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_locked_note.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 24 | 25 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /app/src/main/res/layout/note_view_horiz_scrollable.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/layout/note_view_static.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/open_note_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 21 | 22 | 33 | 34 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/layout/widget.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 16 | 17 | 27 | 28 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /app/src/main/res/layout/widget_text_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 15 | 16 | 24 | 25 | 33 | 34 | 43 | 44 | 53 | 54 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /app/src/main/res/menu/cab_checklist.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 12 | 18 | 24 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_amber.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_blue_grey.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_brown.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_cyan.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_deep_orange.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_deep_purple.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_green.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_grey_black.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_indigo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_light_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_light_green.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_lime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_pink.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_purple.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_teal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_yellow.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_amber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_amber.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_blue.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_blue_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_blue_grey.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_brown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_brown.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_cyan.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_deep_orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_deep_orange.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_deep_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_deep_purple.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_green.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_grey_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_grey_black.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_indigo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_indigo.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_light_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_light_blue.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_light_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_light_green.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_lime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_lime.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_pink.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_purple.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_red.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_teal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_teal.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-hdpi/ic_launcher_yellow.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_amber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_amber.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_blue.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_blue_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_blue_grey.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_brown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_brown.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_cyan.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_deep_orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_deep_orange.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_deep_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_deep_purple.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_green.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_grey_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_grey_black.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_indigo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_indigo.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_light_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_light_blue.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_light_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_light_green.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_lime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_lime.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_pink.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_purple.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_red.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_teal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_teal.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xhdpi/ic_launcher_yellow.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_amber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_amber.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_blue.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_blue_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_blue_grey.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_brown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_brown.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_cyan.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_deep_orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_deep_orange.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_deep_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_deep_purple.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_green.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_grey_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_grey_black.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_indigo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_indigo.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_light_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_light_blue.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_light_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_light_green.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_lime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_lime.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_pink.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_purple.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_red.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_teal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_teal.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxhdpi/ic_launcher_yellow.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_amber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_amber.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_blue.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_blue_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_blue_grey.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_brown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_brown.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_cyan.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_deep_orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_deep_orange.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_deep_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_deep_purple.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_green.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_grey_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_grey_black.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_indigo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_indigo.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_light_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_light_blue.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_light_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_light_green.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_lime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_lime.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_pink.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_purple.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_red.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_teal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_teal.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SimpleMobileTools/Simple-Notes/f83882ec7e71e5c49261dee7b53c1eaa9fb7fde7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_yellow.png -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 56dp 3 | 150dp 4 | 150dp 5 | 500dp 6 | 200dp 7 | 76dp 8 | 56dp 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/donottranslate.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.simplemobiletools.notes.pro 4 | 5 | 6 | Allow changing checklist item sorting 7 | Notes linked to files have been reset, please set them up again 8 | 9 | Allow reordering checklist items by dragging, once selection mode by long pressing is activated\n 10 | Added a new settings item for moving undone checklist items at the top automatically 11 | 12 | Allow setting different text and background color per widget 13 | Allow customizing the bottom navigation bar color 14 | Added a Checklist type of note 15 | Allow creating separate widgets per notes 16 | Added undo/redo 17 | Allow exporting all notes at once, toggling line wrap and autosave 18 | 19 | Added a new option to use english language on non-english devices\n 20 | Allow scrolling widgets vertically 21 | 22 | 23 | Added an option to make emails and links clickable\n 24 | Allow importing text from files\n 25 | Allow saving notes to files 26 | 27 | Allow picking colors by hex codes 28 | 29 | Added more color customization options\n 30 | Your settings have been cleared, please reset them 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /app/src/main/res/values/integers.xml: -------------------------------------------------------------------------------- 1 | 2 | 2048 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |