6 Commits

41 changed files with 103 additions and 74 deletions

View File

@ -8,7 +8,7 @@
(Always prefer [F-Droid](https://f-droid.org) build, when possible). (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...). 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. 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). 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).
![Screenshot 1](screenshots/1.png) ![Screenshot 1](screenshots/2.png) ![Screenshot 1](screenshots/1.png) ![Screenshot 2](screenshots/2.png) ![Screenshot 3](screenshots/3.png)

View File

@ -24,8 +24,8 @@ android {
applicationId "it.danieleverducci.nextcloudmaps" applicationId "it.danieleverducci.nextcloudmaps"
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 34 targetSdkVersion 34
versionCode 8 versionCode 9
versionName "0.3.6" versionName "0.4.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }

View File

@ -18,6 +18,8 @@
package it.danieleverducci.nextcloudmaps.activity.detail; package it.danieleverducci.nextcloudmaps.activity.detail;
import android.Manifest; import android.Manifest;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
@ -80,11 +82,6 @@ public class GeofavoriteDetailActivity extends NextcloudMapsStyledActivity imple
finish(); finish();
} }
@Override
public void onMapEditPressed() {
//TODO
}
@Override @Override
public void onActionIconShareClicked() { public void onActionIconShareClicked() {
startActivity(Intent.createChooser(IntentGenerator.newShareIntent(GeofavoriteDetailActivity.this, mGeofavorite), getString(R.string.share_via))); 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()); CategoriesAdapter categoriesAdapter = new CategoriesAdapter(binding.root.getContext());
this.binding.categoryAt.setAdapter(categoriesAdapter); this.binding.categoryAt.setAdapter(categoriesAdapter);
this.binding.categoryAt.setText(Geofavorite.DEFAULT_CATEGORY); 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 // Set map properties
this.binding.map.getZoomController().setVisibility(CustomZoomButtonsController.Visibility.NEVER); this.binding.map.getZoomController().setVisibility(CustomZoomButtonsController.Visibility.NEVER);
@ -340,6 +343,12 @@ public class GeofavoriteDetailActivity extends NextcloudMapsStyledActivity imple
public void updateViewCoords(Geofavorite item) { public void updateViewCoords(Geofavorite item) {
binding.coordsTv.setText(item.getCoordinatesString()); 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 // Center map
GeoPoint position = new GeoPoint(item.getLat(), item.getLng()); 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) { if (v.getId() == R.id.back_bt && this.listener != null) {
this.listener.onBackPressed(); this.listener.onBackPressed();
} }
if (v.getId() == R.id.manual_pos_bt && this.listener != null) {
this.listener.onMapEditPressed();
}
// Actions // Actions
if (v.getId() == R.id.action_icon_share && this.listener != null) { if (v.getId() == R.id.action_icon_share && this.listener != null) {
@ -428,7 +434,6 @@ public class GeofavoriteDetailActivity extends NextcloudMapsStyledActivity imple
void onSubmit(); void onSubmit();
void onMapClicked(); void onMapClicked();
void onBackPressed(); void onBackPressed();
void onMapEditPressed();
void onActionIconShareClicked(); void onActionIconShareClicked();
void onActionIconNavClicked(); void onActionIconNavClicked();
void onActionIconDeleteClicked(); void onActionIconDeleteClicked();

View File

@ -3,6 +3,8 @@ package it.danieleverducci.nextcloudmaps.fragments;
import android.Manifest; import android.Manifest;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
@ -15,6 +17,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.content.res.AppCompatResources; import androidx.appcompat.content.res.AppCompatResources;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import androidx.core.content.res.ResourcesCompat;
import androidx.core.graphics.drawable.DrawableCompat; import androidx.core.graphics.drawable.DrawableCompat;
import androidx.lifecycle.Observer; import androidx.lifecycle.Observer;
@ -161,6 +164,11 @@ public class GeofavoriteMapFragment extends GeofavoritesFragment implements Main
// Display user position on screen // Display user position on screen
mLocationOverlay = new MyLocationNewOverlay(new GpsMyLocationProvider(requireContext()), map); 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 // On first gps fix, show "center to my position" icon
mLocationOverlay.runOnFirstFix(() -> { mLocationOverlay.runOnFirstFix(() -> {
if(getActivity() != null) { if(getActivity() != null) {

View File

@ -1,10 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item <item>
android:left="8dp"
android:right="8dp"
android:top="8dp"
android:bottom="8dp">
<shape <shape
android:shape="oval"> android:shape="oval">
<solid android:color="@color/defaultBrandAlpha"/> <solid android:color="@color/defaultBrandAlpha"/>

View 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>

View 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>

View File

@ -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>

View File

@ -9,7 +9,7 @@
<solid android:color="@android:color/transparent" /> <solid android:color="@android:color/transparent" />
<stroke <stroke
android:width="10dp" android:width="10dp"
android:color="#fff" /> android:color="@color/toolbar_background" />
</shape> </shape>
</item> </item>
</layer-list> </layer-list>

View File

@ -51,25 +51,26 @@
<!-- Back button --> <!-- Back button -->
<ImageView <ImageView
android:id="@+id/back_bt" android:id="@+id/back_bt"
android:layout_width="?android:attr/actionBarSize" android:layout_width="40dp"
android:layout_height="?android:attr/actionBarSize" android:layout_height="40dp"
android:layout_gravity="start" android:layout_gravity="start"
android:padding="16dp" android:layout_margin="8dp"
android:padding="8dp"
android:src="@drawable/ic_back_grey" android:src="@drawable/ic_back_grey"
app:tint="@color/white" app:tint="@color/white"
android:background="@drawable/floating_semitransparent_button_background"/> android:background="@drawable/floating_semitransparent_button_background"/>
<!-- Manual position button --> <!-- Save button -->
<ImageView <ImageView
android:id="@+id/manual_pos_bt" android:id="@+id/submit_bt"
android:layout_width="?android:attr/actionBarSize" android:layout_width="40dp"
android:layout_height="?android:attr/actionBarSize" android:layout_height="40dp"
android:layout_gravity="end" android:layout_gravity="end"
android:padding="16dp" android:layout_margin="8dp"
android:src="@drawable/ic_manual_pos" android:padding="8dp"
android:src="@drawable/ic_ok"
app:tint="@color/white" app:tint="@color/white"
android:background="@drawable/floating_semitransparent_button_background" android:background="@drawable/round_button_background"/>
android:visibility="gone"/> <!-- TODO: Implement edit -->
</androidx.appcompat.widget.Toolbar> </androidx.appcompat.widget.Toolbar>
@ -197,20 +198,40 @@
android:drawableTint="@color/defaultBrand" android:drawableTint="@color/defaultBrand"
android:hint="@string/description"/> android:hint="@string/description"/>
<AutoCompleteTextView <LinearLayout
android:id="@+id/category_at"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="20dp" android:orientation="horizontal"
android:ems="10" android:layout_marginTop="20dp">
android:gravity="start|top"
android:inputType="textMultiLine" <AutoCompleteTextView
android:maxLines="10" android:id="@+id/category_at"
android:background="@android:color/transparent" android:layout_width="0dp"
android:drawableLeft="@drawable/ic_category_asc" android:layout_height="wrap_content"
android:drawablePadding="5dp" android:layout_weight="1"
android:drawableTint="@color/defaultBrand" android:maxLines="1"
android:hint="@string/category"/> 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 <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
@ -249,7 +270,9 @@
android:id="@+id/coords_tv" android:id="@+id/coords_tv"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textAlignment="textEnd" /> android:textAlignment="textEnd"
app:drawableEndCompat="@drawable/ic_copy"
android:drawablePadding="10sp"/>
<ProgressBar <ProgressBar
android:id="@+id/progress" android:id="@+id/progress"
@ -258,16 +281,6 @@
android:indeterminate="true" android:indeterminate="true"
android:visibility="gone"/> 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> </LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>

View File

@ -35,6 +35,7 @@
android:layout_marginTop="@dimen/spacer_1hx" android:layout_marginTop="@dimen/spacer_1hx"
android:layout_marginEnd="@dimen/spacer_2x" android:layout_marginEnd="@dimen/spacer_2x"
android:layout_marginBottom="@dimen/spacer_1hx" android:layout_marginBottom="@dimen/spacer_1hx"
app:cardBackgroundColor="@color/toolbar_background"
app:cardCornerRadius="30dp" app:cardCornerRadius="30dp"
app:cardElevation="2dp" app:cardElevation="2dp"
app:strokeWidth="0dp"> app:strokeWidth="0dp">

View File

@ -61,7 +61,6 @@
android:layout_marginBottom="25dp" android:layout_marginBottom="25dp"
android:layout_gravity="bottom|right" android:layout_gravity="bottom|right"
android:background="@drawable/unselected_floating_semitransparent_button_background" android:background="@drawable/unselected_floating_semitransparent_button_background"
android:contentDescription="@string/list_mode"
android:padding="5dp" android:padding="5dp"
android:tint="@color/text_color" android:tint="@color/text_color"
android:src="@drawable/ic_add_gps" android:src="@drawable/ic_add_gps"

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 962 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -64,11 +64,12 @@
<string name="accuracy">Accuratezza: {accuracy} m</string> <string name="accuracy">Accuratezza: {accuracy} m</string>
<string name="accuracy_nosignal">Nessun segnale GPS!</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="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_saving_geofavorite">Impossibile salvare il geosegnalibro</string>
<string name="error_unsupported_uri">Impossibile ottenere le coordinate dai dati ricevuti</string> <string name="error_unsupported_uri">Impossibile ottenere le coordinate dai dati ricevuti</string>
<string name="geofavorite_saved">Geosegnalibro salvato</string> <string name="geofavorite_saved">Geosegnalibro salvato</string>
<string name="incomplete_geofavorite">Geosegnalibro incompleto: nome e categoria sono obbligatori</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 --> <!-- Map picker activity -->
<string name="coordinates_parse_error">Le coordinate dovrebbero essere nel formato xx.xxxxxx</string> <string name="coordinates_parse_error">Le coordinate dovrebbero essere nel formato xx.xxxxxx</string>

View File

@ -4,4 +4,7 @@
<color name="disabled">#888</color> <color name="disabled">#888</color>
<color name="defaultBackground">#000</color> <color name="defaultBackground">#000</color>
<color name="translucent">#C000</color> <color name="translucent">#C000</color>
<!-- Toolbar -->
<color name="toolbar_background">#211e28</color>
</resources> </resources>

View File

@ -38,4 +38,7 @@
<!-- Generic Colors --> <!-- Generic Colors -->
<color name="white">#fff</color> <color name="white">#fff</color>
<!-- Toolbar -->
<color name="toolbar_background">@color/defaultBackground</color>
</resources> </resources>

View File

@ -63,11 +63,12 @@
<string name="accuracy">Accuracy: {accuracy} m</string> <string name="accuracy">Accuracy: {accuracy} m</string>
<string name="accuracy_nosignal">No GPS signal!</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="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_saving_geofavorite">Unable to save geofavorite</string>
<string name="error_unsupported_uri">Unable to obtain coordinates from shared data</string> <string name="error_unsupported_uri">Unable to obtain coordinates from shared data</string>
<string name="geofavorite_saved">Geofavorite saved</string> <string name="geofavorite_saved">Geofavorite saved</string>
<string name="incomplete_geofavorite">Incomplete geofavorite: Name and category are mandatory</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 --> <!-- Map picker activity -->
<string name="coordinates_parse_error">Coordinates should be in format xx.xxxxxx</string> <string name="coordinates_parse_error">Coordinates should be in format xx.xxxxxx</string>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

View 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

View File

@ -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...). 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. A new geofavorite can be created on current location, by sharing a "geo:" uri from another app or manually picking from the map.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

View File

@ -1,3 +1,3 @@
Client per Nextcloud Maps non ufficiale e FOSS al suo stato iniziale di sviluppo. 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. È possibile creare nuovi geosegnalibri nella posizione GPS attuale, scegliendo la posizione dalla mappa o condividendola da altre app sotto forma di "geo:" uri.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 178 KiB

BIN
screenshots/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB