From fbe9163e2a97808c0c95bfc1594743c033c1f798 Mon Sep 17 00:00:00 2001 From: Mariotaku Lee Date: Thu, 1 Dec 2016 16:06:57 +0800 Subject: [PATCH] using LoganSquare --- .../twidere/model/tab/extra/TabExtras.java | 6 +-- .../model/util/DraftExtrasConverter.java | 53 +++++++------------ 2 files changed, 22 insertions(+), 37 deletions(-) diff --git a/twidere.component.common/src/main/java/org/mariotaku/twidere/model/tab/extra/TabExtras.java b/twidere.component.common/src/main/java/org/mariotaku/twidere/model/tab/extra/TabExtras.java index c14348497..6d854710e 100644 --- a/twidere.component.common/src/main/java/org/mariotaku/twidere/model/tab/extra/TabExtras.java +++ b/twidere.component.common/src/main/java/org/mariotaku/twidere/model/tab/extra/TabExtras.java @@ -6,9 +6,9 @@ import android.support.annotation.CallSuper; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import com.bluelinelabs.logansquare.LoganSquare; import com.bluelinelabs.logansquare.annotation.JsonObject; -import org.mariotaku.commons.logansquare.LoganSquareMapperFinder; import org.mariotaku.twidere.annotation.CustomTabType; import java.io.IOException; @@ -27,10 +27,10 @@ public abstract class TabExtras implements Parcelable { public static TabExtras parse(@NonNull @CustomTabType String type, String json) throws IOException { switch (type) { case CustomTabType.NOTIFICATIONS_TIMELINE: { - return LoganSquareMapperFinder.mapperFor(InteractionsTabExtras.class).parse(json); + return LoganSquare.parse(json, InteractionsTabExtras.class); } case CustomTabType.HOME_TIMELINE: { - return LoganSquareMapperFinder.mapperFor(HomeTabExtras.class).parse(json); + return LoganSquare.parse(json, HomeTabExtras.class); } } return null; diff --git a/twidere.component.common/src/main/java/org/mariotaku/twidere/model/util/DraftExtrasConverter.java b/twidere.component.common/src/main/java/org/mariotaku/twidere/model/util/DraftExtrasConverter.java index 319a0d189..e96415fdb 100644 --- a/twidere.component.common/src/main/java/org/mariotaku/twidere/model/util/DraftExtrasConverter.java +++ b/twidere.component.common/src/main/java/org/mariotaku/twidere/model/util/DraftExtrasConverter.java @@ -4,7 +4,7 @@ import android.content.ContentValues; import android.database.Cursor; import android.text.TextUtils; -import com.bluelinelabs.logansquare.JsonMapper; +import com.bluelinelabs.logansquare.LoganSquare; import org.mariotaku.library.objectcursor.converter.CursorFieldConverter; import org.mariotaku.twidere.model.Draft; @@ -12,7 +12,6 @@ import org.mariotaku.twidere.model.draft.ActionExtra; import org.mariotaku.twidere.model.draft.SendDirectMessageActionExtra; import org.mariotaku.twidere.model.draft.UpdateStatusActionExtra; import org.mariotaku.twidere.provider.TwidereDataStore.Drafts; -import org.mariotaku.commons.logansquare.LoganSquareMapperFinder; import java.io.IOException; import java.lang.reflect.ParameterizedType; @@ -22,46 +21,32 @@ import java.lang.reflect.ParameterizedType; */ public class DraftExtrasConverter implements CursorFieldConverter { @Override - public ActionExtra parseField(Cursor cursor, int columnIndex, ParameterizedType fieldType) { + public ActionExtra parseField(Cursor cursor, int columnIndex, ParameterizedType fieldType) throws IOException { final String actionType = cursor.getString(cursor.getColumnIndex(Drafts.ACTION_TYPE)); if (TextUtils.isEmpty(actionType)) return null; - try { - switch (actionType) { - case "0": - case "1": - case Draft.Action.UPDATE_STATUS: - case Draft.Action.REPLY: - case Draft.Action.QUOTE: { - final String string = cursor.getString(columnIndex); - if (TextUtils.isEmpty(string)) return null; - final JsonMapper mapper = LoganSquareMapperFinder - .mapperFor(UpdateStatusActionExtra.class); - return mapper.parse(string); - } - case "2": - case Draft.Action.SEND_DIRECT_MESSAGE: { - final String string = cursor.getString(columnIndex); - if (TextUtils.isEmpty(string)) return null; - final JsonMapper mapper = LoganSquareMapperFinder - .mapperFor(SendDirectMessageActionExtra.class); - return mapper.parse(string); - } + switch (actionType) { + case "0": + case "1": + case Draft.Action.UPDATE_STATUS: + case Draft.Action.REPLY: + case Draft.Action.QUOTE: { + final String string = cursor.getString(columnIndex); + if (TextUtils.isEmpty(string)) return null; + return LoganSquare.parse(string, UpdateStatusActionExtra.class); + } + case "2": + case Draft.Action.SEND_DIRECT_MESSAGE: { + final String string = cursor.getString(columnIndex); + if (TextUtils.isEmpty(string)) return null; + return LoganSquare.parse(string, SendDirectMessageActionExtra.class); } - } catch (IOException e) { - return null; } return null; } @Override - public void writeField(ContentValues values, ActionExtra object, String columnName, ParameterizedType fieldType) { + public void writeField(ContentValues values, ActionExtra object, String columnName, ParameterizedType fieldType) throws IOException { if (object == null) return; - try { - //noinspection unchecked - final JsonMapper mapper = (JsonMapper) LoganSquareMapperFinder.mapperFor(object.getClass()); - values.put(columnName, mapper.serialize(object)); - } catch (IOException e) { - // Ignore - } + values.put(columnName, LoganSquare.serialize(object)); } }