参数设置修改

This commit is contained in:
jjLv 2025-04-30 17:06:06 +08:00
parent 0825750770
commit 0d627a6809
3 changed files with 90 additions and 100 deletions

View File

@ -1,20 +1,3 @@
/*
* Copyright (C) 2025 xuexiangjys(xuexiangjys@163.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package com.bonus.canteen.activity;
import android.annotation.SuppressLint;
@ -1042,7 +1025,7 @@ public class OperationActivity extends BaseActivity<ActivityCanteenOperationBind
runOnUiThread(() -> {
AlertDialog.Builder builder = new AlertDialog.Builder(OperationActivity.this);
View view = LayoutInflater.from(OperationActivity.this).inflate(R.layout.dialog_person_balance, null);
ImageView person_photo = view.findViewById(R.id.person_photo);
ImageView personPhoto = view.findViewById(R.id.person_photo);
TextView userName = view.findViewById(R.id.userName);
TextView phone = view.findViewById(R.id.phone);
TextView balanceWallet = view.findViewById(R.id.balance_wallet);
@ -1050,9 +1033,9 @@ public class OperationActivity extends BaseActivity<ActivityCanteenOperationBind
TextView subsidyBalance = view.findViewById(R.id.subsidy_balance);
@SuppressLint({"MissingInflatedId", "LocalSuppress"}) Button cancel = view.findViewById(R.id.cancel_balance);
if (custPhotoFulInfo != null) {
GlideUtil.GlideWithPlaceHolder(this, WorkConfig.getFileUrl() + custPhotoFulInfo.getPhotoUrl()).into(person_photo);
GlideUtil.GlideWithPlaceHolder(this, WorkConfig.getFileUrl() + custPhotoFulInfo.getPhotoUrl()).into(personPhoto);
} else {
GlideUtil.GlideWithPlaceHolder(this, R.drawable.my_photo).into(person_photo);
GlideUtil.GlideWithPlaceHolder(this, R.drawable.my_photo).into(personPhoto);
}
userName.setText(userInfo.getUserName());
phone.setText(userInfo.getPhone());

View File

@ -29,7 +29,10 @@ import com.bonus.canteen.core.BaseActivity;
import com.bonus.canteen.db.AppDatabase;
import com.bonus.canteen.db.entity.base.ParamSettingInfo;
import com.bonus.canteen.utils.ThreadPoolManager;
import com.bonus.canteen.utils.sound.Sound;
import com.bonus.canteen.utils.sound.SoundManager;
import com.xuexiang.xui.XUI;
import com.xuexiang.xui.utils.XToastUtils;
import com.xuexiang.xui.widget.dialog.DialogLoader;
import com.xuexiang.xui.widget.dialog.materialdialog.GravityEnum;
import com.xuexiang.xui.widget.dialog.materialdialog.MaterialDialog;
@ -78,32 +81,27 @@ public class ParamSettingsActivity extends BaseActivity<ActivityCanteenParamSett
startActivity(intent);
finish();
});
saveBtn.setOnClickListener(v -> {
DialogLoader.getInstance().showConfirmDialog(
this,
"是否确认保存数据确认后会进入APP重启",
getString(R.string.lab_yes),
(dialog, which) -> {
//保存数据库
ThreadPoolManager.getExecutor().execute(() -> {
AppDatabase.getDatabase(this).parameterInfoDao().update(paramSettingInfo);
runOnUiThread(()->{
// 重启应用程序
Intent intent = getBaseContext().getPackageManager()
.getLaunchIntentForPackage(getBaseContext().getPackageName());
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
System.exit(0);
dialog.dismiss();
});
saveBtn.setOnClickListener(v -> DialogLoader.getInstance().showConfirmDialog(
this,
"是否确认保存数据确认后会进入APP重启",
getString(R.string.lab_yes),
(dialog, which) -> {
//保存数据库
ThreadPoolManager.getExecutor().execute(() -> {
AppDatabase.getDatabase(this).parameterInfoDao().update(paramSettingInfo);
runOnUiThread(()->{
// 重启应用程序
Intent intent = getBaseContext().getPackageManager()
.getLaunchIntentForPackage(getBaseContext().getPackageName());
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
System.exit(0);
dialog.dismiss();
});
},
getString(R.string.lab_no),
(dialog, which) -> {
dialog.dismiss();
}
);
});
});
},
getString(R.string.lab_no),
(dialog, which) -> dialog.dismiss()));
initData();
initListeners();
}
@ -124,75 +122,32 @@ public class ParamSettingsActivity extends BaseActivity<ActivityCanteenParamSett
}
private void initListeners() {
binding.ipAddress.setOnClickListener(v -> openDialog("IP地址", "ipAddress",paramSettingInfo.getIpAddress()));
binding.mqttAddress.setOnClickListener(v -> openDialog("MQTT地址", "mqttAddress", paramSettingInfo.getMqttAddress()));
binding.mqttUserName.setOnClickListener(v -> openDialog("MQTT用户名", "mqttUserName", paramSettingInfo.getMqttUserName()));
binding.mqttPassWord.setOnClickListener(v -> openDialog("MQTT密码", "mqttPassWord", paramSettingInfo.getMqttPassword()));
binding.appId.setOnClickListener(v -> openDialog("AppId", "appId", paramSettingInfo.getAppId()));
binding.appKey.setOnClickListener(v -> openDialog("AppKey", "appKey", paramSettingInfo.getAppKey()));
binding.facePassRate.setOnClickListener(v -> openDialog("人脸识别通过率", "facePassRate", paramSettingInfo.getFacePassRate()));
binding.photoPrefix.setOnClickListener(v -> openDialog("图片前缀", "photoPrefix", paramSettingInfo.getPhotoPrefixes()));
binding.ipAddress.setOnClickListener(v -> openDialog("IP地址", "ipAddress",paramSettingInfo.getIpAddress(),1));
binding.mqttAddress.setOnClickListener(v -> openDialog("MQTT地址", "mqttAddress", paramSettingInfo.getMqttAddress(),1));
binding.mqttUserName.setOnClickListener(v -> openDialog("MQTT用户名", "mqttUserName", paramSettingInfo.getMqttUserName(),1));
binding.mqttPassWord.setOnClickListener(v -> openDialog("MQTT密码", "mqttPassWord", paramSettingInfo.getMqttPassword(),1));
binding.appId.setOnClickListener(v -> openDialog("AppId", "appId", paramSettingInfo.getAppId(),1));
binding.appKey.setOnClickListener(v -> openDialog("AppKey", "appKey", paramSettingInfo.getAppKey(),1));
binding.facePassRate.setOnClickListener(v -> openDialog("人脸识别通过率(请输入0-1之间的数字)", "facePassRate", paramSettingInfo.getFacePassRate(),2));
binding.photoPrefix.setOnClickListener(v -> openDialog("图片前缀", "photoPrefix", paramSettingInfo.getPhotoPrefixes(),1));
}
private void openDialog(String title, String message, String content) {
private void openDialog(String title, String message, String content,int type) {
new MaterialDialog.Builder(this)
.titleGravity(GravityEnum.CENTER)
.title("参数修改")
.content("当前修改参数为" + title)
.contentGravity(GravityEnum.CENTER)
.inputType(InputType.TYPE_CLASS_NUMBER)
.inputType(type == 1 ? InputType.TYPE_CLASS_TEXT : InputType.TYPE_CLASS_NUMBER)
.autoDismiss(false)
.input(
"请输入内容", content,
false,
((dialog, input) -> {
//保存输入的内容到paramSettingInfo
switch (message) {
case "ipAddress":
paramSettingInfo.setIpAddress(input.toString());
binding.ipAddress.setText(input.toString());
dialog.dismiss();
break;
case "mqttAddress":
paramSettingInfo.setMqttAddress(input.toString());
binding.mqttAddress.setText(input.toString());
dialog.dismiss();
break;
case "mqttUserName":
paramSettingInfo.setMqttUserName(input.toString());
binding.mqttUserName.setText(input.toString());
dialog.dismiss();
break;
case "mqttPassWord":
paramSettingInfo.setMqttPassword(input.toString());
binding.mqttPassWord.setText(input.toString());
dialog.dismiss();
break;
case "appId":
paramSettingInfo.setAppId(input.toString());
binding.appId.setText(input.toString());
dialog.dismiss();
break;
case "appKey":
paramSettingInfo.setAppKey(input.toString());
binding.appKey.setText(input.toString());
dialog.dismiss();
break;
case "facePassRate":
paramSettingInfo.setFacePassRate(input.toString());
binding.facePassRate.setText(input.toString());
dialog.dismiss();
break;
case "photoPrefix":
paramSettingInfo.setPhotoPrefixes(input.toString());
binding.photoPrefix.setText(input.toString());
dialog.dismiss();
break;
default:
break;
}
toChangeParam(message, dialog, input);
}))
.inputRange(1, 100)
.inputRange(1,type == 1 ? 100 : 4)
.positiveText("确定")
.onPositive((dialog, which) -> {
})
@ -204,6 +159,58 @@ public class ParamSettingsActivity extends BaseActivity<ActivityCanteenParamSett
.show();
}
private void toChangeParam(String message, MaterialDialog dialog, CharSequence input) {
switch (message) {
case "ipAddress":
paramSettingInfo.setIpAddress(input.toString());
binding.ipAddress.setText(input.toString());
dialog.dismiss();
break;
case "mqttAddress":
paramSettingInfo.setMqttAddress(input.toString());
binding.mqttAddress.setText(input.toString());
dialog.dismiss();
break;
case "mqttUserName":
paramSettingInfo.setMqttUserName(input.toString());
binding.mqttUserName.setText(input.toString());
dialog.dismiss();
break;
case "mqttPassWord":
paramSettingInfo.setMqttPassword(input.toString());
binding.mqttPassWord.setText(input.toString());
dialog.dismiss();
break;
case "appId":
paramSettingInfo.setAppId(input.toString());
binding.appId.setText(input.toString());
dialog.dismiss();
break;
case "appKey":
paramSettingInfo.setAppKey(input.toString());
binding.appKey.setText(input.toString());
dialog.dismiss();
break;
case "facePassRate":
if (Float.parseFloat(input.toString()) > 1 || Float.parseFloat(input.toString()) < 0){
SoundManager.getInstance().play(Sound.createSimpleSound(R.raw.please_input_correct_param));
XToastUtils.warning("请输入正确的参数!");
return;
}
paramSettingInfo.setFacePassRate(input.toString());
binding.facePassRate.setText(input.toString());
dialog.dismiss();
break;
case "photoPrefix":
paramSettingInfo.setPhotoPrefixes(input.toString());
binding.photoPrefix.setText(input.toString());
dialog.dismiss();
break;
default:
break;
}
}
@Override
public void onDestroy() {
super.onDestroy();

Binary file not shown.