summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2020-06-06 16:43:45 +0200
committerThomas <tschneider.ac@gmail.com>2020-06-06 16:43:45 +0200
commiteadb766f82b1048a5ed8e31026a563b5ee818aba (patch)
tree22edb697d25d4d6e28d6d180007eb167d8fa844a
parente4d860583373e1c0484eb5546c1cbebbe80571f1 (diff)
Fix some crashes
-rw-r--r--app/src/main/java/app/fedilab/android/client/Entities/Account.java10
-rw-r--r--app/src/main/java/app/fedilab/android/client/Entities/Status.java11
2 files changed, 11 insertions, 10 deletions
diff --git a/app/src/main/java/app/fedilab/android/client/Entities/Account.java b/app/src/main/java/app/fedilab/android/client/Entities/Account.java
index f901f3fe1..bacddd86a 100644
--- a/app/src/main/java/app/fedilab/android/client/Entities/Account.java
+++ b/app/src/main/java/app/fedilab/android/client/Entities/Account.java
@@ -723,7 +723,7 @@ public class Account implements Parcelable {
int startPositionTar = spannableString.toString().indexOf("@" + this.getMoved_to_account().getAcct());
int endPositionTar = startPositionTar + ("@" + this.getMoved_to_account().getAcct()).length();
final Account idTar = this.getMoved_to_account();
- if (endPositionTar <= spannableString.toString().length() && endPositionTar >= startPositionTar)
+ if (startPositionTar >= 0 && endPositionTar <= spannableString.toString().length() && endPositionTar >= startPositionTar)
spannableString.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View textView) {
@@ -801,7 +801,7 @@ public class Account implements Parcelable {
int matchStart = matcher.start(0);
int matchEnd = matcher.end();
final String url = fieldSpan.toString().substring(matchStart, matchEnd);
- if (matchEnd <= fieldSpan.toString().length() && matchEnd >= matchStart) {
+ if (matchStart >= 0 && matchEnd <= fieldSpan.toString().length() && matchEnd >= matchStart) {
fieldSpan.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View textView) {
@@ -832,7 +832,7 @@ public class Account implements Parcelable {
int matchStart = matcher.start(0);
int matchEnd = matcher.end();
final String email = fieldSpan.toString().substring(matchStart, matchEnd);
- if (matchEnd <= fieldSpan.toString().length() && matchEnd >= matchStart) {
+ if (matchStart >= 0 && matchEnd <= fieldSpan.toString().length() && matchEnd >= matchStart) {
fieldSpan.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View textView) {
@@ -865,7 +865,7 @@ public class Account implements Parcelable {
int matchStart = matcher.start(1);
int matchEnd = matcher.end();
final String tag = fieldSpan.toString().substring(matchStart, matchEnd);
- if (matchEnd <= fieldSpan.toString().length() && matchEnd >= matchStart)
+ if (matchStart >= 0 && matchEnd <= fieldSpan.toString().length() && matchEnd >= matchStart)
fieldSpan.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View textView) {
@@ -935,7 +935,7 @@ public class Account implements Parcelable {
int matchStart = matcher.start(0);
int matchEnd = matcher.end();
final String url = fieldSpan.toString().substring(matchStart, matchEnd);
- if (matchEnd <= fieldSpan.toString().length() && matchEnd >= matchStart) {
+ if (matchStart >= 0 && matchEnd <= fieldSpan.toString().length() && matchEnd >= matchStart) {
fieldSpan.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View textView) {
diff --git a/app/src/main/java/app/fedilab/android/client/Entities/Status.java b/app/src/main/java/app/fedilab/android/client/Entities/Status.java
index e431a69e0..063f477d3 100644
--- a/app/src/main/java/app/fedilab/android/client/Entities/Status.java
+++ b/app/src/main/java/app/fedilab/android/client/Entities/Status.java
@@ -525,7 +525,7 @@ public class Status implements Parcelable {
int matchStart = matcher.start(2);
int matchEnd = matcher.end();
final String twittername = matcher.group(2);
- if (matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
+ if (matchStart >= 0 && matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
spannableStringT.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View textView) {
@@ -574,7 +574,7 @@ public class Status implements Parcelable {
endPosition = startPosition + key.length();
}
//Accounts can be mentioned several times so we have to loop
- if (endPosition <= spannableStringT.toString().length() && endPosition >= startPosition)
+ if (startPosition >= 0 && endPosition <= spannableStringT.toString().length() && endPosition >= startPosition)
spannableStringT.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View textView) {
@@ -788,7 +788,7 @@ public class Status implements Parcelable {
int matchStart = matcher.start(1);
int matchEnd = matcher.end();
final String tag = spannableStringT.toString().substring(matchStart, matchEnd);
- if (matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
+ if (matchStart >= 0 && matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
spannableStringT.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View textView) {
@@ -797,6 +797,7 @@ public class Status implements Parcelable {
Bundle b = new Bundle();
b.putString("tag", tag.substring(1));
intent.putExtras(b);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}
@@ -817,7 +818,7 @@ public class Status implements Parcelable {
int matchStart = matcher.start(1);
int matchEnd = matcher.end();
final String groupname = spannableStringT.toString().substring(matchStart, matchEnd);
- if (matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
+ if (matchStart >= 0 && matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
spannableStringT.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View textView) {
@@ -870,7 +871,7 @@ public class Status implements Parcelable {
int matchStart = matcherALink.start();
int matchEnd = matcherALink.end();
final String url = contentSpanTranslated.toString().substring(matcherALink.start(1), matcherALink.end(1));
- if (matchEnd <= contentSpanTranslated.toString().length() && matchEnd >= matchStart)
+ if (matchStart >= 0 && matchEnd <= contentSpanTranslated.toString().length() && matchEnd >= matchStart)
contentSpanTranslated.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View textView) {