Commit f2cee8a5 by 宁斌

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
#	public-base/build.gradle
#	table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
#	table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
#	user-login/src/main/java/com/gingersoft/gsa/cloud/user/login/mvp/ui/activity/LoginActivity.java
parents 240616a2 b6f967f6
...@@ -4,60 +4,6 @@ ...@@ -4,60 +4,6 @@
package="com.gingersoft.gsa.cloud.main"> package="com.gingersoft.gsa.cloud.main">
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:resizeable="true"
android:smallScreens="true" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission
android:name="android.permission.ACCESS_MOCK_LOCATION"
tools:ignore="MockLocation" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- <uses-permission android:name="android.permission.RESTART_PACKAGES" /> -->
<!-- <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> -->
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<!-- <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.VIBRATE" />
<!-- 使用照相机权限 -->
<uses-permission android:name="android.permission.REORDER_TASKS" />
<!-- 自动聚焦权限 -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application> <application>
<activity android:name=".mvp.ui.activity.NewMainActivity"/> <activity android:name=".mvp.ui.activity.NewMainActivity"/>
<activity android:name=".mvp.ui.activity.MainActivity"/> <activity android:name=".mvp.ui.activity.MainActivity"/>
......
...@@ -362,8 +362,8 @@ public class MainTopFragment extends BaseFragment<MainTopPresenter> implements M ...@@ -362,8 +362,8 @@ public class MainTopFragment extends BaseFragment<MainTopPresenter> implements M
lineChart.setShowChartName(false); lineChart.setShowChartName(false);
//底部不顯示顏色代表的意思 //底部不顯示顏色代表的意思
lineChart.getLegend().setDisplay(false); lineChart.getLegend().setDisplay(false);
lineChart.getMatrixHelper().setWidthMultiple(1.2f); // lineChart.getMatrixHelper().setWidthMultiple(1f);
lineChart.getMatrixHelper().setCanZoom(true); lineChart.getMatrixHelper().setCanZoom(false);
lineChart.getHorizontalAxis().setRotateAngle(0);//設置底部文字旋轉角度 lineChart.getHorizontalAxis().setRotateAngle(0);//設置底部文字旋轉角度
lineChart.setFirstAnim(true); lineChart.setFirstAnim(true);
lineChart.setChartData(chartData2); lineChart.setChartData(chartData2);
......
...@@ -52,5 +52,4 @@ dependencies { ...@@ -52,5 +52,4 @@ dependencies {
releaseImplementation rootProject.ext.dependencies["canary-release"] releaseImplementation rootProject.ext.dependencies["canary-release"]
testImplementation rootProject.ext.dependencies["canary-release"] testImplementation rootProject.ext.dependencies["canary-release"]
testImplementation rootProject.ext.dependencies["junit"] testImplementation rootProject.ext.dependencies["junit"]
implementation 'com.sunmi:printerlibrary:1.0.7'
} }
...@@ -2,10 +2,16 @@ ...@@ -2,10 +2,16 @@
package="com.joe.print"> package="com.joe.print">
<application> <application>
<activity android:name=".mvp.ui.activity.OldPrintActivity" android:theme="@style/print_TranslucentTheme"/> <activity
<activity android:name=".mvp.ui.activity.PrintActivity" android:theme="@style/print_TranslucentTheme"/> android:name=".mvp.ui.activity.OldPrintActivity"
<activity android:name=".mvp.ui.activity.PrinterListActivity"/> android:launchMode="singleTop"
<activity android:name=".mvp.ui.activity.PrinterAddActivity"/> android:theme="@style/print_TranslucentTheme" />
<activity
android:name=".mvp.ui.activity.PrintActivity"
android:launchMode="singleTop"
android:theme="@style/print_TranslucentTheme" />
<activity android:name=".mvp.ui.activity.PrinterListActivity" />
<activity android:name=".mvp.ui.activity.PrinterAddActivity" />
</application> </application>
</manifest> </manifest>
package com.joe.print.mvp.contract; package com.joe.print.mvp.contract;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.jess.arms.mvp.IView; import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.jess.arms.mvp.IModel; import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import io.reactivex.Observable; import io.reactivex.Observable;
import okhttp3.RequestBody; import okhttp3.RequestBody;
...@@ -23,7 +24,7 @@ import okhttp3.RequestBody; ...@@ -23,7 +24,7 @@ import okhttp3.RequestBody;
public interface PrinterAddContract { public interface PrinterAddContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息 //对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView { interface View extends IView {
void addPrinterSuccess(); void addPrinterSuccess(PrinterDeviceBean printerDeviceBean);
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
...@@ -88,7 +88,7 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model, ...@@ -88,7 +88,7 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model,
@Override @Override
public void onNext(BaseResult baseResult) { public void onNext(BaseResult baseResult) {
if (baseResult.isSuccess()) { if (baseResult.isSuccess()) {
mRootView.addPrinterSuccess(); mRootView.addPrinterSuccess(printerDeviceBean);
} else { } else {
mRootView.showMessage("保存失敗"); mRootView.showMessage("保存失敗");
} }
......
package com.joe.print.mvp.print; package com.joe.print.mvp.print;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap;
import android.os.RemoteException;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils; import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
import com.sunmi.peripheral.printer.InnerPrinterCallback; import com.sunmi.peripheral.printer.InnerPrinterCallback;
import com.sunmi.peripheral.printer.InnerPrinterException; import com.sunmi.peripheral.printer.InnerPrinterException;
import com.sunmi.peripheral.printer.InnerPrinterManager; import com.sunmi.peripheral.printer.InnerPrinterManager;
import com.sunmi.peripheral.printer.InnerResultCallbcak;
import com.sunmi.peripheral.printer.SunmiPrinterService;
/** /**
* Created by Wyh on 2020/2/10. * Created by Wyh on 2020/2/10.
...@@ -25,57 +21,4 @@ public class SunMiPrint { ...@@ -25,57 +21,4 @@ public class SunMiPrint {
return false; return false;
} }
} }
public static boolean printBitmap(Context context, Bitmap bitmap) {
return bindService(context, new InnerPrinterCallback() {
@Override
protected void onConnected(SunmiPrinterService service) {
//驗證打印機狀態
if (PrintStatus.initV2PrintStatus(context, service)) {
try {
//打印機狀態正常,開始打印圖片
service.printBitmap(bitmap, new InnerResultCallbcak() {
@Override
public void onRunResult(boolean isSuccess) {
//返回接⼝执⾏的情况(并⾮真实打印):成功或失败
if (isSuccess) {
ToastUtils.show(context, "打印成功");
} else {
ToastUtils.show(context, "打印失敗");
}
}
@Override
public void onReturnString(String result) {
//部分接⼝会异步返回查询数据
ToastUtils.show(context, "onReturnString:" + result);
}
@Override
public void onRaiseException(int code, String msg) {
//接⼝执⾏失败时,返回的异常状态
ToastUtils.show(context, "打印異常狀態碼:" + code + "---MSG:" + msg);
}
@Override
public void onPrintResult(int code, String msg) {
//事务模式下真实的打印结果返回
ToastUtils.show(context, "打印結果:" + code + "---MSG:" + msg);
}
});
} catch (RemoteException e) {
e.printStackTrace();
//如部分接⼝只能⽤于指定机型所以会跑出调⽤接⼝异常,如钱箱接⼝只能⽤于台式机
ToastUtils.show(context, "打印失敗" + "msg:" + e.getMessage());
}
}
}
@Override
protected void onDisconnected() {
ToastUtils.show(context, "斷開連接");
}
});
}
} }
...@@ -6,11 +6,11 @@ import android.content.Context; ...@@ -6,11 +6,11 @@ import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.MotionEvent;
import android.view.WindowManager; import android.view.WindowManager;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult; import com.billy.cc.core.component.CCResult;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils; import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.joe.print.mvp.print.SendPrint; import com.joe.print.mvp.print.SendPrint;
...@@ -31,13 +31,13 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt ...@@ -31,13 +31,13 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt
private Dialog dialog; private Dialog dialog;
private String callId; private String callId;
/** /**-
* 是否打印成功 true:成功 * 是否打印成功 true:成功
*/ */
private boolean printStatus = false; private boolean printStatus = false;
private String ip; private String ip;
private String port; private Integer port;
private int paperType = 1;//打印紙類型 1:58mm,2::80mm private int paperType = 1;//打印紙類型 1:58mm,2::80mm
private int printWidth = 560;//打印出來的內容寬度 private int printWidth = 560;//打印出來的內容寬度
/** /**
...@@ -48,8 +48,11 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt ...@@ -48,8 +48,11 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt
* 3:廚房單 * 3:廚房單
*/ */
private int type = -1; private int type = -1;
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
getWindow().setBackgroundDrawable(null); getWindow().setBackgroundDrawable(null);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
...@@ -58,18 +61,21 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt ...@@ -58,18 +61,21 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt
printOrder(this); printOrder(this);
} }
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
//點擊當前頁面任意地方自動關閉
finish();
return true;
}
private void initIntent() { private void initIntent() {
Intent intent = getIntent(); Intent intent = getIntent();
ip = intent.getStringExtra("ip"); ip = intent.getStringExtra("ip");
port = intent.getStringExtra("port"); port = intent.getIntExtra("port", 0);
paperType = intent.getIntExtra("paperType", 1); paperType = intent.getIntExtra("paperType", 1);
type = intent.getIntExtra("type", -1); type = intent.getIntExtra("type", -1);
if (ip == null || ip.equals("")) { if (ip == null || ip.equals("")) {
ip = "192.168.1.217"; ip = "192.168.1.217";
} }
if (TextUtil.isEmptyOrNullOrUndefined(port) || port.equals("")) {
port = "0";
}
if (paperType == 1) { if (paperType == 1) {
paperType = PrinterWriter58mm.TYPE_58; paperType = PrinterWriter58mm.TYPE_58;
printWidth = 580 - 20;//兩邊留20的空隙 printWidth = 580 - 20;//兩邊留20的空隙
...@@ -87,14 +93,14 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt ...@@ -87,14 +93,14 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt
dialog.setOnDismissListener(dialog -> dismiss("")); dialog.setOnDismissListener(dialog -> dismiss(""));
dialog.setOnCancelListener(dialog -> dismiss("")); dialog.setOnCancelListener(dialog -> dismiss(""));
if (executor == null) { if (executor == null) {
executor = new PrintExecutor(ip, Integer.parseInt(port), paperType); executor = new PrintExecutor(ip, port, paperType);
executor.setOnStateChangedListener(this); executor.setOnStateChangedListener(this);
executor.setOnPrintResultListener(this); executor.setOnPrintResultListener(this);
} }
if (maker == null) { if (maker == null) {
maker = new SendPrint(context, 255, printWidth, type); maker = new SendPrint(context, 255, printWidth, type);
} }
executor.setIp(ip, Integer.parseInt(port)); executor.setIp(ip, port);
executor.doPrinterRequestAsync(maker); executor.doPrinterRequestAsync(maker);
executor.setReconnectTimes(3); executor.setReconnectTimes(3);
} }
...@@ -156,7 +162,7 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt ...@@ -156,7 +162,7 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt
private void dismiss(String msg) { private void dismiss(String msg) {
if(msg != null && !msg.equals("")){ if (msg != null && !msg.equals("")) {
ToastUtils.show(this, msg); ToastUtils.show(this, msg);
} }
//延遲一秒 //延遲一秒
......
package com.joe.print.mvp.ui.activity;
/**
* Created by Wyh on 2020/3/6.
*/
import android.annotation.SuppressLint;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.Charset;
public class PrintUtils {
private static final int LINE_BYTE_SIZE = 32;
private static OutputStream outputStream = null;
public static void setOutputStream(OutputStream outputStream) {
PrintUtils.outputStream = outputStream;
}
/**
* 打印文字
*
* @param text 要打印的文字
*/
public static void printText(String text) {
try {
byte[] data = text.getBytes("gbk");
outputStream.write(data, 0, data.length);
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 设置打印格式
*
* @param command 格式指令
*/
public static void selectCommand(byte[] command) {
try {
outputStream.write(command);
outputStream.flush();
} catch (IOException e) {
//Toast.makeText(this.context, "发送失败!", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
/**
* 复位打印机
*/
public static final byte[] RESET = {0x1b, 0x40};
/**
* 左对齐
*/
public static final byte[] ALIGN_LEFT = {0x1b, 0x61, 0x00};
/**
* 中间对齐
*/
public static final byte[] ALIGN_CENTER = {0x1b, 0x61, 0x01};
/**
* 选择加粗模式
*/
public static final byte[] BOLD = {0x1b, 0x45, 0x01};
/**
* 取消加粗模式
*/
public static final byte[] BOLD_CANCEL = {0x1b, 0x45, 0x00};
/**
* 宽高加倍
*/
public static final byte[] DOUBLE_HEIGHT_WIDTH = {0x1d, 0x21, 0x11};
/**
* 字体不放大
*/
public static final byte[] NORMAL = {0x1d, 0x21, 0x00};
/**
* 设置默认行间距
*/
public static final byte[] LINE_SPACING_DEFAULT = {0x1b, 0x32};
// /**
// * 设置行间距
// */
public static final byte[] LINE_SPACING = {0x1b, 0x33, 0x50}; // 20的行间距(0,255)
/**
* 设置字符间距
*/
public static final byte[] COLUMN_SPACING = {0x1b, 0x20, 0x25};
/**
* 取消设置字符间距
*/
public static final byte[] COLUMN_SPACING_CANCEL = {0x1b, 0x20, 0x00};
/**
* 打印两列
*
* @param leftText 左侧文字
* @param rightText 右侧文字
* @return
*/
@SuppressLint("NewApi")
public static String printTwoData(String leftText, String rightText) {
StringBuilder sb = new StringBuilder();
int leftTextLength = getBytesLength(leftText);
int rightTextLength = getBytesLength(rightText);
sb.append(leftText);
// 计算两侧文字中间的空格
int marginBetweenMiddleAndRight = LINE_BYTE_SIZE - leftTextLength - rightTextLength;
for (int i = 0; i < marginBetweenMiddleAndRight; i++) {
sb.append(" ");
}
sb.append(rightText);
return sb.toString();
}
/**
* 获取数据长度
*
* @param msg
* @return
*/
@SuppressLint("NewApi")
private static int getBytesLength(String msg) {
return msg.getBytes(Charset.forName("GB2312")).length;
}
}
\ No newline at end of file
...@@ -204,9 +204,12 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem ...@@ -204,9 +204,12 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
} }
@Override @Override
public void addPrinterSuccess() { public void addPrinterSuccess(PrinterDeviceBean printerDeviceBean) {
//添加或編輯打印機成功 //添加或編輯打印機成功
showMessage("保存成功"); showMessage("保存成功");
Intent data = new Intent();
data.putExtra("printDevice", printerDeviceBean);
setResult(PrintActivity.ADD_PRINT_CODE, data);
finish(); finish();
} }
......
...@@ -87,5 +87,5 @@ dependencies { ...@@ -87,5 +87,5 @@ dependencies {
//時間選擇控件 //時間選擇控件
implementation 'org.aspectj:aspectjrt:1.8.9' implementation 'org.aspectj:aspectjrt:1.8.9'
api files('libs/nexgon5lib.jar') api files('libs/nexgon5lib.jar')
implementation files('libs/nexgon5lib.jar') api 'com.sunmi:printerlibrary:1.0.7'
} }
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.base.application; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.base.application;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.os.Build;
import android.os.RemoteException; import android.os.RemoteException;
import android.util.Log; import android.util.Log;
...@@ -18,6 +19,7 @@ import com.elvishew.xlog.printer.file.clean.FileLastModifiedCleanStrategy; ...@@ -18,6 +19,7 @@ import com.elvishew.xlog.printer.file.clean.FileLastModifiedCleanStrategy;
import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator; import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator;
import com.gingersoft.gsa.cloud.base.BuildConfig; import com.gingersoft.gsa.cloud.base.BuildConfig;
import com.gingersoft.gsa.cloud.base.common.bean.CurrentAndroidSetting; import com.gingersoft.gsa.cloud.base.common.bean.CurrentAndroidSetting;
import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
import com.gingersoft.gsa.cloud.base.utils.constans.UserConstans; import com.gingersoft.gsa.cloud.base.utils.constans.UserConstans;
import com.gingersoft.gsa.cloud.base.utils.crash.AppCrashHandler; import com.gingersoft.gsa.cloud.base.utils.crash.AppCrashHandler;
import com.gingersoft.gsa.cloud.base.utils.file.FileUtils; import com.gingersoft.gsa.cloud.base.utils.file.FileUtils;
...@@ -66,12 +68,17 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -66,12 +68,17 @@ public class GsaCloudApplication extends BaseApplication {
androidSetting = new CurrentAndroidSetting(); androidSetting = new CurrentAndroidSetting();
try { if (GsaCloudApplication.mV2.contains(Build.MODEL)) {
//初始化N5打印 //商米打印
PrinterUtil.initPrinter(this); AidlUtil.getInstance().connectPrinterService(this);
} catch (NoInitPrinterException | RemoteException e) { } else if (GsaCloudApplication.mN5.contains(Build.MODEL)) {
e.printStackTrace(); try {
Log.e("error", "GsaCloudApplication打印初始化失敗:" + e.getMessage()); //初始化N5打印
PrinterUtil.initPrinter(this);
} catch (NoInitPrinterException | RemoteException e) {
e.printStackTrace();
Log.e("error", "GsaCloudApplication打印初始化失敗:" + e.getMessage());
}
} }
} }
......
...@@ -88,7 +88,7 @@ public class MyOrderManage { ...@@ -88,7 +88,7 @@ public class MyOrderManage {
} }
public Date getOpenTableTime() { public Date getOpenTableTime() {
if (orderBean != null) { if (orderBean != null && orderBean.getCreateTime() != null) {
return new Date(orderBean.getCreateTime()); return new Date(orderBean.getCreateTime());
} }
return new Date(); return new Date();
......
package com.joe.print.mvp.print; package com.gingersoft.gsa.cloud.base.utils;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.os.RemoteException; import android.os.RemoteException;
import android.widget.Toast; import android.widget.Toast;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.log.LogUtil; import com.gingersoft.gsa.cloud.base.utils.log.LogUtil;
import com.sunmi.peripheral.printer.ICallback;
import com.sunmi.peripheral.printer.InnerPrinterCallback; import com.sunmi.peripheral.printer.InnerPrinterCallback;
import com.sunmi.peripheral.printer.InnerPrinterException; import com.sunmi.peripheral.printer.InnerPrinterException;
import com.sunmi.peripheral.printer.InnerPrinterManager; import com.sunmi.peripheral.printer.InnerPrinterManager;
import com.sunmi.peripheral.printer.InnerResultCallbcak;
import com.sunmi.peripheral.printer.SunmiPrinterService; import com.sunmi.peripheral.printer.SunmiPrinterService;
...@@ -161,7 +160,7 @@ public class AidlUtil { ...@@ -161,7 +160,7 @@ public class AidlUtil {
/* /*
*打印图片 *打印图片
*/ */
public void printBitmap(Bitmap bitmap) { public void printBitmap(Bitmap bitmap,InnerResultCallbcak mInnerResultCallbcak) {
if (sunmiPrinterService == null) { if (sunmiPrinterService == null) {
Toast.makeText(context, LanguageUtils.get_language_system(context, "server.disconnected", "未連接上打印機!"), Toast.LENGTH_LONG).show(); Toast.makeText(context, LanguageUtils.get_language_system(context, "server.disconnected", "未連接上打印機!"), Toast.LENGTH_LONG).show();
return; return;
...@@ -169,7 +168,7 @@ public class AidlUtil { ...@@ -169,7 +168,7 @@ public class AidlUtil {
try { try {
sunmiPrinterService.setAlignment(1, null); sunmiPrinterService.setAlignment(1, null);
sunmiPrinterService.printBitmap(bitmap, null); sunmiPrinterService.printBitmap(bitmap, mInnerResultCallbcak);
sunmiPrinterService.lineWrap(3, null); sunmiPrinterService.lineWrap(3, null);
} catch (RemoteException e) { } catch (RemoteException e) {
e.printStackTrace(); e.printStackTrace();
......
...@@ -3,13 +3,12 @@ package com.gingersoft.gsa.cloud.table.mvp.contract; ...@@ -3,13 +3,12 @@ package com.gingersoft.gsa.cloud.table.mvp.contract;
import android.app.Activity; import android.app.Activity;
import android.widget.BaseAdapter; import android.widget.BaseAdapter;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo; import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.FoodModifier; import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose; import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import java.util.List; import java.util.List;
...@@ -37,6 +36,8 @@ public interface MealStandContract { ...@@ -37,6 +36,8 @@ public interface MealStandContract {
boolean isInitFineItemLayout(); boolean isInitFineItemLayout();
int getRestaurantId();
void initFineItemTabBarViewPage(); void initFineItemTabBarViewPage();
void showFinePage(); void showFinePage();
......
...@@ -17,6 +17,7 @@ public class CreateOrderRequest { ...@@ -17,6 +17,7 @@ public class CreateOrderRequest {
private int person; private int person;
private int tableId; private int tableId;
private int restaurantId;
private Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails; private Map<Long, List<OrderBean.OrderDetailsBean>> orderDetails;
public int getPerson() { public int getPerson() {
...@@ -35,6 +36,14 @@ public class CreateOrderRequest { ...@@ -35,6 +36,14 @@ public class CreateOrderRequest {
this.tableId = tableId; this.tableId = tableId;
} }
public int getRestaurantId() {
return restaurantId;
}
public void setRestaurantId(int restaurantId) {
this.restaurantId = restaurantId;
}
public Map<Long, List<OrderBean.OrderDetailsBean>> getOrderDetails() { public Map<Long, List<OrderBean.OrderDetailsBean>> getOrderDetails() {
return orderDetails; return orderDetails;
} }
......
...@@ -13,6 +13,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.BillOrderMoney; ...@@ -13,6 +13,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest; 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.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.OrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity; 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.OrderMoneyAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
...@@ -26,7 +27,6 @@ import java.util.ArrayList; ...@@ -26,7 +27,6 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.IdentityHashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
......
...@@ -346,7 +346,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -346,7 +346,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
setOrderId((Double) info.getData()); setOrderId((Double) info.getData());
} }
mRootView.showMessage("送單成功"); mRootView.showMessage("送單成功");
printSendOrder(MyOrderManage.getInstance().getOrderFoodList()); printSendOrder(getOrderFoodLists());
IActivity.returnTableActivity(true); IActivity.returnTableActivity(true);
} else { } else {
mRootView.showMessage("送單失敗"); mRootView.showMessage("送單失敗");
......
...@@ -419,6 +419,11 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen ...@@ -419,6 +419,11 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
} }
@Override @Override
public int getRestaurantId() {
return GsaCloudApplication.getRestaurantId(mContext);
}
@Override
public void initFineItemTabBarViewPage() { public void initFineItemTabBarViewPage() {
fm = getSupportFragmentManager(); fm = getSupportFragmentManager();
List<Fragment> fragmentList = new ArrayList<>(); List<Fragment> fragmentList = new ArrayList<>();
......
...@@ -130,7 +130,7 @@ public class OrderContentActivity extends BaseActivity<OrderContentPresenter> im ...@@ -130,7 +130,7 @@ public class OrderContentActivity extends BaseActivity<OrderContentPresenter> im
String openTime = String.format("%tH:%tM", dd, dd); String openTime = String.format("%tH:%tM", dd, dd);
String tableno = ""; String tableno = "";
if (!OpenTableManage.getDefault().isSplite()) { if (!OpenTableManage.getDefault().isSplite() && OpenTableManage.getDefault().getTableBean() != null) {
tableno = OpenTableManage.getDefault().getTableBean().getTableName(); tableno = OpenTableManage.getDefault().getTableBean().getTableName();
} else {//TODO 暫未分檯功能 } else {//TODO 暫未分檯功能
// tableno = GSAApplication.tableContract.getTableno().trim() + "-" + GSAApplication.tableContract.getTableno_split().trim(); // tableno = GSAApplication.tableContract.getTableno().trim() + "-" + GSAApplication.tableContract.getTableno_split().trim();
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<application <application
android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication" android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication"
android:allowBackup="true" android:allowBackup="true"
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
<activity <activity
android:name=".mvp.ui.activity.LoginActivity" android:name=".mvp.ui.activity.LoginActivity"
android:windowSoftInputMode="adjustResize|stateHidden"
android:launchMode="singleTop"> android:launchMode="singleTop">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
......
...@@ -36,7 +36,6 @@ import com.jess.arms.base.BaseActivity; ...@@ -36,7 +36,6 @@ import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent; import com.jess.arms.di.component.AppComponent;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import com.tbruyelle.rxpermissions2.RxPermissions;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -90,7 +89,6 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login ...@@ -90,7 +89,6 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
@BindView(R2.id.ic_look_pwd) @BindView(R2.id.ic_look_pwd)
ImageView mIvSeePwd; ImageView mIvSeePwd;
private boolean passwrodVisibility = false; private boolean passwrodVisibility = false;
@Override @Override
...@@ -114,6 +112,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login ...@@ -114,6 +112,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
@Override @Override
public int initView(@Nullable Bundle savedInstanceState) { public int initView(@Nullable Bundle savedInstanceState) {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
return R.layout.user_login_activity_login; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0 return R.layout.user_login_activity_login; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
} }
...@@ -219,11 +218,13 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login ...@@ -219,11 +218,13 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
private void killBeforeActivty() { private void killBeforeActivty() {
List<Activity> activities = mAppManager.getActivityList(); List<Activity> activities = mAppManager.getActivityList();
for (int i = activities.size() - 1; i >= 0; i--) { for (int i = activities.size() - 1; i >= 0; i--) {
Activity activity = activities.get(i); if (i < activities.size()) {
if (!activity.getClass().getName().equals(getClass().getName())) { Activity activity = activities.get(i);
LogUtil.d(TAG, "killBeforeActivty: " + i + " - " + activity.getClass().getSimpleName()); if (!activity.getClass().getName().equals(getClass().getName())) {
mAppManager.killActivity(activity.getClass()); LogUtil.d(TAG, "killBeforeActivty: " + i + " - " + activity.getClass().getSimpleName());
mAppManager.removeActivity(activity); mAppManager.killActivity(activity.getClass());
mAppManager.removeActivity(activity);
}
} }
} }
} }
...@@ -291,11 +292,8 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login ...@@ -291,11 +292,8 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
GsaCloudApplication.setBrandRestaurantInfos(this, ""); GsaCloudApplication.setBrandRestaurantInfos(this, "");
if (loginBean.getData() != null) { if (loginBean.getData() != null) {
GsaCloudApplication.setLoginToken(LoginActivity.this, loginBean.getData().getToken()); GsaCloudApplication.setLoginToken(LoginActivity.this, loginBean.getData().getToken());
if (loginBean.getData().getUser() != null) { if (loginBean.getData().getUser() != null) {
GsaCloudApplication.setMemberId(LoginActivity.this, loginBean.getData().getUser().getUserId()); GsaCloudApplication.setMemberId(LoginActivity.this, loginBean.getData().getUser().getUserId());
GsaCloudApplication.setMemberName(LoginActivity.this, loginBean.getData().getUser().getUserName()); GsaCloudApplication.setMemberName(LoginActivity.this, loginBean.getData().getUser().getUserName());
...@@ -327,11 +325,11 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login ...@@ -327,11 +325,11 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
if (brandsBean != null) { if (brandsBean != null) {
saveBrandAndRestaurantInfo(brandsBean.getBrandId(), brandsBean.getBrandName(), item.getId(), item.getText()); saveBrandAndRestaurantInfo(brandsBean.getBrandId(), brandsBean.getBrandName(), item.getId(), item.getText());
} }
jumpDownloadActivity();
dialog.dismiss(); dialog.dismiss();
jumpDownloadActivity();
// killMyself(); // killMyself();
}).build(); }).build();
if (!isFinishing() && dialog1 != null && !dialog1.isShowing()) { if (!isFinishing() && dialog1 != null && !dialog1.isShowing() && !isDestroy) {
dialog1.show(); dialog1.show();
} }
} }
...@@ -340,13 +338,16 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login ...@@ -340,13 +338,16 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
} }
} }
private boolean isDestroy = false;
@Override @Override
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
Log.e("error", "登陸頁面銷毀:onDestroy"); Log.e("error", "登陸頁面銷毀:onDestroy");
// if (dialog != null) { if (dialog1 != null) {
// dialog.dismiss(); dialog1.dismiss();
// } }
isDestroy = true;
} }
/** /**
...@@ -418,13 +419,8 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login ...@@ -418,13 +419,8 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
CC.obtainBuilder("Component.Download") CC.obtainBuilder("Component.Download")
.setActionName("showDownloadActivity") .setActionName("showDownloadActivity")
.build() .build()
.callAsync(new IComponentCallback() { .call();
@Override killMyself();
public void onResult(CC cc, CCResult result) {
//此onResult在子线程中运行
boolean result2 = result.isSuccess();
}
});
} }
private void jumpMainActivity() { private void jumpMainActivity() {
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?><!--<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"-->
<!-- xmlns:app="http://schemas.android.com/apk/res-auto"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"-->
<!-- android:fillViewport="true">-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/theme_white_color" android:background="@color/theme_white_color"
android:clipChildren="true"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
...@@ -118,8 +124,8 @@ ...@@ -118,8 +124,8 @@
android:layout_width="@dimen/dp_30" android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30" android:layout_height="@dimen/dp_30"
android:padding="@dimen/dp_5" android:padding="@dimen/dp_5"
android:visibility="gone"
android:src="@mipmap/ic_password_hide" android:src="@mipmap/ic_password_hide"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/ed_login_user_pwd" app:layout_constraintBottom_toBottomOf="@id/ed_login_user_pwd"
app:layout_constraintRight_toLeftOf="@id/iv_clear_pwd" app:layout_constraintRight_toLeftOf="@id/iv_clear_pwd"
app:layout_constraintTop_toTopOf="@id/ed_login_user_pwd" /> app:layout_constraintTop_toTopOf="@id/ed_login_user_pwd" />
...@@ -167,12 +173,11 @@ ...@@ -167,12 +173,11 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_10"
android:text="v1.0" android:text="v1.0"
android:textSize="16dp" android:textSize="@dimen/sp_16"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent" />
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.95" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout><!--</ScrollView>-->
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