优化浇水流程,以及中英文遗漏点
This commit is contained in:
@@ -30,12 +30,21 @@ public class CustomTypeFilterPopupView extends PartShadowPopupView implements Vi
|
||||
private boolean mSelManual = false;
|
||||
//是否选择了自动排程
|
||||
private boolean mSelAuto = false;
|
||||
private int mFilterType = -1;
|
||||
|
||||
public CustomTypeFilterPopupView(@NonNull Context context, OnClickListener listener) {
|
||||
super(context);
|
||||
this.mContext = context;
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
public CustomTypeFilterPopupView(@NonNull Context context, OnClickListener listener, int filterType) {
|
||||
super(context);
|
||||
this.mContext = context;
|
||||
this.listener = listener;
|
||||
this.mFilterType = filterType;
|
||||
}
|
||||
|
||||
public interface OnClickListener{
|
||||
void callBack(boolean mSelManual,boolean mSelAuto);
|
||||
}
|
||||
@@ -59,7 +68,18 @@ public class CustomTypeFilterPopupView extends PartShadowPopupView implements Vi
|
||||
tvAuto.setOnClickListener(this);
|
||||
tvReset.setOnClickListener(this);
|
||||
tvFinish.setOnClickListener(this);
|
||||
tvManual.setSelected(false);
|
||||
// 根据filterType设置初始选中状态
|
||||
if (mFilterType == 0) {
|
||||
// 排程
|
||||
mSelAuto = true;
|
||||
tvAuto.setTextColor(mContext.getColor(R.color.white));
|
||||
tvAuto.setSelected(true);
|
||||
} else if (mFilterType == 1) {
|
||||
// 手动
|
||||
mSelManual = true;
|
||||
tvManual.setTextColor(mContext.getColor(R.color.white));
|
||||
tvManual.setSelected(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -99,8 +99,11 @@ public class TabHistoryFragment extends BaseFragment<TabHistoryFragmentLayoutBin
|
||||
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
switch (view.getId()){
|
||||
case R.id.img_delete:
|
||||
showDialogtext(null, false, false, "提示",
|
||||
"确定删除该记录", "取消", "删除",
|
||||
showDialogtext(null, false, false,
|
||||
getString(R.string.tip_text),
|
||||
getString(R.string.confirm_delete_record),
|
||||
getString(R.string.cancel_text),
|
||||
getString(R.string.confirm_text),
|
||||
new OnDialogClick() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
@@ -189,7 +192,7 @@ public class TabHistoryFragment extends BaseFragment<TabHistoryFragmentLayoutBin
|
||||
}
|
||||
getWaterHistoryList();
|
||||
}
|
||||
}));
|
||||
}, mFilterType));
|
||||
typePopupView.show();
|
||||
break;
|
||||
|
||||
|
||||
@@ -34,7 +34,9 @@ public class WateringHistoryAdapter extends BaseQuickAdapter<WateringRecord, Bas
|
||||
helper.setText(R.id.tv_plan_duration,mContext.getString(R.string.device_work_times_title)
|
||||
+ ":" + item.getDurationMin() + "min");
|
||||
helper.setText(R.id.tv_plan_type,mContext.getString(R.string.tab_filter_type)
|
||||
+ ":" + item.getTriggerType());
|
||||
+ ":" + (item.getTriggerType().equals("0") ?
|
||||
mContext.getString(R.string.history_filter_auto) :
|
||||
mContext.getString(R.string.history_filter_manual)));
|
||||
helper.addOnClickListener(R.id.img_delete);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,290 +0,0 @@
|
||||
package com.ckkj.water.mine;
|
||||
|
||||
import static android.app.Activity.RESULT_OK;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.alibaba.sdk.android.oss.ClientException;
|
||||
import com.alibaba.sdk.android.oss.ServiceException;
|
||||
import com.ckkj.water.base.entity.MineUserInfoBean;
|
||||
import com.esafirm.imagepicker.features.ImagePicker;
|
||||
import com.esafirm.imagepicker.model.Image;
|
||||
import com.ckkj.water.AppConfig;
|
||||
import com.ckkj.water.EventMessage;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseFragment;
|
||||
import com.ckkj.water.base.inter.UploadCallback;
|
||||
import com.ckkj.water.databinding.MineFragmentBinding;
|
||||
import com.ckkj.water.login.LoginActivity;
|
||||
import com.ckkj.water.mine.mvp.MineContract;
|
||||
import com.ckkj.water.mine.mvp.MineImpl;
|
||||
import com.ckkj.water.mine.mvp.MinePresenter;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.utils.LubanCompressUtil;
|
||||
import com.ckkj.water.utils.PreviewFileUtil;
|
||||
import com.ckkj.water.utils.click.ClickUtil;
|
||||
import com.ckkj.water.utils.dataUtil.FileUtil;
|
||||
import com.ckkj.water.utils.manager.WaterUserInfoManager;
|
||||
import com.ckkj.water.utils.oss.OssUploadHelper;
|
||||
import com.ckkj.water.utils.show.ToastUtil;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.lxj.xpopup.interfaces.OnSelectListener;
|
||||
import com.yalantis.ucrop.UCrop;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import de.greenrobot.event.EventBus;
|
||||
import pub.devrel.easypermissions.EasyPermissions;
|
||||
|
||||
/**
|
||||
* @author fengxiaoyang 新分支
|
||||
* @date 2025/7/7
|
||||
* @description TODO: 描述该类的作用
|
||||
*/
|
||||
|
||||
public class MineFragment extends BaseFragment<MineFragmentBinding, MinePresenter>
|
||||
implements MineContract.MineView {
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void initData(Bundle state) {
|
||||
viewBinding.includedTitle.imgBack.setVisibility(View.GONE);
|
||||
viewBinding.includedTitle.imgSetting.setVisibility(View.VISIBLE);
|
||||
ClickUtil.addClickPart(viewBinding.includedTitle.imgSetting, 50);
|
||||
ClickUtil.addClickPart(viewBinding.imgEdit, 50);
|
||||
viewBinding.includedTitle.tvTitle.setText("个人中心");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResumeInitData() {
|
||||
super.onResumeInitData();
|
||||
if (AppConfig.USER_LOGIN) {
|
||||
// mPresenter.getUserinfo();
|
||||
} else {
|
||||
viewBinding.tvDefaulBirthtime.setVisibility(View.VISIBLE);
|
||||
viewBinding.tvDefaulStar.setVisibility(View.VISIBLE);
|
||||
viewBinding.tvUserBirthTime.setVisibility(View.GONE);
|
||||
viewBinding.tvUserStar.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public MinePresenter createPresenter() {
|
||||
return new MinePresenter(new MineImpl());
|
||||
}
|
||||
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.img_user_head:
|
||||
if (!AppConfig.USER_LOGIN) {
|
||||
goTo(mContext, LoginActivity.class, null);
|
||||
return;
|
||||
}
|
||||
new XPopup.Builder(mContext).asBottomList(
|
||||
getString(R.string.avatar),
|
||||
new String[]{
|
||||
getString(R.string.upload_avatar),
|
||||
getString(R.string.view_full_image)}, new OnSelectListener() {
|
||||
@Override
|
||||
public void onSelect(int position, String text) {
|
||||
switch (position) {
|
||||
case 0:
|
||||
String readPermission = Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
if (!hasRecordPermission(readPermission)) {
|
||||
// 没有权限,只在ACTION_DOWN时去申请+
|
||||
getPermissionRequst(readPermission,
|
||||
getString(R.string.request_camera_storage_permission),
|
||||
getString(R.string.avatar_permission_tips),
|
||||
REQUEST_CODE_100);
|
||||
return;
|
||||
} else {
|
||||
imagePicker(1, REQUEST_CODE_100, MineFragment.this);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
// String suffix = FileUtil.getFileSuffixWithQuestion(WaterUserInfoManager.getInstance().getUserInfo().getAvatar());
|
||||
// PreviewFileUtil.previewFiles(mContext, suffix, WaterUserInfoManager.getInstance().getUserInfo().getAvatar());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}).show();
|
||||
break;
|
||||
|
||||
case R.id.img_setting:
|
||||
goTo(mContext, SettingsActivity.class, null);
|
||||
break;
|
||||
|
||||
case R.id.img_edit://编辑出生日期
|
||||
if (!AppConfig.USER_LOGIN) {
|
||||
goTo(mContext, LoginActivity.class, null);
|
||||
return;
|
||||
}
|
||||
// 发送EventBus消息,让MainActivity切换到FateFragment
|
||||
EventBus.getDefault().post(new EventMessage(EventMessage.SWITCH_TO_FATE_FRAGMENT));
|
||||
break;
|
||||
|
||||
case R.id.linear_tobe_vip:
|
||||
|
||||
case R.id.lienar_share_be_vip:
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (resultCode == RESULT_OK) {
|
||||
switch (requestCode) {
|
||||
case 100://头像
|
||||
List<Image> images = ImagePicker.getImages(data);
|
||||
Uri sourceUri = Uri.fromFile(new File(images.get(0).getPath()));
|
||||
Uri destinationUri = Uri.fromFile(new File(mContext.getCacheDir(), "cropped_image.jpg"));
|
||||
UCrop.of(sourceUri, destinationUri)
|
||||
.withAspectRatio(1, 1) // 设置裁剪框比例,1:1 为正方形
|
||||
.withMaxResultSize(1000, 1000) // 设置裁剪后的最大图片尺寸
|
||||
.start(requireContext(), this);
|
||||
break;
|
||||
|
||||
case UCrop.REQUEST_CROP:
|
||||
showLoadingDialog();
|
||||
Uri resultUri = UCrop.getOutput(data);
|
||||
String filePath = resultUri.getPath();
|
||||
if (!TextUtils.isEmpty(filePath)) {
|
||||
getCompressFile(new File(filePath));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void getCompressFile(File file) {
|
||||
LubanCompressUtil.getInstance().getCompressFile(mContext, file, new LubanCompressUtil.CompressCallback() {
|
||||
@Override
|
||||
public void success(File file) {
|
||||
if (file != null) {
|
||||
if (file.exists()) {
|
||||
long fileSizeInBytes = file.length(); // 获取文件大小(字节)
|
||||
long fileSizeInMB = fileSizeInBytes / (1024 * 1024); // 转换为MB
|
||||
String fileName = file.getName();
|
||||
if (fileSizeInMB > 5) {
|
||||
hideDialogLoading();
|
||||
ToastUtil.showShort(mContext, "文件大小超出5M");
|
||||
return;
|
||||
}
|
||||
if (!fileName.toLowerCase().endsWith(".png") &&
|
||||
!fileName.toLowerCase().endsWith(".jpg") &&
|
||||
!fileName.toLowerCase().endsWith(".jpeg")) {
|
||||
ToastUtil.showShort(mContext, "文件格式不正确");
|
||||
hideDialogLoading();
|
||||
return;
|
||||
}
|
||||
List<String> filePath = new ArrayList<>();
|
||||
filePath.add(file.getPath());
|
||||
OssUploadHelper helper = new OssUploadHelper(mContext);
|
||||
helper.upload(AppConfig.UPLOAD_TYPE_200, fileName, filePath, new UploadCallback() {
|
||||
@Override
|
||||
public void onSuccess(List<String> urls) {
|
||||
mContext.runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!TextUtils.isEmpty(urls.get(0))) {
|
||||
// mPresenter.updateUserAvatar(urls.get(0));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(ClientException clientException, ServiceException serviceException) {
|
||||
|
||||
}
|
||||
});
|
||||
} else {
|
||||
ToastUtil.showShort(mContext, "文件不存在");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fail(String failMsg) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNetChange(int netModel) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showError(String message) {
|
||||
hideDialogLoading();
|
||||
ToastUtil.showShort(mContext, message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void logOut(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
|
||||
hidePermissionDialog();
|
||||
if (requestCode == REQUEST_CODE_100) {
|
||||
imagePicker(1, REQUEST_CODE_100, this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void getUserInfoSuccess(MineUserInfoBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUserInfoSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUserPasswordSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void logOutSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -9,9 +9,6 @@ import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||
import com.ckkj.water.login.entity.LoginEntity;
|
||||
import com.ckkj.water.main.entity.CheckVersionEntity;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
import com.ckkj.water.plate.entity.BaziResultBean;
|
||||
import com.ckkj.water.plate.entity.BaziSaveSuccessEntity;
|
||||
import com.ckkj.water.plate.entity.PaipanHistoryEntity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -148,20 +145,6 @@ public interface Request {
|
||||
Observable<BaseBean<CheckVersionEntity>> getVersionCheck(@HeaderMap Map<String, String> headMap, @QueryMap Map<String, Object> map);
|
||||
|
||||
|
||||
|
||||
|
||||
//保存排盘结果
|
||||
@POST("mobile/paiPan")
|
||||
Observable<BaseBean<BaziSaveSuccessEntity>> startPaipan(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||
//AI解析排盘结果
|
||||
@POST("mobile/paiPan/ai")
|
||||
Observable<BaseBean> aiParesBaziResult(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||
//开始排盘
|
||||
@POST("https://api.yuanfenju.com/index.php/v1/Bazi/jingpan")
|
||||
Observable<BaseYfjApiBean<BaziResultBean>> startPaipanByYfj(@HeaderMap Map<String, String> headMap, @QueryMap Map<String, Object> map);
|
||||
//获取运势历史列表
|
||||
@GET("mobile/paiPan/records")
|
||||
Observable<BaseBean<PaipanHistoryEntity>> getPaipanHistoryList(@HeaderMap Map<String, String> headMap);
|
||||
//删除历史记录
|
||||
@POST("mobile/paiPan/record")
|
||||
Observable<BaseBean> deletePaipanRecordById(@HeaderMap Map<String, String> headMap, @QueryMap Map<String, Object> map);
|
||||
|
||||
@@ -55,8 +55,11 @@ public class PlanBoundDeviceFragment extends BaseFragment<PlanBoundDeviceLayoutB
|
||||
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
switch (view.getId()){
|
||||
case R.id.img_delete:
|
||||
showDialogtext(null, false, false, "提示",
|
||||
"确定解绑该设备?", "取消", "解绑",
|
||||
showDialogtext(null, false, false,
|
||||
getString(R.string.tip_text),
|
||||
getString(R.string.confirm_unbind_device),
|
||||
getString(R.string.cancel_text),
|
||||
getString(R.string.confirm_text),
|
||||
new OnDialogClick() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
|
||||
@@ -117,8 +117,11 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
||||
|
||||
case R.id.btn_delete://删除
|
||||
showDialogtext(null, false, false, true,
|
||||
getString(R.string.tip_text), getString(R.string.delete_plan_tip),
|
||||
getString(R.string.cancel_text), getString(R.string.confirm_text), new BaseFragment.OnDialogClick() {
|
||||
getString(R.string.tip_text),
|
||||
getString(R.string.delete_plan_tip),
|
||||
getString(R.string.cancel_text),
|
||||
getString(R.string.confirm_text),
|
||||
new BaseFragment.OnDialogClick() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
}
|
||||
@@ -243,7 +246,7 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
||||
hideDialogLoading();
|
||||
mDetailEntity.setStatus(status);
|
||||
if(status.equals("1")){
|
||||
showCenterTipDialog(R.mipmap.icon_dialog_success,"任务已开启");
|
||||
showCenterTipDialog(R.mipmap.icon_dialog_success,getString(R.string.task_started));
|
||||
viewBinding.switchButton.setChecked(true);
|
||||
}else{
|
||||
viewBinding.switchButton.setChecked(false);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ckkj.water.plan.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.widget.CheckBox;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -24,8 +25,19 @@ public class WaterPlanListAdapter extends BaseQuickAdapter<WaterPlanWeekEntity,
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, WaterPlanWeekEntity item) {
|
||||
View viewStatus = helper.getView(R.id.view_status_dot);
|
||||
helper.setText(R.id.tv_device_name, item.getName());
|
||||
helper.setText(R.id.tv_device_serial, item.getId());
|
||||
helper.setText(R.id.tv_device_status, item.getStatus().equals("0") ?
|
||||
mContext.getString(R.string.closed) :
|
||||
mContext.getString(R.string.device_status_working));
|
||||
if(item.getStatus().equals("0")){
|
||||
helper.setTextColor(R.id.tv_device_status,mContext.getResources().getColor(R.color.color_999999));
|
||||
viewStatus.setBackground(mContext.getResources().getDrawable(R.drawable.shape_status_dot_999999));
|
||||
}else{
|
||||
helper.setTextColor(R.id.tv_device_status,mContext.getResources().getColor(R.color.color_24B326));
|
||||
viewStatus.setBackground(mContext.getResources().getDrawable(R.drawable.shape_status_dot_green));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
android:layout_marginHorizontal="@dimen/dp_5"
|
||||
android:layout_marginVertical="@dimen/dp_6"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="@dimen/dp_5">
|
||||
app:cardElevation="@dimen/dp_2">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:clipToPadding="false"
|
||||
android:paddingHorizontal="@dimen/dp_15"
|
||||
tools:itemCount="3"
|
||||
tools:itemCount="5"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
tools:listitem="@layout/index_device_list_item" />
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/dp_10"
|
||||
android:text="已经到底了"
|
||||
android:text="@string/no_more_data"
|
||||
android:textColor="@color/color_zhu"
|
||||
android:textSize="@dimen/sp_12" />
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
android:textStyle="bold"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/textPrimaryColor"
|
||||
android:text="昵称"/>
|
||||
android:text=""/>
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -64,7 +64,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="16sp"
|
||||
android:textColor="@color/textPrimaryColor"
|
||||
android:text="13988886666"/>
|
||||
android:text=""/>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginVertical="@dimen/dp_5"
|
||||
android:layout_marginVertical="@dimen/dp_6"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="4dp">
|
||||
app:cardElevation="@dimen/dp_2">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginVertical="@dimen/dp_5"
|
||||
android:layout_marginVertical="@dimen/dp_6"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="4dp">
|
||||
app:cardElevation="@dimen/dp_2">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:text="已关联"
|
||||
android:text="@string/associated"
|
||||
android:textColor="@color/color_zhu"
|
||||
android:textSize="14sp" />
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginVertical="@dimen/dp_5"
|
||||
android:layout_marginVertical="@dimen/dp_6"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="4dp">
|
||||
app:cardElevation="@dimen/dp_2">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_10"
|
||||
android:layout_marginVertical="@dimen/dp_5"
|
||||
android:layout_marginVertical="@dimen/dp_6"
|
||||
app:cardCornerRadius="10dp"
|
||||
app:cardElevation="4dp">
|
||||
app:cardElevation="@dimen/dp_2">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -103,6 +103,9 @@
|
||||
<string name="select_watering_duration">Select watering duration</string>
|
||||
<string name="start_watering">Start Watering</string>
|
||||
<string name="device_status_offline">Off line</string>
|
||||
<string name="closed">Closed</string>
|
||||
<string name="end_watering">Stop Watering</string>
|
||||
<string name="device_offline_tip">Device is offline</string>
|
||||
|
||||
|
||||
<!-- Schedule -->
|
||||
@@ -133,6 +136,8 @@
|
||||
<string name="button_edit">Edit</string>
|
||||
<string name="plan_detail_title">Schedule Details</string>
|
||||
<string name="btn_manual_refresh">Refresh</string>
|
||||
<string name="task_started">Task Started</string>
|
||||
<string name="associated">Associated</string>
|
||||
|
||||
<!-- History -->
|
||||
<string name="history_title">History</string>
|
||||
@@ -256,6 +261,9 @@
|
||||
<string name="device_not_connected_retry">Device is not connected, please try again</string>
|
||||
|
||||
<string name="scan_failed">Scan failed: %1$s</string>
|
||||
<string name="confirm_unbind_device">Unbind Device</string>
|
||||
<string name="confirm_delete_record">Delete Record</string>
|
||||
<string name="no_more_data">No more data</string>
|
||||
|
||||
<!-- End -->
|
||||
|
||||
|
||||
@@ -89,6 +89,7 @@
|
||||
<string name="device_info_firmware_version">固件版本</string>
|
||||
<string name="device_status_working">工作中</string>
|
||||
<string name="device_status_not_working">待机中</string>
|
||||
<string name="closed">已关闭</string>
|
||||
<string name="device_status_offline">离线</string>
|
||||
<string name="select_watering_duration">请选择浇水时长</string>
|
||||
<string name="start_watering">开启浇水</string>
|
||||
@@ -126,6 +127,8 @@
|
||||
<string name="button_edit">编辑</string>
|
||||
<string name="plan_detail_title">排程详情</string>
|
||||
<string name="btn_manual_refresh">手动刷新</string>
|
||||
<string name="task_started">任务已开启</string>
|
||||
<string name="associated">已关联</string>
|
||||
|
||||
|
||||
<!--历史-->
|
||||
@@ -242,6 +245,9 @@
|
||||
<string name="device_not_connected_retry">设备未连接,请稍后重试</string>
|
||||
|
||||
<string name="scan_failed">扫描失败: %1$s</string>
|
||||
<string name="confirm_unbind_device">确定解绑该设备</string>
|
||||
<string name="confirm_delete_record">确定删除该记录</string>
|
||||
<string name="no_more_data">已经到底了</string>
|
||||
|
||||
|
||||
<!--结束-->
|
||||
|
||||
Reference in New Issue
Block a user