Commit b7bddad0 by 王宇航

首頁報表數據填充完成、登陸頁面edittext修改,添加logo,打印回調

parent bfeeddea
......@@ -14,7 +14,6 @@ import com.daivd.chart.listener.OnClickLegendListener;
import com.daivd.chart.provider.component.point.ILegendPoint;
import com.daivd.chart.provider.component.point.IPoint;
import com.daivd.chart.provider.component.point.LegendPoint;
import com.daivd.chart.provider.component.point.Point;
import java.util.List;
......
......@@ -3,12 +3,11 @@ package com.daivd.chart.core.base;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.os.Build;
import android.util.AttributeSet;
import com.daivd.chart.component.axis.HorizontalAxis;
import com.daivd.chart.component.base.IAxis;
import com.daivd.chart.component.axis.VerticalAxis;
import com.daivd.chart.component.base.IAxis;
import com.daivd.chart.data.BarData;
import com.daivd.chart.provider.IProvider;
......
......@@ -5,28 +5,27 @@ import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PointF;
import android.graphics.Rect;
import android.os.Build;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.Interpolator;
import com.daivd.chart.component.ChartTitle;
import com.daivd.chart.component.EmptyView;
import com.daivd.chart.component.Legend;
import com.daivd.chart.component.PicGeneration;
import com.daivd.chart.component.base.IChartTitle;
import com.daivd.chart.component.base.IEmpty;
import com.daivd.chart.component.base.ILegend;
import com.daivd.chart.data.ChartData;
import com.daivd.chart.data.ColumnData;
import com.daivd.chart.data.PicOption;
import com.daivd.chart.data.ScaleData;
import com.daivd.chart.component.ChartTitle;
import com.daivd.chart.component.EmptyView;
import com.daivd.chart.component.base.IEmpty;
import com.daivd.chart.listener.ChartGestureObserver;
import com.daivd.chart.listener.OnChartChangeListener;
import com.daivd.chart.listener.OnClickColumnListener;
import com.daivd.chart.listener.OnClickLegendListener;
import com.daivd.chart.listener.ChartGestureObserver;
import com.daivd.chart.matrix.MatrixHelper;
import com.daivd.chart.provider.IProvider;
......
......@@ -2,7 +2,6 @@ package com.daivd.chart.core.base;
import android.content.Context;
import android.graphics.Canvas;
import android.os.Build;
import android.util.AttributeSet;
import android.view.MotionEvent;
......
......@@ -2,7 +2,6 @@ package com.daivd.chart.data.style;
import android.content.Context;
import android.graphics.Color;
import android.graphics.DashPathEffect;
import android.graphics.Paint;
import android.graphics.PathEffect;
......@@ -17,8 +16,8 @@ public class LineStyle implements IStyle {
private float width;
private int color;
private PathEffect effect = new PathEffect();
private static float defaultLineSize = 2f;
private static int defaultLineColor = Color.parseColor("#888888");
private static float defaultLineSize = 2f;
private static int defaultLineColor = Color.parseColor("#888888");
public LineStyle() {
}
......@@ -27,42 +26,44 @@ public class LineStyle implements IStyle {
this.width = width;
this.color = color;
}
public LineStyle(Context context,float dp, int color) {
this.width = DensityUtils.dp2px(context,dp);
public LineStyle(Context context, float dp, int color) {
this.width = DensityUtils.dp2px(context, dp);
this.color = color;
}
public static void setDefaultLineSize(float width){
public static void setDefaultLineSize(float width) {
defaultLineSize = width;
}
public static void setDefaultLineSize(Context context,float dp){
defaultLineSize = DensityUtils.dp2px(context,dp);
public static void setDefaultLineSize(Context context, float dp) {
defaultLineSize = DensityUtils.dp2px(context, dp);
}
public static void setDefaultLineColor(int color){
public static void setDefaultLineColor(int color) {
defaultLineColor = color;
}
public float getWidth() {
if(width == 0){
if (width == 0) {
return defaultLineSize;
}
return width;
}
public LineStyle setWidth(float width) {
this.width = width;
return this;
}
public LineStyle setWidth(Context context,int dp) {
this.width = DensityUtils.dp2px(context,dp);
public LineStyle setWidth(Context context, int dp) {
this.width = DensityUtils.dp2px(context, dp);
return this;
}
public int getColor() {
if(color == 0){
if (color == 0) {
return defaultLineColor;
}
return color;
......@@ -79,8 +80,9 @@ public class LineStyle implements IStyle {
return this;
}
@Override
public void fillPaint(Paint paint){
public void fillPaint(Paint paint) {
paint.setColor(getColor());
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(getWidth());
......
......@@ -5,7 +5,6 @@ import android.animation.ValueAnimator;
import android.content.Context;
import android.graphics.Point;
import android.graphics.Rect;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
......@@ -15,8 +14,8 @@ import android.view.animation.DecelerateInterpolator;
import android.widget.Scroller;
import com.daivd.chart.core.base.BaseChart;
import com.daivd.chart.listener.Observable;
import com.daivd.chart.listener.ChartGestureObserver;
import com.daivd.chart.listener.Observable;
import com.daivd.chart.listener.OnChartChangeListener;
import java.util.List;
......
......@@ -12,10 +12,9 @@ import android.view.animation.Interpolator;
import com.daivd.chart.core.base.BaseChart;
import com.daivd.chart.data.ChartData;
import com.daivd.chart.data.ColumnData;
import com.daivd.chart.data.style.FontStyle;
import com.daivd.chart.listener.OnClickColumnListener;
import com.daivd.chart.provider.component.mark.IMark;
import com.daivd.chart.matrix.MatrixHelper;
import com.daivd.chart.provider.component.mark.IMark;
import com.daivd.chart.provider.component.text.IText;
/**
......
......@@ -5,16 +5,13 @@ import android.graphics.Paint;
import android.graphics.Rect;
import com.daivd.chart.component.base.IAxis;
import com.daivd.chart.data.ChartData;
import com.daivd.chart.provider.component.cross.ICross;
import com.daivd.chart.provider.component.grid.IGrid;
import com.daivd.chart.provider.component.level.ILevel;
import com.daivd.chart.provider.component.level.LevelLine;
import com.daivd.chart.data.BarData;
import com.daivd.chart.data.ChartData;
import com.daivd.chart.data.ScaleData;
import com.daivd.chart.exception.ChartException;
import com.daivd.chart.provider.BaseProvider;
import com.daivd.chart.provider.component.path.IPath;
import com.daivd.chart.provider.component.cross.ICross;
import com.daivd.chart.provider.component.level.ILevel;
import com.daivd.chart.provider.component.tip.ITip;
import java.util.ArrayList;
......
......@@ -5,6 +5,7 @@ import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.PointF;
import android.graphics.Rect;
import android.util.Log;
import com.daivd.chart.data.LineData;
import com.daivd.chart.data.style.LineStyle;
......@@ -32,7 +33,7 @@ public class LineProvider extends BaseBarLineProvider<LineData> {
private int rowSize;
private boolean isArea; //是否打开面积图
private boolean isDrawLine = true;
private int filterPointTextCount = 30; //最多显示30个点文字
private int filterPointTextCount = 7; //最多显示30个点文字
private ILineModel lineModel = new BrokenLineModel();
private IPath path;
private int perWidth;
......@@ -81,7 +82,6 @@ public class LineProvider extends BaseBarLineProvider<LineData> {
drawTip(canvas, pointX, pointY, lineData);
canvas.restore();
drawPoint(canvas, pointX, pointY, lineData, paint);
}
drawLevelLine(canvas, zoomRect, paint);
drawClickCross(canvas, rect, zoomRect, paint);
......@@ -95,6 +95,14 @@ public class LineProvider extends BaseBarLineProvider<LineData> {
if (isDrawLine) {
ILineModel model = lineData.getLineModel();
model = model == null ? lineModel : model;
for (int i = 0; i < pointY.size(); i++) {
Log.e("bbb", "前值:" + pointY.get(i));
pointY.set(i, pointY.get(i) - style.getWidth() / 2);
Log.e("bbb", "後值:" + pointY.get(i));
}
for (int i = 0; i < pointX.size(); i++) {
pointX.set(i, pointX.get(i) + style.getWidth() / 2);
}
Path path = model.getLinePath(pointX, pointY);
if (isArea) {
paint.setStyle(Paint.Style.FILL);
......@@ -160,7 +168,7 @@ public class LineProvider extends BaseBarLineProvider<LineData> {
double value;
if (minPositionX < lineData.getChartYDataList().size()) {
value = lineData.getChartYDataList().get(minPositionX);
} else{
} else {
break;
}
float startY = getStartY(zoomRect, value, lineData.getDirection());
......
package com.gingersoft.gsa.cloud.main.mvp.contract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean;
import com.jess.arms.mvp.IView;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainOrderInfoChartBean;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import java.util.List;
import java.util.Map;
import io.reactivex.Observable;
......@@ -26,10 +28,14 @@ public interface MainTopContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void loadBusinessInfo(Map<String, HomeTurnoverBean.DataBean> dataBeanMap);
void loadChart(List<MainOrderInfoChartBean.DataBean> dataBeans);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Observable<HomeTurnoverBean> getRestaurantReport(RequestBody requestBody);
Observable<MainOrderInfoChartBean> getOrderInfoChart(RequestBody requestBody);
}
}
......@@ -2,18 +2,17 @@ package com.gingersoft.gsa.cloud.main.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.main.mvp.contract.MainTopContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainOrderInfoChartBean;
import com.gingersoft.gsa.cloud.main.mvp.model.service.HomeService;
import com.google.gson.Gson;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.FragmentScope;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.main.mvp.contract.MainTopContract;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
......@@ -52,8 +51,15 @@ public class MainTopModel extends BaseModel implements MainTopContract.Model {
@Override
public Observable<HomeTurnoverBean> getRestaurantReport(RequestBody requestBody) {
RetrofitUrlManager.getInstance().putDomain("common", "https://m.ricepon.com/member-web/api/");
RetrofitUrlManager.getInstance().putDomain("common", "http://a.ricepon.com:61177/member-web/api/");
return mRepositoryManager.obtainRetrofitService(HomeService.class)
.getRestaurantReport(requestBody);
}
@Override
public Observable<MainOrderInfoChartBean> getOrderInfoChart(RequestBody requestBody) {
RetrofitUrlManager.getInstance().putDomain("common", "http://a.ricepon.com:61177/member-web/api/");
return mRepositoryManager.obtainRetrofitService(HomeService.class)
.getOrderInfoChart(requestBody);
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.main.mvp.model.bean;
import java.util.List;
/**
* Created by Wyh on 2020/2/26.
*/
public class MainOrderInfoChartBean {
/**
* success : true
* sysTime : 1582688486497
* data : [{"date":"2020-02-25","items":[{"person":"0","amount":249.3,"hours":"11","count":5,"date":"2020-02-25"},{"person":"0","amount":2.2,"hours":"12","count":1,"date":"2020-02-25"},{"person":"2","amount":630,"hours":"13","count":8,"date":"2020-02-25"},{"person":"12","amount":600.4,"hours":"14","count":10,"date":"2020-02-25"},{"person":"11","amount":1,"hours":"18","count":2,"date":"2020-02-25"},{"person":"0","amount":2.1,"hours":"19","count":1,"date":"2020-02-25"},{"person":"0","amount":232.28,"hours":"20","count":2,"date":"2020-02-25"}]},{"date":"2020-02-26","items":[{"person":"6","amount":1949,"hours":"10","count":3,"date":"2020-02-26"},{"person":"1","amount":1,"hours":"11","count":1,"date":"2020-02-26"}]}]
*/
private boolean success;
private long sysTime;
private List<DataBean> data;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public long getSysTime() {
return sysTime;
}
public void setSysTime(long sysTime) {
this.sysTime = sysTime;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
/**
* date : 2020-02-25
* items : [{"person":"0","amount":249.3,"hours":"11","count":5,"date":"2020-02-25"},{"person":"0","amount":2.2,"hours":"12","count":1,"date":"2020-02-25"},{"person":"2","amount":630,"hours":"13","count":8,"date":"2020-02-25"},{"person":"12","amount":600.4,"hours":"14","count":10,"date":"2020-02-25"},{"person":"11","amount":1,"hours":"18","count":2,"date":"2020-02-25"},{"person":"0","amount":2.1,"hours":"19","count":1,"date":"2020-02-25"},{"person":"0","amount":232.28,"hours":"20","count":2,"date":"2020-02-25"}]
*/
private String date;
private List<ItemsBean> items;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public List<ItemsBean> getItems() {
return items;
}
public void setItems(List<ItemsBean> items) {
this.items = items;
}
public static class ItemsBean {
/**
* person : 0
* amount : 249.3
* hours : 11
* count : 5
* date : 2020-02-25
*/
private String person;
private double amount;
private String hours;
private int count;
private String date;
public String getPerson() {
return person;
}
public void setPerson(String person) {
this.person = person;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
public String getHours() {
return hours;
}
public void setHours(String hours) {
this.hours = hours;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}
}
}
package com.gingersoft.gsa.cloud.main.mvp.model.service;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainOrderInfoChartBean;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
......@@ -9,7 +10,6 @@ import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
import retrofit2.http.QueryName;
/**
* Created by Wyh on 2020/1/10.
......@@ -20,6 +20,10 @@ public interface HomeService {
@POST("wx/doBusiness" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<HomeTurnoverBean> getRestaurantReport(@Body RequestBody requestBody);
@POST("wx/findOrderInfoChart" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<MainOrderInfoChartBean> getOrderInfoChart(@Body RequestBody requestBody);
@GET("user/resource/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<String> getRestaurantFunList(@Query("restaurantId") String restaurantId);
}
......@@ -6,6 +6,7 @@ import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.main.mvp.contract.MainTopContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.HomeTurnoverBean;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainOrderInfoChartBean;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
......@@ -67,7 +68,6 @@ public class MainTopPresenter extends BasePresenter<MainTopContract.Model, MainT
.add("startTime", TimeUtils.getYesterdayTime(TimeUtils.DATE_FORMAT_DATE))
.add("endTime", TimeUtils.getCurrentTimeInString(TimeUtils.DATE_FORMAT_DATE))
.build();
mModel.getRestaurantReport(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(""))
......@@ -84,7 +84,7 @@ public class MainTopPresenter extends BasePresenter<MainTopContract.Model, MainT
mRootView.loadBusinessInfo(info.getData());
}
} else {
mRootView.showMessage("營業報表獲取失敗");
mRootView.showMessage("營業信息獲取失敗");
}
}
......@@ -102,6 +102,36 @@ public class MainTopPresenter extends BasePresenter<MainTopContract.Model, MainT
});
}
//http://a.ricepon.com:61177/member-web/api/wx/findOrderInfoChart 獲取消費曲線圖
//{"success":true,"sysTime":1582375800036,"data":[{"date":"2020-02-22","items":[{"person":"0","amount":0.0,"hours":"12","count":1,"date":"2020-02-22"},{"person":"0","amount":42.2,"hours":"14","count":3,"date":"2020-02-22"},{"person":"0","amount":21.1,"hours":"15","count":3,"date":"2020-02-22"},{"person":"0","amount":136.0,"hours":"17","count":3,"date":"2020-02-22"},{"person":"0","amount":58.0,"hours":"18","count":1,"date":"2020-02-22"}]}]}
public void getOrderInfoChart(){
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", "26")
.build();
mModel.getOrderInfoChart(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(""))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<MainOrderInfoChartBean>(mErrorHandler) {
@Override
public void onNext(@NonNull MainOrderInfoChartBean info) {
if (info != null && info.isSuccess()) {
mRootView.loadChart(info.getData());
}
}
@Override
public void onComplete() {
super.onComplete();
RetrofitUrlManager.getInstance().putDomain("common", HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL);
}
@Override
public void onError(Throwable t) {
super.onError(t);
RetrofitUrlManager.getInstance().putDomain("common", HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL);
}
});
}
}
package com.gingersoft.gsa.cloud.main.mvp.presenter;
import android.app.Application;
import android.content.Intent;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.ui.bean.mode.LoginBean;
import com.jess.arms.integration.AppManager;
import com.gingersoft.gsa.cloud.main.mvp.contract.NewMainContract;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.RxLifecycleUtils;
import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
......@@ -17,14 +17,8 @@ import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody;
import okhttp3.Request;
import okhttp3.RequestBody;
import javax.inject.Inject;
import com.gingersoft.gsa.cloud.main.mvp.contract.NewMainContract;
import com.jess.arms.utils.RxLifecycleUtils;
/**
* ================================================
......
......@@ -11,6 +11,8 @@ import android.os.Looper;
import android.os.RemoteException;
import android.util.Log;
import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.PrinterManger.PrinterManager;
......@@ -137,6 +139,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
//本機打印
if (bitmap == null) {
ToastUtils.show(mContext, "未獲取到打印內容");
printFile();
return;
}
String model = Build.MODEL;
......@@ -145,8 +148,10 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
boolean isSuccess = SunMiPrint.printBitmap(mContext, bitmap);
if (isSuccess) {
ToastUtils.show(mContext, "商米打印機連接成功");
printSuccess();
} else {
ToastUtils.show(mContext, "商米打印機連接失敗");
printFile();
}
} else if (mN5.contains(model)) {
//N5打印
......@@ -160,9 +165,11 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
if (i == 0) {
//打印成功
ToastUtils.show(mContext, "N5打印結果:成功");
printSuccess();
} else {
//打印失敗
ToastUtils.show(mContext, "N5打印結果:失敗");
printFile();
}
}
......@@ -173,12 +180,26 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
});
} catch (RemoteException | NoInitPrinterException e) {
e.printStackTrace();
printFile();
}
} else {
ToastUtils.show(mContext, "暫不支持本機型打印");
printFile();
}
}
/**
* 打印失敗
*/
private void printFile() {
CC.sendCCResult(getIntent().getStringExtra("callId"), CCResult.error("print error"));
}
/**
* 打印成功
*/
private void printSuccess() {
CC.sendCCResult(getIntent().getStringExtra("callId"), CCResult.success());
}
//初始化打印內容
public Bitmap initPrintBitmap(int width) {
Bitmap bitmap = getIntent().getParcelableExtra("bitmap");
......
......@@ -5,8 +5,8 @@ package com.gingersoft.gsa.cloud.base.utils.constans;
*/
public class HttpsConstans {
// public static String ROOT_SERVER_ADDRESS_FORMAL = "http://gingersoft.tpddns.cn:58201/ricepon-cloud-gsa/api/";// 深圳服务器
public static String ROOT_SERVER_ADDRESS_FORMAL = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/";// 香港服务器
public static String ROOT_SERVER_ADDRESS_FORMAL = "http://gingersoft.tpddns.cn:58201/ricepon-cloud-gsa/api/";// 深圳服务器
// public static String ROOT_SERVER_ADDRESS_FORMAL = "http://a.ricepon.com:58201/ricepon-cloud-gsa/api/";// 香港服务器
public static String ROOT_SERVER_ADDRESS_FORMAL2 = "http://gingersoft.tpddns.cn:53000/mock/49/ricepon-cloud-gsa/api/";//測試服務器
......
package com.gingersoft.gsa.cloud.base.utils.time;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
......@@ -101,18 +99,17 @@ public class TimeUtils {
* @return
*/
public static String getOldDate(int distanceDay) {
SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
Date beginDate = new Date();
Calendar date = Calendar.getInstance();
date.setTime(beginDate);
date.set(Calendar.DATE, date.get(Calendar.DATE) + distanceDay);
Date endDate = null;
try {
endDate = dft.parse(dft.format(date.getTime()));
endDate = DATE_FORMAT_DATE.parse(DATE_FORMAT_DATE.format(date.getTime()));
} catch (ParseException e) {
e.printStackTrace();
}
return dft.format(endDate);
return DATE_FORMAT_DATE.format(endDate);
}
......
......@@ -12,6 +12,7 @@ import com.gingersoft.gsa.cloud.ui.view.BaseTextSection;
import com.qmuiteam.qmui.widget.section.QMUIDefaultStickySectionAdapter;
import com.qmuiteam.qmui.widget.section.QMUISection;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter;
import androidx.annotation.NonNull;
import butterknife.BindView;
import butterknife.ButterKnife;
......
......@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.ui.adapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.ui.R;
import com.gingersoft.gsa.cloud.ui.R2;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionHeader;
......@@ -11,6 +12,7 @@ import com.gingersoft.gsa.cloud.ui.view.BaseTextSection;
import com.qmuiteam.qmui.widget.section.QMUIDefaultStickySectionAdapter;
import com.qmuiteam.qmui.widget.section.QMUISection;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter;
import androidx.annotation.NonNull;
import butterknife.BindView;
import butterknife.ButterKnife;
......
......@@ -8,9 +8,11 @@ import android.view.Gravity;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.ui.R;
import com.gingersoft.gsa.cloud.ui.bean.SectionHeader;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import androidx.annotation.Nullable;
/**
......
......@@ -11,7 +11,9 @@ import android.graphics.PathMeasure;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.View;
import com.gingersoft.gsa.cloud.table.R;
import androidx.core.content.ContextCompat;
......
......@@ -18,7 +18,7 @@
android:label="@string/user_login_name"
tools:replace="android:label"
android:networkSecurityConfig="@xml/network_android"
android:roundIcon="@mipmap/ic_launcher_round"
android:roundIcon="@mipmap/ic_logo"
android:supportsRtl="true"
android:theme="@style/AppTheme">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment