Commit 32aeaa84 by 宁斌

1、解决本机打印流程Dialog setText无效问题

parent 7376ca17
...@@ -40,7 +40,7 @@ import com.gingersoft.gsa.cloud.common.constans.DeliveryPickConstans; ...@@ -40,7 +40,7 @@ import com.gingersoft.gsa.cloud.common.constans.DeliveryPickConstans;
import com.gingersoft.gsa.cloud.common.constans.ExpandConstant; import com.gingersoft.gsa.cloud.common.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager; import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils; import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.common.service.GetInfoUpdateService; import com.gingersoft.gsa.cloud.common.service.DataNotificationService;
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil; import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils; import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.ui.utils.AppDialog; import com.gingersoft.gsa.cloud.ui.utils.AppDialog;
...@@ -220,7 +220,7 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre ...@@ -220,7 +220,7 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
private void initService() { private void initService() {
//開啟websocket //開啟websocket
Intent intent = new Intent(getApplicationContext(), GetInfoUpdateService.class); Intent intent = new Intent(getApplicationContext(), DataNotificationService.class);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startForegroundService(intent); startForegroundService(intent);
} else { } else {
...@@ -235,13 +235,13 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre ...@@ -235,13 +235,13 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
registerReceiver(clearHeartBroadcastReceiver, intentFilter); registerReceiver(clearHeartBroadcastReceiver, intentFilter);
} }
private GetInfoUpdateService.MyBind bind = null; private DataNotificationService.MyBind bind = null;
private ServiceConnection serviceConnection = new ServiceConnection() { private ServiceConnection serviceConnection = new ServiceConnection() {
@Override @Override
public void onServiceConnected(ComponentName name, IBinder service) { public void onServiceConnected(ComponentName name, IBinder service) {
bind = (GetInfoUpdateService.MyBind) service; bind = (DataNotificationService.MyBind) service;
if (bind != null) { if (bind != null) {
bind.setOnPostCallBack(type -> { bind.setOnPostCallBack(type -> {
// -1斷開連接,\n-2:消息傳輸錯誤,\n0:連接消息,\n1:登錄通知,\n2:登出通知,\n3:外賣送單通知,\n4:自取送單通知,\n5:歷史訂單通知,\n6:修改訂單狀態通知,\n7:支付成功通知" // -1斷開連接,\n-2:消息傳輸錯誤,\n0:連接消息,\n1:登錄通知,\n2:登出通知,\n3:外賣送單通知,\n4:自取送單通知,\n5:歷史訂單通知,\n6:修改訂單狀態通知,\n7:支付成功通知"
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</intent-filter> </intent-filter>
</activity> </activity>
<service android:name="com.gingersoft.gsa.cloud.common.service.GetInfoUpdateService" /> <service android:name="com.gingersoft.gsa.cloud.common.service.DataNotificationService" />
<meta-data <meta-data
android:name="com.gingersoft.gsa.cloud.common.config.globalconfig.GlobalConfiguration" android:name="com.gingersoft.gsa.cloud.common.config.globalconfig.GlobalConfiguration"
......
...@@ -7,7 +7,7 @@ import com.billy.cc.core.component.CCResult; ...@@ -7,7 +7,7 @@ import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil; import com.billy.cc.core.component.CCUtil;
import com.billy.cc.core.component.IComponent; import com.billy.cc.core.component.IComponent;
import com.gingersoft.gsa.cloud.component.ComponentName; import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.common.service.GetInfoUpdateService; import com.gingersoft.gsa.cloud.common.service.DataNotificationService;
import com.gingersoft.gsa.delivery_pick_mode.data.network.ServiceCreator; import com.gingersoft.gsa.delivery_pick_mode.data.network.ServiceCreator;
import com.gingersoft.gsa.delivery_pick_mode.mvp.ui.activity.PrjQueryActivity; import com.gingersoft.gsa.delivery_pick_mode.mvp.ui.activity.PrjQueryActivity;
import com.gingersoft.gsa.delivery_pick_mode.mvp.ui.activity.SendOrderActivity; import com.gingersoft.gsa.delivery_pick_mode.mvp.ui.activity.SendOrderActivity;
...@@ -52,7 +52,7 @@ public class DeliveryPickComponent implements IComponent { ...@@ -52,7 +52,7 @@ public class DeliveryPickComponent implements IComponent {
CC.sendCCResult(cc.getCallId(), CCResult.success()); CC.sendCCResult(cc.getCallId(), CCResult.success());
break; break;
case "closeHeart": case "closeHeart":
Intent intent = new Intent(cc.getContext(), GetInfoUpdateService.class); Intent intent = new Intent(cc.getContext(), DataNotificationService.class);
cc.getContext().stopService(intent); cc.getContext().stopService(intent);
break; break;
case "historyActivity": case "historyActivity":
......
...@@ -22,7 +22,7 @@ import com.gingersoft.gsa.cloud.common.core.delivery.OrderDetails.Companion.veri ...@@ -22,7 +22,7 @@ import com.gingersoft.gsa.cloud.common.core.delivery.OrderDetails.Companion.veri
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
import com.gingersoft.gsa.cloud.common.core.user.UserContext import com.gingersoft.gsa.cloud.common.core.user.UserContext
import com.gingersoft.gsa.cloud.common.logan.LoganManager import com.gingersoft.gsa.cloud.common.logan.LoganManager
import com.gingersoft.gsa.cloud.common.service.GetInfoUpdateService import com.gingersoft.gsa.cloud.common.service.DataNotificationService
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil import com.gingersoft.gsa.cloud.common.utils.other.TextUtil
...@@ -434,8 +434,8 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() { ...@@ -434,8 +434,8 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
}, { }, {
listener.invoke(getMsgBean(0, "", false)) listener.invoke(getMsgBean(0, "", false))
it.printStackTrace() it.printStackTrace()
GetInfoUpdateService.loginfo.append("錯誤信息111:" + it.message + " LOCALIZEDMESSAGE:" + it.localizedMessage + it.cause) DataNotificationService.loginfo.append("錯誤信息111:" + it.message + " LOCALIZEDMESSAGE:" + it.localizedMessage + it.cause)
GetInfoUpdateService.loginfo.append("\n") DataNotificationService.loginfo.append("\n")
}) })
} }
...@@ -575,12 +575,12 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() { ...@@ -575,12 +575,12 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
//添加PRJ //添加PRJ
//單獨包起來,哪怕這接口報錯也不要影響到正常的邏輯 //單獨包起來,哪怕這接口報錯也不要影響到正常的邏輯
repository.addPrj(dataBean.Order_ID.toString(), restaurantId.toString(), ids.toString()) repository.addPrj(dataBean.Order_ID.toString(), restaurantId.toString(), ids.toString())
GetInfoUpdateService.loginfo.append("添加PRJ:orderId:" + dataBean.Order_ID.toString() + "restaurantId:" + restaurantId + "orderDetailsIds:" + ids.toString()) DataNotificationService.loginfo.append("添加PRJ:orderId:" + dataBean.Order_ID.toString() + "restaurantId:" + restaurantId + "orderDetailsIds:" + ids.toString())
GetInfoUpdateService.loginfo.append("\n") DataNotificationService.loginfo.append("\n")
}, { }, {
it.printStackTrace() it.printStackTrace()
GetInfoUpdateService.loginfo.append("錯誤信息222:" + it.message + " LOCALIZEDMESSAGE:" + it.localizedMessage + it.cause) DataNotificationService.loginfo.append("錯誤信息222:" + it.message + " LOCALIZEDMESSAGE:" + it.localizedMessage + it.cause)
GetInfoUpdateService.loginfo.append("\n") DataNotificationService.loginfo.append("\n")
}) })
} }
if (isPrintBill) { if (isPrintBill) {
......
...@@ -31,7 +31,7 @@ import com.gingersoft.gsa.cloud.common.constans.ExpandConstant ...@@ -31,7 +31,7 @@ import com.gingersoft.gsa.cloud.common.constans.ExpandConstant
import com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans.TAKEAWAY_TYPE import com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans.TAKEAWAY_TYPE
import com.gingersoft.gsa.cloud.common.constans.FunctionManagerConstants import com.gingersoft.gsa.cloud.common.constans.FunctionManagerConstants
import com.gingersoft.gsa.cloud.common.function.FunctionManager import com.gingersoft.gsa.cloud.common.function.FunctionManager
import com.gingersoft.gsa.cloud.common.service.GetInfoUpdateService import com.gingersoft.gsa.cloud.common.service.DataNotificationService
import com.gingersoft.gsa.cloud.common.service.PostCallBack import com.gingersoft.gsa.cloud.common.service.PostCallBack
import com.gingersoft.gsa.cloud.order.order.BaseOrder import com.gingersoft.gsa.cloud.order.order.BaseOrder
import com.gingersoft.gsa.cloud.ui.utils.AppDialog import com.gingersoft.gsa.cloud.ui.utils.AppDialog
...@@ -395,7 +395,7 @@ class DeliveryOrderMainActivity : BaseActivity<IPresenter>(), View.OnClickListen ...@@ -395,7 +395,7 @@ class DeliveryOrderMainActivity : BaseActivity<IPresenter>(), View.OnClickListen
private fun initWebsocket() { private fun initWebsocket() {
//開啟websocket //開啟websocket
val service = Intent(applicationContext, GetInfoUpdateService::class.java) val service = Intent(applicationContext, DataNotificationService::class.java)
val notification: NotificationManagerCompat = NotificationManagerCompat.from(this) val notification: NotificationManagerCompat = NotificationManagerCompat.from(this)
if (!notification.areNotificationsEnabled()) { if (!notification.areNotificationsEnabled()) {
//未開啟通知權限 //未開啟通知權限
...@@ -446,12 +446,12 @@ class DeliveryOrderMainActivity : BaseActivity<IPresenter>(), View.OnClickListen ...@@ -446,12 +446,12 @@ class DeliveryOrderMainActivity : BaseActivity<IPresenter>(), View.OnClickListen
unbindService(serviceConnection) unbindService(serviceConnection)
} }
var bind: GetInfoUpdateService.MyBind? = null var bind: DataNotificationService.MyBind? = null
var lastRefreshTime: Long = 0 var lastRefreshTime: Long = 0
private var serviceConnection = object : ServiceConnection { private var serviceConnection = object : ServiceConnection {
override fun onServiceConnected(name: ComponentName, service: IBinder) { override fun onServiceConnected(name: ComponentName, service: IBinder) {
bind = service as GetInfoUpdateService.MyBind bind = service as DataNotificationService.MyBind
bind?.let { it -> bind?.let { it ->
it.setOnPostCallBack(object : PostCallBack { it.setOnPostCallBack(object : PostCallBack {
override fun callBack(type: Int) { override fun callBack(type: Int) {
......
...@@ -3,7 +3,7 @@ package com.gingersoft.gsa.delivery_pick_mode.ui.activity; ...@@ -3,7 +3,7 @@ package com.gingersoft.gsa.delivery_pick_mode.ui.activity;
import android.os.Bundle; import android.os.Bundle;
import android.widget.TextView; import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.gingersoft.gsa.cloud.common.service.GetInfoUpdateService; import com.gingersoft.gsa.cloud.common.service.DataNotificationService;
import com.gingersoft.gsa.delivery_pick_mode.R; import com.gingersoft.gsa.delivery_pick_mode.R;
public class LogActivity extends AppCompatActivity { public class LogActivity extends AppCompatActivity {
...@@ -14,13 +14,13 @@ public class LogActivity extends AppCompatActivity { ...@@ -14,13 +14,13 @@ public class LogActivity extends AppCompatActivity {
setContentView(R.layout.activity_log); setContentView(R.layout.activity_log);
loadInfo(); loadInfo();
findViewById(R.id.btn_clear_log).setOnClickListener(v -> { findViewById(R.id.btn_clear_log).setOnClickListener(v -> {
GetInfoUpdateService.loginfo.setLength(0); DataNotificationService.loginfo.setLength(0);
loadInfo(); loadInfo();
}); });
findViewById(R.id.btn_back).setOnClickListener(v ->finish()); findViewById(R.id.btn_back).setOnClickListener(v ->finish());
} }
private void loadInfo() { private void loadInfo() {
((TextView) findViewById(R.id.tv_log)).setText(GetInfoUpdateService.loginfo.toString()); ((TextView) findViewById(R.id.tv_log)).setText(DataNotificationService.loginfo.toString());
} }
} }
package com.joe.print.mvp.print; package com.joe.print.mvp.print;
public interface PrintListener { public interface PrintListener {
void connectionFailure(String msg);
void printStateChanged(int state); void printStateChanged(int state);
void printSuccess(); void printSuccess();
......
...@@ -36,6 +36,7 @@ import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInf ...@@ -36,6 +36,7 @@ import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInf
import com.gingersoft.gsa.cloud.common.logan.LoganManager; import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.printer.AidlUtil; import com.gingersoft.gsa.cloud.common.printer.AidlUtil;
import com.gingersoft.gsa.cloud.common.printer.plugins.PrinterPlugins; import com.gingersoft.gsa.cloud.common.printer.plugins.PrinterPlugins;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil; import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.common.utils.threadPool.ThreadPoolManager; import com.gingersoft.gsa.cloud.common.utils.threadPool.ThreadPoolManager;
import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils;
...@@ -80,6 +81,7 @@ import com.xuexiang.rxutil2.rxjava.RxJavaUtils; ...@@ -80,6 +81,7 @@ import com.xuexiang.rxutil2.rxjava.RxJavaUtils;
import com.xuexiang.rxutil2.rxjava.task.RxIOTask; import com.xuexiang.rxutil2.rxjava.task.RxIOTask;
import java.io.IOException; import java.io.IOException;
import java.net.ConnectException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
...@@ -232,7 +234,8 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket ...@@ -232,7 +234,8 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
//打印結果示例:<?xml version="1.0" encoding= "UTF-8" ?><WAPIResult><status>SUCCESS</status><requestType>PRINT</requestType><state>IDLE</state><systemInfo><appVersion>1.22.4.4.007</appVersion><OSVersion>9</OSVersion><ip>192.168.1.162</ip><mac>2059a018d3d6</mac><serialNumber>WSS503013000075</serialNumber><firmware>WSS50.501-02 (5.00.01.02.beta7)</firmware><hardware></hardware><terminalConfig>GNZZ_MTIPD_v13_with_AE_v1</terminalConfig><key>034040XXXXXXXXXXXXXX</key><bootloader>6.00.00.20 (6.00.00.34)</bootloader></systemInfo><timestamp>1601021267673</timestamp></WAPIResult> //打印結果示例:<?xml version="1.0" encoding= "UTF-8" ?><WAPIResult><status>SUCCESS</status><requestType>PRINT</requestType><state>IDLE</state><systemInfo><appVersion>1.22.4.4.007</appVersion><OSVersion>9</OSVersion><ip>192.168.1.162</ip><mac>2059a018d3d6</mac><serialNumber>WSS503013000075</serialNumber><firmware>WSS50.501-02 (5.00.01.02.beta7)</firmware><hardware></hardware><terminalConfig>GNZZ_MTIPD_v13_with_AE_v1</terminalConfig><key>034040XXXXXXXXXXXXXX</key><bootloader>6.00.00.20 (6.00.00.34)</bootloader></systemInfo><timestamp>1601021267673</timestamp></WAPIResult>
new BBposPrint().print(BBPosPrintDatas, listener, false); new BBposPrint().print(BBPosPrintDatas, listener, false);
} else { } else {
listener.printFailure("暫不支持本機型打印"); // listener.printFailure("暫不支持本機型打印");
PrinterPlugins.getOnPrinterFlowHandler().connectionError(new Exception("暫不支持本機型打印"));
} }
} }
...@@ -297,7 +300,6 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket ...@@ -297,7 +300,6 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
}); });
} }
private void startN5Print(PrintListener listener) { private void startN5Print(PrintListener listener) {
try { try {
PrinterUtil.startPrint(true, new IOnPrintCallback.Stub() { PrinterUtil.startPrint(true, new IOnPrintCallback.Stub() {
...@@ -309,8 +311,7 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket ...@@ -309,8 +311,7 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
PrinterPlugins.getOnPrinterFlowHandler().onPrintSuccess(); PrinterPlugins.getOnPrinterFlowHandler().onPrintSuccess();
} else { } else {
//打印失敗 //打印失敗
listener.printFailure("打印失敗"); listener.printFailure(UpdateBean.getStateByCode(i));
PrinterPlugins.getOnPrinterFlowHandler().onPrintError(new Exception(UpdateBean.getStateByCode(i)), i);
} }
} }
...@@ -372,8 +373,7 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket ...@@ -372,8 +373,7 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
if (code == SendResultCode.SEND_SUCCESS) { if (code == SendResultCode.SEND_SUCCESS) {
printSuccess(); printSuccess();
} else if (code == SendResultCode.SEND_FAILED) { } else if (code == SendResultCode.SEND_FAILED) {
PrinterPlugins.getOnPrinterFlowHandler().onPrintError(new Exception("usb打印失敗"), 0); printFailure("usb打印失敗");
printFailure("打印失敗");
} }
}); });
UsbPrinterFinder printerFinder = new UsbPrinterFinder(context, new PrinterFinderCallback<UsbPrinter>() { UsbPrinterFinder printerFinder = new UsbPrinterFinder(context, new PrinterFinderCallback<UsbPrinter>() {
...@@ -445,32 +445,26 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket ...@@ -445,32 +445,26 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
public void onResult(int errorCode) { public void onResult(int errorCode) {
switch (errorCode) { switch (errorCode) {
case PrintSocketHolder.ERROR_0: case PrintSocketHolder.ERROR_0:
PrinterPlugins.getOnPrinterFlowHandler().onPrintSuccess();
printSuccess(); printSuccess();
return; break;
case PrintSocketHolder.ERROR_6: case PrintSocketHolder.ERROR_6:
LoganManager.w_printer(TAG, "生成打印數據失敗"); LoganManager.w_printer(TAG, "生成打印數據失敗");
PrinterPlugins.getOnPrinterFlowHandler().connectionError(new Exception("生成打印數據失敗")); connectionFailure("生成打印數據失敗");
printFailure("生成打印數據失敗");
break; break;
case PrintSocketHolder.ERROR_7: case PrintSocketHolder.ERROR_7:
LoganManager.w_printer(TAG, "連接打印機失敗"); LoganManager.w_printer(TAG, "連接打印機失敗");
PrinterPlugins.getOnPrinterFlowHandler().connectionError(new Exception("連接打印機失敗")); connectionFailure("連接打印機失敗");
printFailure("連接打印機失敗");
break; break;
case PrintSocketHolder.ERROR_10: case PrintSocketHolder.ERROR_10:
LoganManager.w_printer(TAG, "打印機連接成功,發送數據出現問題" ); LoganManager.w_printer(TAG, "打印機連接成功,發送數據出現問題" );
PrinterPlugins.getOnPrinterFlowHandler().onPrintError(new Exception("打印機連接成功,發送數據出現問題"), errorCode);
printFailure("打印失敗,錯誤碼:" + errorCode); printFailure("打印失敗,錯誤碼:" + errorCode);
break; break;
case PrintSocketHolder.ERROR_9: case PrintSocketHolder.ERROR_9:
LoganManager.w_printer(TAG, "IP地址為空"); LoganManager.w_printer(TAG, "IP地址為空");
PrinterPlugins.getOnPrinterFlowHandler().connectionError(new Exception("IP地址為空")); connectionFailure("IP地址為空");
printFailure("IP地址為空");
break; break;
case PrintSocketHolder.ERROR_66: case PrintSocketHolder.ERROR_66:
LoganManager.w_printer(TAG, "關閉Socket出錯"); LoganManager.w_printer(TAG, "關閉Socket出錯");
PrinterPlugins.getOnPrinterFlowHandler().disconnect(new Exception("關閉打印機連接出错"));
break; break;
default: default:
break; break;
...@@ -490,6 +484,12 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket ...@@ -490,6 +484,12 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintSocket
} }
} }
private void connectionFailure(String errorMsg) {
if (printListener != null) {
printListener.connectionFailure(errorMsg);
}
}
@Override @Override
public void onStateChanged(int state) { public void onStateChanged(int state) {
setPrintState(state); setPrintState(state);
......
...@@ -53,6 +53,7 @@ import com.lxj.xpopup.XPopup; ...@@ -53,6 +53,7 @@ import com.lxj.xpopup.XPopup;
import java.net.ConnectException; import java.net.ConnectException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.TimerTask;
import javax.inject.Inject; import javax.inject.Inject;
...@@ -87,9 +88,6 @@ import static com.jess.arms.utils.Preconditions.checkNotNull; ...@@ -87,9 +88,6 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
*/ */
public class PrintActivity extends BaseActivity<PrintPresenter> implements PrintContract.View, DialogInterface.OnDismissListener, PrintListener, PrintSocketHolder.OnStateChangedListener, PrintExecutor.OnPrintResultListener { public class PrintActivity extends BaseActivity<PrintPresenter> implements PrintContract.View, DialogInterface.OnDismissListener, PrintListener, PrintSocketHolder.OnStateChangedListener, PrintExecutor.OnPrintResultListener {
@Inject
AppManager mAppManager;
public final static int ADD_PRINT_CODE = 1001;//添加打印機回調 public final static int ADD_PRINT_CODE = 1001;//添加打印機回調
public final static int FINISH = 1003;//關閉頁面 public final static int FINISH = 1003;//關閉頁面
...@@ -132,11 +130,6 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -132,11 +130,6 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
} }
@Override @Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(newBase);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) { public int initView(@Nullable Bundle savedInstanceState) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH); | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
...@@ -150,8 +143,6 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -150,8 +143,6 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
// .asLoading("加载中..."); // .asLoading("加载中...");
// loadingPopup.show(); // loadingPopup.show();
actionPrinter();
PrinterPlugins.setOnPrinterFlowHandler(new PrinterFlowListener() { PrinterPlugins.setOnPrinterFlowHandler(new PrinterFlowListener() {
@Override @Override
...@@ -161,11 +152,13 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -161,11 +152,13 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override @Override
public void connectionSuccess() { public void connectionSuccess() {
LoganManager.w_code(TAG, "PrinterPlugins connectionSuccess ThreadName=" + Thread.currentThread().getName());
printerLoadingDialog.setStep(2, PrinterLoadingDialog.status_success, null); printerLoadingDialog.setStep(2, PrinterLoadingDialog.status_success, null);
} }
@Override @Override
public void connectionError(Exception e) { public void connectionError(Exception e) {
LoganManager.w_code(TAG, "PrinterPlugins connectionError ThreadName=" + Thread.currentThread().getName());
printerResult = false; printerResult = false;
printerLoadingDialog.setStep(2, PrinterLoadingDialog.status_error, e.getMessage()); printerLoadingDialog.setStep(2, PrinterLoadingDialog.status_error, e.getMessage());
} }
...@@ -176,22 +169,26 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -176,22 +169,26 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override @Override
public void onPrinterDataBefore(int orderType, int printType, String printerData, String printerDeviceInfo) { public void onPrinterDataBefore(int orderType, int printType, String printerData, String printerDeviceInfo) {
LoganManager.w_code(TAG, "PrinterPlugins onPrinterDataBefore ThreadName=" + Thread.currentThread().getName());
printerLoadingDialog.setStep(1, PrinterLoadingDialog.status_success, null); printerLoadingDialog.setStep(1, PrinterLoadingDialog.status_success, null);
} }
@Override @Override
public void onPrinterBitmapBefore(int orderType, int printType, String directoryName, List<Bitmap> bitmaps) { public void onPrinterBitmapBefore(int orderType, int printType, String directoryName, List<Bitmap> bitmaps) {
LoganManager.w_code(TAG, "PrinterPlugins onPrinterBitmapBefore ThreadName=" + Thread.currentThread().getName());
printerLoadingDialog.setStep(1, PrinterLoadingDialog.status_success, null); printerLoadingDialog.setStep(1, PrinterLoadingDialog.status_success, null);
} }
@Override @Override
public void onPrintSuccess() { public void onPrintSuccess() {
LoganManager.w_code(TAG, "PrinterPlugins onPrintSuccess ThreadName=" + Thread.currentThread().getName());
printerResult = true; printerResult = true;
printerLoadingDialog.setStep(3, PrinterLoadingDialog.status_success, null); printerLoadingDialog.setStep(3, PrinterLoadingDialog.status_success, null);
} }
@Override @Override
public void onPrintError(Exception e, int errorCode) { public void onPrintError(Exception e, int errorCode) {
LoganManager.w_code(TAG, "PrinterPlugins onPrintError ThreadName=" + Thread.currentThread().getName());
printerResult = false; printerResult = false;
printerLoadingDialog.setStep(3, PrinterLoadingDialog.status_error, e.getMessage()); printerLoadingDialog.setStep(3, PrinterLoadingDialog.status_error, e.getMessage());
} }
...@@ -204,6 +201,12 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -204,6 +201,12 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
actionPrinter(); actionPrinter();
} }
@Override
protected void onResume() {
super.onResume();
actionPrinter();
}
private void actionPrinter() { private void actionPrinter() {
showPrintLoadingDialog(); showPrintLoadingDialog();
...@@ -228,7 +231,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -228,7 +231,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
if (printerLoadingDialog != null) { if (printerLoadingDialog != null) {
printerLoadingDialog = printerLoadingDialog.build(); printerLoadingDialog = printerLoadingDialog.build();
} else { } else {
printerLoadingDialog = new PrinterLoadingDialog(mContext).build(); printerLoadingDialog = new PrinterLoadingDialog(this).build();
} }
printerLoadingDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { printerLoadingDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override @Override
...@@ -438,6 +441,11 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -438,6 +441,11 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
} }
@Override @Override
public void connectionFailure(String msg) {
}
@Override
public void printStateChanged(int state) { public void printStateChanged(int state) {
String tip = "加載中..."; String tip = "加載中...";
switch (state) { switch (state) {
...@@ -501,7 +509,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -501,7 +509,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
//缺紙 //缺紙
printFailure("打印機缺紙"); printFailure("打印機缺紙");
tip = "打印機缺紙"; tip = "打印機缺紙";
PrinterPlugins.getOnPrinterFlowHandler().onPrintError(new Exception(tip), 0); // PrinterPlugins.getOnPrinterFlowHandler().onPrintError(new Exception(tip), 0);
break; break;
default: default:
break; break;
...@@ -520,6 +528,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -520,6 +528,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
CC.sendCCResult(callId, CCResult.success()); CC.sendCCResult(callId, CCResult.success());
} }
@Override @Override
public void printFailure(String msg) { public void printFailure(String msg) {
if (!TextUtil.isEmptyOrNullOrUndefined(msg)) { if (!TextUtil.isEmptyOrNullOrUndefined(msg)) {
......
package com.joe.print.mvp.ui.view; package com.joe.print.mvp.ui.view;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
...@@ -16,12 +18,15 @@ import android.widget.TextView; ...@@ -16,12 +18,15 @@ import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.airbnb.lottie.LottieAnimationView; import com.airbnb.lottie.LottieAnimationView;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.constant.HywebActionStatusCode; import com.gingersoft.gsa.cloud.pay.pos.hywebpos.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog;
import com.joe.print.R; import com.joe.print.R;
import com.qmuiteam.qmui.layout.QMUILinearLayout; import com.qmuiteam.qmui.layout.QMUILinearLayout;
import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import java.util.concurrent.atomic.AtomicInteger;
import butterknife.BindDrawable; import butterknife.BindDrawable;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
...@@ -38,7 +43,7 @@ public class PrinterLoadingDialog extends BaseRetryDialog { ...@@ -38,7 +43,7 @@ public class PrinterLoadingDialog extends BaseRetryDialog {
private static final String TAG = "PrinterLoadingDialog"; private static final String TAG = "PrinterLoadingDialog";
private Context mContext; private Activity mContext;
private TextView tv_generate_print_data, tv_connecting, tv_print_result, tv_error_msg; private TextView tv_generate_print_data, tv_connecting, tv_print_result, tv_error_msg;
...@@ -50,7 +55,7 @@ public class PrinterLoadingDialog extends BaseRetryDialog { ...@@ -50,7 +55,7 @@ public class PrinterLoadingDialog extends BaseRetryDialog {
private float mShadowAlpha = 0.25f; private float mShadowAlpha = 0.25f;
private int mShadowElevationDp = 14; private int mShadowElevationDp = 14;
public PrinterLoadingDialog(@NonNull Context context) { public PrinterLoadingDialog(@NonNull Activity context) {
super(context, R.style.MyDialogTheme2); super(context, R.style.MyDialogTheme2);
mContext = context; mContext = context;
mRadius = QMUIDisplayHelper.dp2px(mContext, 8); mRadius = QMUIDisplayHelper.dp2px(mContext, 8);
...@@ -103,9 +108,15 @@ public class PrinterLoadingDialog extends BaseRetryDialog { ...@@ -103,9 +108,15 @@ public class PrinterLoadingDialog extends BaseRetryDialog {
} }
public void setStep(int step, int status, String errorMsg) { public void setStep(int step, int status, String errorMsg) {
tv_generate_print_data.post(new Runnable() { mContext.runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
setPrintStateText(step, status, errorMsg);
}
});
}
private void setPrintStateText(int step, int status, String errorMsg) {
if (!TextUtils.isEmpty(errorMsg)) { if (!TextUtils.isEmpty(errorMsg)) {
tv_error_msg.setText(errorMsg); tv_error_msg.setText(errorMsg);
tv_error_msg.setVisibility(View.VISIBLE); tv_error_msg.setVisibility(View.VISIBLE);
...@@ -146,8 +157,6 @@ public class PrinterLoadingDialog extends BaseRetryDialog { ...@@ -146,8 +157,6 @@ public class PrinterLoadingDialog extends BaseRetryDialog {
} }
setStatusResult(step, status); setStatusResult(step, status);
} }
});
}
private void setStatusResult(int step, int status) { private void setStatusResult(int step, int status) {
switch (step) { switch (step) {
...@@ -190,14 +199,4 @@ public class PrinterLoadingDialog extends BaseRetryDialog { ...@@ -190,14 +199,4 @@ public class PrinterLoadingDialog extends BaseRetryDialog {
return R.layout.print_dialog_loading; return R.layout.print_dialog_loading;
} }
private OnClickListener onClickListener;
public void setOnClickListener(OnClickListener onClickListener) {
this.onClickListener = onClickListener;
}
public interface OnClickListener {
// void onItemClick(FoodReason item, int position, int deleteNumber);
}
} }
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