Compare commits
8 Commits
feature/ma
...
develop
Author | SHA1 | Date | |
---|---|---|---|
a0978d8a54 | |||
fac521e0e3 | |||
5cf1f72d9c | |||
ce1b921447 | |||
0de02c6d44 | |||
1bbf8d0c5c | |||
8b470c1927 | |||
904cafcf48 |
2
.gitignore
vendored
@ -101,3 +101,5 @@ app/release/output-metadata.json
|
||||
|
||||
.idea/deploymentTargetDropDown.xml
|
||||
.idea/misc.xml
|
||||
.idea/deploymentTargetSelector.xml
|
||||
.idea/other.xml
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
(Always prefer [F-Droid](https://f-droid.org) build, when possible).
|
||||
|
||||
UNOFFICIAL and FOSS Nextcloud Maps client at its earliest stages of developement. Shows your Nextcloud Maps geofavorites list.
|
||||
UNOFFICIAL and FOSS Nextcloud Maps client at its earliest stages of developement. Shows your Nextcloud Maps geofavorites in a list and a map.
|
||||
Geofavorites can be opened in all apps supporting geo links (i.e. Google Maps, Organic Maps etc...).
|
||||
A new geofavorite can be created on current location, by sharing a "geo:" uri from another app or manually picking from the map.
|
||||
|
||||
@ -16,5 +16,5 @@ A new geofavorite can be created on current location, by sharing a "geo:" uri fr
|
||||
|
||||
This work is heavily based on [matiasdelellis's Nextcloud SSO example](https://github.com/matiasdelellis/app-tutorial-android) to implement [Nextcloud single sign on](https://github.com/nextcloud/Android-SingleSignOn).
|
||||
|
||||
 
|
||||
  
|
||||
|
||||
|
@ -18,14 +18,12 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 34
|
||||
|
||||
defaultConfig {
|
||||
applicationId "it.danieleverducci.nextcloudmaps"
|
||||
minSdkVersion 23
|
||||
targetSdkVersion 34
|
||||
versionCode 8
|
||||
versionName "0.3.6"
|
||||
targetSdkVersion 35
|
||||
versionCode 9
|
||||
versionName "0.4.0"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
@ -59,10 +57,10 @@ dependencies {
|
||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||
|
||||
// Desugaring lib: see https://developer.android.com/studio/write/java8-support
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.3")
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.2")
|
||||
|
||||
implementation 'com.android.support:design:34.0.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.6.1'
|
||||
implementation 'androidx.appcompat:appcompat:1.7.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.3.2'
|
||||
implementation "androidx.cardview:cardview:1.0.0"
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||
@ -70,11 +68,11 @@ dependencies {
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
||||
|
||||
// Retrofif2
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.11.0'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.6.1'
|
||||
|
||||
// Nextcloud SSO
|
||||
implementation "com.github.nextcloud:Android-SingleSignOn:1.0.0"
|
||||
implementation "com.github.nextcloud:Android-SingleSignOn:1.3.2"
|
||||
|
||||
// OSMDroid
|
||||
implementation 'org.osmdroid:osmdroid-android:6.1.18'
|
||||
@ -83,7 +81,7 @@ dependencies {
|
||||
implementation 'org.threeten:threetenbp:1.5.1'
|
||||
|
||||
// https://mvnrepository.com/artifact/commons-io/commons-io
|
||||
implementation 'commons-io:commons-io:2.11.0'
|
||||
implementation 'commons-io:commons-io:2.13.0'
|
||||
|
||||
// Picasso (image loader)
|
||||
implementation 'com.squareup.picasso:picasso:2.8'
|
||||
|
@ -18,6 +18,8 @@
|
||||
package it.danieleverducci.nextcloudmaps.activity.detail;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
@ -80,11 +82,6 @@ public class GeofavoriteDetailActivity extends NextcloudMapsStyledActivity imple
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapEditPressed() {
|
||||
//TODO
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActionIconShareClicked() {
|
||||
startActivity(Intent.createChooser(IntentGenerator.newShareIntent(GeofavoriteDetailActivity.this, mGeofavorite), getString(R.string.share_via)));
|
||||
@ -310,6 +307,12 @@ public class GeofavoriteDetailActivity extends NextcloudMapsStyledActivity imple
|
||||
CategoriesAdapter categoriesAdapter = new CategoriesAdapter(binding.root.getContext());
|
||||
this.binding.categoryAt.setAdapter(categoriesAdapter);
|
||||
this.binding.categoryAt.setText(Geofavorite.DEFAULT_CATEGORY);
|
||||
this.binding.categoryAtClear.setOnClickListener((v) -> {
|
||||
if (this.binding.categoryAt.getText().toString().isEmpty())
|
||||
this.binding.categoryAt.setText(Geofavorite.DEFAULT_CATEGORY);
|
||||
else
|
||||
this.binding.categoryAt.setText("");
|
||||
});
|
||||
|
||||
// Set map properties
|
||||
this.binding.map.getZoomController().setVisibility(CustomZoomButtonsController.Visibility.NEVER);
|
||||
@ -340,6 +343,12 @@ public class GeofavoriteDetailActivity extends NextcloudMapsStyledActivity imple
|
||||
|
||||
public void updateViewCoords(Geofavorite item) {
|
||||
binding.coordsTv.setText(item.getCoordinatesString());
|
||||
binding.coordsTv.setOnClickListener((v) -> {
|
||||
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
ClipData clip = ClipData.newPlainText(item.getCoordinatesString(), item.getCoordinatesString());
|
||||
clipboard.setPrimaryClip(clip);
|
||||
Toast.makeText(GeofavoriteDetailActivity.this, R.string.coords_copied, Toast.LENGTH_SHORT).show();
|
||||
});
|
||||
|
||||
// Center map
|
||||
GeoPoint position = new GeoPoint(item.getLat(), item.getLng());
|
||||
@ -407,9 +416,6 @@ public class GeofavoriteDetailActivity extends NextcloudMapsStyledActivity imple
|
||||
if (v.getId() == R.id.back_bt && this.listener != null) {
|
||||
this.listener.onBackPressed();
|
||||
}
|
||||
if (v.getId() == R.id.manual_pos_bt && this.listener != null) {
|
||||
this.listener.onMapEditPressed();
|
||||
}
|
||||
|
||||
// Actions
|
||||
if (v.getId() == R.id.action_icon_share && this.listener != null) {
|
||||
@ -428,7 +434,6 @@ public class GeofavoriteDetailActivity extends NextcloudMapsStyledActivity imple
|
||||
void onSubmit();
|
||||
void onMapClicked();
|
||||
void onBackPressed();
|
||||
void onMapEditPressed();
|
||||
void onActionIconShareClicked();
|
||||
void onActionIconNavClicked();
|
||||
void onActionIconDeleteClicked();
|
||||
|
@ -3,6 +3,8 @@ package it.danieleverducci.nextcloudmaps.fragments;
|
||||
import android.Manifest;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
@ -15,6 +17,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.content.res.AppCompatResources;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
import androidx.core.graphics.drawable.DrawableCompat;
|
||||
import androidx.lifecycle.Observer;
|
||||
|
||||
@ -161,6 +164,11 @@ public class GeofavoriteMapFragment extends GeofavoritesFragment implements Main
|
||||
|
||||
// Display user position on screen
|
||||
mLocationOverlay = new MyLocationNewOverlay(new GpsMyLocationProvider(requireContext()), map);
|
||||
Bitmap personIcon = ((BitmapDrawable)AppCompatResources.getDrawable(requireContext(), R.mipmap.ic_person)).getBitmap();
|
||||
mLocationOverlay.setPersonIcon(personIcon);
|
||||
mLocationOverlay.setDirectionIcon(personIcon);
|
||||
mLocationOverlay.setPersonAnchor(.5f, .5f);
|
||||
mLocationOverlay.setDirectionAnchor(.5f, .5f);
|
||||
// On first gps fix, show "center to my position" icon
|
||||
mLocationOverlay.runOnFirstFix(() -> {
|
||||
if(getActivity() != null) {
|
||||
|
@ -1,10 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:left="8dp"
|
||||
android:right="8dp"
|
||||
android:top="8dp"
|
||||
android:bottom="8dp">
|
||||
<item>
|
||||
<shape
|
||||
android:shape="oval">
|
||||
<solid android:color="@color/defaultBrandAlpha"/>
|
||||
|
5
app/src/main/res/drawable/ic_clear.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<vector android:height="24dp" android:tint="#000000"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
|
||||
</vector>
|
5
app/src/main/res/drawable/ic_copy.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<vector android:height="24dp" android:tint="#000000"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z"/>
|
||||
</vector>
|
@ -1,16 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M13.95,13H9V8.05l5.61,-5.61C13.78,2.16 12.9,2 12,2c-4.2,0 -8,3.22 -8,8.2c0,3.32 2.67,7.25 8,11.8c5.33,-4.55 8,-8.48 8,-11.8c0,-1.01 -0.16,-1.94 -0.45,-2.8L13.95,13z"/>
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M11,11l2.12,0l6.16,-6.16l-2.12,-2.12l-6.16,6.16z"/>
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M20.71,2L20,1.29C19.8,1.1 19.55,1 19.29,1c-0.13,0 -0.48,0.07 -0.71,0.29l-0.72,0.72l2.12,2.12l0.72,-0.72C21.1,3.02 21.1,2.39 20.71,2z"/>
|
||||
</vector>
|
@ -9,7 +9,7 @@
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<stroke
|
||||
android:width="10dp"
|
||||
android:color="#fff" />
|
||||
android:color="@color/toolbar_background" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
|
@ -51,25 +51,26 @@
|
||||
<!-- Back button -->
|
||||
<ImageView
|
||||
android:id="@+id/back_bt"
|
||||
android:layout_width="?android:attr/actionBarSize"
|
||||
android:layout_height="?android:attr/actionBarSize"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="start"
|
||||
android:padding="16dp"
|
||||
android:layout_margin="8dp"
|
||||
android:padding="8dp"
|
||||
android:src="@drawable/ic_back_grey"
|
||||
app:tint="@color/white"
|
||||
android:background="@drawable/floating_semitransparent_button_background"/>
|
||||
|
||||
<!-- Manual position button -->
|
||||
<!-- Save button -->
|
||||
<ImageView
|
||||
android:id="@+id/manual_pos_bt"
|
||||
android:layout_width="?android:attr/actionBarSize"
|
||||
android:layout_height="?android:attr/actionBarSize"
|
||||
android:id="@+id/submit_bt"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="end"
|
||||
android:padding="16dp"
|
||||
android:src="@drawable/ic_manual_pos"
|
||||
android:layout_margin="8dp"
|
||||
android:padding="8dp"
|
||||
android:src="@drawable/ic_ok"
|
||||
app:tint="@color/white"
|
||||
android:background="@drawable/floating_semitransparent_button_background"
|
||||
android:visibility="gone"/> <!-- TODO: Implement edit -->
|
||||
android:background="@drawable/round_button_background"/>
|
||||
|
||||
</androidx.appcompat.widget.Toolbar>
|
||||
|
||||
@ -197,20 +198,40 @@
|
||||
android:drawableTint="@color/defaultBrand"
|
||||
android:hint="@string/description"/>
|
||||
|
||||
<AutoCompleteTextView
|
||||
android:id="@+id/category_at"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:ems="10"
|
||||
android:gravity="start|top"
|
||||
android:inputType="textMultiLine"
|
||||
android:maxLines="10"
|
||||
android:background="@android:color/transparent"
|
||||
android:drawableLeft="@drawable/ic_category_asc"
|
||||
android:drawablePadding="5dp"
|
||||
android:drawableTint="@color/defaultBrand"
|
||||
android:hint="@string/category"/>
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="20dp">
|
||||
|
||||
<AutoCompleteTextView
|
||||
android:id="@+id/category_at"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:maxLines="1"
|
||||
android:background="@android:color/transparent"
|
||||
android:drawableLeft="@drawable/ic_category_asc"
|
||||
android:drawablePadding="5dp"
|
||||
android:drawableTint="@color/defaultBrand"
|
||||
android:hint="@string/category"
|
||||
android:completionThreshold="0"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/category_at_clear"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="3dp"
|
||||
android:background="@color/transparent"
|
||||
android:src="@drawable/ic_clear"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:text="@string/category_hint"
|
||||
android:textSize="12sp"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
@ -249,7 +270,9 @@
|
||||
android:id="@+id/coords_tv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="textEnd" />
|
||||
android:textAlignment="textEnd"
|
||||
app:drawableEndCompat="@drawable/ic_copy"
|
||||
android:drawablePadding="10sp"/>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progress"
|
||||
@ -258,16 +281,6 @@
|
||||
android:indeterminate="true"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/submit_bt"
|
||||
style="@style/Widget.AppCompat.Button.Colored"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="60dp"
|
||||
android:layout_margin="50dp"
|
||||
android:text="@string/confirm"
|
||||
app:backgroundTint="@color/defaultBrand"
|
||||
android:onClick="onSubmit"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
@ -35,6 +35,7 @@
|
||||
android:layout_marginTop="@dimen/spacer_1hx"
|
||||
android:layout_marginEnd="@dimen/spacer_2x"
|
||||
android:layout_marginBottom="@dimen/spacer_1hx"
|
||||
app:cardBackgroundColor="@color/toolbar_background"
|
||||
app:cardCornerRadius="30dp"
|
||||
app:cardElevation="2dp"
|
||||
app:strokeWidth="0dp">
|
||||
|
@ -61,7 +61,6 @@
|
||||
android:layout_marginBottom="25dp"
|
||||
android:layout_gravity="bottom|right"
|
||||
android:background="@drawable/unselected_floating_semitransparent_button_background"
|
||||
android:contentDescription="@string/list_mode"
|
||||
android:padding="5dp"
|
||||
android:tint="@color/text_color"
|
||||
android:src="@drawable/ic_add_gps"
|
||||
|
BIN
app/src/main/res/mipmap-hdpi/ic_person.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_person.png
Normal file
After Width: | Height: | Size: 962 B |
BIN
app/src/main/res/mipmap-xhdpi/ic_person.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_person.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_person.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
@ -64,11 +64,12 @@
|
||||
<string name="accuracy">Accuratezza: {accuracy} m</string>
|
||||
<string name="accuracy_nosignal">Nessun segnale GPS!</string>
|
||||
<string name="location_permission_required">Per creare un geosegnalibro è necessario consentire l\'accesso alla posizione.</string>
|
||||
<string name="confirm">Salva</string>
|
||||
<string name="category_hint">Scrivi il nome per creare una nuova categoria</string>
|
||||
<string name="error_saving_geofavorite">Impossibile salvare il geosegnalibro</string>
|
||||
<string name="error_unsupported_uri">Impossibile ottenere le coordinate dai dati ricevuti</string>
|
||||
<string name="geofavorite_saved">Geosegnalibro salvato</string>
|
||||
<string name="incomplete_geofavorite">Geosegnalibro incompleto: nome e categoria sono obbligatori</string>
|
||||
<string name="coords_copied">Coordinate copiate nella clipboard</string>
|
||||
|
||||
<!-- Map picker activity -->
|
||||
<string name="coordinates_parse_error">Le coordinate dovrebbero essere nel formato xx.xxxxxx</string>
|
||||
|
@ -4,4 +4,7 @@
|
||||
<color name="disabled">#888</color>
|
||||
<color name="defaultBackground">#000</color>
|
||||
<color name="translucent">#C000</color>
|
||||
|
||||
<!-- Toolbar -->
|
||||
<color name="toolbar_background">#211e28</color>
|
||||
</resources>
|
@ -38,4 +38,7 @@
|
||||
|
||||
<!-- Generic Colors -->
|
||||
<color name="white">#fff</color>
|
||||
|
||||
<!-- Toolbar -->
|
||||
<color name="toolbar_background">@color/defaultBackground</color>
|
||||
</resources>
|
@ -63,11 +63,12 @@
|
||||
<string name="accuracy">Accuracy: {accuracy} m</string>
|
||||
<string name="accuracy_nosignal">No GPS signal!</string>
|
||||
<string name="location_permission_required">Location permission is required to create a geofavorite.</string>
|
||||
<string name="confirm">Save</string>
|
||||
<string name="category_hint">Write the name to create a new category</string>
|
||||
<string name="error_saving_geofavorite">Unable to save geofavorite</string>
|
||||
<string name="error_unsupported_uri">Unable to obtain coordinates from shared data</string>
|
||||
<string name="geofavorite_saved">Geofavorite saved</string>
|
||||
<string name="incomplete_geofavorite">Incomplete geofavorite: Name and category are mandatory</string>
|
||||
<string name="coords_copied">Coordinates have been copied to the clipboard</string>
|
||||
|
||||
<!-- Map picker activity -->
|
||||
<string name="coordinates_parse_error">Coordinates should be in format xx.xxxxxx</string>
|
||||
|
@ -25,7 +25,7 @@ buildscript {
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:8.2.2'
|
||||
classpath 'com.android.tools.build:gradle:8.5.1'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
Before Width: | Height: | Size: 129 KiB |
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 64 KiB |
5
fastlane/metadata/android/en-US/changelogs/9.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Map view
|
||||
Filter by category
|
||||
Button to copy coordinates to clipboard
|
||||
Faster autocomplete
|
||||
Graphics restyling to match new Nextcloud style
|
@ -1,4 +1,4 @@
|
||||
UNOFFICIAL and FOSS Nextcloud Maps client at its earliest stages of developement. Shows your Nextcloud Maps geofavorites list.
|
||||
UNOFFICIAL and FOSS Nextcloud Maps client. Shows your Nextcloud Maps geofavorites in a list or a map.
|
||||
Geofavorites can be opened in all apps supporting geo links (i.e. Google Maps, Organic Maps etc...).
|
||||
A new geofavorite can be created on current location, by sharing a "geo:" uri from another app or manually picking from the map.
|
||||
|
||||
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 2.8 MiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 229 KiB |
Before Width: | Height: | Size: 108 KiB |
@ -1,3 +1,3 @@
|
||||
Client per Nextcloud Maps non ufficiale e FOSS al suo stato iniziale di sviluppo.
|
||||
Mostra la lista dei geosegnalibri di Nextcloud Maps e permette di aprirli in qualunque app supporti i "geo:" urls (i.e. Google Maps, Organic Maps etc...).
|
||||
Mostra i geosegnalibri di Nextcloud Maps in lista o in mappa e permette di aprirli in qualunque app supporti i "geo:" urls (i.e. Google Maps, Organic Maps etc...).
|
||||
È possibile creare nuovi geosegnalibri nella posizione GPS attuale, scegliendo la posizione dalla mappa o condividendola da altre app sotto forma di "geo:" uri.
|
||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,6 @@
|
||||
#Sun Feb 20 08:50:37 CET 2022
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
|
||||
distributionPath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 178 KiB |
BIN
screenshots/3.png
Normal file
After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 2.8 MiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 229 KiB |
Before Width: | Height: | Size: 108 KiB |