diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java index 7c3a0ff..f344c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String token) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(token)); } @@ -27,11 +28,12 @@ @Override public void onSuccess(UserBean userBean) { + view.hideProgress(); view.obtainUserData(userBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java index 7c3a0ff..f344c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String token) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(token)); } @@ -27,11 +28,12 @@ @Override public void onSuccess(UserBean userBean) { + view.hideProgress(); view.obtainUserData(userBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java index 873d0e6..70c9c76 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java @@ -5,5 +5,7 @@ public interface IAuthenticateView { void showProgress(); + void hideProgress(); + void authenticateResult(PublicKeyBean result); } diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java index 7c3a0ff..f344c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String token) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(token)); } @@ -27,11 +28,12 @@ @Override public void onSuccess(UserBean userBean) { + view.hideProgress(); view.obtainUserData(userBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java index 873d0e6..70c9c76 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java @@ -5,5 +5,7 @@ public interface IAuthenticateView { void showProgress(); + void hideProgress(); + void authenticateResult(PublicKeyBean result); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java new file mode 100644 index 0000000..3dd0c01 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTypeBean; + +public interface ICaseTypeView { + void obtainTypeData(CaseTypeBean typeBean); +} diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java index 7c3a0ff..f344c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String token) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(token)); } @@ -27,11 +28,12 @@ @Override public void onSuccess(UserBean userBean) { + view.hideProgress(); view.obtainUserData(userBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java index 873d0e6..70c9c76 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java @@ -5,5 +5,7 @@ public interface IAuthenticateView { void showProgress(); + void hideProgress(); + void authenticateResult(PublicKeyBean result); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java new file mode 100644 index 0000000..3dd0c01 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTypeBean; + +public interface ICaseTypeView { + void obtainTypeData(CaseTypeBean typeBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java index 63e6447..a26046a 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java @@ -3,6 +3,8 @@ import com.casic.dcms.bean.LoginResultBean; public interface ILoginView { + void showProgress(); + void hideProgress(); void obtainLoginResult(LoginResultBean resultBean); diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java index 7c3a0ff..f344c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String token) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(token)); } @@ -27,11 +28,12 @@ @Override public void onSuccess(UserBean userBean) { + view.hideProgress(); view.obtainUserData(userBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java index 873d0e6..70c9c76 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java @@ -5,5 +5,7 @@ public interface IAuthenticateView { void showProgress(); + void hideProgress(); + void authenticateResult(PublicKeyBean result); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java new file mode 100644 index 0000000..3dd0c01 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTypeBean; + +public interface ICaseTypeView { + void obtainTypeData(CaseTypeBean typeBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java index 63e6447..a26046a 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java @@ -3,6 +3,8 @@ import com.casic.dcms.bean.LoginResultBean; public interface ILoginView { + void showProgress(); + void hideProgress(); void obtainLoginResult(LoginResultBean resultBean); diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java index bcd16a9..2b51d64 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.UserBean; public interface IUserDataView { + void showProgress(); + + void hideProgress(); + void obtainUserData(UserBean userBean); } diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java index 7c3a0ff..f344c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String token) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(token)); } @@ -27,11 +28,12 @@ @Override public void onSuccess(UserBean userBean) { + view.hideProgress(); view.obtainUserData(userBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java index 873d0e6..70c9c76 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java @@ -5,5 +5,7 @@ public interface IAuthenticateView { void showProgress(); + void hideProgress(); + void authenticateResult(PublicKeyBean result); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java new file mode 100644 index 0000000..3dd0c01 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTypeBean; + +public interface ICaseTypeView { + void obtainTypeData(CaseTypeBean typeBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java index 63e6447..a26046a 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java @@ -3,6 +3,8 @@ import com.casic.dcms.bean.LoginResultBean; public interface ILoginView { + void showProgress(); + void hideProgress(); void obtainLoginResult(LoginResultBean resultBean); diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java index bcd16a9..2b51d64 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.UserBean; public interface IUserDataView { + void showProgress(); + + void hideProgress(); + void obtainUserData(UserBean userBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 2fdb879..65e2dd9 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -15,6 +15,7 @@ import android.widget.EditText; import android.widget.GridView; import android.widget.ImageView; +import android.widget.TextView; import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; @@ -22,9 +23,13 @@ import com.casic.dcms.R; import com.casic.dcms.adapter.ImageGridViewAdapter; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.presenter.CaseTypePresenterImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; import com.casic.dcms.utils.FileUtils; import com.casic.dcms.utils.GlideLoadEngine; import com.casic.dcms.utils.LocationHelper; +import com.casic.dcms.utils.TokenHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.google.gson.Gson; import com.luck.picture.lib.PictureSelector; @@ -32,6 +37,7 @@ import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.entity.LocalMedia; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton; @@ -44,14 +50,17 @@ import butterknife.BindView; import butterknife.OnClick; -public class CaseUploadActivity extends BaseActivity - implements View.OnClickListener, View.OnTouchListener { +public class CaseUploadActivity extends BaseActivity implements View.OnClickListener, View.OnTouchListener, + ICaseTypeView { private static final String TAG = "CaseUploadActivity"; @BindView(R.id.caseTopLayout) QMUITopBarLayout caseTopLayout; + @BindView(R.id.caseClassView) + TextView caseClassView; + @BindView(R.id.communityNameView) EditText communityNameView; @BindView(R.id.longitudeView) @@ -74,6 +83,7 @@ private MediaRecorder mediaRecorder; private File outputFile; private List mediaList = new ArrayList<>();//拍照或者视频数据集 + private CaseTypePresenterImpl caseTypePresenter; @Override public int initLayoutView() { @@ -101,6 +111,7 @@ } }); initMediaRecorder(); + caseTypePresenter = new CaseTypePresenterImpl(this); } private void updateLocation(Location location) { @@ -171,10 +182,14 @@ submitButton.setOnClickListener(this); } - @OnClick({R.id.locationMapView, R.id.addImageView, R.id.submitButton}) + @OnClick({R.id.caseClassLayout, R.id.locationMapView, R.id.addImageView, R.id.submitButton}) @Override public void onClick(View v) { switch (v.getId()) { + case R.id.caseClassLayout: + //请求服务器得到‘案卷类型’ + caseTypePresenter.onReadyRetrofitRequest(TokenHelper.getToken()); + break; case R.id.locationMapView: startActivity(new Intent(this, MapActivity.class)); break; @@ -382,4 +397,22 @@ caseDetailEditView.setText("录音保存失败"); } } + + @Override + public void obtainTypeData(CaseTypeBean typeBean) { + Log.d(TAG, "obtainTypeData: " + new Gson().toJson(typeBean)); + if (typeBean.isSuccess()) { + List dataBeans = typeBean.getData(); + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + for (CaseTypeBean.DataBean dataBean : dataBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + } + }).build().show(); + } + } } diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java index 7c3a0ff..f344c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String token) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(token)); } @@ -27,11 +28,12 @@ @Override public void onSuccess(UserBean userBean) { + view.hideProgress(); view.obtainUserData(userBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java index 873d0e6..70c9c76 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java @@ -5,5 +5,7 @@ public interface IAuthenticateView { void showProgress(); + void hideProgress(); + void authenticateResult(PublicKeyBean result); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java new file mode 100644 index 0000000..3dd0c01 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTypeBean; + +public interface ICaseTypeView { + void obtainTypeData(CaseTypeBean typeBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java index 63e6447..a26046a 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java @@ -3,6 +3,8 @@ import com.casic.dcms.bean.LoginResultBean; public interface ILoginView { + void showProgress(); + void hideProgress(); void obtainLoginResult(LoginResultBean resultBean); diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java index bcd16a9..2b51d64 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.UserBean; public interface IUserDataView { + void showProgress(); + + void hideProgress(); + void obtainUserData(UserBean userBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 2fdb879..65e2dd9 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -15,6 +15,7 @@ import android.widget.EditText; import android.widget.GridView; import android.widget.ImageView; +import android.widget.TextView; import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; @@ -22,9 +23,13 @@ import com.casic.dcms.R; import com.casic.dcms.adapter.ImageGridViewAdapter; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.presenter.CaseTypePresenterImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; import com.casic.dcms.utils.FileUtils; import com.casic.dcms.utils.GlideLoadEngine; import com.casic.dcms.utils.LocationHelper; +import com.casic.dcms.utils.TokenHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.google.gson.Gson; import com.luck.picture.lib.PictureSelector; @@ -32,6 +37,7 @@ import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.entity.LocalMedia; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton; @@ -44,14 +50,17 @@ import butterknife.BindView; import butterknife.OnClick; -public class CaseUploadActivity extends BaseActivity - implements View.OnClickListener, View.OnTouchListener { +public class CaseUploadActivity extends BaseActivity implements View.OnClickListener, View.OnTouchListener, + ICaseTypeView { private static final String TAG = "CaseUploadActivity"; @BindView(R.id.caseTopLayout) QMUITopBarLayout caseTopLayout; + @BindView(R.id.caseClassView) + TextView caseClassView; + @BindView(R.id.communityNameView) EditText communityNameView; @BindView(R.id.longitudeView) @@ -74,6 +83,7 @@ private MediaRecorder mediaRecorder; private File outputFile; private List mediaList = new ArrayList<>();//拍照或者视频数据集 + private CaseTypePresenterImpl caseTypePresenter; @Override public int initLayoutView() { @@ -101,6 +111,7 @@ } }); initMediaRecorder(); + caseTypePresenter = new CaseTypePresenterImpl(this); } private void updateLocation(Location location) { @@ -171,10 +182,14 @@ submitButton.setOnClickListener(this); } - @OnClick({R.id.locationMapView, R.id.addImageView, R.id.submitButton}) + @OnClick({R.id.caseClassLayout, R.id.locationMapView, R.id.addImageView, R.id.submitButton}) @Override public void onClick(View v) { switch (v.getId()) { + case R.id.caseClassLayout: + //请求服务器得到‘案卷类型’ + caseTypePresenter.onReadyRetrofitRequest(TokenHelper.getToken()); + break; case R.id.locationMapView: startActivity(new Intent(this, MapActivity.class)); break; @@ -382,4 +397,22 @@ caseDetailEditView.setText("录音保存失败"); } } + + @Override + public void obtainTypeData(CaseTypeBean typeBean) { + Log.d(TAG, "obtainTypeData: " + new Gson().toJson(typeBean)); + if (typeBean.isSuccess()) { + List dataBeans = typeBean.getData(); + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + for (CaseTypeBean.DataBean dataBean : dataBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + } + }).build().show(); + } + } } diff --git a/app/src/main/java/com/casic/dcms/ui/LoginActivity.java b/app/src/main/java/com/casic/dcms/ui/LoginActivity.java index 433c40f..8c17ade 100644 --- a/app/src/main/java/com/casic/dcms/ui/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/LoginActivity.java @@ -6,6 +6,7 @@ import android.util.Log; import android.view.View; import android.widget.CheckBox; +import android.widget.CompoundButton; import android.widget.EditText; import android.widget.Toast; @@ -29,8 +30,7 @@ import butterknife.BindView; import butterknife.OnClick; -public class LoginActivity extends DoubleClickExitActivity - implements View.OnClickListener, IAuthenticateView, ILoginView { +public class LoginActivity extends DoubleClickExitActivity implements View.OnClickListener, IAuthenticateView, ILoginView { private static final String TAG = "LoginActivity"; @@ -48,8 +48,6 @@ private QMUITipDialog loadingDialog; private AuthenticatePresenterImpl authenticatePresenter; private LoginPresenterImpl loginPresenter; - private String userName; - private String userPassword; @Override public int initLayoutView() { @@ -58,20 +56,29 @@ @Override protected void setupTopBarLayout() { - //TODO 此页面无需实现 + //设置状态栏黑色字体图标 + QMUIStatusBarHelper.setStatusBarLightMode(this); } @Override public void initData() { - //设置状态栏黑色字体图标 - QMUIStatusBarHelper.setStatusBarLightMode(this); - String userName = (String) SaveKeyValues.getValue("userName", ""); String userPassword = (String) SaveKeyValues.getValue("userPassword", ""); + userNameView.setText(userName); + userPasswordView.setText(userPassword); if (!TextUtils.isEmpty(userName) && !TextUtils.isEmpty(userPassword)) { - userNameView.setText(userName); - userPasswordView.setText(userPassword); + rememberPasswordView.setChecked(true); + } else { + rememberPasswordView.setChecked(false); } + rememberPasswordView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (!isChecked) { + SaveKeyValues.removeKey("userPassword"); + } + } + }); loadingDialog = new QMUITipDialog.Builder(this) .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) .setTipWord("登陆中,请稍后") @@ -88,12 +95,6 @@ @OnClick(R.id.loginButton) @Override public void onClick(View v) { - userName = userNameView.getText().toString(); - userPassword = userPasswordView.getText().toString(); - if (rememberPasswordView.isChecked()) { - SaveKeyValues.putValue("userName", userName); - SaveKeyValues.putValue("userPassword", userPassword); - } //验证公钥 authenticatePresenter.onReadyRetrofitRequest(); } @@ -122,6 +123,12 @@ public void authenticateResult(PublicKeyBean result) { if (result.isSuccess()) { PublicKey publicKey = RSAUtils.keyStrToPublicKey(result.getData().getPublicKey()); + String userName = userNameView.getText().toString(); + String userPassword = userPasswordView.getText().toString(); + if (rememberPasswordView.isChecked()) { + SaveKeyValues.putValue("userName", userName); + SaveKeyValues.putValue("userPassword", userPassword); + } if (TextUtils.isEmpty(userName)) { Toast.makeText(this, "用户名不能为空", Toast.LENGTH_SHORT).show(); return; diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java index 7c3a0ff..f344c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String token) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(token)); } @@ -27,11 +28,12 @@ @Override public void onSuccess(UserBean userBean) { + view.hideProgress(); view.obtainUserData(userBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java index 873d0e6..70c9c76 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java @@ -5,5 +5,7 @@ public interface IAuthenticateView { void showProgress(); + void hideProgress(); + void authenticateResult(PublicKeyBean result); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java new file mode 100644 index 0000000..3dd0c01 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTypeBean; + +public interface ICaseTypeView { + void obtainTypeData(CaseTypeBean typeBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java index 63e6447..a26046a 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java @@ -3,6 +3,8 @@ import com.casic.dcms.bean.LoginResultBean; public interface ILoginView { + void showProgress(); + void hideProgress(); void obtainLoginResult(LoginResultBean resultBean); diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java index bcd16a9..2b51d64 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.UserBean; public interface IUserDataView { + void showProgress(); + + void hideProgress(); + void obtainUserData(UserBean userBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 2fdb879..65e2dd9 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -15,6 +15,7 @@ import android.widget.EditText; import android.widget.GridView; import android.widget.ImageView; +import android.widget.TextView; import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; @@ -22,9 +23,13 @@ import com.casic.dcms.R; import com.casic.dcms.adapter.ImageGridViewAdapter; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.presenter.CaseTypePresenterImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; import com.casic.dcms.utils.FileUtils; import com.casic.dcms.utils.GlideLoadEngine; import com.casic.dcms.utils.LocationHelper; +import com.casic.dcms.utils.TokenHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.google.gson.Gson; import com.luck.picture.lib.PictureSelector; @@ -32,6 +37,7 @@ import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.entity.LocalMedia; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton; @@ -44,14 +50,17 @@ import butterknife.BindView; import butterknife.OnClick; -public class CaseUploadActivity extends BaseActivity - implements View.OnClickListener, View.OnTouchListener { +public class CaseUploadActivity extends BaseActivity implements View.OnClickListener, View.OnTouchListener, + ICaseTypeView { private static final String TAG = "CaseUploadActivity"; @BindView(R.id.caseTopLayout) QMUITopBarLayout caseTopLayout; + @BindView(R.id.caseClassView) + TextView caseClassView; + @BindView(R.id.communityNameView) EditText communityNameView; @BindView(R.id.longitudeView) @@ -74,6 +83,7 @@ private MediaRecorder mediaRecorder; private File outputFile; private List mediaList = new ArrayList<>();//拍照或者视频数据集 + private CaseTypePresenterImpl caseTypePresenter; @Override public int initLayoutView() { @@ -101,6 +111,7 @@ } }); initMediaRecorder(); + caseTypePresenter = new CaseTypePresenterImpl(this); } private void updateLocation(Location location) { @@ -171,10 +182,14 @@ submitButton.setOnClickListener(this); } - @OnClick({R.id.locationMapView, R.id.addImageView, R.id.submitButton}) + @OnClick({R.id.caseClassLayout, R.id.locationMapView, R.id.addImageView, R.id.submitButton}) @Override public void onClick(View v) { switch (v.getId()) { + case R.id.caseClassLayout: + //请求服务器得到‘案卷类型’ + caseTypePresenter.onReadyRetrofitRequest(TokenHelper.getToken()); + break; case R.id.locationMapView: startActivity(new Intent(this, MapActivity.class)); break; @@ -382,4 +397,22 @@ caseDetailEditView.setText("录音保存失败"); } } + + @Override + public void obtainTypeData(CaseTypeBean typeBean) { + Log.d(TAG, "obtainTypeData: " + new Gson().toJson(typeBean)); + if (typeBean.isSuccess()) { + List dataBeans = typeBean.getData(); + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + for (CaseTypeBean.DataBean dataBean : dataBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + } + }).build().show(); + } + } } diff --git a/app/src/main/java/com/casic/dcms/ui/LoginActivity.java b/app/src/main/java/com/casic/dcms/ui/LoginActivity.java index 433c40f..8c17ade 100644 --- a/app/src/main/java/com/casic/dcms/ui/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/LoginActivity.java @@ -6,6 +6,7 @@ import android.util.Log; import android.view.View; import android.widget.CheckBox; +import android.widget.CompoundButton; import android.widget.EditText; import android.widget.Toast; @@ -29,8 +30,7 @@ import butterknife.BindView; import butterknife.OnClick; -public class LoginActivity extends DoubleClickExitActivity - implements View.OnClickListener, IAuthenticateView, ILoginView { +public class LoginActivity extends DoubleClickExitActivity implements View.OnClickListener, IAuthenticateView, ILoginView { private static final String TAG = "LoginActivity"; @@ -48,8 +48,6 @@ private QMUITipDialog loadingDialog; private AuthenticatePresenterImpl authenticatePresenter; private LoginPresenterImpl loginPresenter; - private String userName; - private String userPassword; @Override public int initLayoutView() { @@ -58,20 +56,29 @@ @Override protected void setupTopBarLayout() { - //TODO 此页面无需实现 + //设置状态栏黑色字体图标 + QMUIStatusBarHelper.setStatusBarLightMode(this); } @Override public void initData() { - //设置状态栏黑色字体图标 - QMUIStatusBarHelper.setStatusBarLightMode(this); - String userName = (String) SaveKeyValues.getValue("userName", ""); String userPassword = (String) SaveKeyValues.getValue("userPassword", ""); + userNameView.setText(userName); + userPasswordView.setText(userPassword); if (!TextUtils.isEmpty(userName) && !TextUtils.isEmpty(userPassword)) { - userNameView.setText(userName); - userPasswordView.setText(userPassword); + rememberPasswordView.setChecked(true); + } else { + rememberPasswordView.setChecked(false); } + rememberPasswordView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (!isChecked) { + SaveKeyValues.removeKey("userPassword"); + } + } + }); loadingDialog = new QMUITipDialog.Builder(this) .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) .setTipWord("登陆中,请稍后") @@ -88,12 +95,6 @@ @OnClick(R.id.loginButton) @Override public void onClick(View v) { - userName = userNameView.getText().toString(); - userPassword = userPasswordView.getText().toString(); - if (rememberPasswordView.isChecked()) { - SaveKeyValues.putValue("userName", userName); - SaveKeyValues.putValue("userPassword", userPassword); - } //验证公钥 authenticatePresenter.onReadyRetrofitRequest(); } @@ -122,6 +123,12 @@ public void authenticateResult(PublicKeyBean result) { if (result.isSuccess()) { PublicKey publicKey = RSAUtils.keyStrToPublicKey(result.getData().getPublicKey()); + String userName = userNameView.getText().toString(); + String userPassword = userPasswordView.getText().toString(); + if (rememberPasswordView.isChecked()) { + SaveKeyValues.putValue("userName", userName); + SaveKeyValues.putValue("userPassword", userPassword); + } if (TextUtils.isEmpty(userName)) { Toast.makeText(this, "用户名不能为空", Toast.LENGTH_SHORT).show(); return; diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index 6b8aa5f..df273ac 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -114,6 +114,16 @@ }); } + @Override + public void showProgress() { + + } + + @Override + public void hideProgress() { + + } + @SuppressLint("SetTextI18n") @Override public void obtainUserData(UserBean userBean) { diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java index 7c3a0ff..f344c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String token) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(token)); } @@ -27,11 +28,12 @@ @Override public void onSuccess(UserBean userBean) { + view.hideProgress(); view.obtainUserData(userBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java index 873d0e6..70c9c76 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java @@ -5,5 +5,7 @@ public interface IAuthenticateView { void showProgress(); + void hideProgress(); + void authenticateResult(PublicKeyBean result); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java new file mode 100644 index 0000000..3dd0c01 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTypeBean; + +public interface ICaseTypeView { + void obtainTypeData(CaseTypeBean typeBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java index 63e6447..a26046a 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java @@ -3,6 +3,8 @@ import com.casic.dcms.bean.LoginResultBean; public interface ILoginView { + void showProgress(); + void hideProgress(); void obtainLoginResult(LoginResultBean resultBean); diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java index bcd16a9..2b51d64 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.UserBean; public interface IUserDataView { + void showProgress(); + + void hideProgress(); + void obtainUserData(UserBean userBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 2fdb879..65e2dd9 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -15,6 +15,7 @@ import android.widget.EditText; import android.widget.GridView; import android.widget.ImageView; +import android.widget.TextView; import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; @@ -22,9 +23,13 @@ import com.casic.dcms.R; import com.casic.dcms.adapter.ImageGridViewAdapter; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.presenter.CaseTypePresenterImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; import com.casic.dcms.utils.FileUtils; import com.casic.dcms.utils.GlideLoadEngine; import com.casic.dcms.utils.LocationHelper; +import com.casic.dcms.utils.TokenHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.google.gson.Gson; import com.luck.picture.lib.PictureSelector; @@ -32,6 +37,7 @@ import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.entity.LocalMedia; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton; @@ -44,14 +50,17 @@ import butterknife.BindView; import butterknife.OnClick; -public class CaseUploadActivity extends BaseActivity - implements View.OnClickListener, View.OnTouchListener { +public class CaseUploadActivity extends BaseActivity implements View.OnClickListener, View.OnTouchListener, + ICaseTypeView { private static final String TAG = "CaseUploadActivity"; @BindView(R.id.caseTopLayout) QMUITopBarLayout caseTopLayout; + @BindView(R.id.caseClassView) + TextView caseClassView; + @BindView(R.id.communityNameView) EditText communityNameView; @BindView(R.id.longitudeView) @@ -74,6 +83,7 @@ private MediaRecorder mediaRecorder; private File outputFile; private List mediaList = new ArrayList<>();//拍照或者视频数据集 + private CaseTypePresenterImpl caseTypePresenter; @Override public int initLayoutView() { @@ -101,6 +111,7 @@ } }); initMediaRecorder(); + caseTypePresenter = new CaseTypePresenterImpl(this); } private void updateLocation(Location location) { @@ -171,10 +182,14 @@ submitButton.setOnClickListener(this); } - @OnClick({R.id.locationMapView, R.id.addImageView, R.id.submitButton}) + @OnClick({R.id.caseClassLayout, R.id.locationMapView, R.id.addImageView, R.id.submitButton}) @Override public void onClick(View v) { switch (v.getId()) { + case R.id.caseClassLayout: + //请求服务器得到‘案卷类型’ + caseTypePresenter.onReadyRetrofitRequest(TokenHelper.getToken()); + break; case R.id.locationMapView: startActivity(new Intent(this, MapActivity.class)); break; @@ -382,4 +397,22 @@ caseDetailEditView.setText("录音保存失败"); } } + + @Override + public void obtainTypeData(CaseTypeBean typeBean) { + Log.d(TAG, "obtainTypeData: " + new Gson().toJson(typeBean)); + if (typeBean.isSuccess()) { + List dataBeans = typeBean.getData(); + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + for (CaseTypeBean.DataBean dataBean : dataBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + } + }).build().show(); + } + } } diff --git a/app/src/main/java/com/casic/dcms/ui/LoginActivity.java b/app/src/main/java/com/casic/dcms/ui/LoginActivity.java index 433c40f..8c17ade 100644 --- a/app/src/main/java/com/casic/dcms/ui/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/LoginActivity.java @@ -6,6 +6,7 @@ import android.util.Log; import android.view.View; import android.widget.CheckBox; +import android.widget.CompoundButton; import android.widget.EditText; import android.widget.Toast; @@ -29,8 +30,7 @@ import butterknife.BindView; import butterknife.OnClick; -public class LoginActivity extends DoubleClickExitActivity - implements View.OnClickListener, IAuthenticateView, ILoginView { +public class LoginActivity extends DoubleClickExitActivity implements View.OnClickListener, IAuthenticateView, ILoginView { private static final String TAG = "LoginActivity"; @@ -48,8 +48,6 @@ private QMUITipDialog loadingDialog; private AuthenticatePresenterImpl authenticatePresenter; private LoginPresenterImpl loginPresenter; - private String userName; - private String userPassword; @Override public int initLayoutView() { @@ -58,20 +56,29 @@ @Override protected void setupTopBarLayout() { - //TODO 此页面无需实现 + //设置状态栏黑色字体图标 + QMUIStatusBarHelper.setStatusBarLightMode(this); } @Override public void initData() { - //设置状态栏黑色字体图标 - QMUIStatusBarHelper.setStatusBarLightMode(this); - String userName = (String) SaveKeyValues.getValue("userName", ""); String userPassword = (String) SaveKeyValues.getValue("userPassword", ""); + userNameView.setText(userName); + userPasswordView.setText(userPassword); if (!TextUtils.isEmpty(userName) && !TextUtils.isEmpty(userPassword)) { - userNameView.setText(userName); - userPasswordView.setText(userPassword); + rememberPasswordView.setChecked(true); + } else { + rememberPasswordView.setChecked(false); } + rememberPasswordView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (!isChecked) { + SaveKeyValues.removeKey("userPassword"); + } + } + }); loadingDialog = new QMUITipDialog.Builder(this) .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) .setTipWord("登陆中,请稍后") @@ -88,12 +95,6 @@ @OnClick(R.id.loginButton) @Override public void onClick(View v) { - userName = userNameView.getText().toString(); - userPassword = userPasswordView.getText().toString(); - if (rememberPasswordView.isChecked()) { - SaveKeyValues.putValue("userName", userName); - SaveKeyValues.putValue("userPassword", userPassword); - } //验证公钥 authenticatePresenter.onReadyRetrofitRequest(); } @@ -122,6 +123,12 @@ public void authenticateResult(PublicKeyBean result) { if (result.isSuccess()) { PublicKey publicKey = RSAUtils.keyStrToPublicKey(result.getData().getPublicKey()); + String userName = userNameView.getText().toString(); + String userPassword = userPasswordView.getText().toString(); + if (rememberPasswordView.isChecked()) { + SaveKeyValues.putValue("userName", userName); + SaveKeyValues.putValue("userPassword", userPassword); + } if (TextUtils.isEmpty(userName)) { Toast.makeText(this, "用户名不能为空", Toast.LENGTH_SHORT).show(); return; diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index 6b8aa5f..df273ac 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -114,6 +114,16 @@ }); } + @Override + public void showProgress() { + + } + + @Override + public void hideProgress() { + + } + @SuppressLint("SetTextI18n") @Override public void obtainUserData(UserBean userBean) { diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 157c941..2f94587 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,5 +1,6 @@ package com.casic.dcms.utils.retrofit; +import com.casic.dcms.bean.CaseTypeBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.PublicKeyBean; import com.casic.dcms.bean.UserBean; @@ -34,4 +35,10 @@ */ @GET("/user/info") Observable getUser(@Header("token") String token); + + /** + * 获取事/部件字典分类接口 + */ + @GET("/dict/code/caseType") + Observable getType(@Header("token") String token); } diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java index 7c3a0ff..f344c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String token) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(token)); } @@ -27,11 +28,12 @@ @Override public void onSuccess(UserBean userBean) { + view.hideProgress(); view.obtainUserData(userBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java index 873d0e6..70c9c76 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java @@ -5,5 +5,7 @@ public interface IAuthenticateView { void showProgress(); + void hideProgress(); + void authenticateResult(PublicKeyBean result); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java new file mode 100644 index 0000000..3dd0c01 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTypeBean; + +public interface ICaseTypeView { + void obtainTypeData(CaseTypeBean typeBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java index 63e6447..a26046a 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java @@ -3,6 +3,8 @@ import com.casic.dcms.bean.LoginResultBean; public interface ILoginView { + void showProgress(); + void hideProgress(); void obtainLoginResult(LoginResultBean resultBean); diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java index bcd16a9..2b51d64 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.UserBean; public interface IUserDataView { + void showProgress(); + + void hideProgress(); + void obtainUserData(UserBean userBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 2fdb879..65e2dd9 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -15,6 +15,7 @@ import android.widget.EditText; import android.widget.GridView; import android.widget.ImageView; +import android.widget.TextView; import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; @@ -22,9 +23,13 @@ import com.casic.dcms.R; import com.casic.dcms.adapter.ImageGridViewAdapter; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.presenter.CaseTypePresenterImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; import com.casic.dcms.utils.FileUtils; import com.casic.dcms.utils.GlideLoadEngine; import com.casic.dcms.utils.LocationHelper; +import com.casic.dcms.utils.TokenHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.google.gson.Gson; import com.luck.picture.lib.PictureSelector; @@ -32,6 +37,7 @@ import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.entity.LocalMedia; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton; @@ -44,14 +50,17 @@ import butterknife.BindView; import butterknife.OnClick; -public class CaseUploadActivity extends BaseActivity - implements View.OnClickListener, View.OnTouchListener { +public class CaseUploadActivity extends BaseActivity implements View.OnClickListener, View.OnTouchListener, + ICaseTypeView { private static final String TAG = "CaseUploadActivity"; @BindView(R.id.caseTopLayout) QMUITopBarLayout caseTopLayout; + @BindView(R.id.caseClassView) + TextView caseClassView; + @BindView(R.id.communityNameView) EditText communityNameView; @BindView(R.id.longitudeView) @@ -74,6 +83,7 @@ private MediaRecorder mediaRecorder; private File outputFile; private List mediaList = new ArrayList<>();//拍照或者视频数据集 + private CaseTypePresenterImpl caseTypePresenter; @Override public int initLayoutView() { @@ -101,6 +111,7 @@ } }); initMediaRecorder(); + caseTypePresenter = new CaseTypePresenterImpl(this); } private void updateLocation(Location location) { @@ -171,10 +182,14 @@ submitButton.setOnClickListener(this); } - @OnClick({R.id.locationMapView, R.id.addImageView, R.id.submitButton}) + @OnClick({R.id.caseClassLayout, R.id.locationMapView, R.id.addImageView, R.id.submitButton}) @Override public void onClick(View v) { switch (v.getId()) { + case R.id.caseClassLayout: + //请求服务器得到‘案卷类型’ + caseTypePresenter.onReadyRetrofitRequest(TokenHelper.getToken()); + break; case R.id.locationMapView: startActivity(new Intent(this, MapActivity.class)); break; @@ -382,4 +397,22 @@ caseDetailEditView.setText("录音保存失败"); } } + + @Override + public void obtainTypeData(CaseTypeBean typeBean) { + Log.d(TAG, "obtainTypeData: " + new Gson().toJson(typeBean)); + if (typeBean.isSuccess()) { + List dataBeans = typeBean.getData(); + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + for (CaseTypeBean.DataBean dataBean : dataBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + } + }).build().show(); + } + } } diff --git a/app/src/main/java/com/casic/dcms/ui/LoginActivity.java b/app/src/main/java/com/casic/dcms/ui/LoginActivity.java index 433c40f..8c17ade 100644 --- a/app/src/main/java/com/casic/dcms/ui/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/LoginActivity.java @@ -6,6 +6,7 @@ import android.util.Log; import android.view.View; import android.widget.CheckBox; +import android.widget.CompoundButton; import android.widget.EditText; import android.widget.Toast; @@ -29,8 +30,7 @@ import butterknife.BindView; import butterknife.OnClick; -public class LoginActivity extends DoubleClickExitActivity - implements View.OnClickListener, IAuthenticateView, ILoginView { +public class LoginActivity extends DoubleClickExitActivity implements View.OnClickListener, IAuthenticateView, ILoginView { private static final String TAG = "LoginActivity"; @@ -48,8 +48,6 @@ private QMUITipDialog loadingDialog; private AuthenticatePresenterImpl authenticatePresenter; private LoginPresenterImpl loginPresenter; - private String userName; - private String userPassword; @Override public int initLayoutView() { @@ -58,20 +56,29 @@ @Override protected void setupTopBarLayout() { - //TODO 此页面无需实现 + //设置状态栏黑色字体图标 + QMUIStatusBarHelper.setStatusBarLightMode(this); } @Override public void initData() { - //设置状态栏黑色字体图标 - QMUIStatusBarHelper.setStatusBarLightMode(this); - String userName = (String) SaveKeyValues.getValue("userName", ""); String userPassword = (String) SaveKeyValues.getValue("userPassword", ""); + userNameView.setText(userName); + userPasswordView.setText(userPassword); if (!TextUtils.isEmpty(userName) && !TextUtils.isEmpty(userPassword)) { - userNameView.setText(userName); - userPasswordView.setText(userPassword); + rememberPasswordView.setChecked(true); + } else { + rememberPasswordView.setChecked(false); } + rememberPasswordView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (!isChecked) { + SaveKeyValues.removeKey("userPassword"); + } + } + }); loadingDialog = new QMUITipDialog.Builder(this) .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) .setTipWord("登陆中,请稍后") @@ -88,12 +95,6 @@ @OnClick(R.id.loginButton) @Override public void onClick(View v) { - userName = userNameView.getText().toString(); - userPassword = userPasswordView.getText().toString(); - if (rememberPasswordView.isChecked()) { - SaveKeyValues.putValue("userName", userName); - SaveKeyValues.putValue("userPassword", userPassword); - } //验证公钥 authenticatePresenter.onReadyRetrofitRequest(); } @@ -122,6 +123,12 @@ public void authenticateResult(PublicKeyBean result) { if (result.isSuccess()) { PublicKey publicKey = RSAUtils.keyStrToPublicKey(result.getData().getPublicKey()); + String userName = userNameView.getText().toString(); + String userPassword = userPasswordView.getText().toString(); + if (rememberPasswordView.isChecked()) { + SaveKeyValues.putValue("userName", userName); + SaveKeyValues.putValue("userPassword", userPassword); + } if (TextUtils.isEmpty(userName)) { Toast.makeText(this, "用户名不能为空", Toast.LENGTH_SHORT).show(); return; diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index 6b8aa5f..df273ac 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -114,6 +114,16 @@ }); } + @Override + public void showProgress() { + + } + + @Override + public void hideProgress() { + + } + @SuppressLint("SetTextI18n") @Override public void obtainUserData(UserBean userBean) { diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 157c941..2f94587 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,5 +1,6 @@ package com.casic.dcms.utils.retrofit; +import com.casic.dcms.bean.CaseTypeBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.PublicKeyBean; import com.casic.dcms.bean.UserBean; @@ -34,4 +35,10 @@ */ @GET("/user/info") Observable getUser(@Header("token") String token); + + /** + * 获取事/部件字典分类接口 + */ + @GET("/dict/code/caseType") + Observable getType(@Header("token") String token); } diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 7bf9982..2e48d0b 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -2,6 +2,7 @@ import android.util.Log; +import com.casic.dcms.bean.CaseTypeBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.PublicKeyBean; import com.casic.dcms.bean.UserBean; @@ -72,4 +73,13 @@ RetrofitService service = retrofit.create(RetrofitService.class); return service.getUser(token); } + + /** + * 获取事/部件字典分类 + */ + public static Observable getCaseType(String baseUrl, String token) { + Retrofit retrofit = createRetrofit(baseUrl); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.getType(token); + } } diff --git a/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java new file mode 100644 index 0000000..ee4f43b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/CaseTypeBean.java @@ -0,0 +1,76 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class CaseTypeBean { + + /** + * code : 200 + * data : [{"name":"事件","value":"1"},{"name":"部件","value":"2"}] + * message : 请求成功 + * success : true + */ + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * name : 事件 + * value : 1 + */ + + private String name; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java new file mode 100644 index 0000000..a827632 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/CaseTypeModelImpl.java @@ -0,0 +1,51 @@ +package com.casic.dcms.mvp.model; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.utils.HttpConfig; +import com.casic.dcms.utils.retrofit.RetrofitServiceManager; + +import rx.Observable; +import rx.Observer; +import rx.Subscription; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + +public class CaseTypeModelImpl implements ICaseTypeModel { + + private OnGetTypeListener onGetTypeListener; + + public CaseTypeModelImpl(OnGetTypeListener listener) { + this.onGetTypeListener = listener; + } + + @Override + public Subscription sendRetrofitRequest(String token) { + Observable observable = RetrofitServiceManager.getCaseType(HttpConfig.BASE_IP, token); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (onGetTypeListener != null) { + onGetTypeListener.onFailure(e); + } + } + + @Override + public void onNext(CaseTypeBean caseTypeBean) { + if (caseTypeBean != null) { + onGetTypeListener.onSuccess(caseTypeBean); + } + } + }); + } + + public interface OnGetTypeListener { + void onSuccess(CaseTypeBean typeBean); + + void onFailure(Throwable throwable); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java new file mode 100644 index 0000000..0bd7512 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/ICaseTypeModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface ICaseTypeModel { + Subscription sendRetrofitRequest(String token); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java index 50a32db..150d279 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/AuthenticatePresenterImpl.java @@ -28,11 +28,12 @@ @Override public void onSuccess(PublicKeyBean key) { + view.hideProgress(); view.authenticateResult(key); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java new file mode 100644 index 0000000..55e801e --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/CaseTypePresenterImpl.java @@ -0,0 +1,37 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.CaseTypeModelImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; + +public class CaseTypePresenterImpl extends BasePresenter implements ICaseTypePresenter, CaseTypeModelImpl.OnGetTypeListener { + + private ICaseTypeView view; + private CaseTypeModelImpl actionModel; + + public CaseTypePresenterImpl(ICaseTypeView caseTypeView) { + this.view = caseTypeView; + actionModel = new CaseTypeModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest(String token) { + addSubscription(actionModel.sendRetrofitRequest(token)); + } + + @Override + public void onSuccess(CaseTypeBean resultBean) { + view.obtainTypeData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java new file mode 100644 index 0000000..8259db3 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ICaseTypePresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface ICaseTypePresenter { + void onReadyRetrofitRequest(String token); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java index 1742de5..88b2489 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/LoginPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String username, String key) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(username, key)); } diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java index 7c3a0ff..f344c7d 100644 --- a/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/UserDataPresenterImpl.java @@ -17,6 +17,7 @@ @Override public void onReadyRetrofitRequest(String token) { + view.showProgress(); addSubscription(actionModel.sendRetrofitRequest(token)); } @@ -27,11 +28,12 @@ @Override public void onSuccess(UserBean userBean) { + view.hideProgress(); view.obtainUserData(userBean); } @Override public void onFailure(Throwable throwable) { - + view.hideProgress(); } } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java index 873d0e6..70c9c76 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IAuthenticateView.java @@ -5,5 +5,7 @@ public interface IAuthenticateView { void showProgress(); + void hideProgress(); + void authenticateResult(PublicKeyBean result); } diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java new file mode 100644 index 0000000..3dd0c01 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/ICaseTypeView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.CaseTypeBean; + +public interface ICaseTypeView { + void obtainTypeData(CaseTypeBean typeBean); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java index 63e6447..a26046a 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/ILoginView.java @@ -3,6 +3,8 @@ import com.casic.dcms.bean.LoginResultBean; public interface ILoginView { + void showProgress(); + void hideProgress(); void obtainLoginResult(LoginResultBean resultBean); diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java index bcd16a9..2b51d64 100644 --- a/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java +++ b/app/src/main/java/com/casic/dcms/mvp/view/IUserDataView.java @@ -3,5 +3,9 @@ import com.casic.dcms.bean.UserBean; public interface IUserDataView { + void showProgress(); + + void hideProgress(); + void obtainUserData(UserBean userBean); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java index 2fdb879..65e2dd9 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseUploadActivity.java @@ -15,6 +15,7 @@ import android.widget.EditText; import android.widget.GridView; import android.widget.ImageView; +import android.widget.TextView; import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; @@ -22,9 +23,13 @@ import com.casic.dcms.R; import com.casic.dcms.adapter.ImageGridViewAdapter; import com.casic.dcms.base.BaseActivity; +import com.casic.dcms.bean.CaseTypeBean; +import com.casic.dcms.mvp.presenter.CaseTypePresenterImpl; +import com.casic.dcms.mvp.view.ICaseTypeView; import com.casic.dcms.utils.FileUtils; import com.casic.dcms.utils.GlideLoadEngine; import com.casic.dcms.utils.LocationHelper; +import com.casic.dcms.utils.TokenHelper; import com.casic.dcms.utils.callback.ILocationListener; import com.google.gson.Gson; import com.luck.picture.lib.PictureSelector; @@ -32,6 +37,7 @@ import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.entity.LocalMedia; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet; import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton; @@ -44,14 +50,17 @@ import butterknife.BindView; import butterknife.OnClick; -public class CaseUploadActivity extends BaseActivity - implements View.OnClickListener, View.OnTouchListener { +public class CaseUploadActivity extends BaseActivity implements View.OnClickListener, View.OnTouchListener, + ICaseTypeView { private static final String TAG = "CaseUploadActivity"; @BindView(R.id.caseTopLayout) QMUITopBarLayout caseTopLayout; + @BindView(R.id.caseClassView) + TextView caseClassView; + @BindView(R.id.communityNameView) EditText communityNameView; @BindView(R.id.longitudeView) @@ -74,6 +83,7 @@ private MediaRecorder mediaRecorder; private File outputFile; private List mediaList = new ArrayList<>();//拍照或者视频数据集 + private CaseTypePresenterImpl caseTypePresenter; @Override public int initLayoutView() { @@ -101,6 +111,7 @@ } }); initMediaRecorder(); + caseTypePresenter = new CaseTypePresenterImpl(this); } private void updateLocation(Location location) { @@ -171,10 +182,14 @@ submitButton.setOnClickListener(this); } - @OnClick({R.id.locationMapView, R.id.addImageView, R.id.submitButton}) + @OnClick({R.id.caseClassLayout, R.id.locationMapView, R.id.addImageView, R.id.submitButton}) @Override public void onClick(View v) { switch (v.getId()) { + case R.id.caseClassLayout: + //请求服务器得到‘案卷类型’ + caseTypePresenter.onReadyRetrofitRequest(TokenHelper.getToken()); + break; case R.id.locationMapView: startActivity(new Intent(this, MapActivity.class)); break; @@ -382,4 +397,22 @@ caseDetailEditView.setText("录音保存失败"); } } + + @Override + public void obtainTypeData(CaseTypeBean typeBean) { + Log.d(TAG, "obtainTypeData: " + new Gson().toJson(typeBean)); + if (typeBean.isSuccess()) { + List dataBeans = typeBean.getData(); + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + for (CaseTypeBean.DataBean dataBean : dataBeans) { + sheetBuilder.addItem(dataBean.getName()); + } + sheetBuilder.setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + } + }).build().show(); + } + } } diff --git a/app/src/main/java/com/casic/dcms/ui/LoginActivity.java b/app/src/main/java/com/casic/dcms/ui/LoginActivity.java index 433c40f..8c17ade 100644 --- a/app/src/main/java/com/casic/dcms/ui/LoginActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/LoginActivity.java @@ -6,6 +6,7 @@ import android.util.Log; import android.view.View; import android.widget.CheckBox; +import android.widget.CompoundButton; import android.widget.EditText; import android.widget.Toast; @@ -29,8 +30,7 @@ import butterknife.BindView; import butterknife.OnClick; -public class LoginActivity extends DoubleClickExitActivity - implements View.OnClickListener, IAuthenticateView, ILoginView { +public class LoginActivity extends DoubleClickExitActivity implements View.OnClickListener, IAuthenticateView, ILoginView { private static final String TAG = "LoginActivity"; @@ -48,8 +48,6 @@ private QMUITipDialog loadingDialog; private AuthenticatePresenterImpl authenticatePresenter; private LoginPresenterImpl loginPresenter; - private String userName; - private String userPassword; @Override public int initLayoutView() { @@ -58,20 +56,29 @@ @Override protected void setupTopBarLayout() { - //TODO 此页面无需实现 + //设置状态栏黑色字体图标 + QMUIStatusBarHelper.setStatusBarLightMode(this); } @Override public void initData() { - //设置状态栏黑色字体图标 - QMUIStatusBarHelper.setStatusBarLightMode(this); - String userName = (String) SaveKeyValues.getValue("userName", ""); String userPassword = (String) SaveKeyValues.getValue("userPassword", ""); + userNameView.setText(userName); + userPasswordView.setText(userPassword); if (!TextUtils.isEmpty(userName) && !TextUtils.isEmpty(userPassword)) { - userNameView.setText(userName); - userPasswordView.setText(userPassword); + rememberPasswordView.setChecked(true); + } else { + rememberPasswordView.setChecked(false); } + rememberPasswordView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (!isChecked) { + SaveKeyValues.removeKey("userPassword"); + } + } + }); loadingDialog = new QMUITipDialog.Builder(this) .setIconType(QMUITipDialog.Builder.ICON_TYPE_LOADING) .setTipWord("登陆中,请稍后") @@ -88,12 +95,6 @@ @OnClick(R.id.loginButton) @Override public void onClick(View v) { - userName = userNameView.getText().toString(); - userPassword = userPasswordView.getText().toString(); - if (rememberPasswordView.isChecked()) { - SaveKeyValues.putValue("userName", userName); - SaveKeyValues.putValue("userPassword", userPassword); - } //验证公钥 authenticatePresenter.onReadyRetrofitRequest(); } @@ -122,6 +123,12 @@ public void authenticateResult(PublicKeyBean result) { if (result.isSuccess()) { PublicKey publicKey = RSAUtils.keyStrToPublicKey(result.getData().getPublicKey()); + String userName = userNameView.getText().toString(); + String userPassword = userPasswordView.getText().toString(); + if (rememberPasswordView.isChecked()) { + SaveKeyValues.putValue("userName", userName); + SaveKeyValues.putValue("userPassword", userPassword); + } if (TextUtils.isEmpty(userName)) { Toast.makeText(this, "用户名不能为空", Toast.LENGTH_SHORT).show(); return; diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index 6b8aa5f..df273ac 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -114,6 +114,16 @@ }); } + @Override + public void showProgress() { + + } + + @Override + public void hideProgress() { + + } + @SuppressLint("SetTextI18n") @Override public void obtainUserData(UserBean userBean) { diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 157c941..2f94587 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -1,5 +1,6 @@ package com.casic.dcms.utils.retrofit; +import com.casic.dcms.bean.CaseTypeBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.PublicKeyBean; import com.casic.dcms.bean.UserBean; @@ -34,4 +35,10 @@ */ @GET("/user/info") Observable getUser(@Header("token") String token); + + /** + * 获取事/部件字典分类接口 + */ + @GET("/dict/code/caseType") + Observable getType(@Header("token") String token); } diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 7bf9982..2e48d0b 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -2,6 +2,7 @@ import android.util.Log; +import com.casic.dcms.bean.CaseTypeBean; import com.casic.dcms.bean.LoginResultBean; import com.casic.dcms.bean.PublicKeyBean; import com.casic.dcms.bean.UserBean; @@ -72,4 +73,13 @@ RetrofitService service = retrofit.create(RetrofitService.class); return service.getUser(token); } + + /** + * 获取事/部件字典分类 + */ + public static Observable getCaseType(String baseUrl, String token) { + Retrofit retrofit = createRetrofit(baseUrl); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.getType(token); + } } diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml index fb26c96..032457a 100644 --- a/app/src/main/res/layout/activity_case_upload.xml +++ b/app/src/main/res/layout/activity_case_upload.xml @@ -20,7 +20,9 @@ android:layout_height="match_parent" android:orientation="vertical"> - +