Fix crashes
This commit is contained in:
parent
d980f2e0bc
commit
02bdab4def
|
@ -452,22 +452,23 @@ public class Account implements Parcelable {
|
||||||
int startPositionTar = spannableString.toString().indexOf("@"+this.getMoved_to_account().getAcct());
|
int startPositionTar = spannableString.toString().indexOf("@"+this.getMoved_to_account().getAcct());
|
||||||
int endPositionTar = startPositionTar + ("@"+this.getMoved_to_account().getAcct()).length();
|
int endPositionTar = startPositionTar + ("@"+this.getMoved_to_account().getAcct()).length();
|
||||||
final String idTar = this.getMoved_to_account().getId();
|
final String idTar = this.getMoved_to_account().getId();
|
||||||
spannableString.setSpan(new ClickableSpan() {
|
if( endPositionTar <= spannableString.toString().length() && endPositionTar >= startPositionTar)
|
||||||
@Override
|
spannableString.setSpan(new ClickableSpan() {
|
||||||
public void onClick(View textView) {
|
@Override
|
||||||
Intent intent = new Intent(context, ShowAccountActivity.class);
|
public void onClick(View textView) {
|
||||||
Bundle b = new Bundle();
|
Intent intent = new Intent(context, ShowAccountActivity.class);
|
||||||
b.putString("accountId", idTar);
|
Bundle b = new Bundle();
|
||||||
intent.putExtras(b);
|
b.putString("accountId", idTar);
|
||||||
context.startActivity(intent);
|
intent.putExtras(b);
|
||||||
}
|
context.startActivity(intent);
|
||||||
@Override
|
}
|
||||||
public void updateDrawState(TextPaint ds) {
|
@Override
|
||||||
super.updateDrawState(ds);
|
public void updateDrawState(TextPaint ds) {
|
||||||
}
|
super.updateDrawState(ds);
|
||||||
},
|
}
|
||||||
startPositionTar, endPositionTar,
|
},
|
||||||
Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
startPositionTar, endPositionTar,
|
||||||
|
Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||||
}
|
}
|
||||||
return spannableString;
|
return spannableString;
|
||||||
}
|
}
|
||||||
|
|
|
@ -763,9 +763,11 @@ public class Status implements Parcelable{
|
||||||
int matchStart = matcher.start(2);
|
int matchStart = matcher.start(2);
|
||||||
int matchEnd = matcher.end();
|
int matchEnd = matcher.end();
|
||||||
final String twittername = matcher.group(2);
|
final String twittername = matcher.group(2);
|
||||||
URLSpan[] spans = spannableStringT.getSpans(matchStart, matchEnd, URLSpan.class);
|
if( spannableStringT.length() < matchEnd) {
|
||||||
for (URLSpan span : spans) {
|
URLSpan[] spans = spannableStringT.getSpans(matchStart, matchEnd, URLSpan.class);
|
||||||
spannableStringT.removeSpan(span);
|
for (URLSpan span : spans) {
|
||||||
|
spannableStringT.removeSpan(span);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if( matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
|
if( matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
|
||||||
spannableStringT.setSpan(new ClickableSpan() {
|
spannableStringT.setSpan(new ClickableSpan() {
|
||||||
|
@ -828,9 +830,11 @@ public class Status implements Parcelable{
|
||||||
for(int startPosition = -1 ; (startPosition = spannableStringT.toString().toLowerCase().indexOf(key.toLowerCase(), startPosition + 1)) != -1 ; startPosition++){
|
for(int startPosition = -1 ; (startPosition = spannableStringT.toString().toLowerCase().indexOf(key.toLowerCase(), startPosition + 1)) != -1 ; startPosition++){
|
||||||
|
|
||||||
int endPosition = startPosition + key.length();
|
int endPosition = startPosition + key.length();
|
||||||
URLSpan[] spans = spannableStringT.getSpans(startPosition, endPosition, URLSpan.class);
|
if( spannableStringT.length() < endPosition) {
|
||||||
for (URLSpan span : spans) {
|
URLSpan[] spans = spannableStringT.getSpans(startPosition, endPosition, URLSpan.class);
|
||||||
spannableStringT.removeSpan(span);
|
for (URLSpan span : spans) {
|
||||||
|
spannableStringT.removeSpan(span);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if( endPosition <= spannableStringT.toString().length() && endPosition >= startPosition) {
|
if( endPosition <= spannableStringT.toString().length() && endPosition >= startPosition) {
|
||||||
spannableStringT.setSpan(new ClickableSpan() {
|
spannableStringT.setSpan(new ClickableSpan() {
|
||||||
|
@ -891,9 +895,11 @@ public class Status implements Parcelable{
|
||||||
for(int startPosition = -1 ; (startPosition = spannableStringT.toString().toLowerCase().indexOf(targetedAccount.toLowerCase(), startPosition + 1)) != -1 ; startPosition++){
|
for(int startPosition = -1 ; (startPosition = spannableStringT.toString().toLowerCase().indexOf(targetedAccount.toLowerCase(), startPosition + 1)) != -1 ; startPosition++){
|
||||||
|
|
||||||
int endPosition = startPosition + targetedAccount.length();
|
int endPosition = startPosition + targetedAccount.length();
|
||||||
URLSpan[] spans = spannableStringT.getSpans(startPosition, endPosition, URLSpan.class);
|
if( spannableStringT.length() < endPosition) {
|
||||||
for (URLSpan span : spans) {
|
URLSpan[] spans = spannableStringT.getSpans(startPosition, endPosition, URLSpan.class);
|
||||||
spannableStringT.removeSpan(span);
|
for (URLSpan span : spans) {
|
||||||
|
spannableStringT.removeSpan(span);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if( endPosition <= spannableStringT.toString().length() && endPosition >= startPosition)
|
if( endPosition <= spannableStringT.toString().length() && endPosition >= startPosition)
|
||||||
spannableStringT.setSpan(new ClickableSpan() {
|
spannableStringT.setSpan(new ClickableSpan() {
|
||||||
|
@ -925,9 +931,11 @@ public class Status implements Parcelable{
|
||||||
while (matcher.find()){
|
while (matcher.find()){
|
||||||
int matchStart = matcher.start(1);
|
int matchStart = matcher.start(1);
|
||||||
int matchEnd = matcher.end();
|
int matchEnd = matcher.end();
|
||||||
URLSpan[] spans = spannableStringT.getSpans(matchStart, matchEnd, URLSpan.class);
|
if( spannableStringT.length() < matchEnd) {
|
||||||
for (URLSpan span : spans) {
|
URLSpan[] spans = spannableStringT.getSpans(matchStart, matchEnd, URLSpan.class);
|
||||||
spannableStringT.removeSpan(span);
|
for (URLSpan span : spans) {
|
||||||
|
spannableStringT.removeSpan(span);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
final String tag = spannableStringT.toString().substring(matchStart, matchEnd);
|
final String tag = spannableStringT.toString().substring(matchStart, matchEnd);
|
||||||
if( matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
|
if( matchEnd <= spannableStringT.toString().length() && matchEnd >= matchStart)
|
||||||
|
|
Loading…
Reference in New Issue