Commit 240616a2 by 宁斌

調整add食品接口結構

parent 8dcec7ed
......@@ -42,7 +42,6 @@ public class ComponentDownload implements IComponent {
@Override
public boolean onCall(CC cc) {
String actionName = cc.getActionName();
Context context = cc.getContext();
switch (actionName) {
case "showDownloadActivity":
openActivity(cc);
......
......@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.main.mvp.contract;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
import com.tbruyelle.rxpermissions2.RxPermissions;
import io.reactivex.Observable;
import okhttp3.RequestBody;
......@@ -23,6 +24,8 @@ public interface NewMainContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void loginOut();
RxPermissions getRxPermissions();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
......@@ -2,13 +2,19 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.mvp.contract.NewMainContract;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.PermissionUtil;
import com.jess.arms.utils.RxLifecycleUtils;
import java.util.List;
import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers;
......@@ -74,6 +80,26 @@ public class NewMainPresenter extends BasePresenter<NewMainContract.Model, NewMa
mRootView.loginOut();
}
});
}
/**
* 进入应用强制用户开启 存储的权限(保存error log来文件必须拥有读写权限)
*/
public void requestExternalStoragePermission() {
PermissionUtil.externalStorage(new PermissionUtil.RequestPermission() {
@Override
public void onRequestPermissionSuccess() {
}
@Override
public void onRequestPermissionFailure(List<String> permissions) {
mRootView.showMessage(LanguageUtils.get_language_system(mApplication, "external.storage.permission.hint", ArmsUtils.getString(mApplication, R.string.queue_write_external_storage_permission_hint)));
mRootView.killMyself();
}
@Override
public void onRequestPermissionFailureWithAskNeverAgain(List<String> permissions) {
}
}, mRootView.getRxPermissions(), mErrorHandler);
}
}
......@@ -30,6 +30,7 @@ import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;
import com.tbruyelle.rxpermissions2.RxPermissions;
import java.util.ArrayList;
import java.util.List;
......@@ -94,8 +95,11 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
@BindView(R2.id.ll_clearance)
LinearLayout ll_clearance;
private RxPermissions mRxPermissions;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
mRxPermissions = new RxPermissions(this);
DaggerNewMainComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
......@@ -116,9 +120,10 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
@Override
public void initData(@Nullable Bundle savedInstanceState) {
mPresenter.requestExternalStoragePermission();
FragmentManager fragmentManager = getSupportFragmentManager();
mainTopFragment = (MainTopFragment) fragmentManager.findFragmentById(R.id.main_top_fragment);
switchServer.setVisibility(BuildConfig.DEBUG ? View.VISIBLE : View.GONE);
tvStoreName.setText(GsaCloudApplication.getRestaurantName(mContext));
refresh.setOnPullListener(new QMUIPullRefreshLayout.OnPullListener() {
......@@ -342,14 +347,6 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
finish();
}
@OnClick({R2.id.ll_switch_server, R2.id.layout_login_out, R2.id.iv_personal_center, R2.id.tv_restaurant_name})
public View.OnClickListener mSlidingMenuOnclick = new View.OnClickListener() {
@Override
public void onClick(View v) {
slideMenu.toggle();
}
};
@OnClick({R2.id.layout_login_out, R2.id.iv_personal_center,R2.id.tv_restaurant_name,R2.id.ll_clearance})
@Override
public void onClick(View v) {
......@@ -382,6 +379,11 @@ public class NewMainActivity extends BaseActivity<NewMainPresenter> implements N
finish();
}
@Override
public RxPermissions getRxPermissions() {
return mRxPermissions;
}
private long mExitTime;
@Override
......
......@@ -87,4 +87,5 @@ dependencies {
//時間選擇控件
implementation 'org.aspectj:aspectjrt:1.8.9'
api files('libs/nexgon5lib.jar')
implementation files('libs/nexgon5lib.jar')
}
......@@ -58,11 +58,11 @@ public class GsaCloudApplication extends BaseApplication {
this.mAppContext = this;
CC.enableVerboseLog(true);
CC.enableDebug(true);
CC.enableRemoteCC(true);
// CC.enableRemoteCC(true);
//初始化日誌管理庫
initXLog();
initGreenDao();
AppCrashHandler.getInstance().init(this, "test");
AppCrashHandler.getInstance().init(this);
androidSetting = new CurrentAndroidSetting();
......
......@@ -123,7 +123,7 @@ public class OrderBean {
private double price;
private double lunchboxPrice;
private int number;
private String createTime;
// private String createTime;
private int status;
private byte type;
......@@ -213,13 +213,13 @@ public class OrderBean {
this.number = number;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
// public String getCreateTime() {
// return createTime;
// }
//
// public void setCreateTime(String createTime) {
// this.createTime = createTime;
// }
public int getStatus() {
return status;
......@@ -254,7 +254,6 @@ public class OrderBean {
", price=" + price +
", lunchboxPrice=" + lunchboxPrice +
", number=" + number +
", createTime='" + createTime + '\'' +
", status=" + status +
", type=" + type +
", parentId=" + parentId +
......
......@@ -39,6 +39,7 @@ import java.lang.reflect.Field;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
......@@ -81,10 +82,6 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
* 错误报告文件的扩展名
*/
private static final String CRASH_REPORTER_EXTENSION = ".cyposdebug";
private String machinename;
private String crashFile;
private File f;
private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");// 用于格式化日期,作为日志文件名的一部分
private Map<String, String> info = new HashMap<String, String>();// 用来存储设备信息和异常信息
......@@ -112,17 +109,15 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
*
* @param ctx
*/
public void init(Context ctx, String machinename) {
public void init(Context ctx) {
mContext = ctx;
mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(this);
this.machinename = machinename;
crashFile = ctx.getFilesDir().getAbsoluteFile().getParent() + File.separator + "shared_prefs" + File.separator + "Crash.xml";
f = new File(crashFile);
if (f.exists()) {
File file = new File(FileUtils.ERRORLOG_PATH);
if (file.exists()) {
sendPreviousReportsToServer();
f.delete();
file.delete();
}
}
......@@ -219,7 +214,7 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
//保存错误报告到文件
saveCrashInfo2File(ex);
//发送错误报告到服务器
sendCrashReportsToServer(mContext);
sendCrashReportsToServer();
return true;
}
......@@ -227,116 +222,22 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
* 在程序启动时候, 可以调用该函数来发送以前没有发送的报告
*/
public void sendPreviousReportsToServer() {
sendCrashReportsToServer(mContext);
sendCrashReportsToServer();
}
/**
* 把错误报告发送给服务器,包含新产生的和以前没发送的.
*
* @param ctx
*/
private void sendCrashReportsToServer(Context ctx) {
if (!TextUtils.isEmpty(crashFile)) {
List<File> files = new ArrayList<>();
File file = new File(crashFile);
files.add(file);
OkHttp3Utils.sendFileMultipart("", file.getName(), files);
}
// uploadFile2Svr(crashFile, "ErrorAppCrash_" + TimeUtil.StampToData(TimeUtil.dateFormatYMDHMS_f, System.currentTimeMillis()));
}
public void showServerice(String image, String pictureName, int tag) {
// String url1 = GSAApplication.getWebServerAddress() + "/App_Crash";
//
// StringBuilder tempParams = new StringBuilder();
// try {
// tempParams.append(String.format("%s=%s", "APP_VERSION_NAME", URLEncoder.encode(DeviceUtils.getVersionName(mContext), "utf-8")));
// tempParams.append(String.format("%s=%s", "APP_VERSION_CODE", URLEncoder.encode(String.valueOf(DeviceUtils.getVersionCode(mContext)), "utf-8")));
// tempParams.append(String.format("%s=%s", "VERSION", URLEncoder.encode(Build.VERSION.RELEASE, "utf-8")));
// tempParams.append(String.format("%s=%s", "MODEL", URLEncoder.encode(Build.MODEL, "utf-8")));
//
// tempParams.append(String.format("%s=%s", "filename", URLEncoder.encode(pictureName + ".xml", "utf-8")));
// tempParams.append(String.format("&%s=%s", "image", URLEncoder.encode(image, "utf-8")));
// tempParams.append(String.format("&%s=%s", "tag", URLEncoder.encode(String.valueOf(tag), "utf-8")));
// tempParams.append(String.format("&%s=%s", "machinename", URLEncoder.encode(machinename, "utf-8")));
// } catch (UnsupportedEncodingException e1) {
// e1.printStackTrace();
// }
//
// new Thread(new Runnable() {
//
// @Override
// public void run() {
// String requestUrl = String.format("%s?%s", url1, tempParams.toString());
// OkHttpClient client = new OkHttpClient.Builder()
// .connectTimeout(GSAApplication.REQUEST_TIMEOUT, TimeUnit.SECONDS)
// .readTimeout(GSAApplication.REQUEST_TIMEOUT, TimeUnit.SECONDS)
// .build();
//
// Request request = new Request.Builder().url(requestUrl).build();
// Call call = client.newCall(request);
// try {
// Response response = call.execute();
// if (response.isSuccessful()) {
// String str = response.body().string();
//
// } else {
// throw new IOException("Unexpected code " + response);
// }
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// }).start();
}
private void uploadFile2Svr(String pictureFile, String pictureName) {
try {
FileInputStream fis = new FileInputStream(pictureFile);
//ByteArrayOutputStream baos=new ByteArrayOutputStream();
byte[] buffer = new byte[100 * 1024];
int count = 0;
int i = 0;
while ((count = fis.read(buffer)) >= 0) {
String uploadBuffer = new String(Base64.encode(buffer, 0, count, Base64.DEFAULT));
showServerice(uploadBuffer, pictureName, i);
for (int j = 0; j < 1000; j++) ;
i++;
}
fis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
private void sendCrashReportsToServer() {
File file = new File(FileUtils.ERRORLOG_PATH);
File[] files = file.listFiles();
if (files != null) {
List<File> fileList = Arrays.asList(files);
OkHttp3Utils.sendFileMultipart("", file.getName(), fileList);
}
}
/**
* 获取错误报告文件名
*
* @param ctx
* @return
*/
private String[] getCrashReportFiles(Context ctx) {
File filesDir = ctx.getFilesDir();
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(CRASH_REPORTER_EXTENSION);
}
};
return filesDir.list(filter);
}
/**
* 保存一些信息到文件中
*/
public void saveInfoToFile(String w1, String writeValue) {
Writer info = new StringWriter();
// mSetup.setSaveValue_Crash(w1, writeValue, mContext);
}
/**
* 收集程序崩溃的设备信息
*
* @param ctx
......@@ -373,7 +274,6 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
/**
* 保存错误信息到SP
*
* @param ex
* @return
*/
......@@ -387,15 +287,7 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
cause.printStackTrace(printWriter);
cause = cause.getCause();
}
String result = info.toString();
printWriter.close();
// AppComponent appComponent = ArmsUtils.obtainAppComponentFromContext(mContext);
// mSetup.setSaveValue_Crash("Error-Activity", appComponent.appManager().getTopActivity().getClass().getName().toString(), mContext);
// mSetup.setSaveValue_Crash("Error:", result, mContext);
// long timestamp = System.currentTimeMillis();
// mSetup.setSaveValue_Crash("Error-time:", format.format(timestamp) + "", mContext);
return null;
}
......@@ -422,11 +314,10 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
long timetamp = System.currentTimeMillis();
String time = format.format(new Date());
String MemberName = GsaCloudApplication.getMemberName(mContext);
String fileName = "crash-" + MemberName + "-" + DeviceUtils.getVersionName(mContext) + "-" + time + "-" + timetamp + "-" + info.get("versionName") + ".xml";
String fileName = "crash-" + MemberName + "-" + time + "-" + timetamp + "-" + info.get("versionName") + ".xml";
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {//外部存储卡
try {
File dir = new File(FileUtils.ERRORLOG_PATH);
Log.i("CrashHandler", dir.toString());
//不存在就創建目錄
if (!dir.exists())
dir.mkdirs();
......
package com.gingersoft.gsa.cloud.base.utils.view;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2018/12/18
* 修订历史:2018/12/18
* 描述:
*/
public class ViewUtils {
// 两次点击按钮之间的点击间隔不能少于800毫秒
private static long lastClickTime;
//两次点击按钮之间的点击间隔不能少于200毫秒,防止快速点击食品导致不同步问题
private static final int MIN_CLICK_DELAY_TIME2 = 200;
private static final int MIN_CLICK_DELAY_TIME5 = 500;
public static boolean isFastClick5() {
boolean flag = false;
long curClickTime = System.currentTimeMillis();
if ((curClickTime - lastClickTime) >= MIN_CLICK_DELAY_TIME5) {
flag = true;
}
lastClickTime = curClickTime;
return flag;
}
public static boolean isFastClick2() {
boolean flag = false;
long curClickTime = System.currentTimeMillis();
if ((curClickTime - lastClickTime) >= MIN_CLICK_DELAY_TIME2) {
flag = true;
}
lastClickTime = curClickTime;
return flag;
}
}
......@@ -5,10 +5,8 @@ import android.database.Cursor;
import android.util.Log;
import com.gingersoft.gsa.cloud.database.DaoManager;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.greendao.ComboItemDao;
import com.gingersoft.gsa.cloud.database.greendao.FoodDao;
import org.greenrobot.greendao.query.QueryBuilder;
......
......@@ -16,7 +16,6 @@ import android.view.animation.DecelerateInterpolator;
import android.view.animation.TranslateAnimation;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.ui.adapter.BasTextSectiontAdapter;
import com.gingersoft.gsa.cloud.ui.bean.mode.LoginBean;
......
package com.gingersoft.gsa.cloud.table.mvp.contract;
import android.app.Activity;
import android.content.Intent;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.OrderRequest;
import com.jess.arms.base.DefaultAdapter;
import io.reactivex.Observable;
......
......@@ -3,10 +3,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderContentContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.OrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
import com.gingersoft.gsa.cloud.table.mvp.model.service.OrderPayService;
import com.google.gson.Gson;
......@@ -17,7 +15,6 @@ import com.jess.arms.mvp.BaseModel;
import javax.inject.Inject;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
......
package com.gingersoft.gsa.cloud.table.mvp.model.bean.request;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import java.util.List;
import java.util.Map;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-01-06
* 修订历史:2020-01-06
* 描述:
*/
public class AddOrderRequest {
private int orderId;
private Map<String, List<OrderBean.OrderDetailsBean>> maps;
public int getOrderId() {
return orderId;
}
public void setOrderId(int orderId) {
this.orderId = orderId;
}
public Map<String, List<OrderBean.OrderDetailsBean>> getMaps() {
return maps;
}
public void setMaps(Map<String, List<OrderBean.OrderDetailsBean>> maps) {
this.maps = maps;
}
@Override
public String toString() {
return "AddOrderRequest{" +
"orderId=" + orderId +
", maps=" + maps +
'}';
}
}
......@@ -13,7 +13,7 @@ import java.util.Map;
* 描述:
*/
public class OrderRequest {
public class CreateOrderRequest {
private int person;
private int tableId;
......@@ -117,7 +117,7 @@ public class OrderRequest {
@Override
public String toString() {
return "OrderRequest{" +
return "CreateOrderRequest{" +
"person=" + person +
", tableId=" + tableId +
", orderDetails=" + orderDetails +
......
......@@ -2,7 +2,6 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.OrderRequest;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
......@@ -10,9 +9,7 @@ import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
/**
* 作者:ELEGANT_BIN
......
......@@ -5,7 +5,6 @@ import android.content.Context;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.view.ViewUtils;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.TableAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment;
......@@ -59,7 +58,7 @@ public class AllTablePresenter extends BasePresenter<AllTableContract.Model, All
public AllTablePresenter(AllTableContract.Model model, AllTableContract.View rootView) {
super(model, rootView);
this.IView = (AllTableFragment) rootView;
this. mActivity = (TableActivity) IView.getActivity();
this.mActivity = (TableActivity) IView.getActivity();
}
@Override
......@@ -86,12 +85,9 @@ public class AllTablePresenter extends BasePresenter<AllTableContract.Model, All
@Override
public void onItemClick(TableBean.DataBean item, int position) {
// if (ViewUtils.isFastClick2()) {
VibratorUtils.pressButtonSound(mApplication);
VibratorUtils.pressButtonSound(mApplication);
mActivity.clickTableItem(item);
// }
mActivity.clickTableItem(item);
}
});
}
......@@ -108,7 +104,7 @@ public class AllTablePresenter extends BasePresenter<AllTableContract.Model, All
private void initTableByZoneId(List<TableBean.DataBean> tableList) {
// int zoneId = GSAApplication.tableContract.getZoneid();
// if (zoneId == -1) {
mTableList.addAll(tableList);
mTableList.addAll(tableList);
// } else {
// for (TableBean.DataBean datasBean : tableList) {
// // 获取当前ID的区域
......
......@@ -11,7 +11,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.table.mvp.contract.BaseOrderContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.OrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderMoneyAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
......@@ -19,13 +20,14 @@ import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.RxLifecycleUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.IdentityHashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
......@@ -240,9 +242,7 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
* @param orderId
*/
protected void setOrderId(double orderId) {
OrderBean orderBean = new OrderBean();
orderBean.setId((int) orderId);
MyOrderManage.getInstance().setOrderBean(orderBean);
MyOrderManage.getInstance().setOrderId(orderId);
}
/**
......@@ -291,14 +291,21 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
return str;
}
protected OrderRequest getCreateOrderRequest(List<OrderDetail> foodList) {
OrderRequest request = new OrderRequest();
protected CreateOrderRequest getCreateOrderRequest(List<OrderDetail> foodList) {
CreateOrderRequest request = new CreateOrderRequest();
request.setOrderDetails(orderDetailBeanToFoodRequest(foodList));
request.setPerson(OpenTableManage.getDefault().getPeopleNumber());
request.setTableId(OpenTableManage.getDefault().getTableBean().getId());
return request;
}
protected AddOrderRequest getAddOrderRequest(List<OrderDetail> foodList) {
AddOrderRequest request = new AddOrderRequest();
request.setMaps(orderDetailBeanToAddFoodRequest(foodList));
request.setOrderId(MyOrderManage.getInstance().getOrderId());
return request;
}
protected Map<Long, List<OrderBean.OrderDetailsBean>> orderDetailBeanToFoodRequest(List<OrderDetail> foodList) {
Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails = new HashMap<>();
if (foodList != null) {
......@@ -326,13 +333,72 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
int nextIndex = i + 1;
if (foodList.size() > nextIndex) {
if (foodList.get(nextIndex).getItemType() == 1 && orderItems != null) {
if (foodList.get(nextIndex).getItemType() == 1 && orderItems != null && orderItems.size() > 0) {
//下一個食品是不是主食品
orderDetails.put(mapIndex, orderItems);
}
} else if (foodList.size() == nextIndex) {
//最後
if (orderItems != null && orderItems.size() > 0) {
orderDetails.put(mapIndex, orderItems);
}
}
}
}
return orderDetails;
}
protected Map<String, List<OrderBean.OrderDetailsBean>> orderDetailBeanToAddFoodRequest(List<OrderDetail> foodList) {
/**
* 1#主食品(完全新點)
* 2#主食品+子食品+細項(基礎上新加)
*/
long type1 = 1;
long type2 = 2;
//可重複的map
Map<String, List<OrderBean.OrderDetailsBean>> orderDetails = new IdentityHashMap<>();
if (foodList != null) {
//套餐明細ID
String mapIndex = "1-1";
int indexCount = 0;
List<OrderBean.OrderDetailsBean> orderItems = null;
for (int i = 0; i < foodList.size(); i++) {
OrderDetail food = foodList.get(i);
if (food.getItemType() == 1) {
orderItems = new ArrayList<>();
indexCount += 1;
if (food.isNew()) {
//完全新點的一個食品
mapIndex = indexCount + "-" + type1;
} else {
//基礎上新加
mapIndex = indexCount + "-" + type2;
}
}
OrderBean.OrderDetailsBean request = new OrderBean.OrderDetailsBean();
request.setOrderId(MyOrderManage.getInstance().getOrderId());
request.setProductName(food.getProductName());
request.setProductId(food.getProductId());
request.setParentId(food.getParentId());
request.setNumber(food.getNumber());
request.setPrice(food.getPrice());
request.setType(food.getType());
request.setLunchboxPrice(0);
if (food.isNew()) {
//這裡只添加新食品
orderItems.add(request);
}
int nextIndex = i + 1;
if (foodList.size() > nextIndex) {
if (foodList.get(nextIndex).getItemType() == 1 && orderItems != null && orderItems.size() > 0) {
//下一個食品是不是主食品
orderDetails.put(mapIndex, orderItems);
}
} else if (foodList.size() == nextIndex) {
//最後
if (orderItems != null) {
if (orderItems != null && orderItems.size() > 0) {
orderDetails.put(mapIndex, orderItems);
}
}
......
......@@ -3,11 +3,9 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.text.TextUtils;
import android.view.View;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.view.ViewUtils;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.constant.MealConstant;
......@@ -99,13 +97,11 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
public void initItemListener(Context context) {
mFineItemAllAdapter.setOnItemClickListener(new FineItemOneAdapter.OnItemClickListener() {
@Override
public void onItemClick(Modifier datasBean, int position) {
if (!ViewUtils.isFastClick2()) {
return;
}
VibratorUtils.pressButtonSound(mApplication);
if (context instanceof MealStandActivity) {
......
......@@ -6,7 +6,6 @@ import android.content.Context;
import android.view.View;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.view.ViewUtils;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.constant.MealConstant;
......@@ -106,10 +105,6 @@ public class FineItemKindPresenter extends BasePresenter<FineItemKindContract.Mo
@Override
public void onItemClick(Modifier datasBean, int position) {
if (!ViewUtils.isFastClick2()) {
return;
}
VibratorUtils.pressButtonSound(mApplication);
if (context instanceof MealStandActivity) {
......
......@@ -9,7 +9,6 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
......@@ -20,7 +19,8 @@ import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.OrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.constant.MealConstant;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
......@@ -41,7 +41,6 @@ import org.simple.eventbus.Subscriber;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
......@@ -328,7 +327,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
public void createOrder() {
OrderRequest request = getCreateOrderRequest(getOrderFoodLists());
CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists());
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
String json = GsonUtils.GsonString(request);
mModel.createOrder(requestBody)
......@@ -357,13 +356,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
public void addOrderFood() {
List<OrderDetail> newFoods = getNewOrderFoodLists();
for (OrderDetail food : newFoods) {
List<OrderDetail> foodLists = getOrderFoodLists();
for (OrderDetail food : foodLists) {
food.setOrderId(MyOrderManage.getInstance().getOrderId());
}
List<OrderBean.OrderDetailsBean> orderBeans = OrderBean.transOrderDetails(newFoods);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(orderBeans));
String json = GsonUtils.GsonString(orderBeans);
AddOrderRequest addOrderRequest = getAddOrderRequest(foodLists);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(addOrderRequest));
String json = GsonUtils.GsonString(addOrderRequest);
mModel.addFood(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
......@@ -380,7 +379,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
//通知更新餐台状态
EventBus.getDefault().post(OpenTableManage.getDefault().getTableBean().getId(), "initTable_status_event");
}
printSendOrder(getOrderFoodLists());
printSendOrder(foodLists);
mRootView.killMyself();
} else {
if (!hasNesOrderFoods()) {
......@@ -390,7 +389,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
//通知更新餐台状态
EventBus.getDefault().post(OpenTableManage.getDefault().getTableBean().getId(), "initTable_status_event");
}
printSendOrder(getOrderFoodLists());
printSendOrder(foodLists);
mRootView.killMyself();
} else {
mRootView.showMessage("送單失敗");
......
......@@ -11,12 +11,12 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderContentContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.OrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity;
......@@ -30,7 +30,6 @@ import com.jess.arms.utils.RxLifecycleUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
......@@ -132,7 +131,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
private void createOrder(boolean isPrint) {
OrderRequest request = getCreateOrderRequest(getOrderFoodLists());
CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists());
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
mModel.createOrder(requestBody)
.subscribeOn(Schedulers.io())
......@@ -170,13 +169,13 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
private void addOrderFood(boolean isPrint) {
List<OrderDetail> newFoods = getNewOrderFoodLists();
for (OrderDetail food : newFoods) {
List<OrderDetail> foodLists = getOrderFoodLists();
for (OrderDetail food : foodLists) {
food.setOrderId(MyOrderManage.getInstance().getOrderId());
}
List<OrderBean.OrderDetailsBean> orderBeans = OrderBean.transOrderDetails(newFoods);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(orderBeans));
String json = GsonUtils.GsonString(orderBeans);
AddOrderRequest addOrderRequest = getAddOrderRequest(foodLists);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(addOrderRequest));
String json = GsonUtils.GsonString(addOrderRequest);
mModel.addFood(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
......@@ -192,7 +191,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
printOrder(OpenTableManage.getDefault().getTableBean().getId());
} else {
mRootView.showMessage("送單成功");
printSendOrder(getOrderFoodLists());
printSendOrder(foodLists);
mRootView.sendSuccess();
}
} else {
......@@ -202,7 +201,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if(!hasNesOrderFoods()){
//TODO 未新增食品點擊送單 後台不讓過直接提示即可
mRootView.showMessage("送單成功");
printSendOrder(getOrderFoodLists());
printSendOrder(foodLists);
mRootView.sendSuccess();
}else {
mRootView.showMessage("送單失敗");
......@@ -303,8 +302,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
// .call();
// }
// protected OrderRequest getCreateOrderRequest(List<OrderDetail> foodList) {
// OrderRequest request = new OrderRequest();
// protected CreateOrderRequest getCreateOrderRequest(List<OrderDetail> foodList) {
// CreateOrderRequest request = new CreateOrderRequest();
// request.setOrderDetailMap(orderDetailBeanToFoodRequest(foodList));
// request.setPerson(OpenTableManage.getDefault().getPeopleNumber());
// request.setTableId(OpenTableManage.getDefault().getTableBean().getId());
......
......@@ -17,8 +17,8 @@ import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.table.app.payment.PayConstant;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderPayContract;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.OrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillMethodAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillMoneyAdapter;
......@@ -29,7 +29,6 @@ import com.jess.arms.utils.RxLifecycleUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
......@@ -216,7 +215,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
}
private void createOrder() {
OrderRequest request = getCreateOrderRequest(getOrderFoodLists());
CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists());
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
mModel.createOrder(requestBody)
.subscribeOn(Schedulers.io())
......@@ -247,13 +246,13 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
}
private void addOrderFood() {
List<OrderDetail> newFoods = getNewOrderFoodLists();
for (OrderDetail food : newFoods) {
List<OrderDetail> foodLists = getOrderFoodLists();
for (OrderDetail food : foodLists) {
food.setOrderId(MyOrderManage.getInstance().getOrderId());
}
List<OrderBean.OrderDetailsBean> orderBeans = OrderBean.transOrderDetails(newFoods);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(orderBeans));
String json = GsonUtils.GsonString(orderBeans);
AddOrderRequest addOrderRequest = getAddOrderRequest(foodLists);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(addOrderRequest));
String json = GsonUtils.GsonString(addOrderRequest);
mModel.addFood(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
......
......@@ -5,7 +5,6 @@ import android.content.Context;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.view.ViewUtils;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.TableAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.StateTableFragment;
......@@ -251,12 +250,9 @@ public class StateTablePresenter extends BasePresenter<StateTableContract.Model,
@Override
public void onItemClick(TableBean.DataBean item, int position) {
// if (ViewUtils.isFastClick2()) {
VibratorUtils.pressButtonSound(mApplication);
VibratorUtils.pressButtonSound(mApplication);
mActivity.clickTableItem(item);
// }
mActivity.clickTableItem(item);
}
});
}
......
......@@ -28,10 +28,8 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.constans.Constans;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.utils.view.ViewUtils;
import com.gingersoft.gsa.cloud.base.widget.DialogUtils;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
......@@ -353,9 +351,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
@Override
public void onItemClick(Food datasBean, int position) {
recordOperat(true);
if (!ViewUtils.isFastClick2()) {
return;
}
if (!foodGroupConditionFilter(datasBean, false)) {
return;
}
......@@ -524,10 +519,6 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
recordOperat(true);
if (!ViewUtils.isFastClick2()) {
return;
}
int id = v.getId();
if (id == R.id.btn_numberman) {
showChoosePeopleNumDialog(true);
......
......@@ -13,7 +13,6 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.view.ViewUtils;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderContentComponent;
......@@ -148,10 +147,6 @@ public class OrderContentActivity extends BaseActivity<OrderContentPresenter> im
recordOperat(true);
if (!ViewUtils.isFastClick2()) {
return;
}
int id = v.getId();
if (id == R.id.btn_table) {
killMyself();
......
......@@ -19,7 +19,6 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.base.utils.view.ViewUtils;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.app.payment.PayConstant;
......@@ -284,10 +283,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
recordOperat(true);
if (!ViewUtils.isFastClick2()) {
return;
}
int id = v.getId();
if (id == R.id.btn_table) {
......
......@@ -112,7 +112,6 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
@Override
public void onViewClick(View view, int position) {
if (mOnItemClickListener != null) {
//设置当前选中item颜色
datasBean.setSelected(true);
tv_food_name.setBackgroundColor(mContext.getResources().getColor(R.color.orange_500));
......
......@@ -9,7 +9,6 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.R;
......
......@@ -10,7 +10,6 @@ import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.utils.view.ViewUtils;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
......@@ -200,10 +199,8 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
@Override
public void onClick(View v) {
if (ViewUtils.isFastClick5()) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onItemClick(item, position);
}
}
}
});
......
......@@ -10,11 +10,9 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.view.ViewUtils;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.app.GoldConstants;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
......@@ -103,9 +101,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
setStatus(datasBean);
setOnItemClickListener((view, position1) -> {
if (ViewUtils.isFastClick2()) {
resetSelect(position1, datasBean);
}
resetSelect(position1, datasBean);
});
}
......
......@@ -5,7 +5,6 @@ import android.text.TextUtils;
import android.view.Gravity;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
......
ext.mainApp = true //设置为true,表示此module为主app module,一直以application方式编译
apply from: rootProject.file("cc-settings.gradle")
apply plugin: 'com.jakewharton.butterknife'
apply plugin: 'android-aspectjx'
//apply plugin: 'android-aspectjx'
android {
signingConfigs {
GSAndroidNew {
......
......@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.user.login.mvp.contract;
import com.gingersoft.gsa.cloud.ui.bean.mode.LoginBean;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import com.tbruyelle.rxpermissions2.RxPermissions;
import io.reactivex.Observable;
import okhttp3.RequestBody;
......@@ -28,6 +29,7 @@ public interface LoginContract {
void loginOut();
void startToSwitchServer();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
......@@ -3,14 +3,20 @@ package com.gingersoft.gsa.cloud.user.login.mvp.presenter;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.ui.bean.mode.LoginBean;
import com.gingersoft.gsa.cloud.user.login.R;
import com.gingersoft.gsa.cloud.user.login.mvp.contract.LoginContract;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.PermissionUtil;
import com.jess.arms.utils.RxLifecycleUtils;
import java.util.List;
import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers;
......@@ -45,6 +51,7 @@ public class LoginPresenter extends BasePresenter<LoginContract.Model, LoginCont
@Inject
AppManager mAppManager;
@Inject
public LoginPresenter(LoginContract.Model model, LoginContract.View rootView) {
super(model, rootView);
......@@ -129,6 +136,6 @@ public class LoginPresenter extends BasePresenter<LoginContract.Model, LoginCont
mRootView.loginOut();
}
});
}
}
......@@ -15,6 +15,8 @@ import android.widget.EditText;
import android.widget.ImageView;
import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.IComponentCallback;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.constans.UserConstans;
......@@ -34,6 +36,7 @@ import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.ArmsUtils;
import com.tbruyelle.rxpermissions2.RxPermissions;
import java.io.IOException;
import java.util.ArrayList;
......@@ -87,6 +90,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
@BindView(R2.id.ic_look_pwd)
ImageView mIvSeePwd;
private boolean passwrodVisibility = false;
@Override
......@@ -325,7 +329,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
}
jumpDownloadActivity();
dialog.dismiss();
killMyself();
// killMyself();
}).build();
if (!isFinishing() && dialog1 != null && !dialog1.isShowing()) {
dialog1.show();
......@@ -414,7 +418,13 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
CC.obtainBuilder("Component.Download")
.setActionName("showDownloadActivity")
.build()
.call();
.callAsync(new IComponentCallback() {
@Override
public void onResult(CC cc, CCResult result) {
//此onResult在子线程中运行
boolean result2 = result.isSuccess();
}
});
}
private void jumpMainActivity() {
......@@ -434,7 +444,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
startActivity(new Intent(mContext, SwitchServerActivity.class));
}
@Override
@OnClick({R2.id.tv_gsa_user_login, R2.id.iv_clear_pwd, R2.id.iv_clear_account, R2.id.tv_remember_pwd_text, R2.id.ic_look_pwd})
public void onClick(View v) {
switch (v.getId()) {
......
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