version:4.4

fix:
update:优化闹钟页面,优化日常应用
This commit is contained in:
2024-02-02 10:11:08 +08:00
parent 304d809ee9
commit 2e2d2ac818
163 changed files with 6128 additions and 1109 deletions

View File

@@ -10,16 +10,19 @@ import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
import com.trello.rxlifecycle4.android.FragmentEvent;
import com.uiui.video.bean.VideoInfo;
import com.uiuios.aios.alarm.AlarmUtils;
import com.uiuios.aios.bean.ActivityBean;
import com.uiuios.aios.alarm.AlarmClockData;
import com.uiuios.aios.bean.AlarmClockId;
import com.uiuios.aios.bean.ArticleInfo;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.CategoryBean;
import com.uiuios.aios.bean.Contact;
import com.uiuios.aios.bean.DemandBean;
import com.uiuios.aios.bean.GoodsInfo;
import com.uiuios.aios.bean.HealthCode;
import com.uiuios.aios.bean.MapGeoBean;
import com.uiuios.aios.bean.NetDesktopIcon;
import com.uiuios.aios.bean.SnInfo;
import com.uiuios.aios.bean.SystemSettings;
@@ -39,6 +42,7 @@ import com.uiuios.aios.network.api.AlarmClockEditApi;
import com.uiuios.aios.network.api.AlarmClockQueryApi;
import com.uiuios.aios.network.api.AppUsageRecordApi;
import com.uiuios.aios.network.api.ArticleListApi;
import com.uiuios.aios.network.api.CategorysApi;
import com.uiuios.aios.network.api.DemandListApi;
import com.uiuios.aios.network.api.GetAdminSnSettingApi;
import com.uiuios.aios.network.api.GetDesktopApi;
@@ -46,6 +50,8 @@ import com.uiuios.aios.network.api.GetMailList;
import com.uiuios.aios.network.api.GetUserIDApi;
import com.uiuios.aios.network.api.GoodsListApi;
import com.uiuios.aios.network.api.HealthCodeApi;
import com.uiuios.aios.network.api.KnowledgeVideoListApi;
import com.uiuios.aios.network.api.LivenVideoListApi;
import com.uiuios.aios.network.api.MailListAddApi;
import com.uiuios.aios.network.api.RunNewApp;
import com.uiuios.aios.network.api.SNInfoApi;
@@ -56,11 +62,12 @@ import com.uiuios.aios.network.api.UpdateAlarmClockApi;
import com.uiuios.aios.network.api.UpdateAppIconApi;
import com.uiuios.aios.network.api.UpdateDesktopApi;
import com.uiuios.aios.network.api.UserInfoControl;
import com.uiuios.aios.network.api.amap.GeocodingApi;
import com.uiuios.aios.network.interceptor.RepeatRequestInterceptor;
import com.uiuios.aios.utils.Utils;
import java.io.File;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -91,6 +98,8 @@ public class NetInterfaceManager {
private Retrofit mRetrofit;
private OkHttpClient okHttpClient;
private Retrofit mAmapRetrofit;
private OkHttpClient mAmapOkHttpClient;
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
private final ConcurrentHashMap<String, Long> requestIdsMap = new ConcurrentHashMap<>();
@@ -130,6 +139,31 @@ public class NetInterfaceManager {
.addCallAdapterFactory(RxJava3CallAdapterFactory.create())
.build();
}
if (mAmapOkHttpClient == null) {
//如果无法生存缓存文件目录,检测权限使用已经加上,检测手机是否把文件读写权限禁止了
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.connectTimeout(timeOut, TimeUnit.SECONDS); // 设置连接超时时间
builder.writeTimeout(timeOut, TimeUnit.SECONDS);// 设置写入超时时间
builder.readTimeout(timeOut, TimeUnit.SECONDS);// 设置读取数据超时时间
builder.retryOnConnectionFailure(true);// 设置进行连接失败重试
builder.addInterceptor(new RepeatRequestInterceptor());
// 设置缓存文件路径
String cacheDirectory = mContext.getExternalCacheDir().getAbsolutePath() + "/OkHttpCache";
Cache cache = new Cache(new File(cacheDirectory), cacheSize);
builder.cache(cache);// 设置缓存
mAmapOkHttpClient = builder.build();
}
if (mAmapRetrofit == null) {
mAmapRetrofit = new Retrofit.Builder()
.client(mAmapOkHttpClient)
.baseUrl(UrlAddress.AMAP_ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava3CallAdapterFactory.create())
.build();
}
}
/**
@@ -169,6 +203,13 @@ public class NetInterfaceManager {
return okHttpClient;
}
public Observable<MapGeoBean> getGeoObservable(String address) {
return mAmapRetrofit.create(GeocodingApi.class)
.geocoding(address, "json", "RGAsG7hN9gbDxeruqF4Lsf0ro6pp362O")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 通过sn获取设备的信息
*
@@ -237,6 +278,13 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread());
}
public Observable<BaseResponse<List<CategoryBean>>> getCategorysObservable() {
return mRetrofit.create(CategorysApi.class)
.getCategorys(RemoteManager.getInstance().getSerial())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public Observable<BaseResponse<List<ArticleInfo>>> getArticleListObservable() {
return mRetrofit.create(ArticleListApi.class)
.getArticleList(RemoteManager.getInstance().getSerial())
@@ -279,7 +327,15 @@ public class NetInterfaceManager {
public Observable<BaseResponse<List<AlarmClockData>>> getAlarmClockObservable() {
return mRetrofit
.create(AlarmClockApi.class)
.getAlarmClockApiApi(RemoteManager.getInstance().getSerial())
.getAlarmClock(RemoteManager.getInstance().getSerial(), 0)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public Observable<BaseResponse<List<AlarmClockData>>> getAlarmClockObservable(int type) {
return mRetrofit
.create(AlarmClockApi.class)
.getAlarmClock(RemoteManager.getInstance().getSerial(), type)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
@@ -312,6 +368,21 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread());
}
public Observable<BaseResponse<ArrayList<VideoInfo>>> getLivenVideoListObservable() {
return mRetrofit.create(LivenVideoListApi.class)
.getLivenVideoList(RemoteManager.getInstance().getSerial())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public Observable<BaseResponse<ArrayList<VideoInfo>>> getKnowledgeVideoListObservable() {
return mRetrofit.create(KnowledgeVideoListApi.class)
.getKnowledgeVideoList(RemoteManager.getInstance().getSerial())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public interface onCompleteCallback {
void onComplete();
}

View File

@@ -2,6 +2,8 @@ package com.uiuios.aios.network;
public class UrlAddress {
public static final String ROOT_URL = "https://led.zuoyepad.com/android/";
public static final String AMAP_ROOT_URL = "https://api.map.baidu.com/";
/*设备信息接口*/
public static final String SNINFO = "sn/getSnInfo";
/*获取用户头像和信息*/
@@ -24,6 +26,8 @@ public class UrlAddress {
public static final String GET_DESKTOP_LAYOUT = "getDesktopLayout";
/*获取抢购列表*/
public static final String GET_GOODS_LIST = "getGoodsList";
/*养生资讯分类*/
public static final String CATEGORYS = "article/categorys";
/*获取资讯列表*/
public static final String GET_ARTICLE_LIST = "getArticleList";
/*获取抢购详情*/
@@ -65,4 +69,13 @@ public class UrlAddress {
public static final String GET_USER_ID = "getUserId";
/*养生视频列表*/
public static final String GET_LIVEN_VIDEO_LIST = "livenVideo/getLivenVideoList";
/*知识视频列表*/
public static final String GET_KNOWLEDGE_VIDEO_LIST = "knowledgeVideo/getKnowledgeVideoList";
public static final String geocoding = "geocoding/v3/";
}

View File

@@ -12,7 +12,8 @@ import retrofit2.http.Query;
public interface AlarmClockApi {
@GET(UrlAddress.GET_ALARM_CLOCK)
Observable<BaseResponse<List<AlarmClockData>>> getAlarmClockApiApi(
@Query("sn") String sn
Observable<BaseResponse<List<AlarmClockData>>> getAlarmClock(
@Query("sn") String sn,
@Query("class") int clazz
);
}

View File

@@ -0,0 +1,18 @@
package com.uiuios.aios.network.api;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.CategoryBean;
import com.uiuios.aios.network.UrlAddress;
import java.util.List;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface CategorysApi {
@GET(UrlAddress.CATEGORYS)
Observable<BaseResponse<List<CategoryBean>>> getCategorys(
@Query("sn") String sn
);
}

View File

@@ -0,0 +1,19 @@
package com.uiuios.aios.network.api;
import com.uiui.video.bean.VideoInfo;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.network.UrlAddress;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface KnowledgeVideoListApi {
@GET(UrlAddress.GET_KNOWLEDGE_VIDEO_LIST)
Observable<BaseResponse<ArrayList<VideoInfo>>> getKnowledgeVideoList(
@Query("sn") String sn
);
}

View File

@@ -0,0 +1,18 @@
package com.uiuios.aios.network.api;
import com.uiui.video.bean.VideoInfo;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.network.UrlAddress;
import java.util.ArrayList;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface LivenVideoListApi {
@GET(UrlAddress.GET_LIVEN_VIDEO_LIST)
Observable<BaseResponse<ArrayList<VideoInfo>>> getLivenVideoList(
@Query("sn") String sn
);
}

View File

@@ -0,0 +1,17 @@
package com.uiuios.aios.network.api.amap;
import com.uiuios.aios.bean.MapGeoBean;
import com.uiuios.aios.network.UrlAddress;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface GeocodingApi {
@GET(UrlAddress.geocoding)
Observable<MapGeoBean> geocoding(
@Query("address") String address,
@Query("output") String output,
@Query("ak") String key
);
}