diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 0bdffab541..a61e815121 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -108,6 +108,7 @@ import com.tencent.bugly.crashreport.CrashReport; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; +import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedReader; @@ -998,6 +999,7 @@ public class MainActivity extends BaseActivity { DataCollectionUtils.uploadInorunstall(this, busFour.getType(), busFour.getPackageName()); } + @SuppressWarnings("ResultOfMethodCallIgnored") @SuppressLint("CheckResult") private void postNewlyInstalledApp(String gameId, String packageName) { @@ -1017,11 +1019,20 @@ public class MainActivity extends BaseActivity { .subscribe(new EmptyResponse<>()); if (!TextUtils.isEmpty(gameId) && UserManager.getInstance().isLoggedIn()) { - RetrofitManager.getInstance(MainActivity.this).getApi() - .postPlayedGame(UserManager.getInstance().getUserId(), gameId) + JSONObject jsonObject = new JSONObject(); + try { + jsonObject.put("game_id", gameId); + jsonObject.put("package", packageName); + RequestBody rBody = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString()); + + RetrofitManager.getInstance(MainActivity.this).getApi() + .postPlayedGame(UserManager.getInstance().getUserId(), rBody) .subscribeOn(Schedulers.io()) .observeOn(Schedulers.io()) .subscribe(new EmptyResponse<>()); + } catch (JSONException e) { + e.printStackTrace(); + } } } diff --git a/app/src/main/java/com/gh/gamecenter/mygame/MyPlayedGameAdapter.kt b/app/src/main/java/com/gh/gamecenter/mygame/MyPlayedGameAdapter.kt index 6ec3d1a674..3937dc1b84 100644 --- a/app/src/main/java/com/gh/gamecenter/mygame/MyPlayedGameAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/mygame/MyPlayedGameAdapter.kt @@ -148,7 +148,10 @@ class MyPlayedGameAdapter(context: Context, private val mViewModel: PlayedGameVi } override fun onClick(widget: View) { - UsageStatsHelper.skipToUsageStats(mContext, UsageStatsHelper.USAGE_STATUS_REQUEST_CODE) + DialogUtils.showUsageStatsDialog( + mContext, + { UsageStatsHelper.skipToUsageStats(mContext, UsageStatsHelper.USAGE_STATUS_REQUEST_CODE) }, + null) } }, content.length - 5, content.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java index 23af27cb17..115f33cde8 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java @@ -2052,8 +2052,8 @@ public interface ApiService { /** * 记录用户成功安装应用(用于玩过的游戏) */ - @POST("users/{user_id}/played_games/{game_id}") - Single postPlayedGame(@Path("user_id") String userId, @Path("game_id") String gameId); + @POST("users/{user_id}/played_games/") + Single postPlayedGame(@Path("user_id") String userId, @Body RequestBody body); /** * 批量新增玩过的游戏 diff --git a/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java b/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java index b19c39cb48..99c31150d3 100644 --- a/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java @@ -18,10 +18,6 @@ import android.widget.RadioGroup; import android.widget.RelativeLayout; import android.widget.TextView; -import androidx.annotation.Nullable; -import androidx.appcompat.app.AlertDialog; -import androidx.core.content.ContextCompat; - import com.gh.common.constant.Config; import com.gh.common.history.HistoryHelper; import com.gh.common.util.CheckLoginUtils; @@ -56,6 +52,9 @@ import org.greenrobot.eventbus.EventBus; import java.io.File; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; +import androidx.core.content.ContextCompat; import butterknife.BindView; import butterknife.OnClick; import io.reactivex.Observable; @@ -197,7 +196,14 @@ public class SettingsFragment extends NormalFragment { () -> mSettingUsageStatsSb.setChecked(false)); } } else { - sp.edit().putBoolean(UsageStatsHelper.USAGE_STATUS_SP_KEY, false).apply(); + DialogUtils.showAlertDialog(getContext(), + "提示", + "关闭后将无法统计游戏时长,确定要关闭吗?", + "确定关闭", + "暂不关闭", + () -> sp.edit().putBoolean(UsageStatsHelper.USAGE_STATUS_SP_KEY, false).apply(), + () -> mSettingUsageStatsSb.setChecked(true) + ); } }); } diff --git a/app/src/main/res/layout/dialog_usage_stats.xml b/app/src/main/res/layout/dialog_usage_stats.xml index a22f8c4642..624b0c6906 100644 --- a/app/src/main/res/layout/dialog_usage_stats.xml +++ b/app/src/main/res/layout/dialog_usage_stats.xml @@ -31,7 +31,7 @@ android:layout_marginTop="24dp" android:layout_marginRight="16dp" android:lineSpacingExtra="8dp" - android:text="开启后可以为你记录每款游戏的游戏时长,你只需再系统【有权查看使用情况的应用】设置中开启即可" + android:text="开启后可以为你统计每款游戏的游戏时长,你只需在系统设置【有权查看使用情况的应用】中找到光环助手,并选择开启即可" android:textColor="@color/text_666666" android:textSize="13sp" />