From 3e3f9e2e623333a9a6002fc027dc6b9ad9bfdcb1 Mon Sep 17 00:00:00 2001 From: wenfei Date: Mon, 23 Mar 2026 17:43:49 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=80=BB=E8=A7=88-=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- .../adapter/DeviceManagerListAdapter.kt | 23 ++- .../adapter/DeviceOverviewListAdapter.kt | 28 ++- .../bean/DeviceManagerListResultBean.java | 20 +- .../ui/activity/DeviceManagerListActivity.kt | 57 +++++- .../ui/activity/DeviceOverviewListActivity.kt | 29 +++ .../zhdcoa/ui/activity/LoginActivity.kt | 6 +- .../DeviceMonitoringPhotoFragment.java | 188 ++++++++++++++++- .../DeviceMonitoringStatisticsFragment.java | 2 +- .../rehome/zhdcoa/ui/fragment/HomeFragment.kt | 22 +- .../drawable-xhdpi/icon_device_place_big.jpg | Bin 0 -> 20255 bytes .../icon_device_place_small.jpg | Bin 0 -> 8038 bytes .../layout/activity_device_manager_list.xml | 192 +++++++++++++----- .../layout/activity_device_overview_list.xml | 40 ++++ .../fragment_device_monitoring_photo.xml | 58 +++--- app/src/main/res/layout/fragment_home.xml | 2 +- app/src/main/res/values/arrays.xml | 9 +- 17 files changed, 571 insertions(+), 109 deletions(-) create mode 100644 app/src/main/res/drawable-xhdpi/icon_device_place_big.jpg create mode 100644 app/src/main/res/drawable-xhdpi/icon_device_place_small.jpg diff --git a/app/build.gradle b/app/build.gradle index d88e941..6b0276d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { applicationId "com.rehome.zhdcoa" minSdk 24 targetSdk 36 - versionCode 28 - versionName "2.4.4" + versionCode 29 + versionName "2.4.5" multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" //每个应用拥有不同的authorities,防止相同的在同一个手机上无法同时安装 diff --git a/app/src/main/java/com/rehome/zhdcoa/adapter/DeviceManagerListAdapter.kt b/app/src/main/java/com/rehome/zhdcoa/adapter/DeviceManagerListAdapter.kt index 15de6c4..2f9c533 100644 --- a/app/src/main/java/com/rehome/zhdcoa/adapter/DeviceManagerListAdapter.kt +++ b/app/src/main/java/com/rehome/zhdcoa/adapter/DeviceManagerListAdapter.kt @@ -24,6 +24,7 @@ import com.yolanda.nohttp.rest.CacheMode import com.yolanda.nohttp.rest.OnResponseListener import com.yolanda.nohttp.rest.RequestQueue import com.yolanda.nohttp.rest.Response +import org.w3c.dom.Text import javax.net.ssl.HostnameVerifier class DeviceManagerListAdapter( @@ -104,7 +105,7 @@ class DeviceManagerListAdapter( if(!TextUtils.isEmpty(itemBean.areaFullName)){ binding.tvArea.text = itemBean.areaFullName } - binding.tvSbzt.text = itemBean.description + //binding.tvSbzt.text = itemBean.description if(itemBean.online){ binding.tvZxzt.text = "在线" binding.tvZxzt.setTextColor(Color.parseColor("#67C23A"))//0099ff @@ -112,6 +113,26 @@ class DeviceManagerListAdapter( binding.tvZxzt.text = "离线" binding.tvZxzt.setTextColor(Color.parseColor("#ff0000")) } + if(TextUtils.isEmpty(itemBean.major)){ + binding.tvSbzt.text = "" + }else{ + if(itemBean.status=="0"){ + binding.tvSbzt.text = "检修/下线" + binding.tvSbzt.setTextColor(Color.parseColor("#ff0000")) + } + if(itemBean.status=="1"){ + binding.tvSbzt.text = "上线" + binding.tvSbzt.setTextColor(Color.parseColor("#67C23A"))//0099ff + } + if(itemBean.status=="2"){ + binding.tvSbzt.text = "丢失" + binding.tvSbzt.setTextColor(Color.parseColor("#ff0000")) + } + if(itemBean.status=="3"){ + binding.tvSbzt.text = "报废" + binding.tvSbzt.setTextColor(Color.parseColor("#ff0000")) + } + } binding.tvZtsysc.text = itemBean.continuedTime binding.tvAzsj.text = itemBean.installTime binding.tvYczsc.text = itemBean.runningTime diff --git a/app/src/main/java/com/rehome/zhdcoa/adapter/DeviceOverviewListAdapter.kt b/app/src/main/java/com/rehome/zhdcoa/adapter/DeviceOverviewListAdapter.kt index 64b3dc6..9e057f6 100644 --- a/app/src/main/java/com/rehome/zhdcoa/adapter/DeviceOverviewListAdapter.kt +++ b/app/src/main/java/com/rehome/zhdcoa/adapter/DeviceOverviewListAdapter.kt @@ -104,10 +104,10 @@ class DeviceOverviewListAdapter( }else{ binding.tvMc.text = itemBean.name } - binding.tvSbzt.text = itemBean.description - if(!TextUtils.isEmpty(itemBean.description)&&"正常"==itemBean.description){ - binding.tvSbzt.setTextColor(Color.parseColor("#67C23A"))//0099ff - } +// binding.tvSbzt.text = itemBean.description +// if(!TextUtils.isEmpty(itemBean.description)&&"正常"==itemBean.description){ +// binding.tvSbzt.setTextColor(Color.parseColor("#67C23A"))//0099ff +// } if(itemBean.online){ binding.tvZxzt.text = "在线" @@ -116,6 +116,26 @@ class DeviceOverviewListAdapter( binding.tvZxzt.text = "离线" binding.tvZxzt.setTextColor(Color.parseColor("#ff0000")) } + if(TextUtils.isEmpty(itemBean.major)){ + binding.tvSbzt.text = "" + }else{ + if(itemBean.status=="0"){ + binding.tvSbzt.text = "检修/下线" + binding.tvSbzt.setTextColor(Color.parseColor("#ff0000")) + } + if(itemBean.status=="1"){ + binding.tvSbzt.text = "上线" + binding.tvSbzt.setTextColor(Color.parseColor("#67C23A"))//0099ff + } + if(itemBean.status=="2"){ + binding.tvSbzt.text = "丢失" + binding.tvSbzt.setTextColor(Color.parseColor("#ff0000")) + } + if(itemBean.status=="3"){ + binding.tvSbzt.text = "报废" + binding.tvSbzt.setTextColor(Color.parseColor("#ff0000")) + } + } binding.tvYczsc.text = itemBean.runningTime binding.tvSjgxsj.text = itemBean.warningTime binding.llCwcz.setOnClickListener { diff --git a/app/src/main/java/com/rehome/zhdcoa/bean/DeviceManagerListResultBean.java b/app/src/main/java/com/rehome/zhdcoa/bean/DeviceManagerListResultBean.java index 055d547..07fd0f9 100644 --- a/app/src/main/java/com/rehome/zhdcoa/bean/DeviceManagerListResultBean.java +++ b/app/src/main/java/com/rehome/zhdcoa/bean/DeviceManagerListResultBean.java @@ -44,9 +44,11 @@ public class DeviceManagerListResultBean extends DeviceAlarmBaseBean{ private String continuedTime;//状态持续时间 private String installTime;//安装时间 private String runningTime;//运行总时长 - private String state;//设备状态 + private String state; private String areaFullPath; private String areaFullName; + private String status;//设备状态 + private String major;//专业 public String getCode() { return code; @@ -175,5 +177,21 @@ public class DeviceManagerListResultBean extends DeviceAlarmBaseBean{ public void setAreaFullName(String areaFullName) { this.areaFullName = areaFullName; } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } } } diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/DeviceManagerListActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/DeviceManagerListActivity.kt index 012fcd5..c4beab7 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/DeviceManagerListActivity.kt +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/DeviceManagerListActivity.kt @@ -4,6 +4,7 @@ import android.content.Intent import android.os.Bundle import android.text.TextUtils import android.view.View +import android.widget.AdapterView import android.widget.ArrayAdapter import android.widget.RadioGroup import androidx.activity.enableEdgeToEdge @@ -51,10 +52,12 @@ class DeviceManagerListActivity : BaseActivityOaToolbarViewBinding private var nodeKey: String? = null private var cname: String? = null - - //DeviceManagerListAdapter - //adapter_device_manager_list -// DeviceManagerListResultBean + //专业下拉 + val specialtyList = mutableListOf("全部", "汽机", "环化", "锅炉", "电气") + private lateinit var spinnerAdapter:ArrayAdapter + //设备状态下拉 + val deviceSpinnerList = mutableListOf("全部", "检修/下线", "上线", "丢失", "报废") + private lateinit var deviceSpinnerAdapter:ArrayAdapter override fun getViewBinding() = ActivityDeviceManagerListBinding.inflate(layoutInflater) @@ -86,6 +89,49 @@ class DeviceManagerListActivity : BaseActivityOaToolbarViewBinding?, view: View?, position: Int, id: Long) { + val selectedItem = parent?.getItemAtPosition(position).toString() + showLog(selectedItem) + authenticationLoginDeviceAlarmInfoRsa() + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + // 处理未选择的情况 + } + } + + // 创建适配器 + deviceSpinnerAdapter = ArrayAdapter.createFromResource( + this, + R.array.spinner_items_sbzt, + android.R.layout.simple_spinner_item + ) + deviceSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + binding.spSbzt.adapter = deviceSpinnerAdapter + // 设置选择监听 + binding.spSbzt.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { + val selectedItem = parent?.getItemAtPosition(position).toString() + showLog(selectedItem) + authenticationLoginDeviceAlarmInfoRsa() + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + // 处理未选择的情况 + } + } + + val gson = GsonBuilder() .setPrettyPrinting() .serializeNulls() @@ -239,6 +285,8 @@ class DeviceManagerListActivity : BaseActivityOaToolbarViewBinding { @@ -352,6 +400,7 @@ class DeviceManagerListActivity : BaseActivityOaToolbarViewBinding { override fun onSucceed(what: Int, response: Response?) { diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/DeviceOverviewListActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/DeviceOverviewListActivity.kt index ec5e0bc..9ba1e7e 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/DeviceOverviewListActivity.kt +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/DeviceOverviewListActivity.kt @@ -4,6 +4,8 @@ import android.content.Intent import android.os.Bundle import android.text.TextUtils import android.view.View +import android.widget.AdapterView +import android.widget.ArrayAdapter import android.widget.RadioGroup import androidx.activity.enableEdgeToEdge import androidx.activity.result.ActivityResultLauncher @@ -52,6 +54,10 @@ class DeviceOverviewListActivity : private var nodeKey: String? = null private var cname: String? = null + //专业下拉 + val specialtyList = mutableListOf("全部", "汽机", "环化", "锅炉", "电气") + private lateinit var spinnerAdapter: ArrayAdapter + override fun getViewBinding() = ActivityDeviceOverviewListBinding.inflate(layoutInflater) @@ -73,6 +79,27 @@ class DeviceOverviewListActivity : binding.lv.emptyView = binding.tvNodata + // 创建适配器 + spinnerAdapter = ArrayAdapter.createFromResource( + this, + R.array.spinner_items_zy, + android.R.layout.simple_spinner_item + ) + spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + binding.spZy.adapter = spinnerAdapter + // 设置选择监听 + binding.spZy.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { + val selectedItem = parent?.getItemAtPosition(position).toString() + showLog(selectedItem) + authenticationLoginDeviceAlarmInfoRsa() + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + // 处理未选择的情况 + } + } + val gson = GsonBuilder() .setPrettyPrinting() .serializeNulls() @@ -193,6 +220,8 @@ class DeviceOverviewListActivity : Contans.IP + Contans.DeviceManagerListUrl, RequestMethod.GET ) + val zyIndex:Int = binding.spZy.selectedItemPosition + request.add("major",specialtyList[zyIndex]) NohttpUtils.getInstance().add(this, 0, request, object : HttpListener { diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt b/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt index cb9eef1..883c6b2 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt +++ b/app/src/main/java/com/rehome/zhdcoa/ui/activity/LoginActivity.kt @@ -136,7 +136,7 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() { // Contans.BASE_URL_COMPANY_SERVER_EXTRANET //智慧安防平台登录 电厂外网 // Contans.BASE_URL_AI_3D_SERVER = // Contans.BASE_URL_AI_3D_SERVER_EXTRANET //AI三维可视化安防平台登录 电厂外网 - binding.rg.check(R.id.rb3) + binding.rg.check(R.id.rb1) Contans.IP = Contans.IP_INTRANET //运行IP内网 Contans.BASE_URL = Contans.BASE_URL_INTRANET //行政IP内网 Contans.BASE_URL_COMPANY_SERVER = @@ -241,8 +241,8 @@ class LoginActivity : BaseActivityOaToolbarViewBinding() { if (isApkInDebug(context)) { // 管理员 - binding.etUsername.setText("ZHPS_Admin") - binding.etPassword.setText("Rehome.zhps@996") +// binding.etUsername.setText("ZHPS_Admin") +// binding.etPassword.setText("Rehome.zhps@996") // binding.etUsername.setText("310187") // binding.etPassword.setText("4321@cwxING") diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/fragment/DeviceMonitoringPhotoFragment.java b/app/src/main/java/com/rehome/zhdcoa/ui/fragment/DeviceMonitoringPhotoFragment.java index cc1359b..b9850cb 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/fragment/DeviceMonitoringPhotoFragment.java +++ b/app/src/main/java/com/rehome/zhdcoa/ui/fragment/DeviceMonitoringPhotoFragment.java @@ -1,15 +1,50 @@ package com.rehome.zhdcoa.ui.fragment; +import static com.rehome.zhdcoa.utils.GsonUtils.GsonToBean; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Color; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.Drawable; +import android.text.TextUtils; +import android.util.Log; import android.view.LayoutInflater; +import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import com.rehome.zhdcoa.Contans; +import com.rehome.zhdcoa.R; import com.rehome.zhdcoa.base.BaseViewBindingFragment; +import com.rehome.zhdcoa.bean.DeviceOnlineStatusImgBean; import com.rehome.zhdcoa.databinding.FragmentDeviceMonitoringPhotoBinding; import com.rehome.zhdcoa.databinding.FragmentDeviceMonitoringStatisticsBinding; +import com.rehome.zhdcoa.ui.activity.PhotoRiskViewActivity; +import com.rehome.zhdcoa.utils.AuthenticationLoginAIUtils; +import com.rehome.zhdcoa.utils.HttpListener; +import com.rehome.zhdcoa.utils.NohttpUtils; +import com.rehome.zhdcoa.utils.OnAuthenticationLoginListener; +import com.rehome.zhdcoa.utils.RSAAndroid; +import com.yolanda.nohttp.NoHttp; +import com.yolanda.nohttp.RequestMethod; +import com.yolanda.nohttp.rest.CacheMode; +import com.yolanda.nohttp.rest.OnResponseListener; +import com.yolanda.nohttp.rest.Request; +import com.yolanda.nohttp.rest.RequestQueue; +import com.yolanda.nohttp.rest.Response; + +import java.util.ArrayList; +import java.util.List; + +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLSocketFactory; public class DeviceMonitoringPhotoFragment extends BaseViewBindingFragment { @@ -17,6 +52,10 @@ public class DeviceMonitoringPhotoFragment extends BaseViewBindingFragment onlinePhotoList = new ArrayList<>(); + private List deviceOnlineStatusImgList = new ArrayList<>(); + private RequestQueue queue; + public DeviceMonitoringPhotoFragment(String deviceCode,String deviceName,String areaFullName){ this.deviceCode=deviceCode; this.deviceName=deviceName; @@ -30,11 +69,158 @@ public class DeviceMonitoringPhotoFragment extends BaseViewBindingFragment request = NoHttp.createStringRequest(url, RequestMethod.GET); + + NohttpUtils.getInstance().add(requireActivity(),0, request, new HttpListener() { + + @SuppressLint({"SetTextI18n", "DefaultLocale", "NotifyDataSetChanged"}) + @Override + public void onSucceed(int what, com.yolanda.nohttp.rest.Response response) { + + String result = response.get(); + showLog(result); + + + DeviceOnlineStatusImgBean bean = GsonToBean(result, DeviceOnlineStatusImgBean.class); + if(bean!=null && bean.getCode()==20000 && bean.isSuccess() && bean.getData()!=null && !bean.getData().isEmpty()){ + deviceOnlineStatusImgList.clear(); + deviceOnlineStatusImgList.addAll(bean.getData()); + onlinePhotoList.clear(); + + ArrayList onlinePhotoListTemp = new ArrayList<>(); + + String imgDeviceOnlineBaseUrl = Contans.IP + Contans.getImgDeviceOnlineBaseUrl; + for(DeviceOnlineStatusImgBean.DeviceOnlineStatusImg item : deviceOnlineStatusImgList){ + String fileName = item.getFileName(); + String imgFullUrl = imgDeviceOnlineBaseUrl+fileName; + onlinePhotoListTemp.add(imgFullUrl); + onlinePhotoList.add(imgFullUrl); + showLog(imgFullUrl); + } + showLog(String.valueOf(onlinePhotoListTemp.size())); + if(!onlinePhotoList.isEmpty()){ + //设置图片 + String mediaUrl = onlinePhotoList.get(0); + setDevicePhotoToImageView(mediaUrl); + binding.tvNoPhoto.setVisibility(View.GONE); + }else{ + Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_device_place_big); + Drawable drawable = new BitmapDrawable(context.getResources(), bitmap); + binding.fivPhoto.setImageDrawable(drawable); + } + } + } + + @Override + public void onFailed(int what, com.yolanda.nohttp.rest.Response response) { + showLog("数据加载失败"); + } + }); + } + public void setDevicePhotoToImageView(String mediaUrl) { + Request request = NoHttp.createImageRequest(mediaUrl); + request.setCacheMode(CacheMode.NONE_CACHE_REQUEST_NETWORK); + + if (!TextUtils.isEmpty(mediaUrl)) { + Log.i("app", "fullPath is:" + mediaUrl); + if (!TextUtils.isEmpty(request.url())) { + String url = request.url(); + if (url.startsWith("https://219.131.195.3:7100") || url.startsWith("https://219.131.195.3:7011") || url.startsWith("https://219.131.195.3:7081") || url.startsWith("https://219.131.195.3:7082")) { + SSLSocketFactory socketFactory = NohttpUtils.getSSLSocketFactory(context); + if (socketFactory != null) { + request.setSSLSocketFactory(socketFactory); + request.setHostnameVerifier(new HostnameVerifier() { + @Override + public boolean verify(String s, SSLSession sslSession) { + return true; + } + }); + } + } + } + queue.add(6, request, new OnResponseListener<>() { + @Override + public void onStart(int what) { + + } + + @Override + public void onSucceed(int what, Response response) { + showLog("--------bitmap-------"); + + Bitmap bitmap = response.get(); + showLog(String.valueOf(bitmap==null)); + Drawable drawable = new BitmapDrawable(context.getResources(), bitmap); + binding.fivPhoto.setImageDrawable(drawable); + } + + @Override + public void onFailed(int what, Response response) { +// Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.icon_device_place); +// Drawable drawable = new BitmapDrawable(context.getResources(), bitmap); +// binding.fiv.setImageDrawable(drawable); + } + + @Override + public void onFinish(int what) { + } + }); + } else { + Log.i("app", "path is null"); + } } } \ No newline at end of file diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/fragment/DeviceMonitoringStatisticsFragment.java b/app/src/main/java/com/rehome/zhdcoa/ui/fragment/DeviceMonitoringStatisticsFragment.java index 8c6b352..2f40b69 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/fragment/DeviceMonitoringStatisticsFragment.java +++ b/app/src/main/java/com/rehome/zhdcoa/ui/fragment/DeviceMonitoringStatisticsFragment.java @@ -145,7 +145,7 @@ public class DeviceMonitoringStatisticsFragment extends BaseViewBindingFragment< String url = Contans.IP + Contans.getRateLineChartDataUrl+deviceCode; Request request = NoHttp.createStringRequest(url, RequestMethod.GET); - NohttpUtils.getInstance().add(requireActivity(),0, request, new HttpListener() { + NohttpUtils.getInstance().addNoProgress(requireActivity(),0, request, new HttpListener() { @Override public void onSucceed(int what, com.yolanda.nohttp.rest.Response response) { diff --git a/app/src/main/java/com/rehome/zhdcoa/ui/fragment/HomeFragment.kt b/app/src/main/java/com/rehome/zhdcoa/ui/fragment/HomeFragment.kt index 76382a7..b44d7d7 100644 --- a/app/src/main/java/com/rehome/zhdcoa/ui/fragment/HomeFragment.kt +++ b/app/src/main/java/com/rehome/zhdcoa/ui/fragment/HomeFragment.kt @@ -198,7 +198,7 @@ class HomeFragment : BaseViewBindingFragment() { private fun initLists() { val titles = arrayOf( // "来访管理", - "会议管理", +// "会议管理", "用餐管理", "车辆管理", // "办公领用", @@ -214,7 +214,7 @@ class HomeFragment : BaseViewBindingFragment() { ) val imgIds = intArrayOf( // R.drawable.icon_visit, - R.drawable.icon_meet, +// R.drawable.icon_meet, R.drawable.icon_dinner, R.drawable.icon_vehicle, // R.drawable.icon_office, @@ -258,12 +258,12 @@ class HomeFragment : BaseViewBindingFragment() { binding.gv.setAdapter(adapter) binding.gv.onItemClickListener = AdapterView.OnItemClickListener { parent: AdapterView<*>?, view: View?, position: Int, id: Long -> - if (position == 2) { + if (position == 1) { if (resultList.contains("ApplyVehicle")) { val intent = Intent(getContext(), ApplyVehicleActivity::class.java) startActivity(intent) } - }else if (position == 8) { + }else if (position == 7) { val intent = Intent(getContext(), WeatherActivity::class.java) intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) startActivity(intent) @@ -284,16 +284,16 @@ class HomeFragment : BaseViewBindingFragment() { // 12 -> TAG = GridViewDialog.TAG_AF // } when (position) { - 0 -> TAG = GridViewDialog.TAG_MEET - 1 -> TAG = GridViewDialog.TAG_DINNER +// 0 -> TAG = GridViewDialog.TAG_MEET + 0 -> TAG = GridViewDialog.TAG_DINNER // 3 -> TAG = GridViewDialog.TAG_OFFICE // 4 -> TAG = GridViewDialog.TAG_TASK // 5 -> TAG = GridViewDialog.TAG_SCHEDULE - 3 -> TAG = GridViewDialog.TAG_CHECK - 4 -> TAG = GridViewDialog.TAG_PEIXUN - 5 -> TAG = GridViewDialog.TAG_PDANGJIAN - 6 -> TAG = GridViewDialog.TAG_JD - 7 -> TAG = GridViewDialog.TAG_AF + 2 -> TAG = GridViewDialog.TAG_CHECK + 3 -> TAG = GridViewDialog.TAG_PEIXUN + 4 -> TAG = GridViewDialog.TAG_PDANGJIAN + 5 -> TAG = GridViewDialog.TAG_JD + 6 -> TAG = GridViewDialog.TAG_AF } val dialog = GridViewDialog(context, TAG) dialog.show() diff --git a/app/src/main/res/drawable-xhdpi/icon_device_place_big.jpg b/app/src/main/res/drawable-xhdpi/icon_device_place_big.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8b09b5cd90549462b13b0c7cde281d213e0326e5 GIT binary patch literal 20255 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 z?913 Q1U@718G%n1fxYhk2h?mxrT_o{ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/icon_device_place_small.jpg b/app/src/main/res/drawable-xhdpi/icon_device_place_small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f22a54bbe78ebf149cb2d7ffdbdae28a1075952c GIT binary patch literal 8038 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 + android:layout_marginTop="5dp"> - - - - - - + android:text="在线状态:" /> @@ -123,28 +92,153 @@ style="@style/Widget.AppCompat.CompoundButton.RadioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="10dp" + android:layout_marginStart="5dp" android:layout_marginEnd="10dp" android:textSize="16sp" android:text="离线" /> - + + -