version:2.6

fix:更新retrofit,优化请求次数
update:
This commit is contained in:
2022-02-24 18:44:56 +08:00
parent 7d50cb709b
commit 3c45ccc7b1
76 changed files with 1130 additions and 1705 deletions

View File

@@ -12,42 +12,40 @@ import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aoleyun.sn.base.BaseApplication;
import com.aoleyun.sn.bean.AppListInfo;
import com.aoleyun.sn.bean.Appground;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.BrowserBookmarks;
import com.aoleyun.sn.bean.BrowserData;
import com.aoleyun.sn.bean.ForceDownloadBean;
import com.aoleyun.sn.bean.ForceDownloadData;
import com.aoleyun.sn.bean.NetAndLaunchBean;
import com.aoleyun.sn.bean.PoweroffBean;
import com.aoleyun.sn.bean.SnRunLog;
import com.aoleyun.sn.bean.WiFiAlias;
import com.aoleyun.sn.comm.JGYActions;
import com.aoleyun.sn.network.api.newapi.GetPublicIPApi;
import com.aoleyun.sn.network.api.newapi.SnTimeControlApi;
import com.aoleyun.sn.network.api.newapi.TopAppControlApi;
import com.aoleyun.sn.service.LogcatService;
import com.aoleyun.sn.service.main.MainService;
import com.aoleyun.sn.utils.ApkUtils;
import com.aoleyun.sn.utils.CacheUtils;
import com.aoleyun.sn.utils.ForegroundAppUtil;
import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.SPUtils;
import com.aoleyun.sn.utils.TimeUtils;
import com.aoleyun.sn.utils.URLUtils;
import com.aoleyun.sn.utils.Utils;
import com.aoleyun.sn.utils.WiFiUtils;
import com.arialyy.aria.core.Aria;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import com.aoleyun.sn.base.BaseApplication;
import com.aoleyun.sn.bean.AppListInfo;
import com.aoleyun.sn.bean.BrowserBookmarks;
import com.aoleyun.sn.bean.BrowserData;
import com.aoleyun.sn.bean.ForceDownloadBean;
import com.aoleyun.sn.bean.ForceDownloadData;
import com.aoleyun.sn.utils.CacheUtils;
import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.URLUtils;
import com.aoleyun.sn.bean.Appground;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.NetAndLaunchBean;
import com.aoleyun.sn.network.api.newapi.SnTimeControlApi;
import com.aoleyun.sn.network.api.newapi.TopAppControlApi;
import com.aoleyun.sn.network.api.newapi.UpdateDeviceInfoApi;
import com.aoleyun.sn.service.main.MainService;
import com.aoleyun.sn.utils.ApkUtils;
import com.aoleyun.sn.utils.ForegroundAppUtil;
import com.aoleyun.sn.utils.SPUtils;
import com.aoleyun.sn.utils.TimeUtils;
import com.aoleyun.sn.utils.Utils;
import com.tencent.android.tpush.XGIOperateCallback;
import com.tencent.android.tpush.XGPushManager;
import com.tencent.mmkv.MMKV;
@@ -59,14 +57,14 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import okhttp3.ResponseBody;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
//import static com.aoleyun.sn.jpush.TagAliasOperatorHelper.ACTION_SET;
@@ -837,10 +835,10 @@ public class HTTPInterface {
.client(NetInterfaceManager.getInstance().getOkHttpClient())
.baseUrl(UrlAddress.SHOUHU_CITYJSON)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addCallAdapterFactory(RxJava3CallAdapterFactory.create())
.build();
GetPublicIPApi getPublicIPApi = retrofit.create(GetPublicIPApi.class);
getPublicIPApi.getJpushTags()
retrofit.create(GetPublicIPApi.class)
.getPublicIP()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ResponseBody>() {

View File

@@ -3,6 +3,7 @@ package com.aoleyun.sn.network;
import android.annotation.SuppressLint;
import android.content.Context;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
import com.alibaba.fastjson.JSONObject;
@@ -72,25 +73,34 @@ import com.aoleyun.sn.utils.Utils;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.trello.rxlifecycle2.LifecycleProvider;
import com.trello.rxlifecycle2.android.ActivityEvent;
import com.tencent.android.tpush.XGIOperateCallback;
import com.tencent.android.tpush.XGPushManager;
import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.LifecycleProvider;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
import org.jetbrains.annotations.NotNull;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import io.reactivex.Observable;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.core.ObservableEmitter;
import io.reactivex.rxjava3.core.ObservableOnSubscribe;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.schedulers.Schedulers;
import io.reactivex.rxjava3.subjects.BehaviorSubject;
import okhttp3.Cache;
import okhttp3.Interceptor;
import okhttp3.MediaType;
@@ -102,7 +112,7 @@ import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
public class NetInterfaceManager {
@@ -113,8 +123,15 @@ public class NetInterfaceManager {
private Context mContext;
private Retrofit mRetrofit;
private OkHttpClient okHttpClient;
private MMKV mMMKV = MMKV.defaultMMKV();
private final ConcurrentHashMap<String, Long> requestIdsMap = new ConcurrentHashMap<>();
private static final long ONE_MINUTE_TIME = 60 * 1000;
private static final long TEN_MINUTE_TIME = ONE_MINUTE_TIME * 10;
private static final long HALF_HOUR_TIME = TEN_MINUTE_TIME * 3;
private static final long ONE_HOUR_TIME = HALF_HOUR_TIME * 2;
//超时时间
private static int timeOut = 5;
// 缓存文件最大限制大小20M
@@ -126,58 +143,6 @@ public class NetInterfaceManager {
private NetInterfaceManager(Context context) {
this.mContext = context;
if (okHttpClient == null) {
Interceptor myHttpInterceptor = new Interceptor() {
@NotNull
@Override
public Response intercept(@NotNull Chain chain) throws IOException {
Request request = chain.request();
String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString());
Response response = chain.proceed(request); //准备返回Response
// try {
// response.close();
// response = chain.proceed(request);
// } catch (Exception e) {
// //异常的返回也是完成Http请求。在这里移除请求登记
// if (!TextUtils.isEmpty(e.toString()) && e.toString().contains(NetInterfaceManager.CUSTOM_REPEAT_REQ_PROTOCOL)) {
// Log.e("REPEAT-REQUEST", "intercept: " + e.getMessage());
// Log.e("REPEAT-REQUEST", "移除请求1:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
// } else {
// requestIdsMap.remove(requestKey);
// }
// throw e;
// }
synchronized (requestIdsMap) {
requestIdsMap.remove(requestKey); //在这里移除正常的请求登记
Log.e("REPEAT-REQUEST", "移除请求2:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
}
return response;
}
};
Interceptor mRequestInterceptor = new Interceptor() {
@NotNull
@Override
public Response intercept(@NotNull Chain chain) throws IOException {
Request request = chain.request();
//拦截处理重复的HTTP 请求,类似 防止快速点击按钮去重 可以不去处理了,全局统一处理
String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString());
synchronized (requestIdsMap) {
if (requestIdsMap.get(requestKey) == null) {
// Log.e("REPEAT-REQUEST", "intercept: " + requestIdsMap);
requestIdsMap.put(requestKey, System.currentTimeMillis());
Log.e("REPEAT-REQUEST", "注册请求:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
} else {
//如果是重复的请求,抛出一个自定义的错误,这个错误大家根据自己的业务定义吧
Log.e("REPEAT-REQUEST", "重复请求:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
return new Response.Builder()
.protocol(Protocol.get(CUSTOM_REPEAT_REQ_PROTOCOL))
.request(request) //multi thread
.build();
}
}
Response response = chain.proceed(request);
return response;
}
};
Interceptor interceptor = new Interceptor() {
@NotNull
@Override
@@ -217,8 +182,6 @@ public class NetInterfaceManager {
builder.readTimeout(timeOut, TimeUnit.SECONDS);// 设置读取数据超时时间
builder.retryOnConnectionFailure(true);// 设置进行连接失败重试
builder.addInterceptor(interceptor);
// builder.addInterceptor(myHttpInterceptor);
// builder.addNetworkInterceptor(mRequestInterceptor);
// 设置缓存文件路径
String cacheDirectory = mContext.getExternalCacheDir().getAbsolutePath() + "/OkHttpCache";
@@ -232,7 +195,7 @@ public class NetInterfaceManager {
.client(okHttpClient)
.baseUrl(BuildConfig.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addCallAdapterFactory(RxJava3CallAdapterFactory.create())
.build();
}
}
@@ -592,10 +555,17 @@ public class NetInterfaceManager {
void onComplete();
}
public void getLockedState(LifecycleProvider<ActivityEvent> provider, ObserverCallback callback) {
private static final String GET_LOCKED_STATE_TIME = "getLockedState_key";
public void getLockedState(BehaviorSubject<ActivityEvent> provider, ObserverCallback callback) {
long lastTime = mMMKV.decodeLong(GET_LOCKED_STATE_TIME, 0);
if (System.currentTimeMillis() - ONE_MINUTE_TIME < lastTime) {
callback.onComplete();
return;
}
NetInterfaceManager.getInstance()
.getDevicesLockedStateObservable()
.compose(provider.bindUntilEvent(ActivityEvent.DESTROY))
.compose(RxLifecycle.bindUntilEvent(provider, ActivityEvent.DESTROY))
.subscribe(new Observer<BaseResponse>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -605,6 +575,7 @@ public class NetInterfaceManager {
@Override
public void onNext(@NonNull BaseResponse response) {
mMMKV.encode(GET_LOCKED_STATE_TIME, System.currentTimeMillis());
Log.e(TAG + ":" + "getLockedState", "onNext: " + response);
if (response.code == OK) {
JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject();
@@ -646,9 +617,78 @@ public class NetInterfaceManager {
});
}
public void setPushTags(BehaviorSubject<ActivityEvent> provider, ObserverCallback callback) {
NetInterfaceManager.getInstance()
.getJpushTagsObservable()
.compose(RxLifecycle.bindUntilEvent(provider, ActivityEvent.DESTROY))
.subscribe(new Observer<BaseResponse>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e(TAG + ":" + "setPushTags", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse response) {
if (response.code == OK) {
JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject();
String batch = jsonObject.get("batch").getAsString();
Log.e(TAG + ":" + "setPushTags", "onNext: " + batch);
if (!TextUtils.isEmpty(batch)) {
Set set = new HashSet();
set.add(batch);
JGYUtils.getInstance().getAppPlatform(new JGYUtils.GetAppPlatformCallback() {
@Override
public void AppPlatform(int platform) {
if (platform == JGYUtils.MTKPlatform) {
set.add(JGYUtils.MTKTag);
} else if (platform == JGYUtils.ZhanruiPlatform) {
set.add(JGYUtils.ZhanruiTag);
}
}
});
Set<String> tagsSet = new HashSet<>(set);
XGPushManager.clearAndAppendTags(mContext, "clearAndAppendTags :" + System.currentTimeMillis(), tagsSet, new XGIOperateCallback() {
@Override
public void onSuccess(Object o, int i) {
Log.e("setPushTags", "onSuccess: " + o);
}
@Override
public void onFail(Object o, int i, String s) {
Log.e("setPushTags", "onFail: " + o);
}
});
// setTag(set);
} else {
Log.e(TAG + ":" + "setPushTags", "onNext: " + "batch empty");
}
} else {
Log.e(TAG + ":" + "setPushTags", "onNext: " + response.toString());
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e(TAG + ":" + "setPushTags", "onError: " + e.getMessage());
onComplete();
}
@Override
public void onComplete() {
Log.e(TAG + ":" + "setPushTags", "onComplete: ");
}
});
}
private static final String UPDATE_DEVICEINFO_TIME = "updateDeviceInfo_key";
@SuppressLint("NewApi")
public void updateDeviceInfo(ObserverCallback callback) {
long lastTime = mMMKV.decodeLong(UPDATE_DEVICEINFO_TIME, 0);
if (System.currentTimeMillis() - TEN_MINUTE_TIME < lastTime) {
callback.onComplete();
return;
}
String address = String.valueOf(SPUtils.get(mContext, "AmapAddress", "-"));
if ("-".equals(address)) {
address = (String) SPUtils.get(mContext, "AmapError", "-");
@@ -677,6 +717,7 @@ public class NetInterfaceManager {
@Override
public void onNext(BaseResponse baseResponse) {
mMMKV.encode(UPDATE_DEVICEINFO_TIME, System.currentTimeMillis());
callback.onNext(baseResponse);
Log.e("updateDeviceInfo", "上传的结果" + baseResponse.toString());
}
@@ -772,4 +813,6 @@ public class NetInterfaceManager {
}
});
}
}

View File

@@ -2,14 +2,12 @@ package com.aoleyun.sn.network;
import com.aoleyun.sn.BuildConfig;
import rxhttp.wrapper.annotation.DefaultDomain;
/**
* @author Administrator
*/
public class UrlAddress {
/*根网址*/
@DefaultDomain
public static final String HTTP_TAG_HEAD_NEW = BuildConfig.ROOT_URL;

View File

@@ -2,7 +2,7 @@ package com.aoleyun.sn.network.api;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;

View File

@@ -1,6 +1,6 @@
package com.aoleyun.sn.network.api;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api;
import com.aoleyun.sn.bean.ForceDownloadBean;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api;
import com.aoleyun.sn.bean.NetAndLaunchBean;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -1,6 +1,6 @@
package com.aoleyun.sn.network.api;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;

View File

@@ -2,8 +2,7 @@ package com.aoleyun.sn.network.api;
import com.aoleyun.sn.bean.BaseResponse;
import io.reactivex.Observable;
import okhttp3.ResponseBody;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -7,7 +7,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.BrowserBookmarks;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.BrowserData;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -6,7 +6,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.DefaultApp;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -6,7 +6,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -1,6 +1,6 @@
package com.aoleyun.sn.network.api.newapi;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;

View File

@@ -2,7 +2,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.GET;
import retrofit2.http.Query;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;

View File

@@ -1,6 +1,6 @@
package com.aoleyun.sn.network.api.newapi;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;

View File

@@ -6,7 +6,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.GET;
import retrofit2.http.Query;
@@ -17,5 +17,5 @@ import retrofit2.http.Query;
*/
public interface GetPublicIPApi {
@GET(UrlAddress.SHOUHU_CITYJSON)
Observable<ResponseBody> getJpushTags();
Observable<ResponseBody> getPublicIP();
}

View File

@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.SnRunLog;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;

View File

@@ -6,7 +6,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.Map;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Multipart;
import retrofit2.http.POST;

View File

@@ -6,7 +6,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.Map;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;

View File

@@ -7,7 +7,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;

View File

@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.LogoImg;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;

View File

@@ -5,7 +5,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.io.File;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -4,7 +4,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.bean.BaseResponse;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -5,7 +5,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.Map;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Field;
import retrofit2.http.Multipart;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;

View File

@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.StudentsInfo;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;

View File

@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.Observable;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;