Commit 16a26dfd authored by hywang's avatar hywang

连接蓝牙放到设置页面

parent 3f9efe4d
...@@ -12,6 +12,7 @@ import com.phlx.wool.entity.DivisionEntity; ...@@ -12,6 +12,7 @@ import com.phlx.wool.entity.DivisionEntity;
import com.phlx.wool.entity.VillusBuyEntity; import com.phlx.wool.entity.VillusBuyEntity;
import com.phlx.wool.ui.base.MainBarVM; import com.phlx.wool.ui.base.MainBarVM;
import com.phlx.wool.ui.inventory.InventoryActivity; 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.ClearActivity;
import com.phlx.wool.ui.sync.activity.DownloadActivity; import com.phlx.wool.ui.sync.activity.DownloadActivity;
import com.phlx.wool.ui.sync.activity.UploadActivity; import com.phlx.wool.ui.sync.activity.UploadActivity;
...@@ -42,7 +43,6 @@ public class MainVM extends MainBarVM<Repository> { ...@@ -42,7 +43,6 @@ public class MainVM extends MainBarVM<Repository> {
public SingleLiveEvent<Boolean> drawerEvent = new SingleLiveEvent<>(); public SingleLiveEvent<Boolean> drawerEvent = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> bluetoothEvent = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> printEvent = new SingleLiveEvent<>(); public SingleLiveEvent<Boolean> printEvent = new SingleLiveEvent<>();
public MainVM(@NonNull Application application, Repository repository) { public MainVM(@NonNull Application application, Repository repository) {
...@@ -122,8 +122,11 @@ public class MainVM extends MainBarVM<Repository> { ...@@ -122,8 +122,11 @@ public class MainVM extends MainBarVM<Repository> {
public void call() { public void call() {
if (Configs.isConnected) if (Configs.isConnected)
printEvent.call(); printEvent.call();
else else {
bluetoothEvent.call(); Bundle bun = new Bundle();
bun.putInt("settingStatus", 1);
startActivity(SettingActivity.class, bun);
}
} }
}); });
...@@ -142,50 +145,8 @@ public class MainVM extends MainBarVM<Repository> { ...@@ -142,50 +145,8 @@ public class MainVM extends MainBarVM<Repository> {
//写打印内容 //写打印内容
public void printVillusBuy(PrinterInstance myPrinter, CharSequence[] text) { public void printVillusBuy(PrinterInstance myPrinter, CharSequence[] text) {
PrintLabel.printVillusBuy(model, myPrinter, villusBuyEntities, 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() { public BindingCommand OnDownloadClickCommand = new BindingCommand(new BindingAction() {
......
...@@ -7,6 +7,8 @@ import androidx.annotation.NonNull; ...@@ -7,6 +7,8 @@ import androidx.annotation.NonNull;
import androidx.databinding.ObservableField; import androidx.databinding.ObservableField;
import com.phlx.wool.App; 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.rfid.ModuleManager;
import com.phlx.wool.ui.base.BackBarVM; import com.phlx.wool.ui.base.BackBarVM;
import com.phlx.wool.util.TextUtil; import com.phlx.wool.util.TextUtil;
...@@ -29,16 +31,27 @@ import me.goldze.mvvmhabit.utils.ToastUtils; ...@@ -29,16 +31,27 @@ import me.goldze.mvvmhabit.utils.ToastUtils;
public class SettingVM extends BackBarVM { public class SettingVM extends BackBarVM {
public ObservableField<String> power = new ObservableField<>(""); 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> saveIpEvent = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> bluetoothEvent = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> disBluetoothEvent = new SingleLiveEvent<>();
public SettingVM(@NonNull Application application) { public SettingVM(@NonNull Application application) {
super(application); super(application);
} }
//初始化ToolBar //初始化ToolBar
public void initToolbar() { public void initToolbar(int settingStatusInt) {
setBackTitleText("设置"); setBackTitleText("设置");
setBackIconVisibleObservable(View.GONE); setBackIconVisibleObservable(View.GONE);
setBlueStatus(Configs.isConnected ? 0 : 1);
if (settingStatusInt == 1)
bluetoothEvent.call();
} }
...@@ -50,7 +63,26 @@ public class SettingVM extends BackBarVM { ...@@ -50,7 +63,26 @@ public class SettingVM extends BackBarVM {
public BindingCommand getPowerOnClick = new BindingCommand(this::getAntennaPower); public BindingCommand getPowerOnClick = new BindingCommand(this::getAntennaPower);
//设置功率 //设置功率
public BindingCommand setPowerOnClick = new BindingCommand(this::setAntennaPower); 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 { ...@@ -105,6 +137,13 @@ public class SettingVM extends BackBarVM {
} }
} }
public void connectBlule() {
if (Configs.isConnected)
disBluetoothEvent.call();
else
bluetoothEvent.call();
}
@Override @Override
public void onDestroy() { public void onDestroy() {
super.onDestroy(); super.onDestroy();
......
...@@ -85,7 +85,8 @@ public class VillusBuyActivity extends BaseActivity<ActivityVillusBuyBinding, Vi ...@@ -85,7 +85,8 @@ public class VillusBuyActivity extends BaseActivity<ActivityVillusBuyBinding, Vi
@Override @Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
if (which == DialogAction.POSITIVE) { if (which == DialogAction.POSITIVE) {
dialog.dismiss(); if (Configs.isConnected)
dialog.dismiss();
viewModel.printVillusBuy(); viewModel.printVillusBuy();
} }
} }
...@@ -100,19 +101,6 @@ public class VillusBuyActivity extends BaseActivity<ActivityVillusBuyBinding, Vi ...@@ -100,19 +101,6 @@ public class VillusBuyActivity extends BaseActivity<ActivityVillusBuyBinding, Vi
}).show(); }).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 模式下,在底部弹出 private void initTimePicker() {//Dialog 模式下,在底部弹出
......
package com.phlx.wool.ui.villus.vm; package com.phlx.wool.ui.villus.vm;
import android.app.Application; import android.app.Application;
import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
...@@ -20,6 +21,7 @@ import com.phlx.wool.event.EventTag; ...@@ -20,6 +21,7 @@ import com.phlx.wool.event.EventTag;
import com.phlx.wool.params.CattleResponse; import com.phlx.wool.params.CattleResponse;
import com.phlx.wool.params.UploadParams; import com.phlx.wool.params.UploadParams;
import com.phlx.wool.ui.base.BackBarVM; import com.phlx.wool.ui.base.BackBarVM;
import com.phlx.wool.ui.setting.SettingActivity;
import com.phlx.wool.util.PrintLabel; import com.phlx.wool.util.PrintLabel;
import com.phlx.wool.widget.ItemData; import com.phlx.wool.widget.ItemData;
import com.printer.sdk.PrinterInstance; import com.printer.sdk.PrinterInstance;
...@@ -58,7 +60,6 @@ public class VillusBuyVM extends BackBarVM<Repository> { ...@@ -58,7 +60,6 @@ public class VillusBuyVM extends BackBarVM<Repository> {
public SingleLiveEvent<Boolean> buyDay = new SingleLiveEvent<>(); public SingleLiveEvent<Boolean> buyDay = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> changeDivision = new SingleLiveEvent<>(); public SingleLiveEvent<Boolean> changeDivision = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> printEvent = new SingleLiveEvent<>(); public SingleLiveEvent<Boolean> printEvent = new SingleLiveEvent<>();
public SingleLiveEvent<Boolean> warningEvent = new SingleLiveEvent<>();
private SimpleDateFormat dateFormat; private SimpleDateFormat dateFormat;
private Disposable inventoryBus; private Disposable inventoryBus;
...@@ -232,16 +233,17 @@ public class VillusBuyVM extends BackBarVM<Repository> { ...@@ -232,16 +233,17 @@ public class VillusBuyVM extends BackBarVM<Repository> {
public void printVillusBuy() { public void printVillusBuy() {
if (!Configs.isConnected) { if (!Configs.isConnected) {
warningEvent.call(); Bundle bun = new Bundle();
return; bun.putInt("settingStatus", 1);
} startActivity(SettingActivity.class, bun);
} else {
List<VillusBuyEntity> villusBuyEntities = model.getVillusBuy(); List<VillusBuyEntity> villusBuyEntities = model.getVillusBuy();
if (Configs.myPrinter != null && villusBuyEntities != null) { if (Configs.myPrinter != null && villusBuyEntities != null) {
CharSequence[] text = new CharSequence[1]; CharSequence[] text = new CharSequence[1];
text[0] = entity.getBuyBatch(); text[0] = entity.getBuyBatch();
PrintLabel.printVillusBuy(model, Configs.myPrinter, villusBuyEntities, text); PrintLabel.printVillusBuy(model, Configs.myPrinter, villusBuyEntities, text);
backMain(); backMain();
}
} }
} }
......
...@@ -26,8 +26,8 @@ ...@@ -26,8 +26,8 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/ip_port_frame_desc" android:id="@+id/ip_port_frame_desc"
android:layout_width="@dimen/dp_320" android:layout_width="@dimen/dp_320"
android:layout_height="@dimen/dp_240" android:layout_height="@dimen/dp_220"
android:layout_marginTop="@dimen/dp_20" android:layout_marginTop="@dimen/dp_15"
android:background="@color/white" android:background="@color/white"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_2" android:layout_height="@dimen/dp_2"
android:layout_marginStart="@dimen/dp_10" 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:layout_marginEnd="@dimen/dp_10"
android:background="@color/setting_bg" android:background="@color/setting_bg"
app:layout_constraintStart_toStartOf="@id/ip_port_frame_desc" app:layout_constraintStart_toStartOf="@id/ip_port_frame_desc"
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10" 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:layout_marginEnd="@dimen/dp_25"
android:background="@drawable/input_frame_bg" android:background="@drawable/input_frame_bg"
android:textSize="@dimen/edit_size" android:textSize="@dimen/edit_size"
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
android:id="@+id/ip_desc" android:id="@+id/ip_desc"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_26" android:layout_marginTop="@dimen/dp_20"
android:text="@string/ip" android:text="@string/ip"
android:textSize="@dimen/desc_text_size" android:textSize="@dimen/desc_text_size"
app:layout_constraintStart_toStartOf="@+id/service_setting_desc" app:layout_constraintStart_toStartOf="@+id/service_setting_desc"
...@@ -110,7 +110,7 @@ ...@@ -110,7 +110,7 @@
android:id="@+id/save_ip" android:id="@+id/save_ip"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="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:background="@drawable/save_btn_bg"
android:text="@string/save" android:text="@string/save"
android:textColor="@color/white" android:textColor="@color/white"
...@@ -127,13 +127,13 @@ ...@@ -127,13 +127,13 @@
android:id="@+id/power_frame_desc" android:id="@+id/power_frame_desc"
android:layout_width="@dimen/dp_320" android:layout_width="@dimen/dp_320"
android:layout_height="@dimen/dp_180" android:layout_height="@dimen/dp_180"
android:layout_marginTop="@dimen/dp_20" android:layout_marginTop="16dp"
android:background="@color/white" android:background="@color/white"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.391"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
binding:layout_constraintTop_toBottomOf="@+id/ip_port_frame_desc"> binding:layout_constraintTop_toBottomOf="@+id/ip_port_frame_desc">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/power_setting_desc" android:id="@+id/power_setting_desc"
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -176,8 +176,8 @@ ...@@ -176,8 +176,8 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10" android:layout_marginStart="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_25" android:layout_marginTop="@dimen/dp_15"
android:layout_marginEnd="@dimen/dp_25" android:layout_marginEnd="@dimen/dp_20"
android:background="@drawable/input_frame_bg" android:background="@drawable/input_frame_bg"
android:inputType="number" android:inputType="number"
android:text="@={viewModel.power}" android:text="@={viewModel.power}"
...@@ -191,7 +191,7 @@ ...@@ -191,7 +191,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_25" 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:background="@drawable/get_btn_bg"
android:text="@string/set_power" android:text="@string/set_power"
android:textColor="@color/white" android:textColor="@color/white"
...@@ -213,6 +213,34 @@ ...@@ -213,6 +213,34 @@
app:layout_constraintStart_toEndOf="@+id/set_power_btn" app:layout_constraintStart_toEndOf="@+id/set_power_btn"
binding:onClickCommand="@{viewModel.getPowerOnClick}" /> binding:onClickCommand="@{viewModel.getPowerOnClick}" />
</androidx.constraintlayout.widget.ConstraintLayout> </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> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>
\ No newline at end of file
...@@ -82,6 +82,11 @@ ...@@ -82,6 +82,11 @@
<string name="app">畜牧追溯系统</string> <string name="app">畜牧追溯系统</string>
<string name="service_set">服务器设置</string> <string name="service_set">服务器设置</string>
<string name="power_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="dot">.</string>
<string name="data_entry">数据采集</string> <string name="data_entry">数据采集</string>
<string name="data_sync">数据同步</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