Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
hauke96 committed Mar 31, 2022
2 parents 2a36304 + 31335a6 commit 51b94ba
Show file tree
Hide file tree
Showing 22 changed files with 747 additions and 61 deletions.
60 changes: 48 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<img align="right" width="64px" src="https://raw.githubusercontent.com/hauke96/GeoNotes/main/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png">

# GeoNotes
A simple app to create and manage georeferenced notes (text and photos) on a map. The goal is to create the notes as fast as possible without any unnecessary UI/UX overhead.
A simple and lightweight app to create and manage georeferenced notes (text and photos) on a map. The goal is to create the notes as fast as possible without any unnecessary UI/UX overhead.

<p align="center">
<img src="screenshots.png" alt="GeoNotes Screenshots"/>
Expand All @@ -12,7 +12,7 @@ A simple app to create and manage georeferenced notes (text and photos) on a map
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/packages/de.hauke_stieler.geonotes/)
[<img src="https://user-images.githubusercontent.com/663460/26973090-f8fdc986-4d14-11e7-995a-e7c5e79ed925.png" alt="Download APK from GitHub" height="60">](https://github.com/hauke96/geonotes/releases/latest)

Runs on Android 4.1 and newer.
GeoNotes runs on Android 4.1 (SDK 16) and newer. There's no version at the Google Play store (yet).

## Need help?

Expand All @@ -23,16 +23,52 @@ See the [OSM Wiki page](https://wiki.openstreetmap.org/wiki/GeoNotes) for detail
* Create, move and delete notes
* Attach photos to note
* List of all notes
* Export all notes in GeoJson format
* Export all notes in GeoJson or GPX format
* Show and follow current location

## Contribute to this project

You want to report a bug, add a feature wish or maybe even add some code?
That great :D Here's how to do so.

### Report feedback (no GitHub-account needed)

1. Open the GeoNotes app.
2. Go into the settings (upper right menu → "Settings"/gear-icon) and click on the "Feedback" button at the bottom of the screen.

This will open your default E-Mail App on your phone so that you can now write me an E-Mail.

### Report bug / add feature request

1. Open a [new issue](https://github.com/hauke96/GeoNotes/issues/new).
2. Describe the bug/feature as clearly as possible. Maybe add some screenshots or drawings to clear things up.
3. Be open for questions and an discussion.

After a possible discussion, the bug will hopefully be fixed or the feature implemented.
Don't be sad if your feature won't make it. This is not my only project and I'm running this in my spare time, my resources are therefore quite limited ;)

### Contribute code

Please create an issue before adding code (except it's just a spelling mistake or something similarly small).

1. Open a [new issue](https://github.com/hauke96/GeoNotes/issues/new).
2. Describe the changes you want to make as clearly as possible. Maybe add mock-ups/drawings, code snippets, diagrams, etc. to clear things up.
3. Be open for questions and an discussion.
4. When everything is clear, enjoy coding ;)

Don't be sad if I don't want your feature idea to be in GeoNotes.
This is my private project and I have a certain idea (s. below) what this app should be and what not.
But feel free to create a fork and develop your own version of this app :)

## Use-case and Philosophy

This is the basic use-case of this app:
### Basic idea of this app

Take notes while being outside (maybe even while walking or sitting in a bus) and later add the data to e.g. OSM.

* Take notes while being outside (maybe even while walking or sitting in a bus)
### Usability principles

To enable this, the app follows some basic principles:
To implement the above goal/idea, the app follows some basic principles:

* **Simplicity:** Make creating, editing, moving and deleting of notes as fast/easy as possible
* **No upload** of data and no creation of notes on osm.org
Expand All @@ -41,13 +77,13 @@ To enable this, the app follows some basic principles:
* **Simple and pragmatic UI:** No unnecessary animations, no overloaded UIs
* **Feature toggles:** The possibility to enable/disable features

Features that will *not* make it into GeoNotes:
### Features which will probably *not* be added to GeoNotes

* Offline maps: Too much work (where does the data come from? What format? When to update the data? Vector or raster data/tiles? etc.)
* Offline maps (too much work for now)
* Creating notes on osm.org
* Directly editing data
* All sorts of features that will only be used by ~5% (meaning a very small amount) of the users
* iOS support
* Uploading data directly to OSM (there are [other apps](https://github.com/streetcomplete/StreetComplete) to do that)
* All sorts of features that will only be used by just a few users but require a lot of work to be implemented
* iOS and other non-android support

Use other apps like [StreetComplete](https://github.com/streetcomplete/StreetComplete) if you want to directly edit OSM data or to create notes on osm.org.
Try other apps like [StreetComplete](https://github.com/streetcomplete/StreetComplete) if you want to do one of the above things.

14 changes: 7 additions & 7 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ plugins {
}

android {
compileSdkVersion 30
compileSdkVersion 32
buildToolsVersion "30.0.2"

defaultConfig {
applicationId "de.hauke_stieler.geonotes"
minSdkVersion 16
targetSdkVersion 30
versionCode 1004003
versionName "1.4.3"
targetSdkVersion 32
versionCode 1004004
versionName "1.4.4"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Expand All @@ -37,9 +37,9 @@ android {
dependencies {
implementation 'org.osmdroid:osmdroid-android:6.1.8'

implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.preference:preference:1.1.1'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.preference:preference:1.2.0'
implementation 'org.apache.commons:commons-text:1.9'
implementation 'com.google.code.gson:gson:2.8.8'
implementation 'me.himanshusoni.gpxparser:gpx-parser:1.13'
Expand Down
5 changes: 5 additions & 0 deletions app/src/main/java/de/hauke_stieler/geonotes/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,11 @@ protected void onActivityResult(int requestCode, int resultCode, @Nullable Inten
break;
}
}

// Maybe some or all notes got deleted via the note list -> reload map
if (requestCode == REQUEST_NOTE_LIST_REQUEST_CODE) {
map.reloadAllNotes();
}
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ public void removeNote(long id) {
noteStore.removeNote(getWritableDatabase(), id);
}

public void removeAllNotes() {
noteStore.removeAllNotes(getWritableDatabase());
}

public List<Note> getAllNotes() {
return noteStore.getAllNotes(getWritableDatabase());
}
Expand Down
Loading

0 comments on commit 51b94ba

Please sign in to comment.