version:
fix: update:闹钟界面缓存
This commit is contained in:
@@ -42,6 +42,8 @@ import io.reactivex.rxjava3.core.Observer;
|
|||||||
import io.reactivex.rxjava3.disposables.Disposable;
|
import io.reactivex.rxjava3.disposables.Disposable;
|
||||||
|
|
||||||
public class NoticeActivity extends AppCompatActivity {
|
public class NoticeActivity extends AppCompatActivity {
|
||||||
|
private String TAG = NoticeActivity.class.getSimpleName();
|
||||||
|
|
||||||
@BindView(R.id.tv_title)
|
@BindView(R.id.tv_title)
|
||||||
TextView tv_title;
|
TextView tv_title;
|
||||||
@BindView(R.id.bt_ok)
|
@BindView(R.id.bt_ok)
|
||||||
@@ -56,11 +58,9 @@ public class NoticeActivity extends AppCompatActivity {
|
|||||||
ImageView imageView;
|
ImageView imageView;
|
||||||
|
|
||||||
private AlarmClockData alarmClockData;
|
private AlarmClockData alarmClockData;
|
||||||
int code;
|
private int code;
|
||||||
private MediaPlayer mediaPlayer;
|
private MediaPlayer mediaPlayer;
|
||||||
|
|
||||||
private String TAG = NoticeActivity.class.getSimpleName();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import com.uiui.aios.bean.AlarmClockData;
|
|||||||
import com.uiui.aios.bean.BaseResponse;
|
import com.uiui.aios.bean.BaseResponse;
|
||||||
import com.uiui.aios.network.NetInterfaceManager;
|
import com.uiui.aios.network.NetInterfaceManager;
|
||||||
import com.uiui.aios.alarm.AlarmUtils;
|
import com.uiui.aios.alarm.AlarmUtils;
|
||||||
|
import com.uiui.aios.utils.ToastUtil;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -21,11 +22,12 @@ import cn.jzvd.Jzvd;
|
|||||||
import io.reactivex.rxjava3.core.Observer;
|
import io.reactivex.rxjava3.core.Observer;
|
||||||
import io.reactivex.rxjava3.disposables.Disposable;
|
import io.reactivex.rxjava3.disposables.Disposable;
|
||||||
|
|
||||||
public class AlarmClockActivity extends BaseActivity {
|
public class AlarmClockActivity extends BaseActivity implements AlarmClockContact.ClockView {
|
||||||
|
|
||||||
@BindView(R.id.recyclerView)
|
@BindView(R.id.recyclerView)
|
||||||
RecyclerView recyclerView;
|
RecyclerView recyclerView;
|
||||||
|
|
||||||
|
private AlarmClockPresenter mPresenter;
|
||||||
private AlarmAdapter mAlarmAdapter;
|
private AlarmAdapter mAlarmAdapter;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -36,6 +38,10 @@ public class AlarmClockActivity extends BaseActivity {
|
|||||||
@Override
|
@Override
|
||||||
public void initView() {
|
public void initView() {
|
||||||
ButterKnife.bind(this);
|
ButterKnife.bind(this);
|
||||||
|
mPresenter = new AlarmClockPresenter(this);
|
||||||
|
mPresenter.attachView(this);
|
||||||
|
mPresenter.setLifecycle(lifecycleSubject);
|
||||||
|
|
||||||
mAlarmAdapter = new AlarmAdapter();
|
mAlarmAdapter = new AlarmAdapter();
|
||||||
recyclerView.setLayoutManager(new LinearLayoutManager(AlarmClockActivity.this));
|
recyclerView.setLayoutManager(new LinearLayoutManager(AlarmClockActivity.this));
|
||||||
recyclerView.setAdapter(mAlarmAdapter);
|
recyclerView.setAdapter(mAlarmAdapter);
|
||||||
@@ -44,36 +50,23 @@ public class AlarmClockActivity extends BaseActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initData() {
|
public void initData() {
|
||||||
NetInterfaceManager.getInstance().getAlarmClockApiObservable()
|
mPresenter.getAlarmClock();
|
||||||
.subscribe(new Observer<BaseResponse<List<AlarmClockData>>>() {
|
}
|
||||||
@Override
|
|
||||||
public void onSubscribe(Disposable d) {
|
|
||||||
Log.e("getAlarmClock", "onSubscribe: ");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNext(BaseResponse<List<AlarmClockData>> listBaseResponse) {
|
public void showAlarmClock(List<AlarmClockData> alarmClockData) {
|
||||||
Log.e("getAlarmClock", "onNext: " + listBaseResponse);
|
AlarmUtils.getInstance().setAlarmClockData(alarmClockData);
|
||||||
if (listBaseResponse.code == 200) {
|
mAlarmAdapter.setAlarmClockData(alarmClockData);
|
||||||
List<AlarmClockData> data = listBaseResponse.data;
|
}
|
||||||
AlarmUtils.getInstance().setAlarmClockData(data);
|
|
||||||
mAlarmAdapter.setAlarmClockData(data);
|
|
||||||
} else {
|
|
||||||
mAlarmAdapter.setAlarmClockData(null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(Throwable e) {
|
public void setAlarmClockEmpty() {
|
||||||
Log.e("getAlarmClock", "onError: " + e.getMessage());
|
mAlarmAdapter.setAlarmClockData(null);
|
||||||
onComplete();
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onComplete() {
|
public void onError() {
|
||||||
Log.e("getAlarmClock", "onComplete: ");
|
ToastUtil.show("服务器连接失败,检查网络连接");
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.uiui.aios.activity.alarm;
|
||||||
|
|
||||||
|
import com.uiui.aios.base.BasePresenter;
|
||||||
|
import com.uiui.aios.base.BaseView;
|
||||||
|
import com.uiui.aios.bean.AlarmClockData;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class AlarmClockContact {
|
||||||
|
public interface Presenter extends BasePresenter<ClockView> {
|
||||||
|
void getAlarmClock();
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface ClockView extends BaseView {
|
||||||
|
void showAlarmClock(List<AlarmClockData> alarmClockData);
|
||||||
|
void setAlarmClockEmpty();
|
||||||
|
void onError();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package com.uiui.aios.activity.alarm;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||||
|
import com.uiui.aios.bean.AlarmClockData;
|
||||||
|
import com.uiui.aios.network.NetInterfaceManager;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import io.reactivex.rxjava3.subjects.BehaviorSubject;
|
||||||
|
|
||||||
|
public class AlarmClockPresenter implements AlarmClockContact.Presenter {
|
||||||
|
|
||||||
|
private AlarmClockContact.ClockView mView;
|
||||||
|
private Context mContext;
|
||||||
|
|
||||||
|
AlarmClockPresenter(Context context) {
|
||||||
|
this.mContext = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
private BehaviorSubject<ActivityEvent> lifecycle;
|
||||||
|
|
||||||
|
void setLifecycle(BehaviorSubject<ActivityEvent> lifecycle) {
|
||||||
|
this.lifecycle = lifecycle;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BehaviorSubject<ActivityEvent> getLifecycle() {
|
||||||
|
return lifecycle;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void attachView(@NonNull AlarmClockContact.ClockView view) {
|
||||||
|
this.mView = view;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void detachView() {
|
||||||
|
this.mView = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getAlarmClock() {
|
||||||
|
NetInterfaceManager.getInstance().getAlarmClock(true, getLifecycle(), new NetInterfaceManager.AlarmClockCallback() {
|
||||||
|
@Override
|
||||||
|
public void setAlarmClock(List<AlarmClockData> alarmClockList) {
|
||||||
|
mView.showAlarmClock(alarmClockList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setAlarmClockEmpty() {
|
||||||
|
mView.setAlarmClockEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError() {
|
||||||
|
mView.onError();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -93,29 +93,24 @@ public class HealthCodeActivity extends BaseActivity implements HealthCodeContac
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setHealthCode(List<HealthCode> codeList) {
|
public void setHealthCode(List<HealthCode> codeList) {
|
||||||
NetInterfaceManager.getInstance().getHealthCode(true, lifecycleSubject, new NetInterfaceManager.HealthCodeCallback() {
|
setImageViews(codeList);
|
||||||
@Override
|
mViewPager.setVisibility(View.VISIBLE);
|
||||||
public void setHealthCode(List<HealthCode> healthCode) {
|
mMagicIndicator.setVisibility(View.VISIBLE);
|
||||||
setImageViews(healthCode);
|
iv_nodata.setVisibility(View.GONE);
|
||||||
mViewPager.setVisibility(View.VISIBLE);
|
}
|
||||||
mMagicIndicator.setVisibility(View.VISIBLE);
|
|
||||||
iv_nodata.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void noData() {
|
public void setHealthCodeNodata() {
|
||||||
mViewPager.setVisibility(View.GONE);
|
mViewPager.setVisibility(View.GONE);
|
||||||
mMagicIndicator.setVisibility(View.GONE);
|
mMagicIndicator.setVisibility(View.GONE);
|
||||||
iv_nodata.setVisibility(View.VISIBLE);
|
iv_nodata.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError() {
|
public void onError() {
|
||||||
ToastUtil.show("网络连接失败");
|
ToastUtil.show("连接服务器失败,请检查网络连接");
|
||||||
mViewPager.setVisibility(View.GONE);
|
// mViewPager.setVisibility(View.GONE);
|
||||||
mMagicIndicator.setVisibility(View.GONE);
|
// mMagicIndicator.setVisibility(View.GONE);
|
||||||
iv_nodata.setVisibility(View.VISIBLE);
|
// iv_nodata.setVisibility(View.VISIBLE);
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,5 +13,7 @@ public class HealthCodeContact {
|
|||||||
|
|
||||||
public interface CodeView extends BaseView {
|
public interface CodeView extends BaseView {
|
||||||
void setHealthCode(List<HealthCode> codeList);
|
void setHealthCode(List<HealthCode> codeList);
|
||||||
|
void setHealthCodeNodata();
|
||||||
|
void onError();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,16 @@ package com.uiui.aios.activity.code;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import com.trello.rxlifecycle4.android.ActivityEvent;
|
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||||
|
import com.uiui.aios.bean.HealthCode;
|
||||||
|
import com.uiui.aios.network.NetInterfaceManager;
|
||||||
|
import com.uiui.aios.utils.ToastUtil;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import io.reactivex.rxjava3.subjects.BehaviorSubject;
|
import io.reactivex.rxjava3.subjects.BehaviorSubject;
|
||||||
|
|
||||||
@@ -44,6 +50,21 @@ public class HealthCodePresenter implements HealthCodeContact.Presenter {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getHealthCode() {
|
public void getHealthCode() {
|
||||||
|
NetInterfaceManager.getInstance().getHealthCode(true, getLifecycle(), new NetInterfaceManager.HealthCodeCallback() {
|
||||||
|
@Override
|
||||||
|
public void setHealthCode(List<HealthCode> healthCode) {
|
||||||
|
mView.setHealthCode(healthCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void noData() {
|
||||||
|
mView.setHealthCodeNodata();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError() {
|
||||||
|
mView.onError();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import com.tencent.android.tpush.XGPushConfig;
|
|||||||
import com.tencent.android.tpush.XGPushManager;
|
import com.tencent.android.tpush.XGPushManager;
|
||||||
import com.tencent.mmkv.MMKV;
|
import com.tencent.mmkv.MMKV;
|
||||||
import com.uiui.aios.BuildConfig;
|
import com.uiui.aios.BuildConfig;
|
||||||
|
import com.uiui.aios.manager.ConnectManager;
|
||||||
import com.uiui.aios.network.NetInterfaceManager;
|
import com.uiui.aios.network.NetInterfaceManager;
|
||||||
import com.uiui.aios.service.main.MainService;
|
import com.uiui.aios.service.main.MainService;
|
||||||
import com.uiui.aios.alarm.AlarmUtils;
|
import com.uiui.aios.alarm.AlarmUtils;
|
||||||
@@ -65,6 +66,7 @@ public class BaseApplication extends Application {
|
|||||||
//切换至开发版服务
|
//切换至开发版服务
|
||||||
HeConfig.switchToDevService();
|
HeConfig.switchToDevService();
|
||||||
AmapManager.init(this);
|
AmapManager.init(this);
|
||||||
|
ConnectManager.init(this);
|
||||||
NetInterfaceManager.init(this);
|
NetInterfaceManager.init(this);
|
||||||
startService(new Intent(this, MainService.class));
|
startService(new Intent(this, MainService.class));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,8 +90,13 @@ public class ConnectManager {
|
|||||||
long nowTime = System.currentTimeMillis();
|
long nowTime = System.currentTimeMillis();
|
||||||
long lastTime = mMMKV.decodeLong(key, 0);
|
long lastTime = mMMKV.decodeLong(key, 0);
|
||||||
long intervalTime = getConnectModeTime(connectMode);
|
long intervalTime = getConnectModeTime(connectMode);
|
||||||
|
//防止修改了时间一直返回false
|
||||||
|
if (lastTime > nowTime) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
//防止一分钟内重复请求
|
//防止一分钟内重复请求
|
||||||
return nowTime - lastTime > intervalTime && nowTime - lastTime > ONE_MINUTES_TIME;
|
boolean refresh = nowTime - lastTime > intervalTime && nowTime - lastTime > ONE_MINUTES_TIME;
|
||||||
|
return refresh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ public class NetInterfaceManager {
|
|||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Observable<BaseResponse<List<AlarmClockData>>> getAlarmClockApiObservable() {
|
public Observable<BaseResponse<List<AlarmClockData>>> getAlarmClockObservable() {
|
||||||
return mRetrofit
|
return mRetrofit
|
||||||
.create(AlarmClockApi.class)
|
.create(AlarmClockApi.class)
|
||||||
.getAlarmClockApiApi(Utils.getSerial())
|
.getAlarmClockApiApi(Utils.getSerial())
|
||||||
@@ -326,27 +326,31 @@ public class NetInterfaceManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void getHealthCode(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, HealthCodeCallback callback) {
|
public void getHealthCode(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, HealthCodeCallback callback) {
|
||||||
ConnectMode connectMode = ConnectMode.ONE_HOUR;
|
ConnectMode connectMode = ConnectMode.ONE_MINUTE;
|
||||||
if (refresh) {
|
if (refresh) {
|
||||||
connectMode = ConnectMode.DEFAULT;
|
connectMode = ConnectMode.DEFAULT;
|
||||||
}
|
}
|
||||||
if (ConnectManager.getInstance().isNeedConnect(URLAddress.GET_HEALTH_CODE, connectMode)) {
|
if (ConnectManager.getInstance().isNeedConnect(URLAddress.GET_HEALTH_CODE, connectMode)) {
|
||||||
getHealthCode(lifecycle, callback);
|
getHealthCode(lifecycle, callback);
|
||||||
} else {
|
} else {
|
||||||
String jsonString = mCacheHelper.getAsString(URLAddress.GET_HEALTH_CODE);
|
getHealthCodeCache(lifecycle, callback);
|
||||||
//为 "" 是已经请求成功的
|
}
|
||||||
if (jsonString == null) {
|
}
|
||||||
getHealthCode(lifecycle, callback);
|
|
||||||
|
private void getHealthCodeCache(BehaviorSubject<ActivityEvent> lifecycle, HealthCodeCallback callback) {
|
||||||
|
String jsonString = mCacheHelper.getAsString(URLAddress.GET_HEALTH_CODE);
|
||||||
|
//为 "" 是已经请求成功的
|
||||||
|
if (jsonString == null) {
|
||||||
|
getHealthCode(lifecycle, callback);
|
||||||
|
} else {
|
||||||
|
Gson gson = new Gson();
|
||||||
|
Type type = new TypeToken<List<HealthCode>>() {
|
||||||
|
}.getType();
|
||||||
|
List<HealthCode> healthCodeList = gson.fromJson(jsonString, type);
|
||||||
|
if (healthCodeList == null || healthCodeList.size() == 0) {
|
||||||
|
callback.noData();
|
||||||
} else {
|
} else {
|
||||||
Gson gson = new Gson();
|
callback.setHealthCode(healthCodeList);
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -365,8 +369,10 @@ public class NetInterfaceManager {
|
|||||||
Log.e("getHealthCode", "onNext: " + listBaseResponse);
|
Log.e("getHealthCode", "onNext: " + listBaseResponse);
|
||||||
if (listBaseResponse.code == 200) {
|
if (listBaseResponse.code == 200) {
|
||||||
List<HealthCode> healthCodeList = listBaseResponse.data;
|
List<HealthCode> healthCodeList = listBaseResponse.data;
|
||||||
|
mCacheHelper.put(URLAddress.GET_HEALTH_CODE, GsonUtils.toJsonString(healthCodeList));
|
||||||
callback.setHealthCode(healthCodeList);
|
callback.setHealthCode(healthCodeList);
|
||||||
} else {
|
} else {
|
||||||
|
mCacheHelper.put(URLAddress.GET_HEALTH_CODE, "");
|
||||||
callback.noData();
|
callback.noData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -374,6 +380,7 @@ public class NetInterfaceManager {
|
|||||||
@Override
|
@Override
|
||||||
public void onError(@NonNull Throwable e) {
|
public void onError(@NonNull Throwable e) {
|
||||||
Log.e("getHealthCode", "onError: ");
|
Log.e("getHealthCode", "onError: ");
|
||||||
|
getHealthCodeCache(lifecycle, callback);
|
||||||
callback.onError();
|
callback.onError();
|
||||||
onComplete();
|
onComplete();
|
||||||
}
|
}
|
||||||
@@ -386,4 +393,95 @@ public class NetInterfaceManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public interface AlarmClockCallback {
|
||||||
|
void setAlarmClock(List<AlarmClockData> alarmClockList);
|
||||||
|
|
||||||
|
void setAlarmClockEmpty();
|
||||||
|
|
||||||
|
void onError();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getAlarmClock(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, AlarmClockCallback callback) {
|
||||||
|
ConnectMode connectMode = ConnectMode.ONE_MINUTE;
|
||||||
|
if (refresh) {
|
||||||
|
connectMode = ConnectMode.DEFAULT;
|
||||||
|
}
|
||||||
|
if (ConnectManager.getInstance().isNeedConnect(URLAddress.GET_ALARM_CLOCK, connectMode)) {
|
||||||
|
getAlarmClock(lifecycle, callback);
|
||||||
|
} else {
|
||||||
|
getAlarmClockCache(lifecycle, callback);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getAlarmClockCache(BehaviorSubject<ActivityEvent> lifecycle, AlarmClockCallback callback) {
|
||||||
|
String jsonString = mCacheHelper.getAsString(URLAddress.GET_ALARM_CLOCK);
|
||||||
|
//为 "" 是已经请求成功的
|
||||||
|
if (jsonString == null) {
|
||||||
|
getAlarmClock(lifecycle, callback);
|
||||||
|
} else {
|
||||||
|
Gson gson = new Gson();
|
||||||
|
Type type = new TypeToken<List<AlarmClockData>>() {
|
||||||
|
}.getType();
|
||||||
|
List<AlarmClockData> list = gson.fromJson(jsonString, type);
|
||||||
|
if (list == null || list.size() == 0) {
|
||||||
|
callback.setAlarmClockEmpty();
|
||||||
|
} else {
|
||||||
|
callback.setAlarmClock(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getAlarmClock(BehaviorSubject<ActivityEvent> lifecycle, AlarmClockCallback callback) {
|
||||||
|
getAlarmClockObservable()
|
||||||
|
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||||
|
.subscribe(getAlarmClockObserver(callback));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getAlarmClock(AlarmClockCallback callback) {
|
||||||
|
getAlarmClockObservable()
|
||||||
|
.subscribe(getAlarmClockObserver(callback));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getAlarmClock() {
|
||||||
|
getAlarmClockObservable()
|
||||||
|
.subscribe(getAlarmClockObserver(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
public Observer<BaseResponse<List<AlarmClockData>>> getAlarmClockObserver(AlarmClockCallback callback) {
|
||||||
|
return new Observer<BaseResponse<List<AlarmClockData>>>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
|
Log.e("getAlarmClockObserver", "onSubscribe: ");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(@NonNull BaseResponse<List<AlarmClockData>> listBaseResponse) {
|
||||||
|
Log.e("getAlarmClockObserver", "onNext: ");
|
||||||
|
if (listBaseResponse.code == 200) {
|
||||||
|
List<AlarmClockData> alarmClockData = listBaseResponse.data;
|
||||||
|
if (alarmClockData != null && alarmClockData.size() != 0) {
|
||||||
|
if (callback != null) callback.setAlarmClock(alarmClockData);
|
||||||
|
} else {
|
||||||
|
if (callback != null) callback.setAlarmClockEmpty();
|
||||||
|
}
|
||||||
|
mCacheHelper.put(URLAddress.GET_ALARM_CLOCK, GsonUtils.toJsonString(alarmClockData));
|
||||||
|
} else {
|
||||||
|
mCacheHelper.put(URLAddress.GET_ALARM_CLOCK, "");
|
||||||
|
if (callback != null) callback.setAlarmClockEmpty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(@NonNull Throwable e) {
|
||||||
|
Log.e("getAlarmClockObserver", "onError: " + e.getMessage());
|
||||||
|
if (callback != null) callback.onError();
|
||||||
|
onComplete();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
Log.e("getAlarmClockObserver", "onComplete: ");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public class MainSPresenter implements MainSContact.Presenter {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void getAlarmClock() {
|
public void getAlarmClock() {
|
||||||
NetInterfaceManager.getInstance().getAlarmClockApiObservable()
|
NetInterfaceManager.getInstance().getAlarmClockObservable()
|
||||||
.subscribe(new Observer<BaseResponse<List<AlarmClockData>>>() {
|
.subscribe(new Observer<BaseResponse<List<AlarmClockData>>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSubscribe(Disposable d) {
|
public void onSubscribe(Disposable d) {
|
||||||
|
|||||||
Reference in New Issue
Block a user