Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .fvmrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"flutter": "stable"
"flutter": "3.44.0"
}
4 changes: 2 additions & 2 deletions .run/Build APK (split per ABI).run.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<component name="ProjectRunConfigurationManager">
<configuration name="Build APK (split per ABI)" default="false" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="flutter build apk --release --split-per-abi" />
<configuration default="false" name="Build APK (split per ABI)" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="fvm flutter build apk --release --split-per-abi" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
Expand Down
4 changes: 2 additions & 2 deletions .run/Build APK.run.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<component name="ProjectRunConfigurationManager">
<configuration name="Build APK" default="false" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="flutter build apk --release" />
<configuration default="false" name="Build APK" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="fvm flutter build apk --release" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
Expand Down
4 changes: 2 additions & 2 deletions .run/Generate files (watch).run.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<component name="ProjectRunConfigurationManager">
<configuration name="Generate files (watch)" default="false" type="ShConfigurationType">
<configuration default="false" name="Generate files (watch)" type="ShConfigurationType">
<option name="SCRIPT_TEXT"
value="dart run build_runner watch --delete-conflicting-outputs" />
value="fvm dart run build_runner watch --delete-conflicting-outputs" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
Expand Down
4 changes: 2 additions & 2 deletions .run/Generate files.run.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<component name="ProjectRunConfigurationManager">
<configuration name="Generate files" default="false" type="ShConfigurationType">
<configuration default="false" name="Generate files" type="ShConfigurationType">
<option name="SCRIPT_TEXT"
value="dart run build_runner build --delete-conflicting-outputs" />
value="fvm dart run build_runner build --delete-conflicting-outputs" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
Expand Down
4 changes: 2 additions & 2 deletions .run/Generate launcher icons.run.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<component name="ProjectRunConfigurationManager">
<configuration name="Generate launcher icons" default="false" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="dart run flutter_launcher_icons" />
<configuration default="false" name="Generate launcher icons" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="fvm dart run flutter_launcher_icons" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
Expand Down
4 changes: 2 additions & 2 deletions .run/Generate localizations.run.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<component name="ProjectRunConfigurationManager">
<configuration name="Generate localizations" default="false" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="flutter gen-l10n" />
<configuration default="false" name="Generate localizations" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="fvm flutter gen-l10n" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
Expand Down
4 changes: 2 additions & 2 deletions .run/Generate splash screen.run.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<component name="ProjectRunConfigurationManager">
<configuration name="Generate splash screen" default="false" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="dart run flutter_native_splash:create" />
<configuration default="false" name="Generate splash screen" type="ShConfigurationType">
<option name="SCRIPT_TEXT" value="fvm dart run flutter_native_splash:create" />
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
<option name="SCRIPT_PATH" value="" />
<option name="SCRIPT_OPTIONS" value="" />
Expand Down
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 2.1.5 - 2026-06-14

### Added

- Prompt to select a save location
- Display emojis in Markdown notes when viewing

### Changed

- Disabled automatic emoji replacement in rich text notes

### Fixed

- Prompt for authentication when necessary
- Crash when opening the tags menu
- Update tags after editing/deleting
- Show the parameter value as disabled when the tile is disabled

## 2.1.4 - 2026-04-07

### Miscellaneous
Expand Down
45 changes: 35 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,16 @@ Simple, local, material design notes.
<img alt="Screenshot of the notes list in the light mode with dynamic theming" src="fastlane/metadata/android/en-US/images/phoneScreenshots/8_en-US.png" width="24%">
</div>

## Status

> [!IMPORTANT]
> This project is now in **maintenance mode**.
>
> It is considered feature complete. Only 1 to 2 updates a year should be expected, containing bug
> fixes and maybe very small improvements.
>
> Thank you very much to anyone who used my first ever app!

## Features

### Take notes
Expand Down Expand Up @@ -66,7 +76,8 @@ Simple, local, material design notes.

### Protect

- Never worry about how your data is handled: it cannot leave your device as the application doesn't have any internet permissions
- Never worry about how your data is handled: it cannot leave your device as the application doesn't
have any internet permissions
- Lock the application, a specific notes, or all notes with a specific tag
- Encrypt your JSON exports

Expand All @@ -79,7 +90,9 @@ Simple, local, material design notes.

## Supported languages

All the supported languages are listed here alphabetically. You can see more details on the [Crowdin project](https://crowdin.com/project/localmaterialnotes). To improve a language or add support for a new one, please see [CONTRIBUTING.md](CONTRIBUTING.md#localization).
All the supported languages are listed here alphabetically. You can see more details on
the [Crowdin project](https://crowdin.com/project/localmaterialnotes). To improve a language or add
support for a new one, please see [CONTRIBUTING.md](CONTRIBUTING.md#localization).

- Chinese Simplified
- Chinese Traditional
Expand All @@ -98,18 +111,26 @@ All the supported languages are listed here alphabetically. You can see more det
## External imports

> [!NOTE]
> The conversion scripts are not part of the application at the moment, they must be run on a computer.
> The conversion scripts are not part of the application at the moment, they must be run on a
> computer.

The JSON import feature only supports JSON files created by the application. Scripts to convert exports from other applications to the format used by Material Notes are available in the [external_imports](docs/external_imports) directory. Please read [EXTERNAL_IMPORTS.md](docs/external_imports/EXTERNAL_IMPORTS.md) for more details.
The JSON import feature only supports JSON files created by the application. Scripts to convert
exports from other applications to the format used by Material Notes are available in
the [external_imports](docs/external_imports) directory. Please
read [EXTERNAL_IMPORTS.md](docs/external_imports/EXTERNAL_IMPORTS.md) for more details.

## Pre-releases

> [!CAUTION]
> Pre-release versions can be buggy. Some features may not work. You might even loose all your data. That's why they are only meant to be installed manually, after making a backup from the settings.
> Pre-release versions can be buggy. Some features may not work. You might even loose all your data.
> That's why they are only meant to be installed manually, after making a backup from the settings.

Pre-release versions of the application are available on [GitHub releases](https://github.com/maelchiotti/LocalMaterialNotes/releases?q=prerelease:true). You can filter by pre-releases only by typing `prerelease:true` in the search box.
Pre-release versions of the application are available
on [GitHub releases](https://github.com/maelchiotti/LocalMaterialNotes/releases?q=prerelease:true).
You can filter by pre-releases only by typing `prerelease:true` in the search box.

When using a pre-release version, please report any issue you encounter in the discussion linked to that pre-release.
When using a pre-release version, please report any issue you encounter in the discussion linked to
that pre-release.

## Contributing

Expand All @@ -126,13 +147,15 @@ You can support the project by making a donation using these platforms:

### Inspiration

- [Material Files](https://github.com/zhanghai/MaterialFiles) for the general design inspiration, and especially the logo and its color.
- [Material Files](https://github.com/zhanghai/MaterialFiles) for the general design inspiration,
and especially the logo and its color.
- [Simplenote](https://simplenote.com) for the general layout of the app and its basic features.
- [Another notes app](https://github.com/maltaisn/another-notes-app/) for how to handle tags.

### Localization

- All of the [Crowdin project members](https://crowdin.com/project/localmaterialnotes/reports/top-members).
- All of
the [Crowdin project members](https://crowdin.com/project/localmaterialnotes/reports/top-members).
- [newmanls](https://github.com/newmanls) for the spanish localization.
- [xe1st](https://github.com/xe1st) for the turkish localization.

Expand All @@ -142,4 +165,6 @@ You can support the project by making a donation using these platforms:

### Assets

- [Material Design Icons](https://github.com/google/material-design-icons) for the [notes](https://fonts.google.com/icons?selected=Material+Symbols+Outlined:notes) icon used for the logo.
- [Material Design Icons](https://github.com/google/material-design-icons) for
the [notes](https://fonts.google.com/icons?selected=Material+Symbols+Outlined:notes) icon used for
the logo.
14 changes: 8 additions & 6 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "com.android.application"
id "kotlin-android"
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id "dev.flutter.flutter-gradle-plugin"
}
Expand Down Expand Up @@ -38,17 +37,13 @@ android.applicationVariants.all { variant ->
android {
namespace = "com.maelchiotti.localmaterialnotes"
compileSdk = flutter.compileSdkVersion
ndkVersion = "27.0.12077973"
ndkVersion = "27.3.13750724"

compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = JavaVersion.VERSION_17
}

dependenciesInfo {
includeInApk = false
includeInBundle = false
Expand Down Expand Up @@ -84,6 +79,13 @@ android {
}
}

kotlin {
compilerOptions {
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
}
}


flutter {
source = "../.."
}
Expand Down
4 changes: 4 additions & 0 deletions android/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
# This builtInKotlin flag was added automatically by Flutter migrator
android.builtInKotlin=false
# This newDsl flag was added automatically by Flutter migrator
android.newDsl=false
4 changes: 2 additions & 2 deletions android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
distributionSha256Sum=2ab88d6de2c23e6adae7363ae6e29cbdd2a709e992929b48b6530fd0c7133bd6
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip
distributionSha256Sum=fba8464465835e74f7270bbf43d6d8a8d7709ab0a43ce1aa3323f73e9aa0c612
2 changes: 1 addition & 1 deletion android/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ pluginManagement {

plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.7.0" apply false
id "com.android.application" version '8.13.2' apply false
id "org.jetbrains.kotlin.android" version "2.1.0" apply false
}

Expand Down
12 changes: 12 additions & 0 deletions fastlane/metadata/android/en-US/changelogs/350.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
ADDED
- Prompt to select a save location
- Display emojis in Markdown notes when viewing

CHANGED
- Disabled automatic emoji replacement in rich text notes

FIXED
- Prompt for authentication when necessary
- Crash when opening the tags menu
- Update tags after editing/deleting
- Show the parameter value as disabled when the tile is disabled
12 changes: 12 additions & 0 deletions fastlane/metadata/android/fr-FR/changelogs/350.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
AJOUTÉ
- Suggérer de choisir un emplacement de sauvegarde
- Afficher les emojis dans les notes Markdown en visualisation

MODIFIÉ
- Remplacement automatique des emojis désactivé dans les notes riches

CORRIGÉ
- Demander l'authentification quand nécessaire
- Crash lors de l'ouverture du menu des étiquettes
- Mise à jour des étiquettes après modification/supression
- Montrer la valeur des paramètres comme désactivée quand la tuile l'est
2 changes: 1 addition & 1 deletion fastlane/metadata/android/it-IT/full_description.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<p><b>Material Notes</b> is a text-based note-taking application, aimed at simplicity. It embraces Material Design. It stores the notes locally and doesn't have any internet permissions, so you are the only one that can access the notes.</p><p><b>Take notes</b></p><ul><li>Write text notes (title and content)</li><li>Choose between plain text, markdown, rich text or checklist notes</li><li>Use the quick action from your home screen to quickly add a note</li></ul><p><b>Organize</b></p><ul><li>Search though your notes</li><li>Sort your notes by date or title, in ascending or descending order</li><li>Display your notes in a list or a grid view</li><li>Pin and archive your notes</li><li>Recover your deleted notes from the bin</li></ul><p><b>Categorize</b></p><ul><li>Categorize your notes with tags</li><li>Distinguish your tags with their color</li><li>Pin and hide your tags</li></ul><p><b>Share & backup</b></p><ul><li>Share text from other applications to add it directly to a note</li><li>Share your notes as text</li><li>Export your notes as JSON, manually or automatically, and import them back</li><li>Export your notes as Markdown</li></ul><p><b>Protect</b></p><ul><li>Never worry about how your data is handled: it cannot leave your device as the application doesn't have any internet permissions</li><li>Lock the application, a specific notes, or all notes with a specific tag</li><li>Encrypt your JSON exports</li></ul><p><b>Customize</b></p><ul><li>Choose your language</li><li>Choose your theme (light, dark or black)</li><li>Choose if you want your theme to be dynamic (use colors from your background)</li><li>Choose which notes types you want enabled</li></ul>
<p><b>Material Notes</b> è un'applicazione per prendere appunti basata su testo, pensata per essere semplice. Adotta il Material Design. Memorizza gli appunti localmente e non richiede alcuna autorizzazione Internet, quindi sei l'unico a poter accedere agli appunti.</p><p><b>Prendi appunti</b></p><ul><li>Scrivi note di testo (titolo e contenuto)</li><li>Scegli tra note di testo semplice, markdown, testo avanzato o liste di controllo</li><li>Usa l'azione rapida dalla schermata iniziale per aggiungere rapidamente una nota</li></ul><p><b>Organizza</b></p><ul><li>Cerca tra le tue note</li><li>Ordina le note per data o titolo, in ordine crescente o decrescente</li><li>Visualizza le note in un elenco o in una griglia</li><li>Appunta e archivia le tue note</li><li>Recupera le note eliminate dal cestino</li></ul><p><b>Categorizza</b></p><ul><li>Categorizza le tue note con le etichette</li><li>Distingui le etichette con il loro colore</li><li>Appunta e nascondi le tue etichette</li></ul><p><b>Condivisione e backup</b></p><ul><li>Condividi il testo da altre applicazioni per aggiungerlo direttamente a una nota</li><li>Condividi le tue note come testo</li><li>Esporta le tue note come JSON, manualmente o automaticamente, e reimportale</li><li>Esporta le tue note come Markdown</li></ul><p><b>Proteggi</b></p><ul><li>Non preoccuparti mai di come vengono gestiti i tuoi dati: non possono lasciare il tuo dispositivo poiché l'applicazione non ha alcuna autorizzazione Internet</li><li>Blocca l'applicazione, note specifiche o tutte le note con una specifica etichetta</li><li>Crittografa le tue esportazioni JSON</li></ul><p><b>Personalizza</b></p><ul><li>Scegli la tua lingua</li><li>Scegli il tuo tema (chiaro, scuro o nero)</li><li>Scegli se desideri che il tuo tema sia dinamico (utilizza i colori dello sfondo)</li><li>Scegli quali tipi di note desideri abilitare</li></ul>
63 changes: 63 additions & 0 deletions fastlane/metadata/android/it-IT/full_description.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
full_description: |
<p>
<b>Material Notes</b> è un'applicazione per prendere appunti basata su testo, pensata per essere semplice. Adotta il Material Design.
Memorizza gli appunti localmente e non richiede alcuna autorizzazione Internet, quindi sei l'unico a poter accedere agli appunti.
</p>

<p>
<b>Prendi appunti</b>
</p>
<ul>
<li>Scrivi note di testo (titolo e contenuto)</li>
<li>Scegli tra note di testo semplice, markdown, testo avanzato o liste di controllo</li>
<li>Usa l'azione rapida dalla schermata iniziale per aggiungere rapidamente una nota</li>
</ul>

<p>
<b>Organizza</b>
</p>
<ul>
<li>Cerca tra le tue note</li>
<li>Ordina le note per data o titolo, in ordine crescente o decrescente</li>
<li>Visualizza le note in un elenco o in una griglia</li>
<li>Appunta e archivia le tue note</li>
<li>Recupera le note eliminate dal cestino</li>
</ul>

<p>
<b>Categorizza</b>
</p>
<ul>
<li>Categorizza le tue note con le etichette</li>
<li>Distingui le etichette con il loro colore</li>
<li>Appunta e nascondi le tue etichette</li>
</ul>

<p>
<b>Condivisione e backup</b>
</p>
<ul>
<li>Condividi il testo da altre applicazioni per aggiungerlo direttamente a una nota</li>
<li>Condividi le tue note come testo</li>
<li>Esporta le tue note come JSON, manualmente o automaticamente, e reimportale</li>
<li>Esporta le tue note come Markdown</li>
</ul>

<p>
<b>Proteggi</b>
</p>
<ul>
<li>Non preoccuparti mai di come vengono gestiti i tuoi dati: non possono lasciare il tuo dispositivo poiché l'applicazione non ha alcuna autorizzazione Internet</li>
<li>Blocca l'applicazione, note specifiche o tutte le note con una specifica etichetta</li>
<li>Crittografa le tue esportazioni JSON</li>
</ul>

<p>
<b>Personalizza</b>
</p>
<ul>
<li>Scegli la tua lingua</li>
<li>Scegli il tuo tema (chiaro, scuro o nero)</li>
<li>Scegli se desideri che il tuo tema sia dinamico (utilizza i colori dello sfondo)</li>
<li>Scegli quali tipi di note desideri abilitare</li>
</ul>
Loading
Loading