summaryrefslogtreecommitdiffstats
path: root/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java')
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java34
1 files changed, 21 insertions, 13 deletions
diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java b/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java
index a3b5bcc07..077136f7c 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java
@@ -279,19 +279,23 @@ public class SpannableHelper {
public void onClick(@NonNull View textView) {
textView.setTag(CLICKABLE_SPAN);
Intent intent;
- Bundle b;
+ Bundle args;
if (word.startsWith("#")) {
intent = new Intent(context, HashTagActivity.class);
- b = new Bundle();
- b.putString(Helper.ARG_SEARCH_KEYWORD, word.trim());
- intent.putExtras(b);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(intent);
+ args = new Bundle();
+ args.putString(Helper.ARG_SEARCH_KEYWORD, word.trim());
+ new CachedBundle(context).insertBundle(args, currentAccount, bundleId -> {
+ Bundle bundle = new Bundle();
+ bundle.putLong(Helper.ARG_INTENT_ID, bundleId);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ context.startActivity(intent);
+ });
+
} else if (word.startsWith("@")) {
intent = new Intent(context, ProfileActivity.class);
- b = new Bundle();
+ args = new Bundle();
Mention targetedMention = null;
-
for (Mention mention : mentions) {
if (word.compareToIgnoreCase("@" + mention.username) == 0) {
targetedMention = mention;
@@ -299,13 +303,17 @@ public class SpannableHelper {
}
}
if (targetedMention != null) {
- b.putString(Helper.ARG_USER_ID, targetedMention.id);
+ args.putString(Helper.ARG_USER_ID, targetedMention.id);
} else {
- b.putString(Helper.ARG_MENTION, word);
+ args.putString(Helper.ARG_MENTION, word);
}
- intent.putExtras(b);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(intent);
+ new CachedBundle(context).insertBundle(args, currentAccount, bundleId -> {
+ Bundle bundle = new Bundle();
+ bundle.putLong(Helper.ARG_INTENT_ID, bundleId);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ context.startActivity(intent);
+ });
}
}