This commit is contained in:
chenjuntao
2019-05-23 18:04:53 +08:00
parent 41de94e6f5
commit 6ff415cc0d
6 changed files with 140 additions and 36 deletions

View File

@ -1,5 +1,6 @@
package com.gh.gamecenter;
import android.annotation.SuppressLint;
import android.app.Dialog;
import android.app.NotificationManager;
import android.arch.lifecycle.ViewModelProviders;
@ -72,6 +73,7 @@ import com.gh.gamecenter.manager.UserManager;
import com.gh.gamecenter.normal.NormalFragment;
import com.gh.gamecenter.packagehelper.PackageViewModel;
import com.gh.gamecenter.qa.AskFragment;
import com.gh.gamecenter.retrofit.BiResponse;
import com.gh.gamecenter.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
import com.gh.gamecenter.suggest.SuggestType;
@ -92,6 +94,7 @@ import com.tencent.bugly.crashreport.CrashReport;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import org.jetbrains.annotations.NotNull;
import org.json.JSONObject;
import java.io.BufferedReader;
@ -816,17 +819,11 @@ public class MainActivity extends BaseActivity {
}
}
}
// 更新已安装游戏
RetrofitManager.getInstance(MainActivity.this).getApi()
.postPackage(UserManager.getInstance().getUserId(), packageName)
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.io())
.subscribe(new Response<>());
}
});
}
postNewlyInstalledApp(packageName);
}
if ("卸载".equals(busFour.getType())) {
mPackageViewModel.addUninstalledGame(packageName);
@ -847,16 +844,58 @@ public class MainActivity extends BaseActivity {
}
// 更新已安装游戏
RetrofitManager.getInstance(this).getApi()
.deletePackage(UserManager.getInstance().getUserId(), packageName)
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.io())
.subscribe(new Response<>());
deleteInstalledPackage(packageName);
}
DataCollectionUtils.uploadInorunstall(this, busFour.getType(), busFour.getPackageName());
}
@SuppressLint("CheckResult")
private void postNewlyInstalledApp(String packageName) {
JSONObject packageObject = PackageUtils.getAppBasicInfoByPackageName(packageName);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"),
packageObject.toString());
// 更新已安装游戏
RetrofitManager.getInstance(MainActivity.this).getApi()
.postNewlyInstalledApp(HaloApp.getInstance().getGid(), requestBody)
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.io())
.subscribe(new BiResponse<ResponseBody>() {
@Override
public void onSuccess(ResponseBody data) {
// do nothing
}
@Override
public void onFailure(@NotNull Exception exception) {
exception.printStackTrace();
}
});
}
@SuppressLint("CheckResult")
private void deleteInstalledPackage(String packageName) {
// 删除已安装游戏
RetrofitManager.getInstance(MainActivity.this).getApi()
.deleteInstalledApp(HaloApp.getInstance().getGid(), packageName)
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.io())
.subscribe(new BiResponse<ResponseBody>() {
@Override
public void onSuccess(ResponseBody data) {
// do nothing
}
@Override
public void onFailure(@NotNull Exception exception) {
exception.printStackTrace();
}
});
}
// 接收登录和登出更新事件统计的 Meta
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMainThread(EBReuse reuse) {