Note taking open-source application aimed to have both a simple interface but keeping smart behavior.
The project was created by the absence of such applications compatible with old phones and old versions of Android that would propose, however, an attractive look and aligned with the most recent design of the Google operating system
Follow the developments and post your comments and advice on Google+ Beta Community at http://goo.gl/eF6qqF
Help to keep translations updated is always welcome, if you want give an hand checkout the translation project at Crowdin
Actually the following functions are implemented:
- Material Design interface *Basic add, modify, archive, trash and delete notes actions
- Share, merge and search notes
- Image, audio and generic file attachments
- Manage your notes using tags and categories
- To-do list
- Sketch-note mode
- Notes shortcut on home screen
- Export/import notes to backup
- Google Now integration: just tell "write a note" followed by the content
- Multiple widgets, DashClock extension, Android 4.2 lockscreen compatibility
- Multilanguage: 30+ languages supported: https://crowdin.com/project/omni-notes
Further developments will include:
- Notes sychronization
- Web interface to manage notes
You can find a complete changelog inside the application settings menu!
If you need some help on how to use the application you'll find everything you need into the Help Online
Look into the wiki for GIFs-based tutorials: LINK
Look to the following terminal session recording to compile distributable files
To execute all tests included into the project connect a device or emulator, then launch the following command:
./gradlew connectedAndroidTest
Due to the fact that I'm using gitflow as code versioning methodology you, as developer should always start working on develop branch that contains the most recent changes.
Feel free to add yourself to contributors.md file.
Don't forget to contribute to original code! Don't be selfish or lazy!
All code changes and additions must be tested. See the related section about this.
When forking the project you'll have to modify some files that are strictly dependent from my own development / build / third-party-services environment. Files that need some attention are the following:
- gradle.properties: this is overridden by another file with the same name inside the omniNotes module. You can do the same or leave as it is, any missing property will let the app gracefully fallback on a default behavior.
- .travis.yml: if you use TravisCI as continuous integration platform and a SonarQUBE instance for code quality analysis you'll have to modify this file according to your needs.
A public instance of SonarQube is available both to encourage other developers to improve their code contributions (and existing code obviously) and to move the project even further into transparency and openness.
Checkout for it here
Pull requests will be automatically analyzed and rejected if they'll rise the code technical debt.
They're all listed into the build.gradle file but due to the fact that many of the dependences have been customized by me I'd like to say thanks here to the original developers of these great libraries:
- https://github.com/RobotiumTech/robotium
- https://github.com/flavienlaurent/datetimepicker
- https://github.com/LarsWerkman/HoloColorPicker
- https://github.com/keyboardsurfer/Crouton
- https://github.com/romannurik/dashclock/wiki/API
- https://github.com/ACRA/acra
- https://github.com/Shusshu/Android-RecurrencePicker
- https://github.com/gabrielemariotti/changeloglib
- https://github.com/greenrobot/EventBus
- https://github.com/futuresimple/android-floating-action-button
- https://github.com/keyboardsurfer
- https://github.com/nhaarman/ListViewAnimations
- https://github.com/bumptech/glide
- https://github.com/neopixl/PixlUI
- https://github.com/afollestad/material-dialogs
- https://github.com/JakeWharton/butterknife
- https://github.com/ical4j
- https://github.com/square/leakcanary
- https://github.com/pnikosis/materialish-progress
- https://github.com/apl-devs/AppIntro
- https://github.com/ReactiveX/RxAndroid
- https://github.com/artem-zinnatullin/RxJavaProGuardRules
- https://github.com/tbruyelle/RxPermissions
- https://github.com/ocpsoft/prettytime
- https://github.com/piwik/piwik-sdk-android
- https://github.com/mrmans0n/smart-location-lib
- Federico Iosue - Website
- Other contributors
Copyright 2015 Federico Iosue
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.