From ef6ee10dd74ee59447f1fe04b0e474003d34579f Mon Sep 17 00:00:00 2001 From: nuclearfog Date: Mon, 11 Nov 2019 20:18:33 +0100 Subject: [PATCH] bug fix, code cleanup --- .idea/misc.xml | 39 +++++++++++++++++++ .../twidda/backend/items/Tweet.java | 7 +++- .../twidda/backend/items/TweetHolder.java | 8 ++-- .../nuclearfog/twidda/window/TweetPopup.java | 12 +++--- app/src/main/res/layout/page_editprofile.xml | 2 + app/src/main/res/values-de-rDE/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 7 files changed, 58 insertions(+), 14 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 9e544229..062bb878 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,6 +5,45 @@ + + + + diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/items/Tweet.java b/app/src/main/java/org/nuclearfog/twidda/backend/items/Tweet.java index 1237eeb7..6e3a29b9 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/items/Tweet.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/items/Tweet.java @@ -70,9 +70,12 @@ public class Tweet { myRetweetId = status.getCurrentUserRetweetId(); replyUserId = status.getInReplyToUserId(); + // remove HTML tag String api = status.getSource(); - api = api.substring(api.indexOf('>') + 1); - api = api.substring(0, api.indexOf('<')); + int start = api.indexOf('>') + 1; + int end = api.lastIndexOf('<'); + if (start > 0 && end > 0) + api = api.substring(start, end); source = api; Place place = status.getPlace(); diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/items/TweetHolder.java b/app/src/main/java/org/nuclearfog/twidda/backend/items/TweetHolder.java index bf73c2c2..6e51f1ae 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/items/TweetHolder.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/items/TweetHolder.java @@ -1,5 +1,7 @@ package org.nuclearfog.twidda.backend.items; +import android.location.Location; + import androidx.annotation.NonNull; import org.nuclearfog.twidda.backend.helper.FilenameTools; @@ -42,9 +44,9 @@ public class TweetHolder { } } - public void addLocation(double[] location) { - this.latitude = location[0]; - this.longitude = location[1]; + public void addLocation(Location location) { + this.latitude = location.getLatitude(); + this.longitude = location.getLongitude(); hasLocation = true; } diff --git a/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java b/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java index 7d86a878..adbd744f 100644 --- a/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java +++ b/app/src/main/java/org/nuclearfog/twidda/window/TweetPopup.java @@ -65,13 +65,13 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo @Nullable private LocationManager mLocation; private StatusUploader uploaderAsync; + private Location location; private List mediaPath; private View mediaBtn, previewBtn, locationProg, locationBtn; private TextView imgCount; private EditText tweet; private String addition = ""; private long inReplyId = 0; - private double[] gpsLocation; private Mode mode = Mode.NONE; private enum Mode { @@ -214,8 +214,8 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo TweetHolder tweet = new TweetHolder(tweetStr, inReplyId); if (!mediaPath.isEmpty()) tweet.addMedia(mediaPath.toArray(new String[0])); - if (gpsLocation != null) - tweet.addLocation(gpsLocation); + if (location != null) + tweet.addLocation(location); uploaderAsync = new StatusUploader(this, tweet); uploaderAsync.execute(); } @@ -260,9 +260,7 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo @Override public void onLocationChanged(Location location) { - gpsLocation = new double[2]; - gpsLocation[0] = location.getLatitude(); - gpsLocation[1] = location.getLongitude(); + this.location = location; Toast.makeText(this, R.string.info_gps_attached, LENGTH_LONG).show(); locationProg.setVisibility(INVISIBLE); locationBtn.setVisibility(VISIBLE); @@ -281,7 +279,7 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener, Lo @Override public void onProviderDisabled(String provider) { - if (gpsLocation == null) + if (location == null) Toast.makeText(this, R.string.error_gps, LENGTH_LONG).show(); locationProg.setVisibility(INVISIBLE); locationBtn.setVisibility(VISIBLE); diff --git a/app/src/main/res/layout/page_editprofile.xml b/app/src/main/res/layout/page_editprofile.xml index 3b85fa2c..10bfdd30 100644 --- a/app/src/main/res/layout/page_editprofile.xml +++ b/app/src/main/res/layout/page_editprofile.xml @@ -49,7 +49,9 @@ android:background="@drawable/button" android:maxLines="2" android:paddingLeft="@dimen/editprofile_upload_button_padding" + android:paddingStart="@dimen/editprofile_upload_button_padding" android:paddingRight="@dimen/button_padding" + android:paddingEnd="@dimen/button_padding" app:drawableLeftCompat="@drawable/upload" app:drawableStartCompat="@drawable/upload" /> diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index c4aa6ced..17c84364 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -123,6 +123,6 @@ Diese Funktion wurde noch nicht hinzugefügt! Link konnte nicht kopiert werden! GPS Position hinzugefügt - starte GPS lokalisierung... + starte GPS lokalisierung… GPS lokalisierung fehlgeschlagen! \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d8ba49f9..206f8e08 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -124,6 +124,6 @@ This function is not implemented yet! can\'t copy link to clipboard! GPS position added - starting location... + starting location… could not fetch GPS data! \ No newline at end of file