修改获取token逻辑,以及处理token 401问题
This commit is contained in:
@ -12,7 +12,6 @@ import android.os.SystemClock;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.provider.Settings;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.util.ArrayMap;
|
||||
import android.text.Html;
|
||||
import android.text.Spanned;
|
||||
import android.text.TextUtils;
|
||||
@ -28,7 +27,7 @@ import com.gh.common.util.DeviceUtils;
|
||||
import com.gh.common.util.DialogUtils;
|
||||
import com.gh.common.util.EntranceUtils;
|
||||
import com.gh.common.util.GameUtils;
|
||||
import com.gh.common.util.LibaoUtils;
|
||||
import com.gh.common.util.LoginUtils;
|
||||
import com.gh.common.util.PackageUtils;
|
||||
import com.gh.common.util.PlatformUtils;
|
||||
import com.gh.common.util.TokenUtils;
|
||||
@ -84,7 +83,6 @@ import retrofit2.HttpException;
|
||||
import rx.Observable;
|
||||
import rx.android.schedulers.AndroidSchedulers;
|
||||
import rx.functions.Action1;
|
||||
import rx.functions.Func1;
|
||||
import rx.schedulers.Schedulers;
|
||||
|
||||
import static com.gh.common.util.EntranceUtils.KEY_DATA;
|
||||
@ -515,15 +513,11 @@ public class MainActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
// 更新用户已安装游戏
|
||||
TokenUtils.getToken(MainActivity.this, true)
|
||||
.flatMap(new Func1<String, Observable<ResponseBody>>() {
|
||||
@Override
|
||||
public Observable<ResponseBody> call(String token) {
|
||||
RequestBody body = RequestBody.create(MediaType.parse("application/json"),
|
||||
new JSONArray(installed).toString());
|
||||
return RetrofitManager.getApi().putPackage(token, body);
|
||||
}
|
||||
}).subscribeOn(Schedulers.io())
|
||||
RequestBody body = RequestBody.create(MediaType.parse("application/json"),
|
||||
new JSONArray(installed).toString());
|
||||
RetrofitManager
|
||||
.getApi().putPackage(LoginUtils.getToken(MainActivity.this), body)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Response<ResponseBody>());
|
||||
|
||||
@ -680,31 +674,32 @@ public class MainActivity extends BaseActivity {
|
||||
@Override
|
||||
public void run() {
|
||||
// 注册设备
|
||||
TokenUtils.register(MainActivity.this.getApplicationContext());
|
||||
TokenUtils.getToken(MainActivity.this.getApplicationContext(), false)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Response<String>() {
|
||||
@Override
|
||||
public void onResponse(String token) {
|
||||
TokenUtils.checkDeviceInfo(MainActivity.this.getApplicationContext(), token);
|
||||
}
|
||||
});
|
||||
updateUserGhzs();
|
||||
initConcern(); // 初始化关注
|
||||
LibaoUtils.getCunHaoXiang(MainActivity.this, true);
|
||||
// TokenUtils.register(MainActivity.this.getApplicationContext());
|
||||
// TokenUtils.getToken(MainActivity.this.getApplicationContext(), false) // TODO 是否移除
|
||||
// .subscribeOn(Schedulers.io())
|
||||
// .observeOn(AndroidSchedulers.mainThread())
|
||||
// .subscribe(new Response<String>() {
|
||||
// @Override
|
||||
// public void onResponse(String token) {
|
||||
// TokenUtils.checkDeviceInfo(MainActivity.this.getApplicationContext(), token);
|
||||
// }
|
||||
// });
|
||||
// updateUserGhzs();
|
||||
|
||||
// initConcern(); // 初始化关注 TODO 移到登录成功后调用
|
||||
// LibaoUtils.getCunHaoXiang(MainActivity.this);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
updateUserGhzs();
|
||||
// updateUserGhzs();
|
||||
}
|
||||
|
||||
// 执行跳转事件
|
||||
handler.postDelayed(skipRun, 500);
|
||||
|
||||
// if (sp.getBoolean("changeDefaultIcon", false) && sp.getInt("default_user_icon", 0) != 0) { // TODO
|
||||
// postDefaultIcon(true, sp.getInt("default_user_icon", 0), 1);
|
||||
// }
|
||||
if (sp.getBoolean("changeDefaultIcon", false) && sp.getInt("default_user_icon", 0) != 0) {
|
||||
postDefaultIcon(sp.getInt("default_user_icon", 0));
|
||||
}
|
||||
|
||||
getSuggestionType();
|
||||
|
||||
@ -725,9 +720,9 @@ public class MainActivity extends BaseActivity {
|
||||
super.onDestroy();
|
||||
DownloadManager.getInstance(this).removeObserver(dataWatcher);
|
||||
|
||||
// if (sp.getBoolean("changeDefaultIcon", false) && sp.getInt("default_user_icon", 0) != 0) {
|
||||
// postDefaultIcon(true, sp.getInt("default_user_icon", 0), 1); // TODO
|
||||
// }
|
||||
if (sp.getBoolean("changeDefaultIcon", false) && sp.getInt("default_user_icon", 0) != 0) {
|
||||
postDefaultIcon(sp.getInt("default_user_icon", 0));
|
||||
}
|
||||
|
||||
handler.removeCallbacksAndMessages(null);
|
||||
}
|
||||
@ -804,43 +799,43 @@ public class MainActivity extends BaseActivity {
|
||||
|
||||
}
|
||||
|
||||
// 更新用户使用的助手信息
|
||||
private void updateUserGhzs() {
|
||||
String version_code = sp.getString("version_code", null);
|
||||
String version_name = sp.getString("version_name", null);
|
||||
String channel = sp.getString("channel", null);
|
||||
|
||||
final String versionCode = PackageUtils.getVersionCode(MainActivity.this);
|
||||
final String versionName = PackageUtils.getVersionName(MainActivity.this);
|
||||
final String packageChannel = AppController.getInstance().getChannel();
|
||||
if ((TextUtils.isEmpty(version_code) || TextUtils.isEmpty(version_name) || TextUtils.isEmpty(channel))
|
||||
|| (!version_code.equals(versionCode) || !version_name.equals(versionName) || !channel.equals(packageChannel))) {
|
||||
TokenUtils.getToken(MainActivity.this, true)
|
||||
.flatMap(new Func1<String, Observable<ResponseBody>>() {
|
||||
@Override
|
||||
public Observable<ResponseBody> call(String token) {
|
||||
Map<String, String> params = new ArrayMap<>();
|
||||
params.put("version_code", versionCode);
|
||||
params.put("version_name", versionName);
|
||||
params.put("channel", packageChannel);
|
||||
RequestBody body = RequestBody.create(MediaType.parse("application/json"),
|
||||
new JSONObject(params).toString());
|
||||
return RetrofitManager.getApi().postGhzs(token, body);
|
||||
}
|
||||
}).subscribeOn(Schedulers.io())
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Response<ResponseBody>() {
|
||||
@Override
|
||||
public void onResponse(ResponseBody response) {
|
||||
SharedPreferences.Editor editor = sp.edit();
|
||||
editor.putString("version_code", versionCode);
|
||||
editor.putString("version_name", versionName);
|
||||
editor.putString("channel", packageChannel);
|
||||
editor.apply();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
// // 更新用户使用的助手信息
|
||||
// private void updateUserGhzs() {
|
||||
// String version_code = sp.getString("version_code", null);
|
||||
// String version_name = sp.getString("version_name", null);
|
||||
// String channel = sp.getString("channel", null);
|
||||
//
|
||||
// final String versionCode = PackageUtils.getVersionCode(MainActivity.this);
|
||||
// final String versionName = PackageUtils.getVersionName(MainActivity.this);
|
||||
// final String packageChannel = AppController.getInstance().getChannel();
|
||||
// if ((TextUtils.isEmpty(version_code) || TextUtils.isEmpty(version_name) || TextUtils.isEmpty(channel))
|
||||
// || (!version_code.equals(versionCode) || !version_name.equals(versionName) || !channel.equals(packageChannel))) {
|
||||
// TokenUtils.getToken(MainActivity.this, true)
|
||||
// .flatMap(new Func1<String, Observable<ResponseBody>>() {
|
||||
// @Override
|
||||
// public Observable<ResponseBody> call(String token) {
|
||||
// Map<String, String> params = new ArrayMap<>();
|
||||
// params.put("version_code", versionCode);
|
||||
// params.put("version_name", versionName);
|
||||
// params.put("channel", packageChannel);
|
||||
// RequestBody body = RequestBody.create(MediaType.parse("application/json"),
|
||||
// new JSONObject(params).toString());
|
||||
// return RetrofitManager.getApi().postGhzs(token, body);
|
||||
// }
|
||||
// }).subscribeOn(Schedulers.io())
|
||||
// .observeOn(Schedulers.io())
|
||||
// .subscribe(new Response<ResponseBody>() {
|
||||
// @Override
|
||||
// public void onResponse(ResponseBody response) {
|
||||
// SharedPreferences.Editor editor = sp.edit();
|
||||
// editor.putString("version_code", versionCode);
|
||||
// editor.putString("version_name", versionName);
|
||||
// editor.putString("channel", packageChannel);
|
||||
// editor.apply();
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
|
||||
// 初始化关注
|
||||
private void initConcern() {
|
||||
@ -854,15 +849,11 @@ public class MainActivity extends BaseActivity {
|
||||
@Override
|
||||
public void onResponse(final List<String> response) {
|
||||
if (response.size() != 0) {
|
||||
TokenUtils.getToken(MainActivity.this, true)
|
||||
.flatMap(new Func1<String, Observable<ResponseBody>>() {
|
||||
@Override
|
||||
public Observable<ResponseBody> call(String token) {
|
||||
RequestBody body = RequestBody.create(MediaType.parse("application/json"),
|
||||
new JSONArray(response).toString());
|
||||
return RetrofitManager.getApi().putConcern(token, body);
|
||||
}
|
||||
}).subscribeOn(Schedulers.io())
|
||||
RequestBody body = RequestBody.create(MediaType.parse("application/json"),
|
||||
new JSONArray(response).toString());
|
||||
RetrofitManager.getApi()
|
||||
.putConcern(LoginUtils.getToken(MainActivity.this), body)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Response<ResponseBody>());
|
||||
}
|
||||
@ -871,13 +862,9 @@ public class MainActivity extends BaseActivity {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
TokenUtils.getToken(MainActivity.this, true)
|
||||
.flatMap(new Func1<String, Observable<List<String>>>() {
|
||||
@Override
|
||||
public Observable<List<String>> call(String token) {
|
||||
return RetrofitManager.getApi().getConcern(token);
|
||||
}
|
||||
}).subscribeOn(Schedulers.io())
|
||||
RetrofitManager.getApi()
|
||||
.getConcern(LoginUtils.getToken(this))
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Response<List<String>>() {
|
||||
@Override
|
||||
@ -1048,17 +1035,13 @@ public class MainActivity extends BaseActivity {
|
||||
}
|
||||
}
|
||||
// 更新已安装游戏
|
||||
TokenUtils.getToken(MainActivity.this, true)
|
||||
.flatMap(new Func1<String, Observable<ResponseBody>>() {
|
||||
@Override
|
||||
public Observable<ResponseBody> call(String token) {
|
||||
JSONArray params = new JSONArray();
|
||||
params.put(packageName);
|
||||
RequestBody body = RequestBody.create(
|
||||
MediaType.parse("application/json"), params.toString());
|
||||
return RetrofitManager.getApi().postPackage(token, body);
|
||||
}
|
||||
}).subscribeOn(Schedulers.io())
|
||||
JSONArray params = new JSONArray();
|
||||
params.put(packageName);
|
||||
RequestBody body = RequestBody.create(
|
||||
MediaType.parse("application/json"), params.toString());
|
||||
RetrofitManager.getApi()
|
||||
.postPackage(LoginUtils.getToken(MainActivity.this), body)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Response<ResponseBody>());
|
||||
}
|
||||
@ -1067,13 +1050,9 @@ public class MainActivity extends BaseActivity {
|
||||
|
||||
if ("卸载".equals(busFour.getType())) {
|
||||
// 更新已安装游戏
|
||||
TokenUtils.getToken(MainActivity.this, true)
|
||||
.flatMap(new Func1<String, Observable<ResponseBody>>() {
|
||||
@Override
|
||||
public Observable<ResponseBody> call(String token) {
|
||||
return RetrofitManager.getApi().deletePackage(token, packageName);
|
||||
}
|
||||
}).subscribeOn(Schedulers.io())
|
||||
RetrofitManager.getApi()
|
||||
.deletePackage(LoginUtils.getToken(this), packageName)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(new Response<ResponseBody>());
|
||||
}
|
||||
@ -1111,18 +1090,13 @@ public class MainActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
// 提交默认头像
|
||||
private void postDefaultIcon(boolean isCheck, final int i, final int count) {
|
||||
TokenUtils.getToken(this, isCheck)
|
||||
.flatMap(new Func1<String, Observable<ResponseBody>>() {
|
||||
@Override
|
||||
public Observable<ResponseBody> call(String token) {
|
||||
Map<String, String> params = new HashMap<>();
|
||||
params.put("icon_key", "icon" + i);
|
||||
RequestBody body = RequestBody.create(MediaType.parse("application/json"),
|
||||
new JSONObject(params).toString());
|
||||
return RetrofitManager.getUser().postDefaultIcon(token, body);
|
||||
}
|
||||
})
|
||||
private void postDefaultIcon(final int i) {
|
||||
Map<String, String> params = new HashMap<>();
|
||||
params.put("icon_key", "icon" + i);
|
||||
RequestBody body = RequestBody.create(MediaType.parse("application/json"),
|
||||
new JSONObject(params).toString());
|
||||
RetrofitManager.getUser()
|
||||
.postDefaultIcon(LoginUtils.getToken(this), body)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new JSONObjectResponse() {
|
||||
@ -1133,11 +1107,6 @@ public class MainActivity extends BaseActivity {
|
||||
|
||||
@Override
|
||||
public void onFailure(HttpException e) {
|
||||
if (e != null) {
|
||||
if (e.code() == 401) {
|
||||
postDefaultIcon(true, i, count - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user