├── .editorconfig
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.yml
│ ├── config.yml
│ └── feature_request.yml
├── dependabot.yml
└── workflows
│ ├── foss-release.yml
│ ├── gplay-release.yml
│ ├── image-minimizer.yml
│ ├── no-response.yml
│ ├── pr-labeler.yml
│ ├── pr.yml
│ ├── release-commenter.yml
│ └── testing-build.yml
├── .gitignore
├── CHANGELOG.md
├── CONTRIBUTING.md
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── README.md
├── app
├── .gitignore
├── build.gradle.kts
├── detekt-baseline.xml
├── lint-baseline.xml
├── proguard-rules.pro
├── schemas
│ └── org.fossify.notes.databases.NotesDatabase
│ │ └── 4.json
└── src
│ ├── debug
│ └── res
│ │ └── values
│ │ └── strings.xml
│ ├── foss
│ └── res
│ │ └── values
│ │ └── bools.xml
│ ├── gplay
│ └── res
│ │ └── values
│ │ └── bools.xml
│ └── main
│ ├── AndroidManifest.xml
│ ├── ic_launcher-playstore.png
│ ├── kotlin
│ └── org
│ │ └── fossify
│ │ └── notes
│ │ ├── App.kt
│ │ ├── activities
│ │ ├── MainActivity.kt
│ │ ├── SettingsActivity.kt
│ │ ├── SimpleActivity.kt
│ │ ├── SplashActivity.kt
│ │ └── WidgetConfigureActivity.kt
│ │ ├── adapters
│ │ ├── NotesPagerAdapter.kt
│ │ ├── OpenNoteAdapter.kt
│ │ ├── TasksAdapter.kt
│ │ └── WidgetAdapter.kt
│ │ ├── databases
│ │ └── NotesDatabase.kt
│ │ ├── dialogs
│ │ ├── DateTimePatternInfoDialog.kt
│ │ ├── DeleteNoteDialog.kt
│ │ ├── EditTaskDialog.kt
│ │ ├── ExportFileDialog.kt
│ │ ├── ExportFilesDialog.kt
│ │ ├── ExportNotesDialog.kt
│ │ ├── ImportFolderDialog.kt
│ │ ├── ManageAutoBackupsDialog.kt
│ │ ├── NewChecklistItemDialog.kt
│ │ ├── NewNoteDialog.kt
│ │ ├── OpenFileDialog.kt
│ │ ├── OpenNoteDialog.kt
│ │ ├── RenameNoteDialog.kt
│ │ ├── SortChecklistDialog.kt
│ │ └── UnlockNotesDialog.kt
│ │ ├── extensions
│ │ ├── Context.kt
│ │ ├── Fragment.kt
│ │ └── String.kt
│ │ ├── fragments
│ │ ├── NoteFragment.kt
│ │ ├── TasksFragment.kt
│ │ └── TextFragment.kt
│ │ ├── helpers
│ │ ├── CollatorBasedComparator.kt
│ │ ├── Config.kt
│ │ ├── Constants.kt
│ │ ├── MyMovementMethod.kt
│ │ ├── MyWidgetProvider.kt
│ │ └── NotesHelper.kt
│ │ ├── interfaces
│ │ ├── NotesDao.kt
│ │ ├── TasksActionListener.kt
│ │ └── WidgetsDao.kt
│ │ ├── models
│ │ ├── Note.kt
│ │ ├── NoteType.kt
│ │ ├── NoteTypeConverter.kt
│ │ ├── Task.kt
│ │ ├── TextHistory.kt
│ │ ├── TextHistoryItem.kt
│ │ └── Widget.kt
│ │ ├── receivers
│ │ ├── AutomaticBackupReceiver.kt
│ │ └── BootCompletedReceiver.kt
│ │ ├── services
│ │ └── WidgetService.kt
│ │ └── views
│ │ └── MyHorizontalScrollView.kt
│ └── res
│ ├── drawable-nodpi
│ └── img_widget_preview.webp
│ ├── drawable
│ ├── ic_launcher_foreground.xml
│ ├── 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_checked_tasks.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_grey_black.xml
│ ├── ic_launcher_indigo.xml
│ ├── ic_launcher_light_blue.xml
│ ├── ic_launcher_light_green.xml
│ ├── ic_launcher_lime.xml
│ ├── ic_launcher_orange.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.webp
│ ├── ic_launcher_amber.webp
│ ├── ic_launcher_blue.webp
│ ├── ic_launcher_blue_grey.webp
│ ├── ic_launcher_brown.webp
│ ├── ic_launcher_cyan.webp
│ ├── ic_launcher_deep_orange.webp
│ ├── ic_launcher_deep_purple.webp
│ ├── ic_launcher_grey_black.webp
│ ├── ic_launcher_indigo.webp
│ ├── ic_launcher_light_blue.webp
│ ├── ic_launcher_light_green.webp
│ ├── ic_launcher_lime.webp
│ ├── ic_launcher_orange.webp
│ ├── ic_launcher_pink.webp
│ ├── ic_launcher_purple.webp
│ ├── ic_launcher_red.webp
│ ├── ic_launcher_teal.webp
│ └── ic_launcher_yellow.webp
│ ├── mipmap-mdpi
│ ├── ic_launcher.webp
│ ├── ic_launcher_amber.webp
│ ├── ic_launcher_blue.webp
│ ├── ic_launcher_blue_grey.webp
│ ├── ic_launcher_brown.webp
│ ├── ic_launcher_cyan.webp
│ ├── ic_launcher_deep_orange.webp
│ ├── ic_launcher_deep_purple.webp
│ ├── ic_launcher_grey_black.webp
│ ├── ic_launcher_indigo.webp
│ ├── ic_launcher_light_blue.webp
│ ├── ic_launcher_light_green.webp
│ ├── ic_launcher_lime.webp
│ ├── ic_launcher_orange.webp
│ ├── ic_launcher_pink.webp
│ ├── ic_launcher_purple.webp
│ ├── ic_launcher_red.webp
│ ├── ic_launcher_teal.webp
│ └── ic_launcher_yellow.webp
│ ├── mipmap-xhdpi
│ ├── ic_launcher.webp
│ ├── ic_launcher_amber.webp
│ ├── ic_launcher_blue.webp
│ ├── ic_launcher_blue_grey.webp
│ ├── ic_launcher_brown.webp
│ ├── ic_launcher_cyan.webp
│ ├── ic_launcher_deep_orange.webp
│ ├── ic_launcher_deep_purple.webp
│ ├── ic_launcher_grey_black.webp
│ ├── ic_launcher_indigo.webp
│ ├── ic_launcher_light_blue.webp
│ ├── ic_launcher_light_green.webp
│ ├── ic_launcher_lime.webp
│ ├── ic_launcher_orange.webp
│ ├── ic_launcher_pink.webp
│ ├── ic_launcher_purple.webp
│ ├── ic_launcher_red.webp
│ ├── ic_launcher_teal.webp
│ └── ic_launcher_yellow.webp
│ ├── mipmap-xxhdpi
│ ├── ic_launcher.webp
│ ├── ic_launcher_amber.webp
│ ├── ic_launcher_blue.webp
│ ├── ic_launcher_blue_grey.webp
│ ├── ic_launcher_brown.webp
│ ├── ic_launcher_cyan.webp
│ ├── ic_launcher_deep_orange.webp
│ ├── ic_launcher_deep_purple.webp
│ ├── ic_launcher_grey_black.webp
│ ├── ic_launcher_indigo.webp
│ ├── ic_launcher_light_blue.webp
│ ├── ic_launcher_light_green.webp
│ ├── ic_launcher_lime.webp
│ ├── ic_launcher_orange.webp
│ ├── ic_launcher_pink.webp
│ ├── ic_launcher_purple.webp
│ ├── ic_launcher_red.webp
│ ├── ic_launcher_teal.webp
│ └── ic_launcher_yellow.webp
│ ├── mipmap-xxxhdpi
│ ├── ic_launcher.webp
│ ├── ic_launcher_amber.webp
│ ├── ic_launcher_blue.webp
│ ├── ic_launcher_blue_grey.webp
│ ├── ic_launcher_brown.webp
│ ├── ic_launcher_cyan.webp
│ ├── ic_launcher_deep_orange.webp
│ ├── ic_launcher_deep_purple.webp
│ ├── ic_launcher_grey_black.webp
│ ├── ic_launcher_indigo.webp
│ ├── ic_launcher_light_blue.webp
│ ├── ic_launcher_light_green.webp
│ ├── ic_launcher_lime.webp
│ ├── ic_launcher_orange.webp
│ ├── ic_launcher_pink.webp
│ ├── ic_launcher_purple.webp
│ ├── ic_launcher_red.webp
│ ├── ic_launcher_teal.webp
│ └── ic_launcher_yellow.webp
│ ├── values-ar
│ └── strings.xml
│ ├── values-az
│ └── strings.xml
│ ├── values-b+es+419
│ └── strings.xml
│ ├── values-be
│ └── strings.xml
│ ├── values-bg
│ └── strings.xml
│ ├── values-bn-rBD
│ └── strings.xml
│ ├── values-bn
│ └── strings.xml
│ ├── values-br
│ └── strings.xml
│ ├── values-bs
│ └── strings.xml
│ ├── values-ca
│ └── strings.xml
│ ├── values-ckb
│ └── strings.xml
│ ├── values-cr
│ └── strings.xml
│ ├── values-cs
│ └── strings.xml
│ ├── values-cy
│ └── strings.xml
│ ├── values-da
│ └── strings.xml
│ ├── values-de
│ └── strings.xml
│ ├── values-el
│ └── strings.xml
│ ├── values-en-rGB
│ └── strings.xml
│ ├── values-en-rIN
│ └── strings.xml
│ ├── values-eo
│ └── strings.xml
│ ├── values-es-rUS
│ └── strings.xml
│ ├── values-es
│ └── strings.xml
│ ├── values-et
│ └── strings.xml
│ ├── values-eu
│ └── strings.xml
│ ├── values-fa
│ └── strings.xml
│ ├── values-fi
│ └── strings.xml
│ ├── values-fil
│ └── strings.xml
│ ├── values-fr
│ └── strings.xml
│ ├── values-ga
│ └── strings.xml
│ ├── values-gl
│ └── strings.xml
│ ├── values-hi
│ └── strings.xml
│ ├── values-hr
│ └── strings.xml
│ ├── values-hu
│ └── strings.xml
│ ├── values-ia
│ └── strings.xml
│ ├── values-in
│ └── strings.xml
│ ├── values-is
│ └── strings.xml
│ ├── values-it
│ └── strings.xml
│ ├── values-iw
│ └── strings.xml
│ ├── values-ja
│ └── strings.xml
│ ├── values-kn
│ └── strings.xml
│ ├── values-ko
│ └── strings.xml
│ ├── values-kr
│ └── strings.xml
│ ├── values-lt
│ └── strings.xml
│ ├── values-ltg
│ └── strings.xml
│ ├── values-lv
│ └── strings.xml
│ ├── values-mk
│ └── strings.xml
│ ├── values-ml
│ └── strings.xml
│ ├── values-ms
│ └── strings.xml
│ ├── values-my
│ └── strings.xml
│ ├── values-nb-rNO
│ └── strings.xml
│ ├── values-ne
│ └── strings.xml
│ ├── values-nl
│ └── strings.xml
│ ├── values-nn
│ └── strings.xml
│ ├── values-or
│ └── strings.xml
│ ├── values-pa-rPK
│ └── strings.xml
│ ├── values-pa
│ └── strings.xml
│ ├── values-pl
│ └── strings.xml
│ ├── values-pt-rBR
│ └── strings.xml
│ ├── values-pt-rPT
│ └── strings.xml
│ ├── values-pt
│ └── strings.xml
│ ├── values-ro
│ └── strings.xml
│ ├── values-ru
│ └── strings.xml
│ ├── values-sat
│ └── strings.xml
│ ├── values-si
│ └── strings.xml
│ ├── values-sk
│ └── strings.xml
│ ├── values-sl
│ └── strings.xml
│ ├── values-sr
│ └── strings.xml
│ ├── values-sv
│ └── strings.xml
│ ├── values-ta
│ └── strings.xml
│ ├── values-te
│ └── strings.xml
│ ├── values-th
│ └── strings.xml
│ ├── values-tr
│ └── strings.xml
│ ├── values-uk
│ └── strings.xml
│ ├── values-vi
│ └── strings.xml
│ ├── values-zgh
│ └── strings.xml
│ ├── values-zh-rCN
│ └── strings.xml
│ ├── values-zh-rHK
│ └── strings.xml
│ ├── values-zh-rTW
│ └── strings.xml
│ ├── values
│ ├── colors.xml
│ ├── dimens.xml
│ ├── donottranslate.xml
│ ├── integers.xml
│ ├── strings.xml
│ └── styles.xml
│ └── xml
│ └── widget_info.xml
├── build.gradle.kts
├── fastlane
├── Appfile
├── Fastfile
├── README.md
└── metadata
│ └── android
│ ├── cs-CZ
│ ├── full_description.txt
│ └── short_description.txt
│ ├── de-DE
│ ├── full_description.txt
│ └── short_description.txt
│ ├── en-US
│ ├── changelogs
│ │ ├── 2.txt
│ │ ├── 3.txt
│ │ ├── 4.txt
│ │ └── 5.txt
│ ├── full_description.txt
│ ├── images
│ │ ├── featureGraphic.png
│ │ ├── icon.png
│ │ ├── phoneScreenshots
│ │ │ ├── 1_en-US.png
│ │ │ ├── 2_en-US.png
│ │ │ ├── 3_en-US.png
│ │ │ ├── 4_en-US.png
│ │ │ ├── 5_en-US.png
│ │ │ └── 6_en-US.png
│ │ └── tenInchScreenshots
│ │ │ ├── 1_en-US.png
│ │ │ ├── 2_en-US.png
│ │ │ ├── 3_en-US.png
│ │ │ ├── 4_en-US.png
│ │ │ ├── 5_en-US.png
│ │ │ └── 6_en-US.png
│ ├── short_description.txt
│ └── title.txt
│ ├── eo
│ └── short_description.txt
│ ├── es-ES
│ ├── full_description.txt
│ └── short_description.txt
│ ├── et
│ └── short_description.txt
│ ├── eu-ES
│ └── full_description.txt
│ ├── ga
│ ├── full_description.txt
│ └── short_description.txt
│ ├── id
│ ├── full_description.txt
│ └── short_description.txt
│ ├── it-IT
│ ├── full_description.txt
│ └── short_description.txt
│ ├── iw-IL
│ ├── full_description.txt
│ └── short_description.txt
│ ├── nl-NL
│ └── short_description.txt
│ ├── pl-PL
│ ├── full_description.txt
│ └── short_description.txt
│ ├── sv-SE
│ └── short_description.txt
│ ├── tr-TR
│ └── full_description.txt
│ ├── uk
│ ├── full_description.txt
│ └── short_description.txt
│ ├── zh-CN
│ ├── full_description.txt
│ └── short_description.txt
│ └── zh-TW
│ ├── full_description.txt
│ └── short_description.txt
├── gradle.properties
├── gradle
├── libs.versions.toml
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── graphics
├── featureGraphic.png
├── foreground.svg
├── icon.svg
└── icon.webp
├── 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/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Questions
4 | url: https://github.com/FossifyOrg/Notes/discussions
5 | about: Please ask and answer questions here.
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.yml:
--------------------------------------------------------------------------------
1 | name: Feature request
2 | description: Suggest an idea for this project
3 | labels: [ "feature request", "needs triage" ]
4 | body:
5 | - type: markdown
6 | attributes:
7 | value: |
8 | ## Hi there 👋
9 | Thanks for helping us improve Fossify Notes by suggesting a feature!
10 | Please fill in as much information as possible about your feature request to avoid unnecessary and time-consuming back-and-forth communication.
11 |
12 | - type: checkboxes
13 | id: checklist
14 | attributes:
15 | label: "Checklist"
16 | options:
17 | - label: "I made sure that there are **no existing issues** - [open](https://github.com/FossifyOrg/Notes/issues) or [closed](https://github.com/FossifyOrg/Notes/issues?q=is%3Aissue+is%3Aclosed) - to which I could contribute my information."
18 | required: true
19 | - label: "I made sure that there are **no existing discussions** - [open](https://github.com/FossifyOrg/Notes/discussions) or [closed](https://github.com/FossifyOrg/Notes/discussions?discussions_q=is%3Aclosed) - to which I could contribute my information."
20 | required: true
21 | - label: "I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed."
22 | required: true
23 | - label: "**I have taken the time to fill in all the required details. I understand that the request will be dismissed otherwise.**"
24 | required: true
25 | - label: "This issue contains only one feature request."
26 | required: true
27 | - label: "I have read and understood the [contribution guidelines](https://github.com/FossifyOrg/Notes/blob/master/CONTRIBUTING.md)."
28 | required: true
29 |
30 | - type: textarea
31 | id: feature-description
32 | attributes:
33 | label: Feature description
34 | description: |
35 | Explain how you want the app's look or behavior to change to suit your needs.
36 |
37 | ⚠️ Please **DO NOT** add links to SimpleMobileTools issues as they can be deleted at any time. Instead, copy-paste any useful information manually.
38 | validations:
39 | required: true
40 |
41 | - type: textarea
42 | id: why-is-the-feature-requested
43 | attributes:
44 | label: Why do you want this feature?
45 | description: |
46 | Describe any problem or limitation you come across while using the app which would be solved by this feature.
47 | validations:
48 | required: true
49 |
50 | - type: textarea
51 | id: additional-information
52 | attributes:
53 | label: Additional information
54 | description: Any other information you'd like to include, for instance sketches, mockups, pictures of rabbits, etc.
55 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 |
3 | registries:
4 | maven-google:
5 | type: maven-repository
6 | url: "https://dl.google.com/dl/android/maven2/"
7 |
8 | maven-central:
9 | type: maven-repository
10 | url: "https://repo.maven.apache.org/maven2"
11 |
12 | jitpack:
13 | type: maven-repository
14 | url: "https://jitpack.io"
15 |
16 | updates:
17 | - package-ecosystem: "bundler"
18 | directory: "/"
19 | schedule:
20 | interval: "weekly"
21 | commit-message:
22 | prefix: "chore"
23 | prefix-development: "chore"
24 | include: "scope"
25 | assignees:
26 | - "naveensingh"
27 |
28 | - package-ecosystem: "gradle"
29 | directory: "/"
30 | registries:
31 | - maven-central
32 | - maven-google
33 | - jitpack
34 | schedule:
35 | interval: "weekly"
36 | commit-message:
37 | prefix: "chore"
38 | prefix-development: "chore"
39 | include: "scope"
40 | assignees:
41 | - "naveensingh"
42 |
43 | - package-ecosystem: "github-actions"
44 | directory: "/"
45 | schedule:
46 | interval: "weekly"
47 | commit-message:
48 | prefix: "chore"
49 | prefix-development: "chore"
50 | include: "scope"
51 | assignees:
52 | - "naveensingh"
53 |
--------------------------------------------------------------------------------
/.github/workflows/foss-release.yml:
--------------------------------------------------------------------------------
1 | name: Github Release
2 |
3 | on:
4 | push:
5 | tags:
6 | - "*.*.*"
7 |
8 | jobs:
9 | call-release-workflow:
10 | uses: FossifyOrg/.github/.github/workflows/release.yml@main
11 | with:
12 | tag: ${{ github.ref_name }}
13 | flavor: "foss"
14 | package_name: "org.fossify.notes"
15 | secrets: inherit
--------------------------------------------------------------------------------
/.github/workflows/gplay-release.yml:
--------------------------------------------------------------------------------
1 | name: Google Play Release
2 |
3 | on:
4 | workflow_dispatch:
5 | inputs:
6 | track:
7 | description: "Google Play Store release track"
8 | required: false
9 | type: choice
10 | default: "beta"
11 | options:
12 | - internal
13 | - alpha
14 | - beta
15 | - production
16 | rollout:
17 | description: "Rollout fraction (0.0-1.0)"
18 | required: false
19 | type: string
20 | default: "0.05"
21 | validate_only:
22 | description: "Fastlane dry-run?"
23 | required: false
24 | type: boolean
25 | default: false
26 |
27 | jobs:
28 | call-release-workflow:
29 | uses: FossifyOrg/.github/.github/workflows/release.yml@main
30 | with:
31 | flavor: "gplay"
32 | package_name: "org.fossify.notes"
33 | track: ${{ github.event.inputs.track }}
34 | rollout: ${{ github.event.inputs.rollout }}
35 | validate_only: ${{ github.event.inputs.validate_only == 'true' }}
36 | secrets: inherit
37 |
--------------------------------------------------------------------------------
/.github/workflows/image-minimizer.yml:
--------------------------------------------------------------------------------
1 | name: Image Minimizer
2 |
3 | on:
4 | issue_comment:
5 | types: [created, edited]
6 | issues:
7 | types: [opened, edited]
8 | pull_request_target:
9 | types: [opened, edited]
10 |
11 | jobs:
12 | call-image-minimizer-workflow:
13 | uses: FossifyOrg/.github/.github/workflows/image-minimizer.yml@main
14 | secrets: inherit
15 |
--------------------------------------------------------------------------------
/.github/workflows/no-response.yml:
--------------------------------------------------------------------------------
1 | name: No Response
2 |
3 | on:
4 | schedule:
5 | - cron: "0 12 * * *" # Runs daily at noon
6 | workflow_dispatch:
7 |
8 | jobs:
9 | call-no-response-workflow:
10 | uses: FossifyOrg/.github/.github/workflows/no-response.yml@main
11 | secrets: inherit
12 |
--------------------------------------------------------------------------------
/.github/workflows/pr-labeler.yml:
--------------------------------------------------------------------------------
1 | name: PR Labeler
2 |
3 | on:
4 | pull_request_target:
5 | types: [opened]
6 |
7 | jobs:
8 | call-pr-labeler-workflow:
9 | uses: FossifyOrg/.github/.github/workflows/pr-labeler.yml@main
10 | secrets: inherit
11 |
--------------------------------------------------------------------------------
/.github/workflows/pr.yml:
--------------------------------------------------------------------------------
1 | name: PR
2 |
3 | on:
4 | pull_request:
5 | branches: [ master ]
6 |
7 | jobs:
8 | call-pr-workflow:
9 | uses: FossifyOrg/.github/.github/workflows/pr.yml@main
10 |
--------------------------------------------------------------------------------
/.github/workflows/release-commenter.yml:
--------------------------------------------------------------------------------
1 | name: Release Commenter
2 |
3 | on:
4 | release:
5 | types: [published]
6 |
7 | jobs:
8 | call-release-commenter:
9 | uses: FossifyOrg/.github/.github/workflows/release-commenter.yml@main
10 | secrets: inherit
11 |
--------------------------------------------------------------------------------
/.github/workflows/testing-build.yml:
--------------------------------------------------------------------------------
1 | name: Testing build (on PR)
2 |
3 | on:
4 | pull_request:
5 | branches: [ master ]
6 | types: [ labeled, opened, synchronize, reopened ]
7 |
8 | jobs:
9 | call-testing-build-workflow:
10 | uses: FossifyOrg/.github/.github/workflows/testing-build.yml@main
11 |
--------------------------------------------------------------------------------
/.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 | fastlane/report.xml
13 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | All notable changes to this project will be documented in this file.
4 |
5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7 |
8 | ## [1.2.0] - 2025-05-07
9 |
10 | ### Added
11 |
12 | - Support for per-note sorting ([#81])
13 |
14 | ### Changed
15 |
16 | - Replaced checkboxes in settings with switches
17 | - Moved "Move checked items to the bottom" sort option to app settings
18 | - Updated translations
19 |
20 | ### Fixed
21 |
22 | - Multiline pastes are now correctly reflected in the UI ([#99])
23 | - Fixed sorting in widgets and Open Notes dialog ([#83], [#110])
24 | - Corrected security label color in settings
25 |
26 | ### Removed
27 |
28 | - Dropped support for Android 7 and older versions
29 |
30 | ## [1.1.1] - 2025-03-18
31 |
32 | ### Changed
33 |
34 | - Minor bug fixes and improvements
35 | - Added more translations
36 |
37 | ### Fixed
38 |
39 | - Fixed security vulnerability in app lock
40 |
41 | ## [1.1.0] - 2024-07-22
42 |
43 | ### Added
44 |
45 | - Added collapsible checked items section at the bottom
46 |
47 | ### Changed
48 |
49 | - Minor bug fixes and improvements
50 | - Added new translations
51 |
52 | ## [1.0.0] - 2024-04-14
53 |
54 | ### Added
55 |
56 | - Initial release
57 |
58 | [Unreleased]: https://github.com/FossifyOrg/Notes/compare/1.2.0...HEAD
59 | [1.2.0]: https://github.com/FossifyOrg/Notes/compare/1.1.1...1.2.0
60 | [1.1.1]: https://github.com/FossifyOrg/Notes/compare/1.1.0...1.1.1
61 | [1.1.0]: https://github.com/FossifyOrg/Notes/compare/1.0.0...1.1.0
62 | [1.0.0]: https://github.com/FossifyOrg/Notes/releases/tag/1.0.0
63 |
64 | [#81]: https://github.com/FossifyOrg/Notes/issues/81
65 | [#83]: https://github.com/FossifyOrg/Notes/issues/83
66 | [#99]: https://github.com/FossifyOrg/Notes/issues/99
67 | [#110]: https://github.com/FossifyOrg/Notes/issues/110
68 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ### Reporting
2 |
3 | Before you report something, read the reporting
4 | rules [here](https://github.com/FossifyOrg/General-Discussion#how-do-i-suggest-an-improvement-ask-a-question-or-report-an-issue) please.
5 |
6 | ### Contributing as a developer
7 |
8 | Some instructions about code style and everything that has to be done to increase the chance of your code getting accepted can be found at
9 | the [General Discussion](https://github.com/FossifyOrg/General-Discussion#contribution-rules-for-developers) section.
10 |
11 | ### Contributing as a non developer
12 |
13 | In case you just want to for example improve a translation, you can find the way of doing
14 | it [here](https://github.com/FossifyOrg/General-Discussion#how-can-i-suggest-an-edit-to-a-file).
15 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source "https://rubygems.org"
2 |
3 | gem "fastlane"
4 | gem "fastlane-plugin-fossify", "~> 1.0"
5 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Fossify Notes
2 |
3 |
4 |
5 |
6 | Introducing Fossify Notes – your ultimate tool for effortless note-taking, organization, and planning. Simplify your life with this intuitive organizer designed to streamline your tasks and ideas effortlessly.
7 |
8 | **🗒️ SIMPLE NOTE-TAKING:**
9 | Fossify Notes lets you quickly jot down shopping lists, address reminders, or brilliant startup ideas with just a tap. Say goodbye to clutter and hello to efficient note creation. No more fussing over complex setups.
10 |
11 | **📋 REMARKABLE ORGANIZATION:**
12 | Stay on top of your duties with ease using Fossify Notes' simple-to-use organizer and colorful note-taking widget. Never forget crucial information or shopping lists again – it's all at your fingertips.
13 |
14 | **💾 AUTOMATIC SAVING:**
15 | Forget about losing your work. Fossify Notes automatically saves your edits, ensuring that your changes are always preserved. Create multiple independent notes and lists effortlessly.
16 |
17 | **🖼️ CUSTOMIZABLE WIDGET:**
18 | Access your lists and manage your to-do tasks in a flash with Fossify Notes' customizable widget. Enjoy seamless organization on the go with just a tap.
19 |
20 | **🚫 AD-FREE AND PRIVACY-FOCUSED:**
21 | Enjoy a clutter-free experience with Fossify Notes – no ads or unnecessary permissions. Fossify Notes operates offline without internet permission ensuring a stable and secure environment for your notes.
22 |
23 | **🔓 OPEN-SOURCE FREEDOM:**
24 | Fossify Notes is fully open-source, offering customizable colors and providing transparency and flexibility for users. Experience the freedom of customization and peace of mind with a community-driven note-taking solution.
25 |
26 | Experience the simplicity and efficiency of note-taking with Fossify Notes. Download now and unlock the power of organized thinking.
27 |
28 | ➡️ Explore more Fossify apps: https://www.fossify.org
29 | ➡️ Open-Source Code: https://www.github.com/FossifyOrg
30 | ➡️ Join the community on Reddit: https://www.reddit.com/r/Fossify
31 | ➡️ Connect on Telegram: https://t.me/Fossify
32 |
33 |
38 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | /foss/
3 | /gplay/
4 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | -keep class org.fossify.notes.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 |
5 |
--------------------------------------------------------------------------------
/app/src/foss/res/values/bools.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | true
4 | true
5 | true
6 |
7 |
--------------------------------------------------------------------------------
/app/src/gplay/res/values/bools.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 | false
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/App.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes
2 |
3 | import org.fossify.commons.FossifyApp
4 |
5 | class App : FossifyApp() {
6 | override val isAppLockFeatureAvailable = true
7 | }
8 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/activities/SimpleActivity.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.activities
2 |
3 | import org.fossify.commons.activities.BaseSimpleActivity
4 | import org.fossify.notes.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,
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_orange,
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 | override fun getRepositoryName() = "Notes"
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/activities/SplashActivity.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.activities
2 |
3 | import android.content.Intent
4 | import org.fossify.commons.activities.BaseSplashActivity
5 | import org.fossify.notes.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/org/fossify/notes/dialogs/DateTimePatternInfoDialog.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.dialogs
2 |
3 | import org.fossify.commons.activities.BaseSimpleActivity
4 | import org.fossify.commons.extensions.getAlertDialogBuilder
5 | import org.fossify.commons.extensions.setupDialogStuff
6 | import org.fossify.notes.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(org.fossify.commons.R.string.ok) { _, _ -> { } }
14 | .apply {
15 | activity.setupDialogStuff(view, this)
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/dialogs/DeleteNoteDialog.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.dialogs
2 |
3 | import androidx.appcompat.app.AlertDialog
4 | import org.fossify.commons.extensions.beVisible
5 | import org.fossify.commons.extensions.getAlertDialogBuilder
6 | import org.fossify.commons.extensions.setupDialogStuff
7 | import org.fossify.notes.R
8 | import org.fossify.notes.activities.SimpleActivity
9 | import org.fossify.notes.databinding.DialogDeleteNoteBinding
10 | import org.fossify.notes.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(org.fossify.commons.R.string.delete) { dialog, which -> dialogConfirmed(binding.deleteNoteCheckbox.isChecked) }
30 | .setNegativeButton(org.fossify.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/org/fossify/notes/dialogs/EditTaskDialog.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.dialogs
2 |
3 | import android.app.Activity
4 | import android.content.DialogInterface.BUTTON_POSITIVE
5 | import org.fossify.commons.extensions.*
6 | import org.fossify.notes.databinding.DialogRenameChecklistItemBinding
7 |
8 | class EditTaskDialog(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(org.fossify.commons.R.string.ok, null)
16 | .setNegativeButton(org.fossify.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(org.fossify.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/org/fossify/notes/dialogs/ExportFileDialog.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.dialogs
2 |
3 | import androidx.appcompat.app.AlertDialog
4 | import org.fossify.commons.dialogs.FilePickerDialog
5 | import org.fossify.commons.extensions.*
6 | import org.fossify.notes.R
7 | import org.fossify.notes.activities.SimpleActivity
8 | import org.fossify.notes.databinding.DialogExportFileBinding
9 | import org.fossify.notes.extensions.config
10 | import org.fossify.notes.models.Note
11 | import java.io.File
12 |
13 | class ExportFileDialog(val activity: SimpleActivity, val note: Note, val callback: (exportPath: String) -> Unit) {
14 |
15 | init {
16 | var realPath = File(note.path).parent ?: activity.config.lastUsedSavePath
17 | val binding = DialogExportFileBinding.inflate(activity.layoutInflater).apply {
18 | filePath.setText(activity.humanizePath(realPath))
19 |
20 | fileName.setText(note.title)
21 | extension.setText(activity.config.lastUsedExtension)
22 | filePath.setOnClickListener {
23 | FilePickerDialog(activity, realPath, false, false, true, true) {
24 | filePath.setText(activity.humanizePath(it))
25 | realPath = it
26 | }
27 | }
28 | }
29 |
30 | activity.getAlertDialogBuilder()
31 | .setPositiveButton(org.fossify.commons.R.string.ok, null)
32 | .setNegativeButton(org.fossify.commons.R.string.cancel, null)
33 | .apply {
34 | activity.setupDialogStuff(binding.root, this, R.string.export_as_file) { alertDialog ->
35 | alertDialog.showKeyboard(binding.fileName)
36 | alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
37 | val filename = binding.fileName.value
38 | val extension = binding.extension.value
39 |
40 | if (filename.isEmpty()) {
41 | activity.toast(org.fossify.commons.R.string.filename_cannot_be_empty)
42 | return@setOnClickListener
43 | }
44 |
45 | val fullFilename = if (extension.isEmpty()) filename else "$filename.$extension"
46 | if (!fullFilename.isAValidFilename()) {
47 | activity.toast(
48 | String.format(
49 | activity.getString(
50 | org.fossify.commons.R.string.filename_invalid_characters_placeholder,
51 | fullFilename
52 | )
53 | )
54 | )
55 | return@setOnClickListener
56 | }
57 |
58 | activity.config.lastUsedExtension = extension
59 | activity.config.lastUsedSavePath = realPath
60 | callback("$realPath/$fullFilename")
61 | alertDialog.dismiss()
62 | }
63 | }
64 | }
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/dialogs/ExportFilesDialog.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.dialogs
2 |
3 | import androidx.appcompat.app.AlertDialog
4 | import org.fossify.commons.dialogs.FilePickerDialog
5 | import org.fossify.commons.extensions.*
6 | import org.fossify.notes.R
7 | import org.fossify.notes.activities.SimpleActivity
8 | import org.fossify.notes.databinding.DialogExportFilesBinding
9 | import org.fossify.notes.extensions.config
10 | import org.fossify.notes.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(org.fossify.commons.R.string.ok, null)
29 | .setNegativeButton(org.fossify.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/org/fossify/notes/dialogs/ExportNotesDialog.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.dialogs
2 |
3 | import androidx.appcompat.app.AlertDialog
4 | import org.fossify.commons.extensions.*
5 | import org.fossify.notes.R
6 | import org.fossify.notes.activities.SimpleActivity
7 | import org.fossify.notes.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(org.fossify.commons.R.string.notes))
16 | append("_")
17 | append(root.context.getCurrentFormattedDateTime())
18 | }
19 | )
20 | }
21 |
22 | activity.getAlertDialogBuilder().setPositiveButton(org.fossify.commons.R.string.ok, null).setNegativeButton(org.fossify.commons.R.string.cancel, null)
23 | .apply {
24 | activity.setupDialogStuff(binding.root, this, R.string.export_notes) { alertDialog ->
25 | alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
26 |
27 | val filename = binding.exportNotesFilename.value
28 | when {
29 | filename.isEmpty() -> activity.toast(org.fossify.commons.R.string.empty_name)
30 | filename.isAValidFilename() -> {
31 | callback(filename)
32 | alertDialog.dismiss()
33 | }
34 |
35 | else -> activity.toast(org.fossify.commons.R.string.invalid_name)
36 | }
37 | }
38 | }
39 | }
40 | }
41 | }
42 |
43 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/dialogs/NewNoteDialog.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.dialogs
2 |
3 | import android.app.Activity
4 | import android.content.DialogInterface.BUTTON_POSITIVE
5 | import org.fossify.commons.extensions.*
6 | import org.fossify.commons.helpers.PROTECTION_NONE
7 | import org.fossify.commons.helpers.ensureBackgroundThread
8 | import org.fossify.notes.R
9 | import org.fossify.notes.databinding.DialogNewNoteBinding
10 | import org.fossify.notes.extensions.config
11 | import org.fossify.notes.extensions.notesDB
12 | import org.fossify.notes.models.Note
13 | import org.fossify.notes.models.NoteType
14 |
15 | class NewNoteDialog(val activity: Activity, title: String? = null, val setChecklistAsDefault: Boolean, callback: (note: Note) -> Unit) {
16 | init {
17 | val binding = DialogNewNoteBinding.inflate(activity.layoutInflater).apply {
18 | val defaultType = when {
19 | setChecklistAsDefault -> typeChecklist.id
20 | activity.config.lastCreatedNoteType == NoteType.TYPE_TEXT.value -> typeTextNote.id
21 | else -> typeChecklist.id
22 | }
23 |
24 | newNoteType.check(defaultType)
25 | }
26 |
27 | binding.lockedNoteTitle.setText(title)
28 |
29 | activity.getAlertDialogBuilder()
30 | .setPositiveButton(org.fossify.commons.R.string.ok, null)
31 | .setNegativeButton(org.fossify.commons.R.string.cancel, null)
32 | .apply {
33 | activity.setupDialogStuff(binding.root, this, R.string.new_note) { alertDialog ->
34 | alertDialog.showKeyboard(binding.lockedNoteTitle)
35 | alertDialog.getButton(BUTTON_POSITIVE).setOnClickListener {
36 | val newTitle = binding.lockedNoteTitle.value
37 | ensureBackgroundThread {
38 | when {
39 | newTitle.isEmpty() -> activity.toast(R.string.no_title)
40 | activity.notesDB.getNoteIdWithTitle(newTitle) != null -> activity.toast(R.string.title_taken)
41 | else -> {
42 | val type = if (binding.newNoteType.checkedRadioButtonId == binding.typeChecklist.id) {
43 | NoteType.TYPE_CHECKLIST
44 | } else {
45 | NoteType.TYPE_TEXT
46 | }
47 |
48 | activity.config.lastCreatedNoteType = type.value
49 | val newNote = Note(null, newTitle, "", type, "", PROTECTION_NONE, "")
50 | callback(newNote)
51 | alertDialog.dismiss()
52 | }
53 | }
54 | }
55 | }
56 | }
57 | }
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/dialogs/OpenFileDialog.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.dialogs
2 |
3 | import androidx.appcompat.app.AlertDialog
4 | import org.fossify.commons.extensions.getAlertDialogBuilder
5 | import org.fossify.commons.extensions.getFilenameFromPath
6 | import org.fossify.commons.extensions.humanizePath
7 | import org.fossify.commons.extensions.setupDialogStuff
8 | import org.fossify.commons.helpers.PROTECTION_NONE
9 | import org.fossify.notes.R
10 | import org.fossify.notes.activities.SimpleActivity
11 | import org.fossify.notes.databinding.DialogOpenFileBinding
12 | import org.fossify.notes.models.Note
13 | import org.fossify.notes.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(org.fossify.commons.R.string.ok, null)
26 | .setNegativeButton(org.fossify.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/org/fossify/notes/dialogs/OpenNoteDialog.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.dialogs
2 |
3 | import androidx.appcompat.app.AlertDialog
4 | import androidx.recyclerview.widget.StaggeredGridLayoutManager
5 | import org.fossify.commons.activities.BaseSimpleActivity
6 | import org.fossify.commons.extensions.getAlertDialogBuilder
7 | import org.fossify.commons.extensions.setupDialogStuff
8 | import org.fossify.commons.views.AutoStaggeredGridLayoutManager
9 | import org.fossify.notes.R
10 | import org.fossify.notes.adapters.OpenNoteAdapter
11 | import org.fossify.notes.databinding.DialogOpenNoteBinding
12 | import org.fossify.notes.helpers.NotesHelper
13 | import org.fossify.notes.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(org.fossify.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/org/fossify/notes/extensions/Fragment.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.extensions
2 |
3 | import androidx.fragment.app.Fragment
4 | import org.fossify.notes.helpers.Config
5 |
6 | val Fragment.config: Config? get() = if (context != null) Config.newInstance(context!!) else null
7 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/extensions/String.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.extensions
2 |
3 | import com.google.gson.Gson
4 | import com.google.gson.reflect.TypeToken
5 | import org.fossify.notes.models.Task
6 |
7 | fun String.parseChecklistItems(): ArrayList? {
8 | if (startsWith("[{") && endsWith("}]")) {
9 | try {
10 | val taskType = object : TypeToken>() {}.type
11 | return Gson().fromJson>(this, taskType) ?: null
12 | } catch (e: Exception) {
13 | }
14 | }
15 | return null
16 | }
17 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/helpers/CollatorBasedComparator.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.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/org/fossify/notes/helpers/MyMovementMethod.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.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(
45 | buffer,
46 | buffer.getSpanStart(links[0]),
47 | buffer.getSpanEnd(links[0])
48 | )
49 | }
50 | return true
51 | }
52 | }
53 |
54 | return super.onTouchEvent(widget, buffer, event)
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/interfaces/NotesDao.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.interfaces
2 |
3 | import androidx.room.*
4 | import org.fossify.notes.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/org/fossify/notes/interfaces/TasksActionListener.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.interfaces
2 |
3 | import org.fossify.notes.models.Task
4 |
5 | interface TasksActionListener {
6 | fun editTask(task: Task, callback: () -> Unit)
7 |
8 | fun deleteTasks(tasksToDelete: List)
9 |
10 | fun moveTask(fromPosition: Int, toPosition: Int)
11 |
12 | fun moveTasksToTop(taskIds: List)
13 |
14 | fun moveTasksToBottom(taskIds: List)
15 |
16 | fun saveAndReload()
17 | }
18 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/interfaces/WidgetsDao.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.interfaces
2 |
3 | import androidx.room.Dao
4 | import androidx.room.Insert
5 | import androidx.room.OnConflictStrategy
6 | import androidx.room.Query
7 | import org.fossify.notes.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/org/fossify/notes/models/Note.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.models
2 |
3 | import android.content.Context
4 | import android.net.Uri
5 | import androidx.room.*
6 | import kotlinx.serialization.Serializable
7 | import org.fossify.commons.extensions.isBiometricIdAvailable
8 | import org.fossify.commons.helpers.PROTECTION_FINGERPRINT
9 | import org.fossify.commons.helpers.PROTECTION_NONE
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 [Task]
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/org/fossify/notes/models/NoteType.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.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/org/fossify/notes/models/NoteTypeConverter.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.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/org/fossify/notes/models/Task.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.models
2 |
3 | import kotlinx.serialization.Serializable
4 | import org.fossify.commons.helpers.SORT_BY_TITLE
5 | import org.fossify.commons.helpers.SORT_DESCENDING
6 | import org.fossify.notes.helpers.CollatorBasedComparator
7 |
8 | sealed class NoteItem
9 |
10 | @Serializable
11 | data class Task(
12 | val id: Int,
13 | val dateCreated: Long = 0L,
14 | val title: String,
15 | val isDone: Boolean
16 | ) : NoteItem(), Comparable {
17 |
18 | companion object {
19 | var sorting = 0
20 | }
21 |
22 | override fun compareTo(other: Task): Int {
23 | var result = when {
24 | sorting and SORT_BY_TITLE != 0 -> CollatorBasedComparator().compare(title, other.title)
25 | else -> dateCreated.compareTo(other.dateCreated)
26 | }
27 |
28 | if (sorting and SORT_DESCENDING != 0) {
29 | result *= -1
30 | }
31 |
32 | return result
33 | }
34 | }
35 |
36 | data class CompletedTasks(
37 | val tasks: List,
38 | val expanded: Boolean
39 | ) : NoteItem() {
40 | val id = -42
41 | }
42 |
43 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/models/TextHistory.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.models
2 |
3 | import java.util.LinkedList
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/org/fossify/notes/models/TextHistoryItem.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.models
2 |
3 | data class TextHistoryItem(val start: Int, val before: CharSequence?, val after: CharSequence?)
4 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/models/Widget.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.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/org/fossify/notes/receivers/AutomaticBackupReceiver.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.receivers
2 |
3 | import android.content.BroadcastReceiver
4 | import android.content.Context
5 | import android.content.Intent
6 | import android.os.PowerManager
7 | import org.fossify.notes.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/org/fossify/notes/receivers/BootCompletedReceiver.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.receivers
2 |
3 | import android.content.BroadcastReceiver
4 | import android.content.Context
5 | import android.content.Intent
6 | import org.fossify.commons.helpers.ensureBackgroundThread
7 | import org.fossify.notes.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/org/fossify/notes/services/WidgetService.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.services
2 |
3 | import android.content.Intent
4 | import android.widget.RemoteViewsService
5 | import org.fossify.notes.adapters.WidgetAdapter
6 |
7 | class WidgetService : RemoteViewsService() {
8 | override fun onGetViewFactory(intent: Intent) = WidgetAdapter(applicationContext, intent)
9 | }
10 |
--------------------------------------------------------------------------------
/app/src/main/kotlin/org/fossify/notes/views/MyHorizontalScrollView.kt:
--------------------------------------------------------------------------------
1 | package org.fossify.notes.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.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/drawable-nodpi/img_widget_preview.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/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/fragment_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
22 |
23 |
34 |
35 |
45 |
46 |
47 |
48 |
53 |
54 |
58 |
59 |
60 |
61 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_add_checklist.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_checked_tasks.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
17 |
18 |
33 |
34 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_checklist.xml:
--------------------------------------------------------------------------------
1 |
2 |
15 |
16 |
26 |
27 |
38 |
39 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/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 |
14 |
15 |
24 |
25 |
38 |
39 |
49 |
50 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/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 |
7 |
8 |
16 |
17 |
25 |
26 |
34 |
35 |
44 |
45 |
54 |
55 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/cab_checklist.xml:
--------------------------------------------------------------------------------
1 |
2 |
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_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_orange.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.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_amber.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_amber.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_blue.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_blue.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_blue_grey.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_blue_grey.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_brown.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_brown.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_cyan.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_cyan.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_deep_orange.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_deep_orange.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_deep_purple.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_deep_purple.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_grey_black.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_grey_black.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_indigo.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_indigo.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_light_blue.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_light_blue.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_light_green.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_light_green.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_lime.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_lime.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_orange.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_orange.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_pink.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_pink.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_purple.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_purple.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_red.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_red.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_teal.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_teal.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_yellow.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-hdpi/ic_launcher_yellow.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_amber.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_amber.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_blue.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_blue.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_blue_grey.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_blue_grey.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_brown.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_brown.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_cyan.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_cyan.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_deep_orange.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_deep_orange.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_deep_purple.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_deep_purple.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_grey_black.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_grey_black.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_indigo.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_indigo.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_light_blue.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_light_blue.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_light_green.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_light_green.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_lime.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_lime.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_orange.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_orange.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_pink.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_pink.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_purple.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_purple.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_red.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_red.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_teal.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_teal.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_yellow.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-mdpi/ic_launcher_yellow.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_amber.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_amber.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_blue.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_blue.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_blue_grey.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_blue_grey.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_brown.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_brown.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_cyan.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_cyan.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_deep_orange.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_deep_orange.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_deep_purple.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_deep_purple.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_grey_black.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_grey_black.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_indigo.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_indigo.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_light_blue.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_light_blue.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_light_green.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_light_green.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_lime.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_lime.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_orange.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_orange.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_pink.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_pink.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_purple.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_purple.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_red.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_red.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_teal.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_teal.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_yellow.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xhdpi/ic_launcher_yellow.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_amber.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_amber.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_blue.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_blue.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_blue_grey.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_blue_grey.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_brown.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_brown.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_cyan.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_cyan.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_deep_orange.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_deep_orange.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_deep_purple.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_deep_purple.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_grey_black.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_grey_black.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_indigo.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_indigo.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_light_blue.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_light_blue.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_light_green.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_light_green.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_lime.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_lime.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_orange.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_orange.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_pink.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_pink.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_purple.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_purple.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_red.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_red.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_teal.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_teal.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_yellow.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxhdpi/ic_launcher_yellow.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_amber.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_amber.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_blue.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_blue.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_blue_grey.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_blue_grey.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_brown.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_brown.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_cyan.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_cyan.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_deep_orange.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_deep_orange.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_deep_purple.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_deep_purple.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_grey_black.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_grey_black.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_indigo.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_indigo.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_light_blue.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_light_blue.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_light_green.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_light_green.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_lime.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_lime.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_orange.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_orange.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_pink.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_pink.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_purple.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_purple.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_red.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_red.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_teal.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_teal.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_yellow.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/app/src/main/res/mipmap-xxxhdpi/ic_launcher_yellow.webp
--------------------------------------------------------------------------------
/app/src/main/res/values-az/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Qeydlər
4 | Boş mətni paylaşmaq olmur
5 | Yeni qeyd əlavə et
6 | Qeydi adlandırın
7 | Bu başlıqda qeyd artıq mövcuddur
8 | Qeydi aç
9 | Qeydi sil
10 | \"%s\" qeydini silmək istədiyinizə əminsiniz\?
11 | Qeyd götür
12 | Qeydi yenidən adlandır
13 | Ümumi qeyd
14 | Yeni qeyd yarat
15 | Qeydə əlavə et
16 | Faylı Aç
17 | Fayl kimi çıxar
18 | Fayl çox böyükdür, limit 1mb\"dır
19 | Yalnız fayl məzmununu daxil et
20 | \n(faylı dəyişmək qeydı təsir etməyəcək)
21 | Qeydi təzələdikdə faylı da təzələ
22 | \n(fayl silinirsə qeyd də silinər və ya yeri dəyişər)
23 | Həmçinin \"%s\" faylını da sil
24 | \"%s\" qeydi uğurla saxlandı
25 | \"%s\" qeydi uğurla çıxarıldı
26 | Only export the current file content
27 | \n(changing the note will not affect the file)
28 | Uğurlu saxlama mesajını göstər
29 | Keçidləri və e-poçtları toxuna bilən et
30 | Kursoru qeydin sonunda yerləşdir
31 | Tək aralıqlı şrift işlət
32 | Başlanğıcda klaviaturanı göstər
33 | Söz sayını göstər
34 | Sıra
35 | Sol
36 | Mərkəz
37 | Sağ
38 | Widgetdə işlədilmiş qeyd
39 | Başlanğıcda qeyd götürəni göstər
40 | Qeydləri avtomatik saxla
41 | Cız sarğısını göstər
42 | Qovluq daxil et
43 |
44 |
--------------------------------------------------------------------------------
/app/src/main/res/values-b+es+419/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-bn-rBD/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-bn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-br/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-bs/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ckb/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-cr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-en-rGB/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-en-rIN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-es-rUS/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-fil/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ia/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Aperir un file
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values-is/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-kn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ko/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-kr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ltg/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-lv/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-mk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ml/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | കുറിപ്പുകൾ ഇറക്കുമതി ചെയ്യുക
4 | പരിശോധിച്ച ഇനങ്ങൾ ഇല്ലാതാക്കുക
5 |
6 | - %d പരിശോധിച്ച ഇനം
7 | - %d പരിശോധിച്ച ഇനങ്ങൾ
8 |
9 | ദയവായി നിങ്ങളുടെ കുറിപ്പിന് പേര് നൽകുക
10 | കുറിപ്പുകൾ
11 | ആ തലക്കെട്ടുള്ള ഒരു കുറിപ്പ് ഇതിനകം നിലവിലുണ്ട്
12 | കുറിപ്പ് തുറക്കുക
13 | കുറിപ്പ് ഇല്ലാതാക്കുക
14 | \"%s\" എന്ന കുറിപ്പ് ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?
15 | ഒരു കുറിപ്പ് തിരഞ്ഞെടുക്കുക
16 | കുറിപ്പ് പുനർനാമകരണം ചെയ്യുക
17 | പൊതു കുറിപ്പ്
18 | ഒരു പുതിയ കുറിപ്പ് സൃഷ്ടിക്കുക
19 | ശൂന്യമായ വാചകം പങ്കിടാൻ കഴിയില്ല
20 | ഒരു പുതിയ കുറിപ്പ് ചേർക്കുക
21 | വാചക കുറിപ്പ്
22 | പുതിയ കുറിപ്പ് തരം:
23 | ഫോസിഫൈ നോട്ടുകൾ ഉപയോഗിച്ചതിന് നന്ദി.\nഫോസിഫൈയിൽ നിന്നുള്ള കൂടുതൽ ആപ്പുകൾക്കായി, ദയവായി fossify.org സന്ദർശിക്കുക.
24 | ഉള്ളടക്കം കാണിക്കുക
25 | പുതിയ വാചക കുറിപ്പ്
26 | വിജയിച്ച സന്ദേശങ്ങൾ പ്രദർശിപ്പിക്കുക
27 | കുറിപ്പ് \"%s\" വിജയകരമായി സംരക്ഷിച്ചു
28 | കുറിപ്പ് \"%s\" വിജയകരമായി കയറ്റുമതി ചെയ്തു
29 | കുറിപ്പിലേക്ക് ചേർക്കുക
30 | കുറിപ്പിൻ്റെ ശീർഷകം കാണിക്കുക
31 | നിങ്ങൾക്ക് സംരക്ഷിക്കാത്ത ചില മാറ്റങ്ങളുണ്ട്. അവരുമായി നിങ്ങൾ എന്താണ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നത്?
32 | പരിശോധിച്ച ഇനങ്ങൾ താഴേക്ക് നീക്കുക
33 | മുന്നറിയിപ്പ്: നിങ്ങൾ കുറിപ്പുകളുടെ പാസ്വേഡ് മറന്നാൽ, നിങ്ങൾക്ക് അത് വീണ്ടെടുക്കാനോ കുറിപ്പുകളുടെ ഉള്ളടക്കം പ്രവേശനം ചെയ്യാനോ കഴിയില്ല.
34 | മുകളിൽ ചേർക്കുക
35 | കുറിപ്പുകൾ കയറ്റുമതി ചെയ്യുക
36 | കുറിപ്പുകൾ ഇറക്കുമതി ചെയ്യുക (പ്രൊ)
37 | വാക്കുകളുടെ എണ്ണം കാണിക്കുക
38 | ഇടത്
39 | കേന്ദ്രം
40 | വലത്
41 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ms/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Only import the file content
4 | \n(changing the file will not affect the note)
5 | Update the file itself at updating the note
6 | \n(note gets deleted if file gets deleted, or path changes)
7 | Only export the current file content
8 | \n(changing the note will not affect the file)
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ne/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-nn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-or/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-pa/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sat/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values-si/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-ta/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-te/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-zgh/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values-zh-rHK/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 | 56dp
3 | 48dp
4 | 150dp
5 | 150dp
6 | 500dp
7 | 200dp
8 | 76dp
9 | 56dp
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/values/donottranslate.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | org.fossify.notes
4 | Fossify Notes
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values/integers.xml:
--------------------------------------------------------------------------------
1 |
2 | 2048
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/widget_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
--------------------------------------------------------------------------------
/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | alias(libs.plugins.android).apply(false)
3 | alias(libs.plugins.kotlinAndroid).apply(false)
4 | alias(libs.plugins.ksp).apply(false)
5 | alias(libs.plugins.kotlinSerialization).apply(false)
6 | alias(libs.plugins.detekt).apply(false)
7 | }
8 |
--------------------------------------------------------------------------------
/fastlane/Appfile:
--------------------------------------------------------------------------------
1 | json_key_file("fastlane/fastlane.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
2 | package_name("org.fossify.notes") # e.g. com.krausefx.app
3 |
--------------------------------------------------------------------------------
/fastlane/Fastfile:
--------------------------------------------------------------------------------
1 | default_platform(:android)
2 |
3 | platform :android do
4 | desc 'Run unit & instrumentation tests'
5 | lane(:test) { test_android }
6 |
7 | desc 'Build & deploy AAB to Google Play (includes metadata)'
8 | lane(:deploy) { deploy_android }
9 |
10 | desc 'Push Play Store metadata'
11 | lane(:metadata) { metadata_android }
12 | end
13 |
--------------------------------------------------------------------------------
/fastlane/README.md:
--------------------------------------------------------------------------------
1 | fastlane documentation
2 | ----
3 |
4 | # Installation
5 |
6 | Make sure you have the latest version of the Xcode command line tools installed:
7 |
8 | ```sh
9 | xcode-select --install
10 | ```
11 |
12 | For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)
13 |
14 | # Available Actions
15 |
16 | ## Android
17 |
18 | ### android test
19 |
20 | ```sh
21 | [bundle exec] fastlane android test
22 | ```
23 |
24 | Run unit & instrumentation tests
25 |
26 | ### android deploy
27 |
28 | ```sh
29 | [bundle exec] fastlane android deploy
30 | ```
31 |
32 | Build & deploy AAB to Google Play (includes metadata)
33 |
34 | ### android metadata
35 |
36 | ```sh
37 | [bundle exec] fastlane android metadata
38 | ```
39 |
40 | Push Play Store metadata
41 |
42 | ----
43 |
44 | This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
45 |
46 | More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).
47 |
48 | The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
49 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/cs-CZ/full_description.txt:
--------------------------------------------------------------------------------
1 | Představujeme Poznámky Fossify – váš ultimátní nástroj pro jednoduchý záznam poznámek, organizaci a plánování. Zjednodušte svůj život naším intuitivním organizérem navrženým pro zefektivnění vašich úkolů a nápadů.
2 |
3 | 🗒️ JEDNODUCHÉ POZNÁMKY:
4 | Poznámky Fossify vám umožní rychle zapsat nákupní seznamy, adresní připomínky nebo skvělé nápady na startupy jedním klepnutím. Řekněte sbohem nepořádku a přivítejte efektivní tvorbu poznámek. Bez složitých nastavení.
5 |
6 | 📋 VÝJIMEČNÁ ORGANIZACE:
7 | S aplikací Poznámky Fossify snadno udržíte přehled o svých povinnostech díky jednoduchému organizéru a barevnému widgetu pro poznámky. Už nikdy nezapomenete důležité informace nebo nákupní seznamy – vše máte po ruce.
8 |
9 | 💾 AUTOMATICKÉ UKLÁDÁNÍ:
10 | Zapomeňte na ztrátu vaší práce. Aplikace Poznámky Fossify automaticky ukládá vaše úpravy, čímž zajistí, že vaše změny se nikdy neztratí. Jednoduše vytvářejte neomezený počet nezávislých poznámek.
11 |
12 | 🖼️ UPRAVITELNÝ WIDGET:
13 | Přistupujte ke svým seznamům a spravujte své úkoly na seznamu rychle pomocí upravitelného widgetu aplikace Poznámky Fossify. Užívejte si plynulou organizaci na cestách jedním klepnutím.
14 |
15 | 🚫 BEZ REKLAM A ZAMĚŘENO NA SOUKROMÍ:
16 | Užívejte si bezproblémovou práci s aplikací Poznámky Fossify – neobsahuje žádné reklamy nebo zbytečná oprávnění. Poznámky Fossify fungují offline bez povolení k internetu, čímž zajistí stabilní a bezpečné prostředí pro vaše poznámky.
17 |
18 | 🔓 SVOBODA OTEVŘENÉHO ZDROJE:
19 | Aplikace Poznámky Fossify je plně open-source, nabízí upravitelné barvy a poskytuje transparentnost a flexibilitu pro uživatele. Zažijte svobodu přizpůsobení a klid s komunitně vyvíjeným řešením pro poznámky.
20 |
21 | Zažijte jednoduchost a efektivitu tvorby poznámek s Fossify Notes. Stáhněte si aplikaci nyní a odemkněte sílu organizovaného myšlení.
22 |
23 | Prozkoumejte další aplikace Fossify: https://www.fossify.org
24 | Otevřený zdrojový kód: https://www.github.com/FossifyOrg
25 | Připojte se ke komunitě na Redditu: https://www.reddit.com/r/Fossify
26 | Připojte se k Telegramu: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/cs-CZ/short_description.txt:
--------------------------------------------------------------------------------
1 | Widget seznamu úkolů s organizací, zaškrtávací pole, jednoduchý nákupní seznam
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/full_description.txt:
--------------------------------------------------------------------------------
1 | Wir stellen vor: Fossify Notes – dein ultimatives Werkzeug für müheloses Notieren, Organisieren und Planen. Vereinfache dein Leben mit diesem intuitiven Organizer, mit dem du deine Aufgaben und Ideen mühelos organisieren kannst.
2 |
3 | 🗒️ EINFACHES NOTIZENMACHEN:
4 | Mit Fossify Notes kannst du Einkaufslisten, Adresserinnerungen oder brillante Startup-Ideen mit nur einem Fingertipp notieren. Verabschiede dich von der Unordnung und begrüße die effiziente Erstellung von Notizen. Kein lästiges Einrichten mehr.
5 |
6 | 📋 BEMERKENSWERTE ORGANISATION:
7 | Mit dem einfach zu bedienenden Organizer und dem farbenfrohen Notiz-Widget von Fossify Notes behältst du mühelos den Überblick über deine Aufgaben. Vergiss nie wieder wichtige Informationen oder Einkaufslisten – du hast alles sofort zur Hand.
8 |
9 | 💾 AUTOMATISCHES SPEICHERN:
10 | Vergiss, dass du deine Arbeit verlieren könntest. Fossify Notes speichert deine Bearbeitungen automatisch und stellt so sicher, dass deine Änderungen immer erhalten bleiben. Du kannst mühelos mehrere unabhängige Notizen und Listen erstellen.
11 |
12 | 🖼️ ANPASSBARES WIDGET:
13 | Mit dem anpassbaren Widget von Fossify Notes kannst du im Handumdrehen auf deine Listen zugreifen und deine To-Do-Aufgaben verwalten. Genieße die nahtlose Organisation unterwegs mit nur einem Fingertipp.
14 |
15 | 🚫 WERBEFREI UND DATENSCHUTZORIENTIERT:
16 | Fossify Notes ist völlig werbefrei und ohne unnötige Berechtigungen. Fossify Notes funktioniert offline ohne Internetzugang und bietet eine stabile und sichere Umgebung für deine Notizen.
17 |
18 | 🔓 OPEN-SOURCE-FREIHEIT:
19 | Fossify Notes ist vollständig quelloffen, bietet anpassbare Farben und sorgt für Transparenz und Flexibilität für die Nutzer. Erlebe die Freiheit der Anpassung und den Seelenfrieden mit einer von der Community betriebenen Lösung für Notizen.
20 |
21 | Erlebe die Einfachheit und Effizienz von Notizen mit Fossify Notes. Jetzt herunterladen und die Kraft des organisierten Denkens entdecken.
22 |
23 | Entdecke weitere Apps von Fossify: https://www.fossify.org
24 | Open-Source-Code: https://www.github.com/FossifyOrg
25 | Tritt der Community auf Reddit bei: https://www.reddit.com/r/Fossify
26 | Verbinde dich auf Telegram: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/short_description.txt:
--------------------------------------------------------------------------------
1 | Aufgabenlisten-Widget mit Notizbuch, Checkliste, einfacher Einkaufsliste
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/2.txt:
--------------------------------------------------------------------------------
1 | * Initial release
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/3.txt:
--------------------------------------------------------------------------------
1 | * Added collapsible checked items section at the bottom
2 | * Minor bug fixes and improvements
3 | * Added new translations
4 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/4.txt:
--------------------------------------------------------------------------------
1 | * Fixed security vulnerability in app lock
2 | * Minor bug fixes and improvements
3 | * Added new translations
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelogs/5.txt:
--------------------------------------------------------------------------------
1 | Added:
2 |
3 | • Support for per-note sorting
4 |
5 | Changed:
6 |
7 | • Replaced checkboxes in settings with switches
8 | • Moved "Move checked items to the bottom" sort option to app settings
9 | • Updated translations
10 |
11 | Fixed:
12 |
13 | • Multiline pastes are now correctly reflected in the UI
14 | • Fixed sorting in widgets and Open Notes dialog
15 | • Corrected security label color in settings
16 |
17 | Removed:
18 |
19 | • Dropped support for Android 7 and older versions
20 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/full_description.txt:
--------------------------------------------------------------------------------
1 | Introducing Fossify Notes – your ultimate tool for effortless note-taking, organization, and planning. Simplify your life with this intuitive organizer designed to streamline your tasks and ideas effortlessly.
2 |
3 | 🗒️ SIMPLE NOTE-TAKING:
4 | Fossify Notes lets you quickly jot down shopping lists, address reminders, or brilliant startup ideas with just a tap. Say goodbye to clutter and hello to efficient note creation. No more fussing over complex setups.
5 |
6 | 📋 REMARKABLE ORGANIZATION:
7 | Stay on top of your duties with ease using Fossify Notes' simple-to-use organizer and colorful note-taking widget. Never forget crucial information or shopping lists again – it's all at your fingertips.
8 |
9 | 💾 AUTOMATIC SAVING:
10 | Forget about losing your work. Fossify Notes automatically saves your edits, ensuring that your changes are always preserved. Create multiple independent notes and lists effortlessly.
11 |
12 | 🖼️ CUSTOMIZABLE WIDGET:
13 | Access your lists and manage your to-do tasks in a flash with Fossify Notes' customizable widget. Enjoy seamless organization on the go with just a tap.
14 |
15 | 🚫 AD-FREE AND PRIVACY-FOCUSED:
16 | Enjoy a clutter-free experience with Fossify Notes – no ads or unnecessary permissions. Fossify Notes operates offline without internet permission ensuring a stable and secure environment for your notes.
17 |
18 | 🔓 OPEN-SOURCE FREEDOM:
19 | Fossify Notes is fully open-source, offering customizable colors and providing transparency and flexibility for users. Experience the freedom of customization and peace of mind with a community-driven note-taking solution.
20 |
21 | Experience the simplicity and efficiency of note-taking with Fossify Notes. Download now and unlock the power of organized thinking.
22 |
23 | Explore more Fossify apps: https://www.fossify.org
24 | Open-Source Code: https://www.github.com/FossifyOrg
25 | Join the community on Reddit: https://www.reddit.com/r/Fossify
26 | Connect on Telegram: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/featureGraphic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/featureGraphic.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/icon.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/2_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/phoneScreenshots/2_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/3_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/phoneScreenshots/3_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/4_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/phoneScreenshots/4_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/5_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/phoneScreenshots/5_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/6_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/phoneScreenshots/6_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/tenInchScreenshots/1_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/tenInchScreenshots/1_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/tenInchScreenshots/2_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/tenInchScreenshots/2_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/tenInchScreenshots/3_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/tenInchScreenshots/3_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/tenInchScreenshots/4_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/tenInchScreenshots/4_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/tenInchScreenshots/5_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/tenInchScreenshots/5_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/tenInchScreenshots/6_en-US.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/fastlane/metadata/android/en-US/images/tenInchScreenshots/6_en-US.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/short_description.txt:
--------------------------------------------------------------------------------
1 | To do list widget with a notebook organizer, checklist, simple shopping list
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/title.txt:
--------------------------------------------------------------------------------
1 | Fossify Notes Beta
--------------------------------------------------------------------------------
/fastlane/metadata/android/eo/short_description.txt:
--------------------------------------------------------------------------------
1 | Taska fenestraĵo kun kajero-ordigilo, kontrololisto kaj simpla aĉetolisto
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/es-ES/full_description.txt:
--------------------------------------------------------------------------------
1 | Presentamos Fossify Notes – su herramienta definitiva para tomar notas, organizar y planificar sin esfuerzo. Simplifica tu vida con este organizador intuitivo diseñado para agilizar tus tareas e ideas sin esfuerzo.
2 |
3 | 🗒️ TOMA DE NOTAS SENCILLA:
4 | Fossify Notes le permite anotar rápidamente listas de compras, recordatorios de direcciones o brillantes ideas de inicio con solo un toque. Diga adiós al desorden y hola a la creación eficiente de notas. No más alboroto por configuraciones complejas.
5 |
6 | 📋 ORGANIZACIÓN NOTABLE:
7 | Manténgase al día con sus tareas con facilidad utilizando el organizador fácil de usar de Fossify Notes y el colorido widget para tomar notas. Nunca vuelva a olvidar información crucial o listas de compras: todo está al alcance de su mano.
8 |
9 | 💾 AHORRO AUTOMÁTICO:
10 | Olvídate de perder tu trabajo. Fossify Notes guarda automáticamente tus ediciones, asegurando que tus cambios siempre se conservan. Cree múltiples notas y listas independientes sin esfuerzo.
11 |
12 | 🖼️ WIDGET PERSONALIZABLE:
13 | Acceda a sus listas y administre sus tareas pendientes en un instante con el widget personalizable de Fossify Notes. Disfrute de una organización perfecta sobre la marcha con solo un toque.
14 |
15 | 🚫 SIN ANUNCIOS Y CENTRADO EN LA PRIVACIDAD:
16 | Disfrute de una experiencia sin complicaciones con Fossify Notes – sin anuncios ni permisos innecesarios. Fossify Notes funciona sin conexión sin permiso de internet garantizando un entorno estable y seguro para sus notas.
17 |
18 | 🔓 LIBERTAD DE CÓDIGO ABIERTO:
19 | Fossify Notes es totalmente de código abierto, ofreciendo colores personalizables y proporcionando transparencia y flexibilidad para los usuarios. Experimente la libertad de personalización y tranquilidad con una solución de toma de notas impulsada por la comunidad.
20 |
21 | Experimente la simplicidad y eficiencia de tomar notas con Fossify Notes. Descárgalo ahora y desbloquea el poder del pensamiento organizado.
22 |
23 | Explore más aplicaciones de Fossify: https://www.fossify.org
24 | Código abierto: https://www.github.com/FossifyOrg
25 | Únete a la comunidad en Reddit: https://www.reddit.com/r/Fossify
26 | Conéctese a Telegram: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/es-ES/short_description.txt:
--------------------------------------------------------------------------------
1 | Widget tareas con organizador, lista de comprobación y lista de compra sencilla
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/et/short_description.txt:
--------------------------------------------------------------------------------
1 | Märkmik, millega saad hallata märkmeid, koostada tööde loendit ja ostunimekirja
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/eu-ES/full_description.txt:
--------------------------------------------------------------------------------
1 | Fossify Notes aurkezten dugu: oharrak hartzeko, antolatzeko eta planifikatzeko tresna. Sinplifikatu zure bizitza zure zereginak eta ideiak errazteko diseinatutako antolatzaile intuitibo honekin.
2 |
3 | 🗒️ OHARRA HARTZEA:
4 | Fossify Notes-ek erosketa-zerrendak, helbideen abisuak edo hasierako ideia bikainak idazteko aukera ematen dizu ukitu batekin. Esan agur nahasteari eta kaixo oharren sorkuntza eraginkorrari. Ez gehiago kezkatu konfigurazio konplexuekin.
5 |
6 | 📋 ANTOLAKUNTZA NABARMENA:
7 | Egon zaitez zure betebeharren gainean erraz Fossify Notes-en antolatzaile erraza eta oharrak hartzeko widget koloretsua erabiliz. Ez ahaztu inoiz informazio garrantzitsua edo erosketa-zerrendak; dena zure esku dago.
8 |
9 | 💾 AURREZTE AUTOMATIKOA:
10 | Ahaztu zure lana galtzeaz. Fossify Notes-ek automatikoki gordetzen ditu zure aldaketak, zure aldaketak beti gordeko direla ziurtatuz. Sortu hainbat ohar eta zerrenda independente esfortzurik gabe.
11 |
12 | 🖼️ WIDGET PERTSONALIZAGARRIA:
13 | Sartu zure zerrendetan eta kudeatu egin beharreko zereginak berehala Fossify Notes-en widget pertsonalizagarriarekin. Gozatu antolakuntzarik gabe edonon eta ukitu batekin.
14 |
15 | 🚫 IRAGARKIRIK GABE ETA PRIBATUTASUNAREKIN ENGAIATUA:
16 | Gozatu nahasterik gabeko esperientziaz Fossify Notes-ekin, iragarkirik edo alferrikako baimenik gabe. Fossify Notes-ek lineaz kanpo funtzionatzen du Interneteko baimenik gabe, zure oharrentzako ingurune egonkorra eta segurua bermatuz.
17 |
18 | 🔓 KODE IREKIKO ASKATASUNA:
19 | Fossify Notes guztiz irekia da, kolore pertsonalizagarriak eskaintzen ditu eta erabiltzaileei gardentasuna eta malgutasuna eskaintzen die. Bizi ezazu pertsonalizatzeko askatasuna eta lasaitasuna komunitateak gidatutako oharrak hartzeko irtenbide batekin.
20 |
21 | Bizi ezazu oharrak hartzeko sinpletasuna eta eraginkortasuna Fossify Notes-ekin. Deskargatu orain eta desblokeatu pentsamendu antolatuaren indarra.
22 |
23 | Arakatu Fossify aplikazio gehiago: https://www.fossify.org
24 | Iturburu irekiko kodea: https://www.github.com/FossifyOrg
25 | Sartu komunitatean Reddit-en: https://www.reddit.com/r/Fossify
26 | Konektatu Telegram-en: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/ga/full_description.txt:
--------------------------------------------------------------------------------
1 | Fossify Notes a thabhairt isteach – d’uirlis deiridh chun nótaí a thógáil, a eagrú agus a phleanáil. Simpligh do shaol leis an eagraí iomasach seo atá deartha chun do thascanna agus do chuid smaointe a shruthlíniú gan stró.
2 |
3 | 🗒️ TABHAIR FAOI DEARA Simplí:
4 | Ligeann Fossify Notes duit liostaí siopadóireachta, meabhrúcháin seoltaí, nó smaointe tosaithe iontacha a bhreacadh síos go tapa gan ach sconna. Slán le tranglam agus dia duit chun nótaí a chruthú go héifeachtach. Ní mó fussing níos mó ná socruithe casta.
5 |
6 | 📋 EAGRAÍOCHT RÁTHÚIL:
7 | Fan ar do chuid dualgas gan stró agus úsáid á baint agat as eagraí simplí Fossify Notes agus as an ngiuirléid ildaite chun nótaí a ghlacadh. Ná déan dearmad go deo ar fhaisnéis ríthábhachtach nó ar liostaí siopadóireachta arís - tá sé ar fad ar do mhéar.
8 |
9 | 💾 SÁBHÁILTEACHT UATHACH:
10 | Déan dearmad faoi do chuid oibre a chailleadh. Sábhálann Fossify Notes d’athruithe go huathoibríoch, ag cinntiú go gcaomhnaítear d’athruithe i gcónaí. Cruthaigh nótaí agus liostaí neamhspleácha iomadúla gan stró.
11 |
12 | 🖼️ Giuirléid Chustaiméirí:
13 | Faigh rochtain ar do liostaí agus bainistigh do thascanna le déanamh gan mhoill le giuirléid inoiriúnaithe Fossify Notes. Bain sult as eagrú gan uaim agus tú ag dul gan ach sconna.
14 |
15 | 🚫 SAOR IN AISCE AGUS FIOSAITHE AR PHRÍOBHÁIDEACHT:
16 | Bain sult as eispéireas gan tranglam le Fossify Notes - gan aon fhógraí ná ceadanna gan ghá. Feidhmíonn Fossify Notes as líne gan cead idirlín a chinntíonn timpeallacht chobhsaí agus shlán le do chuid nótaí.
17 |
18 | 🔓 SAOIRSE FOINSE OSCAILTE:
19 | Tá Fossify Notes lánfhoinse oscailte, ag tairiscint dathanna inoiriúnaithe agus ag soláthar trédhearcachta agus solúbthachta d'úsáideoirí. Bain sult as an tsaoirse saincheaptha agus suaimhneas intinne le réiteach glactha nótaí pobal-tiomáinte.
20 |
21 | Bain sult as simplíocht agus éifeachtúlacht na nótaí a ghlacadh le Fossify Notes. Íoslódáil anois agus díghlasáil cumhacht na smaointeoireachta eagraithe.
22 |
23 | Déan tuilleadh aipeanna Fossify a iniúchadh: https://www.fossify.org
24 | Cód Foinse Oscailte: https://www.github.com/FossifyOrg
25 | Bí leis an bpobal ar Reddit: https://www.reddit.com/r/Fossify
26 | Ceangail ar Telegram: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/ga/short_description.txt:
--------------------------------------------------------------------------------
1 | Giuirléid liosta le déanamh le heagraí, seicliosta,liosta siopadóireachta simplí
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/id/full_description.txt:
--------------------------------------------------------------------------------
1 | Memperkenalkan Fossify Notes — alat utama Anda untuk pencatatan, organisasi, dan perencanaan tanpa usaha. Mudahkan hidup Anda dengan penyusun intuitif ini yang dirancang untuk mengoptimalkan tugas dan ide Anda dengan mudah.
2 |
3 | 🗒️ PENCATATAN CATATAN SEDERHANA:
4 | Fossify Notes memungkinkan Anda dengan cepat mencatat daftar belanja, pengingat alamat, atau ide yang brilian hanya dengan satu ketukan. Katakan selamat tinggal pada kekacauan dan sambutlah penciptaan catatan yang efisien. Tidak perlu lagi ribet dengan setup yang rumit.
5 |
6 | 📋 ORGANISASI LUAR BIASA:
7 | Tetapkan tugas Anda dengan mudah menggunakan penyusun yang mudah digunakan dan widget pencatatan catatan yang berwarna dari Fossify Notes. Jangan pernah lupa informasi penting atau daftar belanja lagi — semuanya ada di ujung jari Anda.
8 |
9 | 💾 PENYIMPANAN OTOMATIS:
10 | Lupakan kehilangan pekerjaan Anda. Fossify Notes secara otomatis menyimpan suntingan Anda, memastikan bahwa perubahan Anda selalu dipertahankan. Buat catatan dan daftar independen dengan mudah.
11 |
12 | 🖼️ WIDGET YANG DAPAT DIKUSTOMISASI:
13 | Akses daftar Anda dan kelola tugas-tugas yang harus dilakukan Anda dengan cepat dengan widget yang dapat disesuaikan dari Fossify Notes. Nikmati organisasi yang mulus saat bepergian hanya dengan satu ketukan.
14 |
15 | 🚫 BEBAS IKLAN DAN BERFOKUS PADA PRIVASI:
16 | Nikmati pengalaman bebas kekacauan dengan Fossify Notes — tanpa iklan atau izin yang tidak perlu. Fossify Notes beroperasi secara luring tanpa izin internet memastikan lingkungan yang stabil dan aman untuk catatan Anda.
17 |
18 | 🔓 KEBEBASAN SUMBER TERBUKA:
19 | Fossify Notes sepenuhnya bersumber terbuka, menawarkan warna yang dapat disesuaikan dan memberikan transparansi dan fleksibilitas bagi pengguna. Rasakan kebebasan penyesuaian dan ketenangan pikiran dengan solusi pencatatan catatan yang didukung oleh komunitas.
20 |
21 | Rasakan kesederhanaan dan efisiensi pencatatan catatan dengan Fossify Notes. Unduh sekarang dan buka kekuatan pemikiran terorganisir.
22 |
23 | Jelajahi lebih banyak aplikasi Fossify: https://www.fossify.org
24 | Kode Sumber Terbuka: https://www.github.com/FossifyOrg
25 | Bergabung dengan komunitas di Reddit: https://www.reddit.com/r/Fossify
26 | Bergabung dengan komunitas di Telegram: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/id/short_description.txt:
--------------------------------------------------------------------------------
1 | Widget daftar tugas dengan pengelola buku catatan, daftar centang, dftr belanja
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/it-IT/full_description.txt:
--------------------------------------------------------------------------------
1 | Note Fossify è lo strumento definitivo per prendere appunti, organizzare e pianificare senza fatica. Semplifica la tua vita con questo organizer intuitivo, progettato per ottimizzare le tue attività e idee senza sforzo.
2 |
3 | 🗒️ PRENDERE APPUNTI SEMPLICEMENTE:
4 | Note Fossify consente di annotare rapidamente liste della spesa, promemoria di indirizzi o brillanti idee di startup con un semplice tocco. Di' addio al disordine e dai il benvenuto a una creazione efficiente di note. Non dovrai più perdere tempo in configurazioni complesse.
5 |
6 | 📋 ORGANIZZAZIONE STRAORDINARIA:
7 | Tieni sotto controllo i tuoi impegni con facilità grazie all'organizer di Note Fossify, semplice da usare, e al widget colorato per prendere appunti. Non dimenticare mai più informazioni cruciali o liste della spesa: tutto è a portata di mano.
8 |
9 | 💾 SALVATAGGIO AUTOMATICO:
10 | Dimenticati di perdere il tuo lavoro. Note Fossify salva automaticamente le modifiche apportate, assicurando che siano sempre conservate. Crea più note ed elenchi indipendenti senza fatica.
11 |
12 | 🖼️ WIDGET PERSONALIZZABILE:
13 | Accedi ai tuoi elenchi e gestisci le tue attività in un attimo con il widget personalizzabile di Note Fossify. Organizzati senza problemi anche in movimento, con un semplice tocco.
14 |
15 | 🚫 PRIVO DI PUBBLICITÀ E INCENTRATO SULLA PRIVACY:
16 | Goditi un'esperienza priva di disordine con Note Fossify, senza pubblicità o permessi inutili. Note Fossify funziona offline senza permessi internet, garantendo un ambiente stabile e sicuro per i vostri appunti.
17 |
18 | 🔓 LIBERTÀ OPEN-SOURCE:
19 | Note Fossify è completamente open-source, offre colori personalizzabili e garantisce trasparenza e flessibilità agli utenti. Prova la libertà di personalizzazione e la tranquillità di una soluzione per prendere appunti guidata dalla comunità.
20 |
21 | Prova la semplicità e l'efficienza di prendere appunti con Note Fossify. Scaricala subito e sblocca la potenza del pensiero organizzato.
22 |
23 | Esplora altre applicazioni Fossify: https://www.fossify.org
24 | Codice aperto: https://www.github.com/FossifyOrg
25 | Unisciti alla comunità su Reddit: https://www.reddit.com/r/Fossify
26 | Connettiti su Telegram: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/it-IT/short_description.txt:
--------------------------------------------------------------------------------
1 | Widget per lista di cose da fare con organizer per note, checklist, spesa
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/iw-IL/full_description.txt:
--------------------------------------------------------------------------------
1 | הכירו את Fossify הערות - הכלי האולטימטיבי שלך לרישום הערות, ארגון ותכנון ללא מאמץ. פשט את חייך עם המארגן האינטואיטיבי הזה שנועד לייעל את המשימות והרעיונות שלך ללא מאמץ.
2 |
3 | 🗒️ רישום הערות פשוט:
4 | Fossify הערות מאפשר לך לרשום במהירות רשימות קניות, תזכורות כתובות או רעיונות התחלה מבריקים בלחיצה אחת בלבד. תגיד שלום לבלגן ושלום ליצירת פתקים יעילה. לא עוד התעסקות עם הגדרות מורכבות.
5 |
6 | 📋 ארגון מדהים:
7 | הישאר בשליטה על החובות שלך בקלות באמצעות המארגן הפשוט לשימוש והווידג'ט הצבעוני לרישום הערות של Fossify הערות. לעולם אל תשכח שוב מידע חיוני או רשימות קניות - הכל בהישג ידך.
8 |
9 | 💾 שמירה אוטומטית:
10 | תשכח מאיבוד העבודה שלך. Fossify הערות שומר אוטומטית את העריכות שלך, ומבטיח שהשינויים שלך יישמרו תמיד. צור מספר הערות ורשימות עצמאיות ללא מאמץ.
11 |
12 | 🖼️ ווידג'ט הניתן להתאמה אישית:
13 | גש לרשימות שלך ונהל את משימות המטלות שלך במהירות הבזק עם הווידג'ט הניתן להתאמה אישית Fossify הערות. תהנה מארגון חלק בדרכים בלחיצה אחת.
14 |
15 | 🚫 ללא פרסומות וממוקד פרטיות:
16 | תהנה מחוויה נטולת עומס עם Fossify Notes - ללא פרסומות או הרשאות מיותרות. Fossify Notes פועל במצב לא מקוון ללא הרשאת אינטרנט מה שמבטיח סביבה יציבה ומאובטחת להערות שלך.
17 |
18 | 🔓 חופש במקור פתוח:
19 | Fossify Notes הוא קוד פתוח לחלוטין, מציע צבעים הניתנים להתאמה אישית ומספק שקיפות וגמישות למשתמשים. חווה את החופש של התאמה אישית ושקט נפשי עם פתרון לרישום הערות מונחה קהילה.
20 |
21 | חווה את הפשטות והיעילות של רישום הערות עם Fossify Notes. הורד עכשיו וגלה את כוחה של חשיבה מאורגנת.
22 |
23 | חקור עוד אפליקציות Fossify: https://www.fossify.org
24 | קוד קוד פתוח: https://www.github.com/FossifyOrg
25 | הצטרף לקהילה ב-Reddit: https://www.reddit.com/r/Fossify
26 | התחבר בטלגרם: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/iw-IL/short_description.txt:
--------------------------------------------------------------------------------
1 | ווידג'ט לרשימת מטלות עם מארגן מחברת, רשימת בדיקה, רשימת קניות פשוטה
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/nl-NL/short_description.txt:
--------------------------------------------------------------------------------
1 | Maak notities en (boodschappen)lijstjes, inclusief widgets
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/pl-PL/full_description.txt:
--------------------------------------------------------------------------------
1 | Przedstawiamy Fossify Notes – Twoje najlepsze narzędzie do bezproblemowego robienia notatek, organizacji i planowania. Uprość swoje życie z tym intuicyjnym organizerem zaprojektowanym tak, aby bez wysiłku usprawniać Twoje zadania i pomysły.
2 |
3 | 🗒️ PROSTE ROBIENIE NOTATEK:
4 | Fossify Notes pozwala Ci szybko zapisywać listy zakupów, adresy lub genialne pomysły na startupy za jednym naciśnięciem. Pożegnaj bałagan i przywitaj się z efektywnym tworzeniem notatek. Koniec z zamartwianiem się złożonymi konfiguracjami.
5 |
6 | 📋 ZNAKOMITA ORGANIZACJA:
7 | Z łatwością wykonuj swoje obowiązki, korzystając z prostego w obsłudze organizera i kolorowego widżetu z notatkami Fossify Notes. Już nigdy więcej nie zapomnisz o ważnych informacjach czy listach zakupów – wszystko jest w zasięgu Twojej ręki.
8 |
9 | 💾 AUTOMATYCZNY ZAPIS:
10 | Zapomnij o utracie swojej pracy. Fossify Notes automatycznie zapisuje Twoje edycje, zapewniając, że Twoje zmiany są zawsze zachowane. Twórz bez wysiłku wiele niezależnych notatek i list.
11 |
12 | 🖼️ KONFIGUROWALNY WIDŻET:
13 | Uzyskaj dostęp do swoich list i zarządzaj swoimi zadaniami do wykonania błyskawicznie dzięki konfigurowalnemu widżetowi Fossify Notes. Ciesz się płynną organizacją za pomocą jednego naciśnięcia.
14 |
15 | 🚫 WOLNE OD REKLAM I SKUPIONE NA PRYWATNOŚCI:
16 | Ciesz się pozbawionym bałaganu doświadczeniem z Fossify Notes – bez reklam i niepotrzebnych uprawnień. Fossify Notes działa offline, nie wymagając dostępu do Internetu, zapewniając stabilne i bezpieczne środowisko dla Twoich notatek.
17 |
18 | 🔓 WOLNOŚĆ OTWARTEGO ŹRÓDŁA:
19 | Fossify Notes jest w pełni otwartoźródłowe, oferując konfigurowalne kolory i zapewniając użytkownikom przejrzystość i elastyczność. Doświadcz swobody dostosowywania i spokoju ducha dzięki opracowanemu przez społeczność rozwiązaniu do robienia notatek.
20 |
21 | Doświadcz prostoty i efektywności w robieniu notatek z Fossify Notes. Pobierz teraz i odblokuj moc zorganizowanego myślenia.
22 |
23 | Odkryj więcej aplikacji od Fossify: https://www.fossify.org
24 | Kod źródłowy: https://www.github.com/FossifyOrg
25 | Dołącz do społeczności na Reddicie: https://www.reddit.com/r/Fossify
26 | Połącz się na Telegramie: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/pl-PL/short_description.txt:
--------------------------------------------------------------------------------
1 | Widżet listy zadań do zrobienia z organizerem notatek i listą kontrolną
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/sv-SE/short_description.txt:
--------------------------------------------------------------------------------
1 | Att göra-lista-widget med anteckningsboksorganisatör, checklista och inköpslista
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/tr-TR/full_description.txt:
--------------------------------------------------------------------------------
1 | Fossify Notlar ile tanışın - zahmetsiz not alma, düzenleme ve planlama için nihai aracınız. Görevlerinizi ve fikirlerinizi zahmetsizce düzenlemek için tasarlanmış bu sezgisel düzenleyici ile hayatınızı basitleştirin.
2 |
3 | 🗒️ BASİT NOT ALMA:
4 | Fossify Notlar alışveriş listelerini, adres hatırlatmalarını veya parlak girişim fikirlerini tek bir dokunuşla hızlıca not almanızı sağlar. Dağınıklığa veda edin ve verimli not oluşturmaya merhaba deyin. Karmaşık kurulumlarla uğraşmaya son.
5 |
6 | 📋 OLAĞANÜSTÜ ORGANİZASYON:
7 | Fossify Notlar'ın kullanımı kolay düzenleyicisini ve renkli not alma widget'ını kullanarak görevlerinizi kolaylıkla takip edin. Önemli bilgileri veya alışveriş listelerini bir daha asla unutmayın - hepsi parmaklarınızın ucunda.
8 |
9 | 💾 OTOMATIK KAYDETME:
10 | Çalışmanızı kaybetmeyi unutun. Fossify Notlar, düzenlemelerinizi otomatik olarak kaydeder ve değişikliklerinizin her zaman korunmasını sağlar. Zahmetsizce birden fazla bağımsız not ve liste oluşturun.
11 |
12 | 🖼️ ÖZELLEŞTIRILEBILIR WIDGET:
13 | Fossify Notlar'ın özelleştirilebilir bileşeni ile listelerinize erişin ve yapılacaklar görevlerinizi anında yönetin. Sadece bir dokunuşla hareket halindeyken sorunsuz organizasyonun keyfini çıkarın.
14 |
15 | 🚫 REKLAMSIZ VE GİZLİLİK ODAKLI:
16 | Fossify Notlar ile dağınıklıktan uzak bir deneyimin keyfini çıkarın - reklamlar veya gereksiz izinler yok. Fossify Notlar, notlarınız için istikrarlı ve güvenli bir ortam sağlayarak internet izni olmadan çevrimdışı çalışır.
17 |
18 | 🔓 AÇIK KAYNAK ÖZGÜRLÜĞÜ:
19 | Fossify Notlar tamamen açık kaynaklıdır, özelleştirilebilir renkler sunar ve kullanıcılar için şeffaflık ve esneklik sağlar. Topluluk odaklı bir not alma çözümü ile özelleştirme özgürlüğünü ve gönül rahatlığını yaşayın.
20 |
21 | Fossify Notlar ile not almanın basitliğini ve verimliliğini yaşayın. Hemen indirin ve organize düşünmenin gücünü ortaya çıkarın.
22 |
23 | Daha fazla Fossify uygulaması keşfedin: https://www.fossify.org
24 | Açık Kaynak Kod: https://www.github.com/FossifyOrg
25 | Reddit'de topluluğa katılın: https://www.reddit.com/r/Fossify
26 | Telegram'a bağlanın: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/uk/full_description.txt:
--------------------------------------------------------------------------------
1 | Представляємо Fossify Нотатки – ваш найкращий інструмент для легкого ведення нотаток, організації та планування. Спростіть своє життя з цим інтуїтивно зрозумілим органайзером, розробленим для впорядкування ваших завдань та ідей без зайвих зусиль.
2 |
3 | 🗒️ ПРОСТЕ ВЕДЕННЯ НОТАТОК:
4 | Fossify Нотатки дозволяють швидко занотовувати списки придбань, нагадування адрес або блискучі ідеї для стартапів одним дотиком. Попрощайтеся з безладом і привітайте ефективне створення нотаток. Більше ніякої метушні зі складними налаштуваннями.
5 |
6 | 📋 ЧУДОВА ОРГАНІЗАЦІЯ:
7 | З легкістю виконуйте свої обов'язки, використовуючи простий у використанні органайзер Fossify Нотатки та яскравий віджет для нотаток. Ніколи більше не забувайте важливу інформацію або списки придбань: все це у вас під рукою.
8 |
9 | 💾 АВТОМАТИЧНЕ ЗБЕРЕЖЕННЯ:
10 | Забудьте про те, що ви можете загубити свою роботу. Fossify Нотатки автоматично зберігають ваші правки, гарантуючи, що ваші зміни завжди будуть збережені. Створюйте кілька незалежних нотаток та списків без зайвих зусиль.
11 |
12 | 🖼️ ВІДЖЕТ, ЩО НАЛАШТОВУЄТЬСЯ:
13 | Отримуйте доступ до своїх списків і керуйте завданнями за допомогою віджету Fossify Нотатки, що налаштовується. Насолоджуйтесь бездоганною організацією на ходу одним дотиком.
14 |
15 | 🚫 БЕЗ РЕКЛАМИ ТА ОРІЄНТОВАНИЙ НА ПРИВАТНІСТЬ:
16 | Насолоджуйтесь роботою без безладу з Fossify Нотатки; без реклами та непотрібних дозволів. Fossify Нотатки працюють в автономному режимі без доступу до мережі, забезпечуючи стабільне та безпечне середовище для ваших нотаток.
17 |
18 | 🔓СВОБОДА З ВІДКРИТИМ ВИХІДНИМ КОДОМ:
19 | Fossify Нотатки мають повністю відкритий вихідний код, пропонуючи налаштовувані кольори та забезпечуючи прозорість і гнучкість для користувачів. Відчуйте свободу персоналізації та душевний спокій з рішенням для ведення нотаток, керованим спільнотою.
20 |
21 | Оцініть простоту та ефективність нотаток з Fossify Нотатки. Завантажте зараз і відкрийте для себе силу організованого мислення.
22 |
23 | Дізнайтеся більше про застосунки Fossify: https://www.fossify.org
24 | Відкритий код: https://www.github.com/FossifyOrg
25 | Приєднуйтесь до спільноти на Reddit: https://www.reddit.com/r/Fossify
26 | Приєднуйтесь у Telegram: https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/uk/short_description.txt:
--------------------------------------------------------------------------------
1 | Віджет зі списком справ з органайзером для записника,чек-листом, списком покупок
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/zh-CN/full_description.txt:
--------------------------------------------------------------------------------
1 | 隆重推出 Fossify 笔记——您轻松记笔记、组织和计划的终极工具。这款直观的管理器旨在轻松简化您的任务和想法,简化您的生活。
2 |
3 | 🗒️ 简单的笔记:
4 | Fossify 笔记让您只需轻轻一点,即可快速记下购物清单、地址提醒或出色的创业想法。告别杂乱,迎接高效的笔记创建。不再为复杂的设置而烦恼。
5 |
6 | 📋 卓越的组织:
7 | 使用 Fossify 笔记易于使用的管理器和彩色笔记微件,轻松掌握您的职责。再也不要忘记关键信息或购物清单——一切尽在掌握。
8 |
9 | 💾 自动保存:
10 | 忘记丢失工作吧。Fossify 笔记会自动保存您的编辑,确保您的更改始终保留。轻松创建多个独立的笔记和列表。
11 |
12 | 🖼️ 可定制微件:
13 | 使用 Fossify 笔记的可定制微件,快速访问您的列表并管理您的待办事项。只需轻轻一点,即可随时随地享受无缝组织。
14 |
15 | 🚫 无广告和注重隐私:
16 | 使用 Fossify 笔记享受无杂乱的体验——没有广告或不必要的权限。Fossify 笔记在没有互联网许可的情况下离线运行,确保您的笔记有一个稳定安全的环境。
17 |
18 | 🔓 开源自由:
19 | Fossify 笔记是完全开源的,提供可自定义的颜色,并为用户提供透明度和灵活性。通过社区驱动的笔记解决方案,体验自定义的自由和安心。
20 |
21 | 使用 Fossify 笔记体验简单高效的笔记。立即下载,释放有组织思维的力量。
22 |
23 | 探索更多 Fossify 应用:https://www.fossify.org
24 | 开源代码:https://www.github.com/FossifyOrg
25 | 加入 Reddit 社区:https://www.reddit.com/r/Fossify
26 | 在 Telegram 上联系:https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/zh-CN/short_description.txt:
--------------------------------------------------------------------------------
1 | 待办事项列表微件,带有笔记本管理器、核对清单和简单购物清单
2 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/zh-TW/full_description.txt:
--------------------------------------------------------------------------------
1 | 隆重介紹 Fossify 筆記 – 您輕鬆記下筆記、組織與規劃的終極工具。這款直覺的整理程式旨在輕鬆簡化您的任務與想法,簡化您的生活。
2 |
3 | 🗒️簡潔筆記:
4 | Fossify 筆記讓您只需輕按一下即可快速記下購物清單、地址提醒或絕妙的創業點子。告別混亂,迎接高效的筆記製作。不再為複雜的設定而煩惱。
5 |
6 | 📋 卓越的組織:
7 | 使用 Fossify 筆記簡單易用的管理程式與豐富多彩的筆記小工具,輕鬆掌控您的職責。再也不會忘記重要資訊或購物清單 – 一切盡在您的指尖。
8 |
9 | 💾 自動儲存:
10 | 忘記遺失作品吧。Fossify 筆記會自動儲存您的編輯,確保您的變更一律保留。輕鬆建立多個獨立的筆記與清單。
11 |
12 | 🖼️ 可自訂的小工具:
13 | 使用 Fossify 筆記的可自訂小工具快速存取您的清單並管理您的待辦事項。只需輕輕一按,即可隨時隨地享受無縫組織。
14 |
15 | 🚫 無廣告且注重隱私:
16 | 使用 Fossify 筆記享受整潔的體驗 – 沒有廣告或不必要的權限。Fossify 筆記離線運作,無需網路權限,確保您的筆記環境穩定、安全。
17 |
18 | 🔓 開源自由:
19 | Fossify 筆記完全開源,提供可自訂的顏色,並為使用者提供透明度與靈活性。透過社群驅動的筆記解決方案體驗客製化的自由與安心。
20 |
21 | 使用 Fossify 筆記體驗寫筆記的簡單與效率。立即下載並釋放有組織思維的力量。
22 |
23 | 探索更多 Fossify 應用程式:https://www.fossify.org
24 | 開源程式碼:https://www.github.com/FossifyOrg
25 | 加入 Reddit 社群:https://www.reddit.com/r/Fossify
26 | 在 Telegram 上找到我們:https://t.me/Fossify
27 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/zh-TW/short_description.txt:
--------------------------------------------------------------------------------
1 | 包含筆記本整理程式、核對清單、簡易購物清單的待辦清單小工具
2 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | android.enableJetifier=true
2 | android.useAndroidX=true
3 | android.nonTransitiveRClass=true
4 | org.gradle.jvmargs=-Xmx8g
5 |
6 | # Versioning
7 | VERSION_NAME=1.2.0
8 | VERSION_CODE=5
9 | APP_ID=org.fossify.notes
10 |
--------------------------------------------------------------------------------
/gradle/libs.versions.toml:
--------------------------------------------------------------------------------
1 | [versions]
2 | #jetbrains
3 | kotlin = "2.1.21"
4 | #KSP
5 | kotlinxSerializationJson = "1.8.1"
6 | ksp = "2.1.21-2.0.1"
7 | #Detekt
8 | detekt = "1.23.8"
9 | #AndroidX
10 | androidx-constraintlayout = "2.2.1"
11 | androidx-documentfile = "1.1.0"
12 | #Room
13 | room = "2.7.1"
14 | #Fossify
15 | commons = "2.0.1"
16 | #Gradle
17 | gradlePlugins-agp = "8.10.1"
18 | #build
19 | app-build-compileSDKVersion = "34"
20 | app-build-targetSDK = "34"
21 | app-build-minimumSDK = "26"
22 | app-build-javaVersion = "VERSION_17"
23 | app-build-kotlinJVMTarget = "17"
24 | [libraries]
25 | #AndroidX
26 | androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" }
27 | androidx-documentfile = { module = "androidx.documentfile:documentfile", version.ref = "androidx-documentfile" }
28 | #Room
29 | androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
30 | androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" }
31 | androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
32 | #Fossify
33 | fossify-commons = { module = "org.fossify:commons", version.ref = "commons" }
34 | #Kotlin
35 | kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
36 | [bundles]
37 | room = [
38 | "androidx-room-ktx",
39 | "androidx-room-runtime",
40 | ]
41 | [plugins]
42 | android = { id = "com.android.application", version.ref = "gradlePlugins-agp" }
43 | kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
44 | ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
45 | kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
46 | detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
47 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
4 | networkTimeout=10000
5 | validateDistributionUrl=true
6 | zipStoreBase=GRADLE_USER_HOME
7 | zipStorePath=wrapper/dists
8 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @rem
2 | @rem Copyright 2015 the original author or authors.
3 | @rem
4 | @rem Licensed under the Apache License, Version 2.0 (the "License");
5 | @rem you may not use this file except in compliance with the License.
6 | @rem You may obtain a copy of the License at
7 | @rem
8 | @rem https://www.apache.org/licenses/LICENSE-2.0
9 | @rem
10 | @rem Unless required by applicable law or agreed to in writing, software
11 | @rem distributed under the License is distributed on an "AS IS" BASIS,
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @rem See the License for the specific language governing permissions and
14 | @rem limitations under the License.
15 | @rem
16 | @rem SPDX-License-Identifier: Apache-2.0
17 | @rem
18 |
19 | @if "%DEBUG%"=="" @echo off
20 | @rem ##########################################################################
21 | @rem
22 | @rem Gradle startup script for Windows
23 | @rem
24 | @rem ##########################################################################
25 |
26 | @rem Set local scope for the variables with windows NT shell
27 | if "%OS%"=="Windows_NT" setlocal
28 |
29 | set DIRNAME=%~dp0
30 | if "%DIRNAME%"=="" set DIRNAME=.
31 | @rem This is normally unused
32 | set APP_BASE_NAME=%~n0
33 | set APP_HOME=%DIRNAME%
34 |
35 | @rem Resolve any "." and ".." in APP_HOME to make it shorter.
36 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
37 |
38 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
39 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
40 |
41 | @rem Find java.exe
42 | if defined JAVA_HOME goto findJavaFromJavaHome
43 |
44 | set JAVA_EXE=java.exe
45 | %JAVA_EXE% -version >NUL 2>&1
46 | if %ERRORLEVEL% equ 0 goto execute
47 |
48 | echo. 1>&2
49 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
50 | echo. 1>&2
51 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2
52 | echo location of your Java installation. 1>&2
53 |
54 | goto fail
55 |
56 | :findJavaFromJavaHome
57 | set JAVA_HOME=%JAVA_HOME:"=%
58 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
59 |
60 | if exist "%JAVA_EXE%" goto execute
61 |
62 | echo. 1>&2
63 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
64 | echo. 1>&2
65 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2
66 | echo location of your Java installation. 1>&2
67 |
68 | goto fail
69 |
70 | :execute
71 | @rem Setup the command line
72 |
73 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
74 |
75 |
76 | @rem Execute Gradle
77 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
78 |
79 | :end
80 | @rem End local scope for the variables with windows NT shell
81 | if %ERRORLEVEL% equ 0 goto mainEnd
82 |
83 | :fail
84 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
85 | rem the _cmd.exe /c_ return code!
86 | set EXIT_CODE=%ERRORLEVEL%
87 | if %EXIT_CODE% equ 0 set EXIT_CODE=1
88 | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
89 | exit /b %EXIT_CODE%
90 |
91 | :mainEnd
92 | if "%OS%"=="Windows_NT" endlocal
93 |
94 | :omega
95 |
--------------------------------------------------------------------------------
/graphics/featureGraphic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/graphics/featureGraphic.png
--------------------------------------------------------------------------------
/graphics/foreground.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
19 |
--------------------------------------------------------------------------------
/graphics/icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/graphics/icon.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FossifyOrg/Notes/1f524a8766ca526b1d34bb3acf390c8f7a33d827/graphics/icon.webp
--------------------------------------------------------------------------------
/keystore.properties_sample:
--------------------------------------------------------------------------------
1 | storePassword=123456
2 | keyPassword=abcdef
3 | keyAlias=myAlias
4 | storeFile=../keystore.jks
5 |
--------------------------------------------------------------------------------
/settings.gradle.kts:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | gradlePluginPortal()
4 | google()
5 | mavenCentral()
6 | }
7 | }
8 | dependencyResolutionManagement {
9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
10 | repositories {
11 | google()
12 | mavenCentral()
13 | maven { setUrl("https://jitpack.io") }
14 | }
15 | }
16 | include(":app")
17 |
--------------------------------------------------------------------------------