diff --git a/app/src/main/java/com/gh/download/DownloadManager.java b/app/src/main/java/com/gh/download/DownloadManager.java index 5c57b56754..1c87467aa3 100644 --- a/app/src/main/java/com/gh/download/DownloadManager.java +++ b/app/src/main/java/com/gh/download/DownloadManager.java @@ -73,7 +73,6 @@ import java.util.concurrent.LinkedBlockingQueue; public class DownloadManager implements DownloadStatusListener { - private static final Gson gson = new Gson(); private static final String UPDATE_IS_READ_MARK = "update_is_read"; private static final String DOWNLOADING_IS_READ_MARK = "downloading_is_read"; private static final String DOWNLOADED_IS_READ_MARK = "downloaded_is_read"; @@ -349,7 +348,7 @@ public class DownloadManager implements DownloadStatusListener { ExposureEvent downloadExposureEvent = ExposureUtils.logADownloadExposureEvent(gameEntity, apkEntity.getPlatform(), traceEvent, downloadType); // 将下载事件放入 downloadEntity 中供下载完成时取出使用 - downloadEntity.setExposureTrace(gson.toJson(downloadExposureEvent)); + downloadEntity.setExposureTrace(GsonUtils.toJson(downloadExposureEvent)); if (isSubscribe) { DownloadManager.getInstance().subscribe(downloadEntity); diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 88e1c3b0c7..1f6e754ce6 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -928,10 +928,9 @@ public class MainActivity extends BaseActivity { } else if (entryName.contains("halo_skip.json")) { InputStream in = zipfile.getInputStream(entry); if (in != null) { - final Gson gson = new Gson(); final BufferedReader reader = new BufferedReader(new InputStreamReader(in)); - InnerMetaInfoEntity info = gson.fromJson(reader, InnerMetaInfoEntity.class); + InnerMetaInfoEntity info = GsonUtils.getGson().fromJson(reader, InnerMetaInfoEntity.class); if (info != null) { if (EntranceUtils.HOST_COMMUNITY.equals(info.getType())) { UserManager.getInstance().setCommunityData(new CommunityEntity(info.getLink(), info.getText())); diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageDetailFragment.java b/app/src/main/java/com/gh/gamecenter/message/MessageDetailFragment.java index c7d1f00f86..09abdae1d7 100644 --- a/app/src/main/java/com/gh/gamecenter/message/MessageDetailFragment.java +++ b/app/src/main/java/com/gh/gamecenter/message/MessageDetailFragment.java @@ -363,7 +363,7 @@ public class MessageDetailFragment extends NormalFragment implements OnCommentCa cacheObject.put("parent", cacheParent); } - CommentEntity commentEntity = new Gson().fromJson(cacheObject.toString(), CommentEntity.class); + CommentEntity commentEntity = GsonUtils.fromJson(cacheObject.toString(), CommentEntity.class); if (mConcernEntity != null) { adapter.addNormalComment(commentEntity); } diff --git a/app/src/main/java/com/gh/gamecenter/room/converter/AnswerUserConverter.java b/app/src/main/java/com/gh/gamecenter/room/converter/AnswerUserConverter.java index c0ee63d7ed..af2a8eadfa 100644 --- a/app/src/main/java/com/gh/gamecenter/room/converter/AnswerUserConverter.java +++ b/app/src/main/java/com/gh/gamecenter/room/converter/AnswerUserConverter.java @@ -2,8 +2,8 @@ package com.gh.gamecenter.room.converter; import androidx.room.TypeConverter; +import com.gh.common.util.GsonUtils; import com.gh.gamecenter.entity.UserEntity; -import com.google.gson.Gson; /** * Created by khy on 18/04/18. @@ -12,11 +12,11 @@ import com.google.gson.Gson; public class AnswerUserConverter { @TypeConverter public static String toUserEntityString(UserEntity data) { - return new Gson().toJson(data); + return GsonUtils.getGson().toJson(data); } @TypeConverter public static UserEntity toUserEntity(String token) { - return new Gson().fromJson(token, UserEntity.class); + return GsonUtils.getGson().fromJson(token, UserEntity.class); } } diff --git a/app/src/main/java/com/gh/gamecenter/room/converter/ImageInfoConverter.java b/app/src/main/java/com/gh/gamecenter/room/converter/ImageInfoConverter.java index d109e8a816..fd2471d8a5 100644 --- a/app/src/main/java/com/gh/gamecenter/room/converter/ImageInfoConverter.java +++ b/app/src/main/java/com/gh/gamecenter/room/converter/ImageInfoConverter.java @@ -1,7 +1,7 @@ package com.gh.gamecenter.room.converter; +import com.gh.common.util.GsonUtils; import com.gh.gamecenter.qa.entity.ImageInfo; -import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.List; @@ -11,12 +11,12 @@ import androidx.room.TypeConverter; public class ImageInfoConverter { @TypeConverter public static String toListString(List data) { - return new Gson().toJson(data); + return GsonUtils.toJson(data); } @TypeConverter public static List toList(String token) { Type type = new TypeToken>() {}.getType(); - return new Gson().fromJson(token,type); + return GsonUtils.getGson().fromJson(token, type); } } diff --git a/app/src/main/java/com/gh/gamecenter/room/converter/ListStringConverter.java b/app/src/main/java/com/gh/gamecenter/room/converter/ListStringConverter.java index 44724601b1..6f87a6317c 100644 --- a/app/src/main/java/com/gh/gamecenter/room/converter/ListStringConverter.java +++ b/app/src/main/java/com/gh/gamecenter/room/converter/ListStringConverter.java @@ -2,7 +2,7 @@ package com.gh.gamecenter.room.converter; import androidx.room.TypeConverter; -import com.google.gson.Gson; +import com.gh.common.util.GsonUtils; import java.util.ArrayList; import java.util.List; @@ -14,11 +14,11 @@ import java.util.List; public class ListStringConverter { @TypeConverter public static String toListString(List data) { - return new Gson().toJson(data); + return GsonUtils.getGson().toJson(data); } @TypeConverter public static List toList(String token) { - return new Gson().fromJson(token, ArrayList.class); + return GsonUtils.getGson().fromJson(token, ArrayList.class); } } diff --git a/app/src/main/java/com/gh/gamecenter/room/converter/MeConverter.kt b/app/src/main/java/com/gh/gamecenter/room/converter/MeConverter.kt index e44a45bdb7..ac95651b77 100644 --- a/app/src/main/java/com/gh/gamecenter/room/converter/MeConverter.kt +++ b/app/src/main/java/com/gh/gamecenter/room/converter/MeConverter.kt @@ -1,19 +1,17 @@ package com.gh.gamecenter.room.converter import androidx.room.TypeConverter +import com.gh.common.util.GsonUtils import com.gh.gamecenter.entity.MeEntity -import com.gh.gamecenter.entity.User -import com.gh.gamecenter.entity.UserEntity -import com.google.gson.Gson class MeConverter { @TypeConverter fun toMeString(data: MeEntity?): String { - return Gson().toJson(data) ?: "" + return GsonUtils.toJson(data) } @TypeConverter fun toMe(token: String?): MeEntity { - return Gson().fromJson(token, MeEntity::class.java) ?: MeEntity() + return GsonUtils.gson.fromJson(token, MeEntity::class.java) ?: MeEntity() } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/room/converter/QuestionsConverter.java b/app/src/main/java/com/gh/gamecenter/room/converter/QuestionsConverter.java index 5d24245375..1ca4851375 100644 --- a/app/src/main/java/com/gh/gamecenter/room/converter/QuestionsConverter.java +++ b/app/src/main/java/com/gh/gamecenter/room/converter/QuestionsConverter.java @@ -2,8 +2,8 @@ package com.gh.gamecenter.room.converter; import androidx.room.TypeConverter; +import com.gh.common.util.GsonUtils; import com.gh.gamecenter.qa.entity.Questions; -import com.google.gson.Gson; /** * Created by khy on 18/04/18. @@ -12,11 +12,11 @@ import com.google.gson.Gson; public class QuestionsConverter { @TypeConverter public static String toQuestionsString(Questions data) { - return new Gson().toJson(data); + return GsonUtils.toJson(data); } @TypeConverter public static Questions toQuestions(String token) { - return new Gson().fromJson(token, Questions.class); + return GsonUtils.fromJson(token, Questions.class); } } diff --git a/app/src/main/java/com/gh/gamecenter/room/converter/SignDataConverter.java b/app/src/main/java/com/gh/gamecenter/room/converter/SignDataConverter.java index a5e83ed6d6..5b40106b1a 100644 --- a/app/src/main/java/com/gh/gamecenter/room/converter/SignDataConverter.java +++ b/app/src/main/java/com/gh/gamecenter/room/converter/SignDataConverter.java @@ -2,8 +2,8 @@ package com.gh.gamecenter.room.converter; import androidx.room.TypeConverter; +import com.gh.common.util.GsonUtils; import com.gh.gamecenter.entity.SignEntity; -import com.google.gson.Gson; /** * Created by khy on 17/04/18. @@ -13,12 +13,12 @@ public class SignDataConverter { @TypeConverter public static String toSignDataString(SignEntity.Data data) { - return new Gson().toJson(data); + return GsonUtils.toJson(data); } @TypeConverter public static SignEntity.Data toSignData(String token) { - return new Gson().fromJson(token, SignEntity.Data.class); + return GsonUtils.fromJson(token, SignEntity.Data.class); } } diff --git a/app/src/main/java/com/gh/gamecenter/security/BindPhoneViewModel.kt b/app/src/main/java/com/gh/gamecenter/security/BindPhoneViewModel.kt index 7079488b57..223da0ef0f 100644 --- a/app/src/main/java/com/gh/gamecenter/security/BindPhoneViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/security/BindPhoneViewModel.kt @@ -3,16 +3,15 @@ package com.gh.gamecenter.security import android.annotation.SuppressLint import android.app.Application import android.content.Context -import android.text.TextUtils import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.MutableLiveData import com.gh.common.util.DeviceUtils +import com.gh.common.util.GsonUtils import com.gh.common.util.LoginUtils import com.gh.common.util.ToastUtils import com.gh.gamecenter.entity.ConflictUserEntity import com.gh.gamecenter.retrofit.BiResponse import com.gh.gamecenter.retrofit.RetrofitManager -import com.google.gson.Gson import com.lightgame.utils.Utils import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.schedulers.Schedulers @@ -21,7 +20,6 @@ import okhttp3.RequestBody import okhttp3.ResponseBody import org.json.JSONObject import retrofit2.HttpException -import java.util.* class BindPhoneViewModel(application: Application) : AndroidViewModel(application) { @@ -59,7 +57,7 @@ class BindPhoneViewModel(application: Application) : AndroidViewModel(applicatio val string = responseBody!!.string() val content = JSONObject(string) when (val code = content.getInt("code")) { - 400150 -> phoneBoundLiveData.postValue(Gson().fromJson(content.getJSONObject("detail").toString(), ConflictUserEntity::class.java)) + 400150 -> phoneBoundLiveData.postValue(GsonUtils.fromJson(content.getJSONObject("detail").toString(), ConflictUserEntity::class.java)) 403202 -> LoginUtils.captchaErrorHint(context, content) @@ -150,7 +148,7 @@ class BindPhoneViewModel(application: Application) : AndroidViewModel(applicatio val string = responseBody!!.string() val content = JSONObject(string) when (val code = content.getInt("code")) { - 400150 -> phoneBoundLiveData.postValue(Gson().fromJson(content.getJSONObject("detail").toString(), ConflictUserEntity::class.java)) + 400150 -> phoneBoundLiveData.postValue(GsonUtils.fromJson(content.getJSONObject("detail").toString(), ConflictUserEntity::class.java)) 403202 -> LoginUtils.captchaErrorHint(context, content) diff --git a/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxBlockActivity.kt b/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxBlockActivity.kt index 67db6c2381..cc8a5d5743 100644 --- a/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxBlockActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxBlockActivity.kt @@ -25,7 +25,6 @@ import com.gh.gamecenter.databinding.ActivityToolboxBlockBinding import com.gh.gamecenter.entity.ToolBoxEntity import com.gh.gamecenter.suggest.SuggestType import com.google.android.material.appbar.AppBarLayout -import com.google.gson.Gson import com.lightgame.utils.Util_System_Keyboard import com.lightgame.utils.Utils @@ -61,7 +60,7 @@ class ToolBoxBlockActivity : ToolBarActivity() { if (SPUtils.getString(Constants.TOOLBOX_HISTORY).isEmpty()) { SPUtils.setString(Constants.TOOLBOX_HISTORY, arrayListOf(toolbox.apply { lastOpenTime = System.currentTimeMillis() }).toJson()) } else { - val list = arrayListOf(*Gson().fromJson(SPUtils.getString(Constants.TOOLBOX_HISTORY), Array::class.java)).apply { + val list = arrayListOf(*GsonUtils.fromJson(SPUtils.getString(Constants.TOOLBOX_HISTORY), Array::class.java)).apply { if (contains(toolbox)) { remove(toolbox) } diff --git a/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxItemAdapter.kt b/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxItemAdapter.kt index c3008f7a4d..cad03d9053 100644 --- a/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxItemAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxItemAdapter.kt @@ -15,7 +15,6 @@ import com.gh.gamecenter.WebActivity.Companion.getWebByCollectionTools import com.gh.gamecenter.baselist.ListExecutor import com.gh.gamecenter.databinding.ItemToolboxBinding import com.gh.gamecenter.entity.ToolBoxEntity -import com.google.gson.Gson import com.lightgame.adapter.BaseRecyclerAdapter import java.util.* @@ -87,7 +86,7 @@ class ToolBoxItemAdapter(context: Context, val isBlockInside: Boolean = false) : if (SPUtils.getString(Constants.TOOLBOX_HISTORY).isEmpty()) { SPUtils.setString(Constants.TOOLBOX_HISTORY, arrayListOf(toolBoxEntity.apply { lastOpenTime = System.currentTimeMillis() }).toJson()) } else { - val list = arrayListOf(*Gson().fromJson(SPUtils.getString(Constants.TOOLBOX_HISTORY), Array::class.java)).apply { + val list = arrayListOf(*GsonUtils.fromJson(SPUtils.getString(Constants.TOOLBOX_HISTORY), Array::class.java)).apply { if (contains(toolBoxEntity)) { remove(toolBoxEntity) } diff --git a/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxViewModel.kt b/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxViewModel.kt index 008d877328..3f52da104d 100644 --- a/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/toolbox/ToolBoxViewModel.kt @@ -10,7 +10,6 @@ import com.gh.gamecenter.entity.ToolBoxBlockEntity import com.gh.gamecenter.entity.ToolBoxEntity import com.gh.gamecenter.retrofit.Response import com.gh.gamecenter.retrofit.RetrofitManager -import com.google.gson.Gson import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.schedulers.Schedulers import retrofit2.HttpException @@ -57,7 +56,7 @@ class ToolBoxViewModel(application: Application) : AndroidViewModel(application) } fun getHistoryList(): List { - val historyList = listOf(*Gson().fromJson(SPUtils.getString(Constants.TOOLBOX_HISTORY), Array::class.java)) + val historyList = listOf(*GsonUtils.fromJson(SPUtils.getString(Constants.TOOLBOX_HISTORY), Array::class.java)) val validList = mutableListOf().apply { // 最多展示30天以内的打开记录 for (item in historyList) { diff --git a/app/src/main/java/com/halo/assistant/fragment/user/region/RegionCounAdapter.java b/app/src/main/java/com/halo/assistant/fragment/user/region/RegionCounAdapter.java index 8166937169..ae8ccc210f 100644 --- a/app/src/main/java/com/halo/assistant/fragment/user/region/RegionCounAdapter.java +++ b/app/src/main/java/com/halo/assistant/fragment/user/region/RegionCounAdapter.java @@ -7,6 +7,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.TextView; +import com.gh.common.util.GsonUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.AreaViewHolder; import com.gh.gamecenter.databinding.AreaItemBinding; @@ -58,7 +59,7 @@ public class RegionCounAdapter extends BaseRecyclerAdapter { if (!TextUtils.isEmpty(locList)) { Type listType = new TypeToken>() { }.getType(); - List localList = new Gson().fromJson(locList, listType); + List localList = GsonUtils.getGson().fromJson(locList, listType); mLocalList.addAll(localList); notifyDataSetChanged(); }