Commit cbac1838 authored by hywang's avatar hywang

苏木动态修改

parent 16a26dfd
......@@ -13,6 +13,10 @@
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION " />
<application
android:name="App"
......@@ -22,6 +26,7 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:requestLegacyExternalStorage="true"
android:networkSecurityConfig="@xml/network_security_config">
<activity android:name=".ui.login.LoginActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
......
package com.phlx.wool.ui.setting;
import android.Manifest;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.Application;
import android.app.ProgressDialog;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
......@@ -10,6 +12,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
......@@ -19,6 +22,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import com.afollestad.materialdialogs.DialogAction;
import com.afollestad.materialdialogs.MaterialDialog;
......@@ -106,8 +110,35 @@ public class SettingActivity extends BaseActivity<ActivitySettingBinding, Settin
mBtAdapter = BluetoothAdapter.getDefaultAdapter();
binding.ipAddress.setIpAddress(SPUtils.getInstance().getString(Configs.SP_APP_IP, RetrofitClient.baseUrl));
ModuleManager.openCom();
initPermissions();
}
private void initPermissions() {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {
Log.i(TAG, "sdk < 28 Q");
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
String[] strings =
{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION};
ActivityCompat.requestPermissions(this, strings, 1);
}
} else {
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(this,
"android.permission.ACCESS_BACKGROUND_LOCATION") != PackageManager.PERMISSION_GRANTED) {
String[] strings = {android.Manifest.permission.ACCESS_FINE_LOCATION,
android.Manifest.permission.ACCESS_COARSE_LOCATION,
"android.permission.ACCESS_BACKGROUND_LOCATION"};
ActivityCompat.requestPermissions(this, strings, 2);
}
}
}
@Override
public void initViewObservable() {
......@@ -160,8 +191,7 @@ public class SettingActivity extends BaseActivity<ActivitySettingBinding, Settin
devicesAddress = PrefUtils.getString(SettingActivity.this, Configs.DEVICEADDRESS, "");
if (devicesAddress == null || devicesAddress.length() <= 0) {
Toast.makeText(SettingActivity.this, "您是第一次启动程序,请选择重新搜索连接!",
Toast.LENGTH_SHORT).show();
Toast.makeText(SettingActivity.this, "您是第一次启动程序,请选择重新搜索连接!", Toast.LENGTH_SHORT).show();
} else {
connect2BlueToothdevice();
......
......@@ -138,6 +138,7 @@ public class SettingVM extends BackBarVM {
}
public void connectBlule() {
if (Configs.isConnected)
disBluetoothEvent.call();
else
......
......@@ -5,11 +5,14 @@ import android.bluetooth.BluetoothAdapter;
import android.content.Intent;
import android.database.DataSetObserver;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.FrameLayout;
import android.widget.SpinnerAdapter;
import android.widget.Toast;
......@@ -77,6 +80,10 @@ public class VillusBuyActivity extends BaseActivity<ActivityVillusBuyBinding, Vi
pvTime.show(binding.birthDayTv);
});
viewModel.changeDivision.observe(this, aBoolean -> {
binding.divisionSp.setAdapter(viewModel.getAdapter(VillusBuyActivity.this));
});
//弹出绒毛购买打印选择
viewModel.printEvent.observe(this, aBoolean -> {
new MaterialDialog.Builder(this).title("系统信息").content("是否打印")
......@@ -148,4 +155,5 @@ public class VillusBuyActivity extends BaseActivity<ActivityVillusBuyBinding, Vi
}
}
}
}
......@@ -4,11 +4,13 @@ import android.app.Application;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import androidx.annotation.NonNull;
import com.google.gson.GsonBuilder;
import com.phlx.wool.Configs;
import com.phlx.wool.R;
import com.phlx.wool.data.Repository;
import com.phlx.wool.db.DbUtil;
import com.phlx.wool.db.interf.DbIDUCallBack;
......@@ -22,6 +24,7 @@ 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.ui.villus.VillusBuyActivity;
import com.phlx.wool.util.PrintLabel;
import com.phlx.wool.widget.ItemData;
import com.printer.sdk.PrinterInstance;
......@@ -54,6 +57,7 @@ public class VillusBuyVM extends BackBarVM<Repository> {
public VillusBuyEntity entity;
public List<IKeyAndValue> superiorPertainItemData;
public List<IKeyAndValue> pertainItemData;
private List<String> lists = new ArrayList<>();
private List<VillusBuyEntity> uploadData;
......@@ -64,6 +68,8 @@ public class VillusBuyVM extends BackBarVM<Repository> {
private Disposable inventoryBus;
private ArrayAdapter<String> spinnerAdapter;
public VillusBuyVM(@NonNull Application application, Repository model) {
super(application, model);
......@@ -84,11 +90,13 @@ public class VillusBuyVM extends BackBarVM<Repository> {
}
}
pertainItemData = new ArrayList<>();
lists = new ArrayList<>();
if (superiorDivisionEntities != null && superiorDivisionEntities.size() > 0) {
List<DivisionEntity> divisionEntities = model.getPertain(superiorDivisionEntities.get(0).getCode());
if (divisionEntities != null && divisionEntities.size() > 0) {
for (DivisionEntity divisionEntity : divisionEntities) {
pertainItemData.add(new ItemData(divisionEntity.getName(), divisionEntity.getCode()));
lists.add(divisionEntity.getName());
}
}
}
......@@ -111,31 +119,36 @@ public class VillusBuyVM extends BackBarVM<Repository> {
entity.notifyChange();
}
public BindingCommand<IKeyAndValue> onSuperiorPertainSelectorCommand =
new BindingCommand<>(new BindingConsumer<IKeyAndValue>() {
public BindingCommand<IKeyAndValue> onSuperiorPertainSelectorCommand = new BindingCommand<>(new BindingConsumer<IKeyAndValue>() {
@Override
public void call(IKeyAndValue iKeyAndValue) {
pertainItemData = new ArrayList<>();
List<DivisionEntity> divisionEntities = model.getPertain(iKeyAndValue.getValue());
pertainItemData.clear();
lists.clear();
if (divisionEntities != null && divisionEntities.size() > 0) {
for (DivisionEntity divisionEntity : divisionEntities) {
pertainItemData.add(new ItemData(divisionEntity.getName(), divisionEntity.getCode()));
lists.add(divisionEntity.getName());
}
}
// changeDivision.call();
// pertainItemData.notifyAll();
changeDivision.call();
}
});
public BindingCommand<IKeyAndValue> onPertainSelectorCommand =
new BindingCommand<>(new BindingConsumer<IKeyAndValue>() {
public BindingCommand<IKeyAndValue> onPertainSelectorCommand = new BindingCommand<>(new BindingConsumer<IKeyAndValue>() {
@Override
public void call(IKeyAndValue iKeyAndValue) {
entity.setRevision(iKeyAndValue.getValue());
}
});
public ArrayAdapter getAdapter(VillusBuyActivity cls){
spinnerAdapter = new ArrayAdapter<>(cls, R.layout.simple_spinner_item, lists);
spinnerAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item);
return spinnerAdapter;
}
/**
* 离线保存本地,在线先上传,后保存本地
*/
......
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:binding="http://schemas.android.com/apk/res-auto">
xmlns:binding="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/tools"
app:ignore="NamespaceTypo">
<data>
......@@ -7,6 +9,10 @@
name="viewModel"
type="com.phlx.wool.ui.villus.vm.VillusBuyVM" />
<variable
name="spinnerAdapter"
type="android.widget.ArrayAdapter" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
......@@ -102,20 +108,23 @@
binding:layout_constraintStart_toStartOf="parent"
binding:layout_constraintTop_toBottomOf="@+id/l_variety_selected_desc" />
<Spinner
<!-- app:items="@{viewModel.pertainItemData}"-->
<!-- binding:valueReply="@{viewModel.entity.revision}" -->
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/division_sp"
android:layout_width="@dimen/dp_0"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:minHeight="@dimen/dp_40"
android:spinnerMode="dialog"
binding:itemDatas="@{viewModel.pertainItemData}"
app:adapter="@{spinnerAdapter}"
binding:layout_constraintBottom_toTopOf="@+id/birth_place_edit"
binding:layout_constraintLeft_toLeftOf="@+id/marking_guideline_vertical"
binding:layout_constraintRight_toRightOf="parent"
binding:layout_constraintTop_toBottomOf="@+id/superior_division_sp"
binding:itemDatas="@{viewModel.pertainItemData}"
binding:onItemSelectedCommand="@{viewModel.onPertainSelectorCommand}"
binding:valueReply="@{viewModel.entity.revision}" />
/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/birth_place_desc"
......
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="60dp"
android:ellipsize="marquee"
android:gravity="center"
android:singleLine="true"
android:textSize="13sp" />
\ No newline at end of file
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:textSize="@dimen/sp_14"
android:textAlignment="inherit"/>
\ No newline at end of file
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