mirror of
https://github.com/oxen-io/session-android.git
synced 2023-12-14 02:53:01 +01:00
Fix emoji backwards compatibility recents crash
The old emoji drawer stored emoji with a .png suffix. Replace it during list deserialization.
This commit is contained in:
parent
26d58047b5
commit
40ce0cebe0
1 changed files with 14 additions and 1 deletions
|
@ -20,6 +20,11 @@ import android.util.SparseArray;
|
|||
import android.view.View;
|
||||
|
||||
import com.google.thoughtcrimegson.Gson;
|
||||
import com.google.thoughtcrimegson.GsonBuilder;
|
||||
import com.google.thoughtcrimegson.JsonDeserializationContext;
|
||||
import com.google.thoughtcrimegson.JsonDeserializer;
|
||||
import com.google.thoughtcrimegson.JsonElement;
|
||||
import com.google.thoughtcrimegson.JsonParseException;
|
||||
import com.google.thoughtcrimegson.reflect.TypeToken;
|
||||
|
||||
import org.thoughtcrime.securesms.R;
|
||||
|
@ -305,8 +310,16 @@ public class Emoji {
|
|||
String serialized = prefs.getString(EMOJI_LRU_PREFERENCE, "[]");
|
||||
Type type = new TypeToken<LinkedHashSet<String>>() {
|
||||
}.getType();
|
||||
JsonDeserializer<String> backwardsDeserializer = new JsonDeserializer<String>() {
|
||||
@Override
|
||||
public String deserialize(JsonElement jsonElement, Type type,
|
||||
JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
|
||||
return jsonElement.getAsString().replace(".png", "");
|
||||
}
|
||||
};
|
||||
|
||||
recentlyUsed = new Gson().fromJson(serialized, type);
|
||||
recentlyUsed = new GsonBuilder().registerTypeAdapter(String.class, backwardsDeserializer)
|
||||
.create().fromJson(serialized, type);
|
||||
}
|
||||
|
||||
public static String[] getRecentlyUsed(Context context) {
|
||||
|
|
Loading…
Reference in a new issue