Commit 8300e096 by 王宇航

3-06 登陸UI優化

parent 8dcec7ed
......@@ -4,60 +4,6 @@
package="com.gingersoft.gsa.cloud.main">
<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>
<activity android:name=".mvp.ui.activity.NewMainActivity"/>
<activity android:name=".mvp.ui.activity.MainActivity"/>
......
package com.joe.print.mvp.contract;
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.IView;
import io.reactivex.Observable;
import okhttp3.RequestBody;
......@@ -23,7 +24,7 @@ import okhttp3.RequestBody;
public interface PrinterAddContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void addPrinterSuccess();
void addPrinterSuccess(PrinterDeviceBean printerDeviceBean);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
......@@ -88,7 +88,7 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model,
@Override
public void onNext(BaseResult baseResult) {
if (baseResult.isSuccess()) {
mRootView.addPrinterSuccess();
mRootView.addPrinterSuccess(printerDeviceBean);
} else {
mRootView.showMessage("保存失敗");
}
......
......@@ -10,7 +10,6 @@ import android.view.WindowManager;
import com.billy.cc.core.component.CC;
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.ui.widget.dialog.LoadingDialog;
import com.joe.print.mvp.print.SendPrint;
......@@ -37,7 +36,7 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt
private boolean printStatus = false;
private String ip;
private String port;
private Integer port;
private int paperType = 1;//打印紙類型 1:58mm,2::80mm
private int printWidth = 560;//打印出來的內容寬度
/**
......@@ -48,6 +47,7 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt
* 3:廚房單
*/
private int type = -1;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -61,15 +61,12 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt
private void initIntent() {
Intent intent = getIntent();
ip = intent.getStringExtra("ip");
port = intent.getStringExtra("port");
port = intent.getIntExtra("port", 0);
paperType = intent.getIntExtra("paperType", 1);
type = intent.getIntExtra("type", -1);
if (ip == null || ip.equals("")) {
ip = "192.168.1.217";
}
if (TextUtil.isEmptyOrNullOrUndefined(port) || port.equals("")) {
port = "0";
}
if (paperType == 1) {
paperType = PrinterWriter58mm.TYPE_58;
printWidth = 580 - 20;//兩邊留20的空隙
......@@ -87,14 +84,14 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt
dialog.setOnDismissListener(dialog -> dismiss(""));
dialog.setOnCancelListener(dialog -> dismiss(""));
if (executor == null) {
executor = new PrintExecutor(ip, Integer.parseInt(port), paperType);
executor = new PrintExecutor(ip, port, paperType);
executor.setOnStateChangedListener(this);
executor.setOnPrintResultListener(this);
}
if (maker == null) {
maker = new SendPrint(context, 255, printWidth, type);
}
executor.setIp(ip, Integer.parseInt(port));
executor.setIp(ip, port);
executor.doPrinterRequestAsync(maker);
executor.setReconnectTimes(3);
}
......@@ -156,7 +153,7 @@ public class OldPrintActivity extends Activity implements PrintSocketHolder.OnSt
private void dismiss(String msg) {
if(msg != null && !msg.equals("")){
if (msg != null && !msg.equals("")) {
ToastUtils.show(this, msg);
}
//延遲一秒
......
......@@ -85,6 +85,8 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
*/
private int type = -1;
public final static int ADD_PRINT_CODE = 1001;//添加打印機回調
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerPrintComponent //如找不到该类,请编译一下项目
......@@ -102,29 +104,8 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public void initData(@Nullable Bundle savedInstanceState) {
// if (mV2.contains(Build.MODEL)) {
//
// } else if (mN5.contains(Build.MODEL)) {
try {
//初始化N5打印
int state = PrinterUtil.getStatus();
Log.e("error", "打印機狀態:" + state);
} catch (NullPointerException e) {
e.printStackTrace();
//如果是空指針,那麼需要初始化
try {
PrinterUtil.initPrinter(this);
} catch (NoInitPrinterException | RemoteException ex) {
ex.printStackTrace();
ToastUtils.show(mContext, "打印初始化失敗" + ex.getMessage());
Log.e("error", "打印初始化失敗:" + ex.getMessage());
}
} catch (RemoteException e){
ToastUtils.show(mContext, "獲取狀態失敗:" + e.getMessage());
Log.e("error", "獲取狀態失敗:" + e.getMessage());
}
// }
initPrint();
//獲取打印類型,根據打印類型生成對應的bitmap
type = CCUtil.getNavigateParam(this, "type", 1001);
List<Bitmap> bitmaps = PrintUtils.getPrintBitmap(mContext, type, 500);
if (bitmaps.size() <= 0) {
......@@ -132,6 +113,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
finish();
return;
}
//獲得用戶默認的打印方式
if (Objects.equals(SPUtils.get(mContext, Constans.DEFAULT_PRINT_METHOD, ""), "")) {
//如果沒有默認打印位置
noDefaultPrintMethod(bitmaps);
......@@ -146,6 +128,29 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
}
}
private void initPrint() {
// if (mV2.contains(Build.MODEL)) {
//
// } else if (mN5.contains(Build.MODEL)) {
try {
//初始化N5打印
int state = PrinterUtil.getStatus();
Log.e("error", "打印機狀態:" + state);
} catch (NullPointerException e) {
e.printStackTrace();
//如果是空指針,那麼需要初始化
try {
PrinterUtil.initPrinter(this);
} catch (NoInitPrinterException | RemoteException ex) {
ex.printStackTrace();
Log.e("error", "打印初始化失敗:" + ex.getMessage());
}
} catch (RemoteException e) {
Log.e("error", "獲取狀態失敗:" + e.getMessage());
}
// }
}
private void noDefaultPrintMethod(List<Bitmap> bitmaps) {
selectDialog = new DialogUtils(mContext, R.layout.print_dialog_select_device) {
@Override
......@@ -229,7 +234,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
try {
PrinterUtil.startPrint(true, new IOnPrintCallback.Stub() {
@Override
public void onPrintResult(int i) throws RemoteException {
public void onPrintResult(int i) {
Log.e("error", "打印回調:" + i);
Looper.prepare();
if (i == 0) {
......@@ -240,6 +245,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
printFile();
}
}
@Override
public IBinder asBinder() {
return this;
......@@ -249,27 +255,6 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
e.printStackTrace();
}
}
private IOnPrintCallback mIOnPrintCallback = new IOnPrintCallback() {
@Override
public void onPrintResult(int i) {
Log.e("error", "打印回調:" + i);
Looper.prepare();
if (i == 0) {
//打印成功
ToastUtils.show(mContext, "N5打印結果:成功");
printSuccess();
} else {
//打印失敗
ToastUtils.show(mContext, "N5打印結果:失敗");
printFile();
}
}
@Override
public IBinder asBinder() {
return null;
}
};
/**
* 打印失敗
......@@ -352,35 +337,61 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
if (selectDialog != null && selectDialog.isShowing()) {
selectDialog.dismiss();
}
//有打印機,彈出彈窗,選擇打印機
new DialogUtils(mContext, R.layout.print_dialog_internet_list) {
@Override
public void initLayout(ViewHepler hepler, Dialog dialog) {
dialogCount++;
RecyclerView mRvPrintList = hepler.getView(R.id.rv_print_list);
List<PrinterDeviceBean> deviceBeans = PrinterManager.getPrinterManager().getDeviceBeans();
DialogPrinterListAdapter printListAdapter = new DialogPrinterListAdapter(deviceBeans, mContext);
mRvPrintList.setLayoutManager(new LinearLayoutManager(mContext));
//分割线
mRvPrintList.addItemDecoration(new DefaultItemDecoration(ContextCompat.getColor(mContext, R.color.line_color)));
mRvPrintList.setAdapter(printListAdapter);
printListAdapter.setOnItemClickListener((adapter, view, position) -> {
Intent intent = new Intent(mContext, OldPrintActivity.class);
intent.putExtra("ip", deviceBeans.get(position).getIp());
intent.putExtra("port", deviceBeans.get(position).getPort());
intent.putExtra("paperType", deviceBeans.get(position).getType());
intent.putExtra("type", type);
startActivity(intent);
dialog.dismiss();
finish();
});
dialog.setOnDismissListener(PrintActivity.this);
dialog.setOnCancelListener(dialog1 -> finish());
List<PrinterDeviceBean> deviceBeans = PrinterManager.getPrinterManager().getDeviceBeans();
if (deviceBeans != null) {
if (deviceBeans.size() == 1) {
//如果只配置了一個打印機,直接使用這個打印機進行打印
startToIpPrint(deviceBeans.get(0));
} else {
//有打印機,彈出彈窗,選擇打印機
new DialogUtils(mContext, R.layout.print_dialog_internet_list) {
@Override
public void initLayout(ViewHepler hepler, Dialog dialog) {
dialogCount++;
RecyclerView mRvPrintList = hepler.getView(R.id.rv_print_list);
DialogPrinterListAdapter printListAdapter = new DialogPrinterListAdapter(deviceBeans, mContext);
mRvPrintList.setLayoutManager(new LinearLayoutManager(mContext));
//分割线
mRvPrintList.addItemDecoration(new DefaultItemDecoration(ContextCompat.getColor(mContext, R.color.line_color)));
mRvPrintList.setAdapter(printListAdapter);
printListAdapter.setOnItemClickListener((adapter, view, position) -> {
startToIpPrint(deviceBeans.get(position));
dialog.dismiss();
});
dialog.setOnDismissListener(PrintActivity.this);
dialog.setOnCancelListener(dialog1 -> finish());
}
}
.setHeight(ArmsUtils.getScreenHeidth(mContext) / 2)
.createDialogView()
.show();
}
} else {
//沒有配置打印機
startActivityForResult(new Intent(mContext, PrinterAddActivity.class), ADD_PRINT_CODE);
}
}
private void startToIpPrint(PrinterDeviceBean deviceBean) {
Intent intent = new Intent(mContext, OldPrintActivity.class);
intent.putExtra("ip", deviceBean.getIp());
intent.putExtra("port", deviceBean.getPort());
intent.putExtra("paperType", deviceBean.getType());
intent.putExtra("type", type);
startActivity(intent);
finish();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ADD_PRINT_CODE && resultCode == PrintActivity.ADD_PRINT_CODE) {
//添加打印機成功,
if (data != null && data.getSerializableExtra("printDevice") != null) {
startToIpPrint((PrinterDeviceBean) data.getSerializableExtra("printDevice"));
}
}
.setHeight(ArmsUtils.getScreenHeidth(mContext) / 2)
.createDialogView()
.show();
}
@Override
......
......@@ -204,9 +204,12 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
}
@Override
public void addPrinterSuccess() {
public void addPrinterSuccess(PrinterDeviceBean printerDeviceBean) {
//添加或編輯打印機成功
showMessage("保存成功");
Intent data = new Intent();
data.putExtra("printDevice", printerDeviceBean);
setResult(PrintActivity.ADD_PRINT_CODE, data);
finish();
}
......
......@@ -88,7 +88,7 @@ public class MyOrderManage {
}
public Date getOpenTableTime() {
if (orderBean != null) {
if (orderBean != null && orderBean.getCreateTime() != null) {
return new Date(orderBean.getCreateTime());
}
return new Date();
......
......@@ -6,11 +6,11 @@ import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
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.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.ui.activity.OrderContentActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderMoneyAdapter;
......@@ -19,7 +19,6 @@ 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;
......
......@@ -131,7 +131,7 @@ public class OrderContentActivity extends BaseActivity<OrderContentPresenter> im
String openTime = String.format("%tH:%tM", dd, dd);
String tableno = "";
if (!OpenTableManage.getDefault().isSplite()) {
if (!OpenTableManage.getDefault().isSplite() && OpenTableManage.getDefault().getTableBean() != null) {
tableno = OpenTableManage.getDefault().getTableBean().getTableName();
} else {//TODO 暫未分檯功能
// tableno = GSAApplication.tableContract.getTableno().trim() + "-" + GSAApplication.tableContract.getTableno_split().trim();
......
......@@ -24,7 +24,6 @@
<activity
android:name=".mvp.ui.activity.LoginActivity"
android:windowSoftInputMode="adjustResize|stateHidden"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
......
......@@ -287,11 +287,8 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
GsaCloudApplication.setBrandRestaurantInfos(this, "");
if (loginBean.getData() != null) {
GsaCloudApplication.setLoginToken(LoginActivity.this, loginBean.getData().getToken());
if (loginBean.getData().getUser() != null) {
GsaCloudApplication.setMemberId(LoginActivity.this, loginBean.getData().getUser().getUserId());
GsaCloudApplication.setMemberName(LoginActivity.this, loginBean.getData().getUser().getUserName());
......@@ -340,9 +337,9 @@ public class LoginActivity extends BaseActivity<LoginPresenter> implements Login
protected void onDestroy() {
super.onDestroy();
Log.e("error", "登陸頁面銷毀:onDestroy");
// if (dialog != null) {
// dialog.dismiss();
// }
if (dialog1 != null) {
dialog1.dismiss();
}
}
/**
......
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