Commit 16a26dfd authored by hywang's avatar hywang

连接蓝牙放到设置页面

parent 3f9efe4d
......@@ -12,6 +12,7 @@ import com.phlx.wool.entity.DivisionEntity;
import com.phlx.wool.entity.VillusBuyEntity;
import com.phlx.wool.ui.base.MainBarVM;
import com.phlx.wool.ui.inventory.InventoryActivity;
import com.phlx.wool.ui.setting.SettingActivity;
import com.phlx.wool.ui.sync.activity.ClearActivity;
import com.phlx.wool.ui.sync.activity.DownloadActivity;
import com.phlx.wool.ui.sync.activity.UploadActivity;
......@@ -42,7 +43,6 @@ public class MainVM extends MainBarVM<Repository> {
public SingleLiveEvent<Boolean> drawerEvent = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> bluetoothEvent = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> printEvent = new SingleLiveEvent<>();
public MainVM(@NonNull Application application, Repository repository) {
......@@ -122,8 +122,11 @@ public class MainVM extends MainBarVM<Repository> {
public void call() {
if (Configs.isConnected)
printEvent.call();
else
bluetoothEvent.call();
else {
Bundle bun = new Bundle();
bun.putInt("settingStatus", 1);
startActivity(SettingActivity.class, bun);
}
}
});
......@@ -142,50 +145,8 @@ public class MainVM extends MainBarVM<Repository> {
//写打印内容
public void printVillusBuy(PrinterInstance myPrinter, CharSequence[] text) {
PrintLabel.printVillusBuy(model, myPrinter, villusBuyEntities, text);
// for (CharSequence batchNo : text) {
// VillusBuyEntity vbe = null;
// for (VillusBuyEntity villusBuyEntity : villusBuyEntities) {
// if (villusBuyEntity.getBuyBatch().equals(batchNo)) {
// vbe = villusBuyEntity;
// break;
// }
// }
//
// if (vbe != null) {
//
// DivisionEntity divisionEntity = model.getPertainForCode(vbe.getRevision()).get(0);
// String pertainName = "";
// if (divisionEntity != null ) {
// pertainName = divisionEntity.getName();
// }
// myPrinter.setFont(0, 1, 1, 1, 1);
// myPrinter.setPrinter(Command.ALIGN, Command.ALIGN_CENTER);
// myPrinter.printText("绒毛购买信息\r\n");
// myPrinter.setPrinter(Command.ALIGN, Command.ALIGN_LEFT);
// myPrinter.setLeftMargin(8);
// myPrinter.setFont(0, 0, 0, 0, 1);
//// myPrinter.printText(" " + "\r\n");
// myPrinter.printText("批次:" + vbe.getBuyBatch() + "\r\n");
// myPrinter.printText("苏木:" + pertainName + "\r\n");
// myPrinter.printText("重量:" + vbe.getBuyWeight() + "(千克)\r\n");
// myPrinter.printText("厂家:" + vbe.getBuyFactory() + "\r\n");
//
// myPrinter.printText("日期:" + vbe.getBuyDate() + "\r\n");
// myPrinter.printText("负责人:" + vbe.getPersonInCharge() + "\r\n");
// myPrinter.printText(" " + "\r\n");
// myPrinter.setPrinter(Command.ALIGN, Command.ALIGN_RIGHT);
// myPrinter.setLeftMargin(0);
// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// myPrinter.printText(dateFormat.format(new Date()) + "\r\n");
// myPrinter.printText(" " + "\r\n");
// myPrinter.printText(" " + "\r\n");
// myPrinter.printText(" " + "\r\n");
// myPrinter.printText(" " + "\r\n");
// }
// }
}
public BindingCommand OnDownloadClickCommand = new BindingCommand(new BindingAction() {
......
......@@ -7,6 +7,8 @@ import androidx.annotation.NonNull;
import androidx.databinding.ObservableField;
import com.phlx.wool.App;
import com.phlx.wool.Configs;
import com.phlx.wool.R;
import com.phlx.wool.rfid.ModuleManager;
import com.phlx.wool.ui.base.BackBarVM;
import com.phlx.wool.util.TextUtil;
......@@ -29,16 +31,27 @@ import me.goldze.mvvmhabit.utils.ToastUtils;
public class SettingVM extends BackBarVM {
public ObservableField<String> power = new ObservableField<>("");
public ObservableField<String> settingStatusText = new ObservableField<>("");
public ObservableField<String> settingButtonText = new ObservableField<>("");
public SingleLiveEvent<Boolean> saveIpEvent = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> bluetoothEvent = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> disBluetoothEvent = new SingleLiveEvent<>();
public SettingVM(@NonNull Application application) {
super(application);
}
//初始化ToolBar
public void initToolbar() {
public void initToolbar(int settingStatusInt) {
setBackTitleText("设置");
setBackIconVisibleObservable(View.GONE);
setBlueStatus(Configs.isConnected ? 0 : 1);
if (settingStatusInt == 1)
bluetoothEvent.call();
}
......@@ -50,7 +63,26 @@ public class SettingVM extends BackBarVM {
public BindingCommand getPowerOnClick = new BindingCommand(this::getAntennaPower);
//设置功率
public BindingCommand setPowerOnClick = new BindingCommand(this::setAntennaPower);
//连接蓝牙
public BindingCommand connectBlueOnClick = new BindingCommand(this::connectBlule);
public void setBlueStatus(int status) {
switch (status) {
case 0://已连接
settingStatusText.set(getApplication().getResources().getString(R.string.blue_status_connect));
settingButtonText.set(getApplication().getResources().getString(R.string.disconnect_blue));
break;
case 1://未连接
settingStatusText.set(getApplication().getResources().getString(R.string.blue_status_unconnect));
settingButtonText.set(getApplication().getResources().getString(R.string.connect_blue));
break;
case 2://已断开
settingStatusText.set(getApplication().getResources().getString(R.string.blue_status_disconnect));
settingButtonText.set(getApplication().getResources().getString(R.string.connect_blue));
break;
}
}
/**
* 获取天线功率
......@@ -105,6 +137,13 @@ public class SettingVM extends BackBarVM {
}
}
public void connectBlule() {
if (Configs.isConnected)
disBluetoothEvent.call();
else
bluetoothEvent.call();
}
@Override
public void onDestroy() {
super.onDestroy();
......
......@@ -85,6 +85,7 @@ public class VillusBuyActivity extends BaseActivity<ActivityVillusBuyBinding, Vi
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
if (which == DialogAction.POSITIVE) {
if (Configs.isConnected)
dialog.dismiss();
viewModel.printVillusBuy();
}
......@@ -100,19 +101,6 @@ public class VillusBuyActivity extends BaseActivity<ActivityVillusBuyBinding, Vi
}).show();
});
viewModel.warningEvent.observe(this, aBoolean -> {
new MaterialDialog.Builder(this).title("系统信息").content("请在首页连接蓝牙后再上传")
.cancelable(false).canceledOnTouchOutside(false)
.positiveText("确定").onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
if (which == DialogAction.POSITIVE) {
dialog.dismiss();
viewModel.backMain();
}
}
}).show();
});
}
private void initTimePicker() {//Dialog 模式下,在底部弹出
......
package com.phlx.wool.ui.villus.vm;
import android.app.Application;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
......@@ -20,6 +21,7 @@ import com.phlx.wool.event.EventTag;
import com.phlx.wool.params.CattleResponse;
import com.phlx.wool.params.UploadParams;
import com.phlx.wool.ui.base.BackBarVM;
import com.phlx.wool.ui.setting.SettingActivity;
import com.phlx.wool.util.PrintLabel;
import com.phlx.wool.widget.ItemData;
import com.printer.sdk.PrinterInstance;
......@@ -58,7 +60,6 @@ public class VillusBuyVM extends BackBarVM<Repository> {
public SingleLiveEvent<Boolean> buyDay = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> changeDivision = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> printEvent = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> warningEvent = new SingleLiveEvent<>();
private SimpleDateFormat dateFormat;
private Disposable inventoryBus;
......@@ -232,10 +233,10 @@ public class VillusBuyVM extends BackBarVM<Repository> {
public void printVillusBuy() {
if (!Configs.isConnected) {
warningEvent.call();
return;
}
Bundle bun = new Bundle();
bun.putInt("settingStatus", 1);
startActivity(SettingActivity.class, bun);
} else {
List<VillusBuyEntity> villusBuyEntities = model.getVillusBuy();
if (Configs.myPrinter != null && villusBuyEntities != null) {
CharSequence[] text = new CharSequence[1];
......@@ -244,6 +245,7 @@ public class VillusBuyVM extends BackBarVM<Repository> {
backMain();
}
}
}
public void backMain() {
finish();
......
......@@ -26,8 +26,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/ip_port_frame_desc"
android:layout_width="@dimen/dp_320"
android:layout_height="@dimen/dp_240"
android:layout_marginTop="@dimen/dp_20"
android:layout_height="@dimen/dp_220"
android:layout_marginTop="@dimen/dp_15"
android:background="@color/white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
......@@ -50,7 +50,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_40"
android:layout_marginTop="@dimen/dp_35"
android:layout_marginEnd="@dimen/dp_10"
android:background="@color/setting_bg"
app:layout_constraintStart_toStartOf="@id/ip_port_frame_desc"
......@@ -62,7 +62,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_18"
android:layout_marginTop="@dimen/dp_14"
android:layout_marginEnd="@dimen/dp_25"
android:background="@drawable/input_frame_bg"
android:textSize="@dimen/edit_size"
......@@ -75,7 +75,7 @@
android:id="@+id/ip_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_26"
android:layout_marginTop="@dimen/dp_20"
android:text="@string/ip"
android:textSize="@dimen/desc_text_size"
app:layout_constraintStart_toStartOf="@+id/service_setting_desc"
......@@ -110,7 +110,7 @@
android:id="@+id/save_ip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_25"
android:layout_marginTop="@dimen/dp_20"
android:background="@drawable/save_btn_bg"
android:text="@string/save"
android:textColor="@color/white"
......@@ -127,13 +127,13 @@
android:id="@+id/power_frame_desc"
android:layout_width="@dimen/dp_320"
android:layout_height="@dimen/dp_180"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginTop="16dp"
android:background="@color/white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.391"
app:layout_constraintStart_toStartOf="parent"
binding:layout_constraintTop_toBottomOf="@+id/ip_port_frame_desc">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/power_setting_desc"
android:layout_width="wrap_content"
......@@ -176,8 +176,8 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_25"
android:layout_marginEnd="@dimen/dp_25"
android:layout_marginTop="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_20"
android:background="@drawable/input_frame_bg"
android:inputType="number"
android:text="@={viewModel.power}"
......@@ -191,7 +191,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_25"
android:layout_marginTop="@dimen/dp_25"
android:layout_marginTop="@dimen/dp_15"
android:background="@drawable/get_btn_bg"
android:text="@string/set_power"
android:textColor="@color/white"
......@@ -213,6 +213,34 @@
app:layout_constraintStart_toEndOf="@+id/set_power_btn"
binding:onClickCommand="@{viewModel.getPowerOnClick}" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/blue_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_25"
android:layout_marginTop="@dimen/dp_25"
android:text="@{viewModel.settingStatusText}"
android:textColor="@color/black"
android:textSize="@dimen/sp_18"
app:layout_constraintStart_toStartOf="@id/power_frame_desc"
app:layout_constraintTop_toBottomOf="@+id/power_frame_desc" />
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/blue_connect_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dp_25"
android:layout_marginTop="@dimen/dp_25"
android:background="@drawable/get_btn_bg"
android:text="@{viewModel.settingButtonText}"
android:textColor="@color/white"
android:textSize="@dimen/btn_size"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/power_frame_desc"
app:layout_constraintBaseline_toBaselineOf="@+id/blue_status"
binding:onClickCommand="@{viewModel.connectBlueOnClick}" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
......@@ -82,6 +82,11 @@
<string name="app">畜牧追溯系统</string>
<string name="service_set">服务器设置</string>
<string name="power_set">功率设置</string>
<string name="blue_status_connect">蓝牙已连接</string>
<string name="blue_status_unconnect">蓝牙未连接</string>
<string name="blue_status_disconnect">蓝牙已断开</string>
<string name="connect_blue">连接蓝牙</string>
<string name="disconnect_blue">断开蓝牙</string>
<string name="dot">.</string>
<string name="data_entry">数据采集</string>
<string name="data_sync">数据同步</string>
......
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