From bf4adf61705ba1ee68ca0d4cc4967df8bbd5a61f Mon Sep 17 00:00:00 2001 From: Nikonell Date: Sun, 25 Jun 2023 04:20:09 +0700 Subject: [PATCH] Signal dynamic icon --- .idea/deploymentTargetDropDown.xml | 17 ++++++++++++++++ app/src/main/AndroidManifest.xml | 3 +-- .../com/listerk/helible/BleDeviceAdapter.kt | 8 ++++++-- app/src/main/res/drawable/signal_icon1.xml | 4 ++++ app/src/main/res/drawable/signal_icon2.xml | 14 +++++++++++++ app/src/main/res/drawable/signal_icon3.xml | 17 ++++++++++++++++ app/src/main/res/drawable/signal_icon4.xml | 20 +++++++++++++++++++ app/src/main/res/layout/item_ble_device.xml | 5 ++--- 8 files changed, 81 insertions(+), 7 deletions(-) create mode 100644 .idea/deploymentTargetDropDown.xml create mode 100644 app/src/main/res/drawable/signal_icon1.xml create mode 100644 app/src/main/res/drawable/signal_icon2.xml create mode 100644 app/src/main/res/drawable/signal_icon3.xml create mode 100644 app/src/main/res/drawable/signal_icon4.xml diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..885c2b3 --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 91ee7be..b0adb6d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -16,8 +16,7 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/Theme.HeliBLE" - tools:targetApi="31"> + android:theme="@style/Theme.HeliBLE"> diff --git a/app/src/main/java/com/listerk/helible/BleDeviceAdapter.kt b/app/src/main/java/com/listerk/helible/BleDeviceAdapter.kt index 15c301f..cd073bd 100644 --- a/app/src/main/java/com/listerk/helible/BleDeviceAdapter.kt +++ b/app/src/main/java/com/listerk/helible/BleDeviceAdapter.kt @@ -5,6 +5,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Button +import android.widget.ImageView import android.widget.TextView import androidx.constraintlayout.widget.ConstraintLayout import androidx.recyclerview.widget.RecyclerView @@ -24,7 +25,10 @@ class BleDeviceAdapter(private val devices: List, private val gotoCon override fun onBindViewHolder(holder: BleDeviceViewHolder, position: Int) { holder.nameView.text = devices[position].name holder.addressView.text = devices[position].address - holder.rssiView.text = devices[position].rssi.toString() + if (devices[position].rssi >= -80) holder.rssiView.setImageResource(R.drawable.signal_icon4) + else if (devices[position].rssi >= -90) holder.rssiView.setImageResource(R.drawable.signal_icon3) + else if (devices[position].rssi >= -100) holder.rssiView.setImageResource(R.drawable.signal_icon2) + else holder.rssiView.setImageResource(R.drawable.signal_icon1) holder.cardView.isSelected = position == selectedPosition holder.cardView.setOnClickListener { AppState.bleDevice = devices[position] @@ -40,6 +44,6 @@ class BleDeviceAdapter(private val devices: List, private val gotoCon val cardView = itemView.rootView val nameView = itemView.findViewById(R.id.deviceName) val addressView = itemView.findViewById(R.id.deviceAddress) - val rssiView = itemView.findViewById(R.id.deviceRssi) + val rssiView = itemView.findViewById(R.id.deviceRssi) } } diff --git a/app/src/main/res/drawable/signal_icon1.xml b/app/src/main/res/drawable/signal_icon1.xml new file mode 100644 index 0000000..4ff4532 --- /dev/null +++ b/app/src/main/res/drawable/signal_icon1.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/signal_icon2.xml b/app/src/main/res/drawable/signal_icon2.xml new file mode 100644 index 0000000..419d49a --- /dev/null +++ b/app/src/main/res/drawable/signal_icon2.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/signal_icon3.xml b/app/src/main/res/drawable/signal_icon3.xml new file mode 100644 index 0000000..baa4222 --- /dev/null +++ b/app/src/main/res/drawable/signal_icon3.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/signal_icon4.xml b/app/src/main/res/drawable/signal_icon4.xml new file mode 100644 index 0000000..03fc192 --- /dev/null +++ b/app/src/main/res/drawable/signal_icon4.xml @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_ble_device.xml b/app/src/main/res/layout/item_ble_device.xml index 79491b7..a95fa54 100644 --- a/app/src/main/res/layout/item_ble_device.xml +++ b/app/src/main/res/layout/item_ble_device.xml @@ -28,14 +28,13 @@ android:textSize="14sp" android:text="C3:7A:F4:6E:2F:D6" /> - + android:src="@drawable/signal_icon4" /> \ No newline at end of file