Small address JSON fixes

This commit is contained in:
M66B 2020-05-07 11:17:23 +02:00
parent cac5bae40b
commit cd6986ac7e
2 changed files with 18 additions and 13 deletions

View File

@ -1635,7 +1635,8 @@ public abstract class DB extends RoomDatabase {
@TypeConverter @TypeConverter
public static Address[] decodeAddresses(String json) { public static Address[] decodeAddresses(String json) {
if (json == null) try {
if (TextUtils.isEmpty(json))
return null; return null;
else if (json.startsWith("[[")) { else if (json.startsWith("[[")) {
// [[{"address":"...","personal":"..."}],[{... ...}]] // [[{"address":"...","personal":"..."}],[{... ...}]]
@ -1649,6 +1650,10 @@ public abstract class DB extends RoomDatabase {
// [{"address":"...","personal":"..."}] // [{"address":"...","personal":"..."}]
return new Address[]{InternetAddressJson.from(json.substring(2, json.length() - 2))}; return new Address[]{InternetAddressJson.from(json.substring(2, json.length() - 2))};
} }
} catch (Throwable ex) {
Log.e(ex);
return null;
}
} }
} }
} }

View File

@ -106,7 +106,7 @@ public class InternetAddressJson extends InternetAddress {
if (this.json != null) { if (this.json != null) {
try { try {
JSONObject jaddress = new JSONObject("{" + this.json + "}"); JSONObject jaddress = new JSONObject("{" + this.json + "}");
String address = jaddress.getString("address"); String address = jaddress.optString("address");
String personal = jaddress.optString("personal"); String personal = jaddress.optString("personal");
if (!TextUtils.isEmpty(address)) if (!TextUtils.isEmpty(address))
super.setAddress(address); super.setAddress(address);