diff --git a/app/src/main/java/com/gh/common/util/CollectionUtils.kt b/app/src/main/java/com/gh/common/util/CollectionUtils.kt index 0593183bed..00b60b883f 100644 --- a/app/src/main/java/com/gh/common/util/CollectionUtils.kt +++ b/app/src/main/java/com/gh/common/util/CollectionUtils.kt @@ -46,7 +46,7 @@ object CollectionUtils { try { val string = e.response()?.errorBody()?.string() val errorBody = JSONObject(string) - if (errorBody.getInt("status") == 403009) { + if (errorBody.getInt("detail") == 403009) { listener.onSuccess() return } diff --git a/app/src/main/java/com/gh/common/util/ShareUtils.java b/app/src/main/java/com/gh/common/util/ShareUtils.java index 4172c5fd57..4bb086f688 100644 --- a/app/src/main/java/com/gh/common/util/ShareUtils.java +++ b/app/src/main/java/com/gh/common/util/ShareUtils.java @@ -513,8 +513,10 @@ public class ShareUtils { shortMessageShare(); break; case 6: - if (mShareType == ShareType.askInvite || mShareType == ShareType.askNormal) { + if (mShareType == ShareType.askInvite) { copyLink(mTitle + " - 光环助手" + shareUrl); + } else if (mShareType == ShareType.askNormal) { + copyLink(shareUrl); } else if (mShareType != ShareType.shareGh) { copyLink(shareUrl); } else { diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 799f0837fd..6a0bb8d649 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -11,6 +11,7 @@ import android.content.pm.PackageInfo; import android.net.Uri; import android.os.Bundle; import android.os.Handler; +import android.os.Message; import android.os.SystemClock; import android.preference.PreferenceManager; import android.provider.Settings; @@ -74,6 +75,7 @@ import com.google.gson.reflect.TypeToken; import com.halo.assistant.HaloApp; import com.lightgame.config.CommonDebug; import com.lightgame.download.DataWatcher; +import com.lightgame.download.DownloadConfig; import com.lightgame.download.DownloadEntity; import com.lightgame.download.DownloadStatus; import com.lightgame.download.FileUtils; @@ -171,6 +173,9 @@ public class MainActivity extends BaseActivity { if (DownloadStatus.hijack.equals(downloadEntity.getStatus())) { // 链接被劫持 processHijack(downloadEntity); + String nameAndPlatform = downloadEntity.getName() + ":" + + PlatformUtils.getInstance(getApplicationContext()).getPlatformName(downloadEntity.getPlatform()); + DataUtils.onMtaEvent(getApplicationContext(), "下载劫持", "游戏名字", nameAndPlatform, "网络状态" + DeviceUtils.getNetwork(getApplication())); return; } else if (DownloadStatus.notfound.equals(downloadEntity.getStatus())) { // 404 Not Found @@ -240,8 +245,10 @@ public class MainActivity extends BaseActivity { * 3. */ - DataUtils.onMtaEvent(getApplication(), "解析包错误分析", "游戏名字" - , downloadEntity.getName() + ":" + PlatformUtils.getInstance(getApplicationContext()).getPlatformName(downloadEntity.getPlatform())); + DataUtils.onMtaEvent(getApplication(), "解析包错误分析" + , "游戏名字", downloadEntity.getName() + ":" + + PlatformUtils.getInstance(getApplicationContext()).getPlatformName(downloadEntity.getPlatform()) + , "网络状态", DeviceUtils.getNetwork(getApplication())); } } @@ -765,7 +772,10 @@ public class MainActivity extends BaseActivity { for (DownloadEntity downloadEntity : DownloadManager.getInstance(this).getAll()) { if (DownloadStatus.neterror.equals(downloadEntity.getStatus()) || DownloadStatus.timeout.equals(downloadEntity.getStatus())) { - DownloadManager.getInstance(this).add(downloadEntity); + Message msg = Message.obtain(); + msg.what = DownloadConfig.CONTINUE_DOWNLOAD_TASK; + msg.obj = downloadEntity.getUrl(); + DownloadManager.getInstance(getApplicationContext()).sendMessageDelayed(msg, 1000); } Utils.log("checkRetryDownload::" + downloadEntity.getStatus()); } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java index 13822d745c..88fadf5f8e 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java @@ -115,7 +115,7 @@ public class InstallFragmentAdapter extends BaseRecyclerAdapter { Collections.sort(sortedList, new Comparator() { // 按安装时间排序 @Override public int compare(GameInfoEntity lhs, GameInfoEntity rhs) { - return lhs.getInstallTime() > rhs.getInstallTime()? -1 : 1; + return lhs.getInstallTime() > rhs.getInstallTime() ? -1 : 1; } }); for (GameInfoEntity info : sortedList) { @@ -488,6 +488,7 @@ public class InstallFragmentAdapter extends BaseRecyclerAdapter { //跳转到快传 - 搜索接收者页面 public void skipKc(int i) { GameEntity gameEntity = gameList.get(i); + if (gameEntity.getApk().size() == 0) return; String packageName = gameEntity.getApk().get(0).getPackageName(); PackageManager pm = mContext.getPackageManager(); FileInfo fileInfo = new FileInfo(); diff --git a/app/src/main/java/com/gh/gamecenter/discover/DiscoverFragment.java b/app/src/main/java/com/gh/gamecenter/discover/DiscoverFragment.java index 4b7821ee14..3102a7cc1a 100644 --- a/app/src/main/java/com/gh/gamecenter/discover/DiscoverFragment.java +++ b/app/src/main/java/com/gh/gamecenter/discover/DiscoverFragment.java @@ -177,8 +177,10 @@ public class DiscoverFragment extends BaseFragment { @Override public void run() { GameTrendsInfo gameTrendsInfo = mGameTrendsDao.findGameTrendsInfo(UserManager.getInstance().getUserId()); - gameTrendsInfo.setReadPostTime(gameTrendsInfo.getInternetPostTime()); - mGameTrendsDao.add(gameTrendsInfo); + if (gameTrendsInfo != null) { + gameTrendsInfo.setReadPostTime(gameTrendsInfo.getInternetPostTime()); + mGameTrendsDao.add(gameTrendsInfo); + } } }); } diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java index e7d397940b..958104f0e3 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java @@ -146,7 +146,7 @@ public class GameDownloadFragment extends BaseFragment implements View.OnClickLi } } else { location = adapter.getLocation(downloadEntity.getUrl()); - if (location != null && adapter.getDownloadingList().size() > 0) { + if (location != null && adapter.getDownloadingList().size() > location) { adapter.getDownloadingList().set(location, downloadEntity); adapter.notifyItemChanged(adapter.getBase() + location + 1); } diff --git a/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchAdapter.kt b/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchAdapter.kt index 52f204b00d..fba1f5c9ab 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchAdapter.kt @@ -130,7 +130,7 @@ class LibaoSearchAdapter(fragment: LibaoSearchFragment, notifyDataSetChanged() } - override fun postFailed(error: Throwable) { + override fun postFailed(error: Throwable?) { } }) diff --git a/app/src/main/java/com/gh/gamecenter/login/UserRepository.java b/app/src/main/java/com/gh/gamecenter/login/UserRepository.java index 56e8207f40..42e6fb29f1 100644 --- a/app/src/main/java/com/gh/gamecenter/login/UserRepository.java +++ b/app/src/main/java/com/gh/gamecenter/login/UserRepository.java @@ -8,6 +8,7 @@ import android.preference.PreferenceManager; import android.text.TextUtils; import com.gh.common.constant.Constants; +import com.gh.common.util.DataUtils; import com.gh.common.util.DeviceUtils; import com.gh.common.util.GetLoginDataUtils; import com.gh.common.util.LoginUtils; @@ -16,6 +17,7 @@ import com.gh.gamecenter.R; import com.gh.gamecenter.entity.LoginTokenEntity; import com.gh.gamecenter.entity.TokenEntity; import com.gh.gamecenter.entity.UserInfoEntity; +import com.gh.gamecenter.manager.RefreshTokenManager; import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; @@ -32,6 +34,7 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.Executor; import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; import okhttp3.MediaType; import okhttp3.RequestBody; @@ -209,15 +212,25 @@ class UserRepository { GetLoginDataUtils.getInstance(mContext).QQLogout(); } - if (httpException != null && httpException.code() == 400) { - ResponseBody responseBody = httpException.response().errorBody(); - String string = responseBody.string(); - JSONObject content = new JSONObject(string); - int code = content.getInt("code"); - LoginUtils.outputErrorHint(mContext, code); - Utils.log("login->onFailure:: code:" + code + " content:" + content.toString()); + if (httpException != null) { + if ((httpException.code() == 400 || httpException.code() == 403)) { + ResponseBody responseBody = httpException.response().errorBody(); + String string = responseBody.string(); + JSONObject content = new JSONObject(string); + int code = content.getInt("code"); + if (httpException.code() == 400) { + LoginUtils.outputErrorHint(mContext, code); + } else { + Utils.toast(mContext, mContext.getString(R.string.login_failure_hint_code, code)); + } + Utils.log("login->onFailure:: code:" + code + " content:" + content.toString()); + DataUtils.onMtaEvent(mContext, "登录异常统计_手动登录", "错误码", String.valueOf(code)); + } else { + Utils.toast(mContext, mContext.getString(R.string.login_failure_hint_code, httpException.code())); + } + } else { + Utils.toast(mContext, mContext.getString(R.string.login_failure_hint)); } - Utils.toast(mContext, R.string.login_failure_hint); } catch (Exception e1) { e1.printStackTrace(); } diff --git a/app/src/main/java/com/gh/gamecenter/manager/RefreshTokenManager.java b/app/src/main/java/com/gh/gamecenter/manager/RefreshTokenManager.java index 7e18a51fe2..2dcb248309 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/RefreshTokenManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/RefreshTokenManager.java @@ -1,10 +1,12 @@ package com.gh.gamecenter.manager; import android.content.Context; +import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.text.TextUtils; import com.gh.common.constant.Constants; +import com.gh.common.util.DataUtils; import com.gh.common.util.DeviceUtils; import com.gh.gamecenter.BuildConfig; import com.gh.gamecenter.entity.LoginTokenEntity; @@ -38,6 +40,7 @@ public class RefreshTokenManager { private AppDatabase mDatabase; private UserseaService mUserseaService; private ApiService mApiService; + private SharedPreferences mSp; private Context mContext; @@ -47,6 +50,7 @@ public class RefreshTokenManager { mDatabase = AppDatabase.getInstance(context); mUserseaService = RetrofitManager.getInstance(context).getUsersea(); mApiService = RetrofitManager.getInstance(context).getApi(); + mSp = PreferenceManager.getDefaultSharedPreferences(context); } public static RefreshTokenManager getInstance(Context context) { @@ -128,6 +132,7 @@ public class RefreshTokenManager { if (code == 400802 || code == 400401) { // 自动注销 EventBus.getDefault().post(new EBReuse(PersonalFragment.LOGOUT_TAG)); + DataUtils.onMtaEvent(mContext, "登录异常统计_自动登录", "错误码_RefreshToken", code + "_" + token); } } catch (Exception e1) { e1.printStackTrace(); diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java index 9c64193e68..2f5a6a72e5 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java @@ -116,7 +116,6 @@ public class PersonalFragment extends BaseFragment implements Observer { InputMethodManager keyboard = (InputMethodManager) - getContext().getSystemService(Context.INPUT_METHOD_SERVICE); + HaloApp.getInstance().getApplication().getSystemService(Context.INPUT_METHOD_SERVICE); keyboard.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); }, 200); } diff --git a/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java b/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java index 428c875031..32663d39d6 100644 --- a/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java +++ b/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java @@ -29,7 +29,9 @@ public class InstallReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { String path = intent.getStringExtra(EntranceUtils.KEY_PATH); if (PackageUtils.isCanLaunchSetup(context, path)) { - context.startActivity(PackageUtils.getInstallIntent(context, path)); + Intent installIntent = PackageUtils.getInstallIntent(context, path); + installIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(installIntent); } else { if (RunningUtils.isRunning(context)) { if (RunningUtils.isEqualsTop(context, DownloadManagerActivity.class.getName())) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4838f718e0..d0602e0ce3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -273,6 +273,7 @@ 起一个难忘的名字吧 登录异常,请稍后重试 + 登录异常(%1$d),请稍后重试 选择地区 退出账号 分享 @@ -549,6 +550,6 @@ 我来评论 已连续签到 %1$d 天]]> %1$d]]> - 著作权归作者所有©光环助手 + 著作权归作者所有©光环助手 diff --git a/gradle.properties b/gradle.properties index 7d97288335..a88a10bbf7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,7 +21,7 @@ org.gradle.parallel=true channel_file=channel.txt # tinker patch version_name -PATCH_VERSION_NAME=3.2 +PATCH_VERSION_NAME=3.2.2 # Third-party keys DEBUG_UMENG_APPKEY=58e5b0b9c62dca35a00005e6 diff --git a/libraries/LGLibrary b/libraries/LGLibrary index 3894faf023..5b735b0e09 160000 --- a/libraries/LGLibrary +++ b/libraries/LGLibrary @@ -1 +1 @@ -Subproject commit 3894faf02397f382674a15523be657ebda3ce2ec +Subproject commit 5b735b0e099fa7cb6d3b8ec259567e14e6c99065