Add ability to edit default reactions.

This commit is contained in:
Cody Henthorne
2021-05-27 11:21:11 -04:00
parent 811bef8c35
commit e5b0941d30
19 changed files with 587 additions and 37 deletions

View File

@@ -1,16 +1,28 @@
package org.thoughtcrime.securesms.keyvalue;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import org.thoughtcrime.securesms.components.emoji.EmojiUtil;
import org.thoughtcrime.securesms.util.Util;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class EmojiValues extends SignalStoreValues {
private static final String PREFIX = "emojiPref__";
public static final List<String> DEFAULT_REACTIONS_LIST = Arrays.asList("\u2764\ufe0f",
"\ud83d\udc4d",
"\ud83d\udc4e",
"\ud83d\ude02",
"\ud83d\ude2e",
"\ud83d\ude22");
private static final String PREFIX = "emojiPref__";
private static final String NEXT_SCHEDULED_CHECK = PREFIX + "next_scheduled_check";
private static final String REACTIONS_LIST = PREFIX + "reactions_list";
EmojiValues(@NonNull KeyValueStore store) {
super(store);
@@ -23,7 +35,7 @@ public class EmojiValues extends SignalStoreValues {
@Override
@NonNull List<String> getKeysToIncludeInBackup() {
return Collections.emptyList();
return Collections.singletonList(REACTIONS_LIST);
}
public long getNextScheduledCheck() {
@@ -49,4 +61,17 @@ public class EmojiValues extends SignalStoreValues {
return getString(PREFIX + canonical, emoji);
}
public @NonNull List<String> getReactions() {
String list = getString(REACTIONS_LIST, "");
if (TextUtils.isEmpty(list)) {
return DEFAULT_REACTIONS_LIST;
} else {
return Arrays.asList(list.split(","));
}
}
public void setReactions(List<String> reactions) {
putString(REACTIONS_LIST, Util.join(reactions, ","));
}
}