version:
fix: update:修改获取健康码
This commit is contained in:
@@ -61,14 +61,8 @@ android {
|
||||
v1SigningEnabled true
|
||||
v2SigningEnabled true
|
||||
}
|
||||
debug {
|
||||
storeFile file("src/doc/xueshibaoos.jks")
|
||||
storePassword "123456"
|
||||
keyAlias "xueshibaoos"
|
||||
keyPassword "123456"
|
||||
v2SigningEnabled false
|
||||
}
|
||||
release {// 签名文件
|
||||
|
||||
mtk {
|
||||
storeFile file("src/doc/xueshibaoos.jks")
|
||||
storePassword "123456"
|
||||
keyAlias "xueshibaoos"
|
||||
@@ -92,6 +86,7 @@ android {
|
||||
debuggable true
|
||||
signingConfig signingConfigs.zhanRui
|
||||
}
|
||||
|
||||
debug {
|
||||
// 显示Log
|
||||
buildConfigField "boolean", "LOG_DEBUG", "true"
|
||||
@@ -99,7 +94,7 @@ android {
|
||||
minifyEnabled false
|
||||
//Zipalign优化
|
||||
zipAlignEnabled true
|
||||
signingConfig signingConfigs.debug
|
||||
signingConfig signingConfigs.mtk
|
||||
applicationVariants.all { variant ->
|
||||
variant.outputs.each { output ->
|
||||
if (outputFile != null) {
|
||||
@@ -109,6 +104,7 @@ android {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
release {
|
||||
// 不显示Log
|
||||
buildConfigField "boolean", "LOG_DEBUG", "false"
|
||||
@@ -119,7 +115,7 @@ android {
|
||||
//前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,后一个文件是自己的定义混淆文件
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
//签名
|
||||
signingConfig signingConfigs.release
|
||||
signingConfig signingConfigs.mtk
|
||||
// 将release版本的包名重命名,加上版本及日期
|
||||
applicationVariants.all { variant ->
|
||||
variant.outputs.each { output ->
|
||||
@@ -191,7 +187,7 @@ dependencies {
|
||||
implementation 'com.amap.api:location:5.1.0'
|
||||
//MMKV
|
||||
implementation 'com.tencent:mmkv-static:1.2.12'
|
||||
implementation 'com.tencent.tpns:tpns:1.3.6.0-release'
|
||||
implementation 'com.tencent.tpns:tpns:1.3.6.1-release'
|
||||
//状态栏透明
|
||||
implementation 'com.gitee.zackratos:UltimateBarX:0.8.0'
|
||||
//指示器
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".activity.CodeActivity"
|
||||
android:name=".activity.code.HealthCodeActivity"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="sensorPortrait" />
|
||||
<activity
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.uiui.aios.activity;
|
||||
package com.uiui.aios.activity.code;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.util.Log;
|
||||
@@ -16,6 +16,7 @@ import com.uiui.aios.base.BaseActivity;
|
||||
import com.uiui.aios.bean.BaseResponse;
|
||||
import com.uiui.aios.bean.HealthCode;
|
||||
import com.uiui.aios.network.NetInterfaceManager;
|
||||
import com.uiui.aios.utils.ToastUtil;
|
||||
import com.uiui.aios.utils.Utils;
|
||||
import com.uiui.aios.view.ScaleCircleNavigator;
|
||||
|
||||
@@ -33,7 +34,7 @@ import io.reactivex.rxjava3.core.Observer;
|
||||
import io.reactivex.rxjava3.disposables.Disposable;
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers;
|
||||
|
||||
public class CodeActivity extends BaseActivity {
|
||||
public class HealthCodeActivity extends BaseActivity implements HealthCodeContact.CodeView {
|
||||
@BindView(R.id.viewPager)
|
||||
ViewPager mViewPager;
|
||||
@BindView(R.id.magicIndicator)
|
||||
@@ -41,6 +42,7 @@ public class CodeActivity extends BaseActivity {
|
||||
@BindView(R.id.iv_nodata)
|
||||
ImageView iv_nodata;
|
||||
|
||||
private HealthCodePresenter mPresenter;
|
||||
private HealthCodeAdapter mHealthCodeAdapter;
|
||||
private ScaleCircleNavigator scaleCircleNavigator;
|
||||
|
||||
@@ -52,6 +54,9 @@ public class CodeActivity extends BaseActivity {
|
||||
@Override
|
||||
public void initView() {
|
||||
ButterKnife.bind(this);
|
||||
mPresenter = new HealthCodePresenter(this);
|
||||
mPresenter.attachView(this);
|
||||
mPresenter.setLifecycle(lifecycleSubject);
|
||||
mHealthCodeAdapter = new HealthCodeAdapter();
|
||||
mViewPager.setAdapter(mHealthCodeAdapter);
|
||||
scaleCircleNavigator = new ScaleCircleNavigator(this);
|
||||
@@ -59,7 +64,7 @@ public class CodeActivity extends BaseActivity {
|
||||
|
||||
@Override
|
||||
public void initData() {
|
||||
getHealthCode();
|
||||
mPresenter.getHealthCode();
|
||||
}
|
||||
|
||||
private void setImageViews(List<HealthCode> healthCodes) {
|
||||
@@ -86,43 +91,30 @@ public class CodeActivity extends BaseActivity {
|
||||
mHealthCodeAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
|
||||
private void getHealthCode() {
|
||||
NetInterfaceManager.getInstance().getHealthCodeApi()
|
||||
.getArticleDetails(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.compose(RxLifecycle.bindUntilEvent(lifecycleSubject, ActivityEvent.DESTROY))
|
||||
.subscribe(new Observer<BaseResponse<List<HealthCode>>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Log.e("getHealthCode", "onSubscribe: ");
|
||||
}
|
||||
|
||||
public void setHealthCode(List<HealthCode> codeList) {
|
||||
NetInterfaceManager.getInstance().getHealthCode(true, lifecycleSubject, new NetInterfaceManager.HealthCodeCallback() {
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse<List<HealthCode>> listBaseResponse) {
|
||||
Log.e("getHealthCode", "onNext: " + listBaseResponse);
|
||||
if (listBaseResponse.code == 200) {
|
||||
List<HealthCode> healthCodeList = listBaseResponse.data;
|
||||
setImageViews(healthCodeList);
|
||||
public void setHealthCode(List<HealthCode> healthCode) {
|
||||
setImageViews(healthCode);
|
||||
mViewPager.setVisibility(View.VISIBLE);
|
||||
mMagicIndicator.setVisibility(View.VISIBLE);
|
||||
iv_nodata.setVisibility(View.GONE);
|
||||
} else {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void noData() {
|
||||
mViewPager.setVisibility(View.GONE);
|
||||
mMagicIndicator.setVisibility(View.GONE);
|
||||
iv_nodata.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Log.e("getHealthCode", "onError: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e("getHealthCode", "onComplete: ");
|
||||
public void onError() {
|
||||
ToastUtil.show("网络连接失败");
|
||||
mViewPager.setVisibility(View.GONE);
|
||||
mMagicIndicator.setVisibility(View.GONE);
|
||||
iv_nodata.setVisibility(View.VISIBLE);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.uiui.aios.activity.code;
|
||||
|
||||
import com.uiui.aios.base.BasePresenter;
|
||||
import com.uiui.aios.base.BaseView;
|
||||
import com.uiui.aios.bean.HealthCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class HealthCodeContact {
|
||||
public interface Presenter extends BasePresenter<CodeView> {
|
||||
void getHealthCode();
|
||||
}
|
||||
|
||||
public interface CodeView extends BaseView {
|
||||
void setHealthCode(List<HealthCode> codeList);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.uiui.aios.activity.code;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||
|
||||
import io.reactivex.rxjava3.subjects.BehaviorSubject;
|
||||
|
||||
public class HealthCodePresenter implements HealthCodeContact.Presenter {
|
||||
private static final String TAG = HealthCodePresenter.class.getSimpleName();
|
||||
private HealthCodeContact.CodeView mView;
|
||||
|
||||
private Context mContext;
|
||||
|
||||
private BehaviorSubject<ActivityEvent> lifecycle;
|
||||
|
||||
void setLifecycle(BehaviorSubject<ActivityEvent> lifecycle) {
|
||||
this.lifecycle = lifecycle;
|
||||
}
|
||||
|
||||
public BehaviorSubject<ActivityEvent> getLifecycle() {
|
||||
return lifecycle;
|
||||
}
|
||||
|
||||
HealthCodePresenter(Context context) {
|
||||
this.mContext = context;
|
||||
Log.e(TAG, "MainPresenter: " + context.getClass());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void attachView(@NonNull HealthCodeContact.CodeView view) {
|
||||
this.mView = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detachView() {
|
||||
this.mView = null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void getHealthCode() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ import com.uiui.aios.base.BasePresenter;
|
||||
import com.uiui.aios.base.BaseView;
|
||||
|
||||
public class MainContact {
|
||||
public interface Presenter extends BasePresenter<MainContact.MainView> {
|
||||
public interface Presenter extends BasePresenter<MainView> {
|
||||
/*获取桌面布局*/
|
||||
void getDesktopLayout();
|
||||
/*更新桌面布局*/
|
||||
|
||||
@@ -31,7 +31,6 @@ import com.amap.api.location.AMapLocation;
|
||||
import com.amap.api.location.AMapLocationListener;
|
||||
import com.blankj.utilcode.util.NetworkUtils;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.qweather.sdk.bean.base.Code;
|
||||
import com.qweather.sdk.bean.base.Lang;
|
||||
import com.qweather.sdk.bean.base.Unit;
|
||||
@@ -41,7 +40,7 @@ import com.qweather.sdk.view.QWeather;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.uiui.aios.BuildConfig;
|
||||
import com.uiui.aios.R;
|
||||
import com.uiui.aios.activity.CodeActivity;
|
||||
import com.uiui.aios.activity.code.HealthCodeActivity;
|
||||
import com.uiui.aios.activity.EmergencyActivity;
|
||||
import com.uiui.aios.activity.alarm.AlarmClockActivity;
|
||||
import com.uiui.aios.activity.weather.WeatherActivity;
|
||||
@@ -57,7 +56,6 @@ import com.uiui.aios.utils.SchemeUtils;
|
||||
import com.uiui.aios.utils.Utils;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -356,7 +354,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
|
||||
mClHealth.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(new Intent(getActivity(), CodeActivity.class));
|
||||
startActivity(new Intent(getActivity(), HealthCodeActivity.class));
|
||||
// SchemeUtils.openScheme(getActivity(), SchemeUtils.SCHEME_TONGUE);
|
||||
}
|
||||
});
|
||||
|
||||
134
app/src/main/java/com/uiui/aios/manager/ConnectManager.java
Normal file
134
app/src/main/java/com/uiui/aios/manager/ConnectManager.java
Normal file
@@ -0,0 +1,134 @@
|
||||
package com.uiui.aios.manager;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.uiui.aios.utils.TimeUtils;
|
||||
|
||||
public class ConnectManager {
|
||||
private static final String TAG = ConnectManager.class.getSimpleName();
|
||||
|
||||
|
||||
public static final long ONE_MINUTES_TIME = 60 * 1000;
|
||||
public static final long FIFTEEN_MINUTES_TIME = ONE_MINUTES_TIME * 15;
|
||||
public static final long HALF_HOUR_TIME = FIFTEEN_MINUTES_TIME * 2;
|
||||
public static final long ONE_HOUR_TIME = HALF_HOUR_TIME * 2;
|
||||
public static final long SIX_HOUR_TIME = ONE_HOUR_TIME * 6;
|
||||
public static final long HALF_DAY_TIME = SIX_HOUR_TIME * 2;
|
||||
public static final long ONE_DAY_TIME = HALF_DAY_TIME * 2;
|
||||
|
||||
/*重启后连接成功的时间*/
|
||||
public static final String REBOOT_LAST_ONNECT_TIME = "reboot_last_connect_time";
|
||||
/*WiFi连接后连接成功的时间*/
|
||||
public static final String WIFI_LAST_CONNECT_TIME = "WiFi_last_connect_time";
|
||||
/*打开设备信息连接成功的时间*/
|
||||
public static final String OPENINFO_LAST_ONNECT_TIME = "opneinfo_last_connect_time";
|
||||
|
||||
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
private static ConnectManager sInstance;
|
||||
private Context mContext;
|
||||
private MMKV mMMKV = MMKV.defaultMMKV();
|
||||
|
||||
private ConnectManager(Context context) {
|
||||
if (context == null) {
|
||||
throw new RuntimeException("Context is NULL");
|
||||
}
|
||||
this.mContext = context;
|
||||
|
||||
}
|
||||
|
||||
public static void init(Context context) {
|
||||
if (sInstance == null) {
|
||||
Log.e(TAG, "init: ");
|
||||
sInstance = new ConnectManager(context);
|
||||
}
|
||||
}
|
||||
|
||||
public static ConnectManager getInstance() {
|
||||
if (sInstance == null) {
|
||||
throw new IllegalStateException("You must be init ConnectManager first");
|
||||
}
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
public long getConnectModeTime(ConnectMode connectMode) {
|
||||
long time = 0;
|
||||
switch (connectMode) {
|
||||
case DEFAULT:
|
||||
time = 0;
|
||||
break;
|
||||
case ONE_MINUTE:
|
||||
time = ONE_MINUTES_TIME;
|
||||
break;
|
||||
case FIFTEEN_MINUTES:
|
||||
time = FIFTEEN_MINUTES_TIME;
|
||||
break;
|
||||
case HALF_HOUR:
|
||||
time = HALF_HOUR_TIME;
|
||||
break;
|
||||
case ONE_HOUR:
|
||||
time = ONE_HOUR_TIME;
|
||||
break;
|
||||
case SIX_HOUR:
|
||||
time = SIX_HOUR_TIME;
|
||||
break;
|
||||
case HALF_DAY:
|
||||
time = HALF_DAY_TIME;
|
||||
break;
|
||||
case ONE_DAY:
|
||||
time = ONE_DAY_TIME;
|
||||
break;
|
||||
default:
|
||||
}
|
||||
return time;
|
||||
}
|
||||
|
||||
public boolean isNeedConnect(String key, ConnectMode connectMode) {
|
||||
long nowTime = System.currentTimeMillis();
|
||||
long lastTime = mMMKV.decodeLong(key, 0);
|
||||
long intervalTime = getConnectModeTime(connectMode);
|
||||
//防止一分钟内重复请求
|
||||
return nowTime - lastTime > intervalTime && nowTime - lastTime > ONE_MINUTES_TIME;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return 重启后是否连接
|
||||
*/
|
||||
public boolean isRebootFistConnect() {
|
||||
long rebootTime = mMMKV.decodeLong(REBOOT_LAST_ONNECT_TIME, 0);
|
||||
//只在开机后15内连接,其他情况为service重启
|
||||
long time = System.currentTimeMillis() - rebootTime;
|
||||
return time < 15 * 1000;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return 今天WiFi连接是否有连接
|
||||
*/
|
||||
public boolean isWiFiFistConnect() {
|
||||
long time = mMMKV.decodeLong(WIFI_LAST_CONNECT_TIME, 0);
|
||||
return !TimeUtils.isTodayTime(time);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return 今天打开设备信息后是否连接
|
||||
*/
|
||||
public boolean isOpenInfoFistConnect() {
|
||||
long time = mMMKV.decodeLong(OPENINFO_LAST_ONNECT_TIME, 0);
|
||||
return !TimeUtils.isTodayTime(time);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param WiFiAlias
|
||||
* @return 今天切换WiFi后是否连接
|
||||
*/
|
||||
public boolean isWiFiCutoverFistConnect(String WiFiAlias) {
|
||||
long time = mMMKV.decodeLong(WiFiAlias, 0);
|
||||
return !TimeUtils.isTodayTime(time);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
12
app/src/main/java/com/uiui/aios/manager/ConnectMode.java
Normal file
12
app/src/main/java/com/uiui/aios/manager/ConnectMode.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package com.uiui.aios.manager;
|
||||
|
||||
public enum ConnectMode {
|
||||
DEFAULT,
|
||||
ONE_MINUTE,
|
||||
FIFTEEN_MINUTES,
|
||||
HALF_HOUR,
|
||||
ONE_HOUR,
|
||||
SIX_HOUR,
|
||||
HALF_DAY,
|
||||
ONE_DAY,
|
||||
}
|
||||
@@ -3,7 +3,10 @@ package com.uiui.aios.network;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.trello.rxlifecycle4.RxLifecycle;
|
||||
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||
@@ -13,9 +16,12 @@ import com.uiui.aios.bean.ArticleInfo;
|
||||
import com.uiui.aios.bean.BaseResponse;
|
||||
import com.uiui.aios.bean.DemandBean;
|
||||
import com.uiui.aios.bean.GoodsInfo;
|
||||
import com.uiui.aios.bean.HealthCode;
|
||||
import com.uiui.aios.bean.NetDesktopIcon;
|
||||
import com.uiui.aios.bean.UserId;
|
||||
import com.uiui.aios.disklrucache.CacheHelper;
|
||||
import com.uiui.aios.manager.ConnectManager;
|
||||
import com.uiui.aios.manager.ConnectMode;
|
||||
import com.uiui.aios.network.api.ActivityListApi;
|
||||
import com.uiui.aios.network.api.AlarmClockApi;
|
||||
import com.uiui.aios.network.api.AppUsageRecordApi;
|
||||
@@ -39,6 +45,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -282,14 +289,14 @@ public class NetInterfaceManager {
|
||||
|
||||
public Observable<BaseResponse<List<ActivityBean>>> getActivityListObservable() {
|
||||
return mRetrofit.create(ActivityListApi.class)
|
||||
.getActivityList(Utils.getSerial(), 1, 1,getUserId())
|
||||
.getActivityList(Utils.getSerial(), 1, 1, getUserId())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse<List<DemandBean>>> getDemandListObservable() {
|
||||
return mRetrofit.create(DemandListApi.class)
|
||||
.getDemandList(Utils.getSerial(), 1, 1,getUserId())
|
||||
.getDemandList(Utils.getSerial(), 1, 1, getUserId())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
@@ -303,7 +310,80 @@ public class NetInterfaceManager {
|
||||
return mRetrofit.create(SendScreenshotApi.class);
|
||||
}
|
||||
|
||||
public HealthCodeApi getHealthCodeApi() {
|
||||
return mRetrofit.create(HealthCodeApi.class);
|
||||
public Observable<BaseResponse<List<HealthCode>>> getHealthCodeObservable() {
|
||||
return mRetrofit.create(HealthCodeApi.class)
|
||||
.getArticleDetails(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public interface HealthCodeCallback {
|
||||
void setHealthCode(List<HealthCode> healthCode);
|
||||
|
||||
void noData();
|
||||
|
||||
void onError();
|
||||
}
|
||||
|
||||
public void getHealthCode(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, HealthCodeCallback callback) {
|
||||
ConnectMode connectMode = ConnectMode.ONE_HOUR;
|
||||
if (refresh) {
|
||||
connectMode = ConnectMode.DEFAULT;
|
||||
}
|
||||
if (ConnectManager.getInstance().isNeedConnect(URLAddress.GET_HEALTH_CODE, connectMode)) {
|
||||
getHealthCode(lifecycle, callback);
|
||||
} else {
|
||||
String jsonString = mCacheHelper.getAsString(URLAddress.GET_HEALTH_CODE);
|
||||
//为 "" 是已经请求成功的
|
||||
if (jsonString == null) {
|
||||
getHealthCode(lifecycle, callback);
|
||||
} else {
|
||||
Gson gson = new Gson();
|
||||
Type type = new TypeToken<String>() {
|
||||
}.getType();
|
||||
List<HealthCode> healthCodeList = gson.fromJson(jsonString, type);
|
||||
if (healthCodeList == null || healthCodeList.size() == 0) {
|
||||
callback.noData();
|
||||
} else {
|
||||
callback.setHealthCode(healthCodeList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void getHealthCode(BehaviorSubject<ActivityEvent> lifecycle, HealthCodeCallback callback) {
|
||||
getHealthCodeObservable()
|
||||
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||
.subscribe(new Observer<BaseResponse<List<HealthCode>>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Log.e("getHealthCode", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse<List<HealthCode>> listBaseResponse) {
|
||||
Log.e("getHealthCode", "onNext: " + listBaseResponse);
|
||||
if (listBaseResponse.code == 200) {
|
||||
List<HealthCode> healthCodeList = listBaseResponse.data;
|
||||
callback.setHealthCode(healthCodeList);
|
||||
} else {
|
||||
callback.noData();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Log.e("getHealthCode", "onError: ");
|
||||
callback.onError();
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e("getHealthCode", "onComplete: ");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
29
app/src/main/java/com/uiui/aios/utils/TimeUtils.java
Normal file
29
app/src/main/java/com/uiui/aios/utils/TimeUtils.java
Normal file
@@ -0,0 +1,29 @@
|
||||
package com.uiui.aios.utils;
|
||||
|
||||
import android.os.Build;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Date;
|
||||
|
||||
public class TimeUtils {
|
||||
@RequiresApi(api = Build.VERSION_CODES.O)
|
||||
public static boolean isTodayTime(long timeStamp) {
|
||||
String time = transferLongToDate(timeStamp);
|
||||
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
LocalDateTime localTime = LocalDateTime.parse(time, dtf);
|
||||
LocalDateTime startTime = LocalDate.now().atTime(0, 0, 0);
|
||||
LocalDateTime endTime = LocalDate.now().atTime(23, 59, 59);
|
||||
return localTime.isAfter(startTime) && localTime.isBefore(endTime);
|
||||
}
|
||||
|
||||
public static String transferLongToDate(Long millSec) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
Date date = new Date(millSec);
|
||||
return sdf.format(date);
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".activity.CodeActivity">
|
||||
tools:context=".activity.code.HealthCodeActivity">
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/viewPager"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".activity.CodeActivity">
|
||||
tools:context=".activity.code.HealthCodeActivity">
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/viewPager"
|
||||
|
||||
Reference in New Issue
Block a user