From 49f4b178d05c69f7da7b2200f394ece296766bdb Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期二, 25 二月 2025 18:03:45 +0800
Subject: [PATCH] fix 提醒样式处理
---
.idea/deploymentTargetSelector.xml | 2
app/src/main/java/com/example/firstapp/database/dao/ReminderDao.kt | 1
app/src/main/java/com/example/firstapp/adapter/ReminderAdapter.kt | 2
app/src/main/java/com/example/firstapp/database/AppDatabase.kt | 1
app/src/main/java/com/example/firstapp/receiver/SmsReceiver.kt | 2
app/src/main/res/layout/fragment_reminder_settings.xml | 162 +++++++++++++++++++++++++++-------------
app/src/main/java/com/example/firstapp/database/entity/Code.kt | 2
app/src/main/java/com/example/firstapp/App.kt | 18 ++++
app/src/main/res/drawable/bg_button_primary.xml | 5 +
app/src/main/res/drawable/bg_edit_border.xml | 8 ++
app/src/main/res/layout/item_reminder.xml | 21 ++--
11 files changed, 156 insertions(+), 68 deletions(-)
diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml
index 51a703e..3b8cd93 100644
--- a/.idea/deploymentTargetSelector.xml
+++ b/.idea/deploymentTargetSelector.xml
@@ -4,7 +4,7 @@
<selectionStates>
<SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" />
- <DropdownSelection timestamp="2025-02-14T05:55:28.808113500Z">
+ <DropdownSelection timestamp="2025-02-25T09:44:45.437232500Z">
<Target type="DEFAULT_BOOT">
<handle>
<DeviceId pluginId="PhysicalDevice" identifier="serial=88Y5T19C14010323" />
diff --git a/app/src/main/java/com/example/firstapp/App.kt b/app/src/main/java/com/example/firstapp/App.kt
index 4e0a37b..6663556 100644
--- a/app/src/main/java/com/example/firstapp/App.kt
+++ b/app/src/main/java/com/example/firstapp/App.kt
@@ -3,10 +3,14 @@
import android.annotation.SuppressLint
import android.app.Application
import android.app.PendingIntent
+import android.bluetooth.BluetoothAdapter
+import android.bluetooth.BluetoothDevice
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.location.Geocoder
+import android.net.ConnectivityManager
+import android.net.wifi.WifiManager
import android.os.Build
import androidx.lifecycle.MutableLiveData
import androidx.multidex.MultiDex
@@ -16,26 +20,35 @@
import com.gyf.cactus.callback.CactusCallback
import com.gyf.cactus.ext.cactus
import com.hjq.language.MultiLanguages
+import com.hjq.language.OnLanguageListener
import com.example.firstapp.core.Core
-import com.example.firstapp.database.repository.ReminderRepository
import com.example.firstapp.database.repository.CodeRepository
import com.example.firstapp.database.repository.KeywordRepository
import com.example.firstapp.database.repository.MsgRepository
+import com.example.firstapp.database.repository.ReminderRepository
import com.example.firstapp.database.service.RetrofitClient
import com.example.firstapp.receiver.CactusReceiver
+import com.example.firstapp.service.BluetoothScanService
+import com.example.firstapp.service.HttpServerService
+import com.example.firstapp.utils.ACTION_START
import com.example.firstapp.utils.AppInfo
+import com.example.firstapp.utils.CactusSave
import com.example.firstapp.utils.FRONT_CHANNEL_ID
import com.example.firstapp.utils.FRONT_CHANNEL_NAME
import com.example.firstapp.utils.FRONT_NOTIFY_ID
import com.example.firstapp.utils.FRPC_LIB_VERSION
+import com.example.firstapp.utils.HistoryUtils
import com.example.firstapp.utils.Log
import com.example.firstapp.utils.SettingUtils
+import com.example.firstapp.utils.SharedPreference
import com.example.firstapp.utils.tinker.TinkerLoadLibrary
import com.king.location.LocationClient
import com.xuexiang.xutil.file.FileUtils
import frpclib.Frpclib
+import io.reactivex.Observable
import io.reactivex.disposables.Disposable
+import io.reactivex.schedulers.Schedulers
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.SupervisorJob
import java.io.BufferedWriter
@@ -45,6 +58,8 @@
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
+import java.util.TimeZone
+import java.util.concurrent.TimeUnit
@Suppress("DEPRECATION")
class App : Application(), CactusCallback, Configuration.Provider by Core {
@@ -55,7 +70,6 @@
val codeRepository by lazy { CodeRepository(database.codeDao()) }
val reminderRepository by lazy { ReminderRepository(database.reminderDao()) }
val keywordRepository by lazy { KeywordRepository(RetrofitClient.apiService,database.keywordDao()) }
-
companion object {
const val TAG: String = "SmsForwarder"
diff --git a/app/src/main/java/com/example/firstapp/adapter/ReminderAdapter.kt b/app/src/main/java/com/example/firstapp/adapter/ReminderAdapter.kt
index fb4335b..e4a2ade 100644
--- a/app/src/main/java/com/example/firstapp/adapter/ReminderAdapter.kt
+++ b/app/src/main/java/com/example/firstapp/adapter/ReminderAdapter.kt
@@ -15,7 +15,7 @@
fun bind(reminder: Reminder, onDelete: (Reminder) -> Unit) {
binding.textNickname.text = reminder.nickname
- binding.textKeywords.text = reminder.keywords
+ //binding.textKeywords.text = reminder.keywords
binding.btnDelete.setOnClickListener { onDelete(reminder) }
}
}
diff --git a/app/src/main/java/com/example/firstapp/database/AppDatabase.kt b/app/src/main/java/com/example/firstapp/database/AppDatabase.kt
index 8c2b7c0..2251240 100644
--- a/app/src/main/java/com/example/firstapp/database/AppDatabase.kt
+++ b/app/src/main/java/com/example/firstapp/database/AppDatabase.kt
@@ -1,6 +1,5 @@
package com.example.firstapp
-
import android.content.Context
import androidx.room.Database
import androidx.room.Room
diff --git a/app/src/main/java/com/example/firstapp/database/dao/ReminderDao.kt b/app/src/main/java/com/example/firstapp/database/dao/ReminderDao.kt
index 8c9b629..59d5af1 100644
--- a/app/src/main/java/com/example/firstapp/database/dao/ReminderDao.kt
+++ b/app/src/main/java/com/example/firstapp/database/dao/ReminderDao.kt
@@ -1,4 +1,5 @@
package com.example.firstapp.database.dao
+
import androidx.room.*
import com.example.firstapp.database.entity.Reminder
import kotlinx.coroutines.flow.Flow
diff --git a/app/src/main/java/com/example/firstapp/database/entity/Code.kt b/app/src/main/java/com/example/firstapp/database/entity/Code.kt
index a4cf519..ac1f130 100644
--- a/app/src/main/java/com/example/firstapp/database/entity/Code.kt
+++ b/app/src/main/java/com/example/firstapp/database/entity/Code.kt
@@ -15,5 +15,7 @@
val msgId: Long,
val code: String,
var overtime: String,
+ var name: String,
var time: Date = Date(),
+
)
diff --git a/app/src/main/java/com/example/firstapp/receiver/SmsReceiver.kt b/app/src/main/java/com/example/firstapp/receiver/SmsReceiver.kt
index f6fcaa2..db9f14c 100644
--- a/app/src/main/java/com/example/firstapp/receiver/SmsReceiver.kt
+++ b/app/src/main/java/com/example/firstapp/receiver/SmsReceiver.kt
@@ -84,7 +84,7 @@
// 转换为字符串
val overtime = futureTime.format(formatter)
// 封装成一个Code对象,并保存在数据库中
- val code = Code(0, rule.type,1, rule.content,1, 1, msgId, code, overtime)
+ val code = Code(0, rule.type,1, rule.content,1, 1, msgId, code, overtime,"中通")
Core.code.insert(code)
Log.d("SMS_DEBUG", "新短信已保存到数据库")
// 发送广播通知数据已更新
diff --git a/app/src/main/res/drawable/bg_button_primary.xml b/app/src/main/res/drawable/bg_button_primary.xml
new file mode 100644
index 0000000..0ea70b4
--- /dev/null
+++ b/app/src/main/res/drawable/bg_button_primary.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="#666666"/>
+ <corners android:radius="4dp"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/bg_edit_border.xml b/app/src/main/res/drawable/bg_edit_border.xml
new file mode 100644
index 0000000..37e31a5
--- /dev/null
+++ b/app/src/main/res/drawable/bg_edit_border.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="#FFFFFF"/>
+ <stroke
+ android:width="1dp"
+ android:color="#E0E0E0"/>
+ <corners android:radius="4dp"/>
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_reminder_settings.xml b/app/src/main/res/layout/fragment_reminder_settings.xml
index 8403cd9..6c6fdc1 100644
--- a/app/src/main/res/layout/fragment_reminder_settings.xml
+++ b/app/src/main/res/layout/fragment_reminder_settings.xml
@@ -2,21 +2,23 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical">
+ android:orientation="vertical"
+ android:background="#FAFAFA">
<!-- 标题栏 -->
<RelativeLayout
android:layout_width="match_parent"
- android:layout_height="?attr/actionBarSize"
- android:background="#FFFFFF">
+ android:layout_height="56dp"
+ android:background="#FFFFFF"
+ android:elevation="1dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="新增短信提醒"
- android:textSize="18sp"
- android:textColor="#000000" />
+ android:textSize="17sp"
+ android:textColor="#222222" />
<!-- 关闭按钮 -->
<ImageButton
@@ -26,63 +28,119 @@
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackgroundBorderless"
+ android:padding="12dp"
android:src="@android:drawable/ic_menu_close_clear_cancel" />
</RelativeLayout>
- <!-- 提醒类型选择 -->
- <Spinner
- android:id="@+id/spinner_type"
+ <!-- 内容区域 -->
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:padding="12dp"
- android:background="@android:drawable/btn_dropdown" />
+ android:orientation="vertical"
+ android:padding="16dp">
- <!-- 昵称输入框 -->
- <EditText
- android:id="@+id/edit_nickname"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginHorizontal="16dp"
- android:hint="昵称"
- android:padding="12dp"
- android:background="@android:drawable/edit_text" />
+ <!-- 提醒类型选择 -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginBottom="16dp">
- <!-- 关键词输入框 -->
- <EditText
- android:id="@+id/edit_keywords"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:hint="关键词"
- android:padding="12dp"
- android:background="@android:drawable/edit_text" />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="选择新增类型 →"
+ android:textColor="#666666"
+ android:textSize="14sp"
+ android:layout_marginBottom="8dp"/>
- <!-- 已添加列表标题 -->
- <Button
- android:id="@+id/btn_add_reminder"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:backgroundTint="#03A9F4"
- android:text="确定新增"
- android:textColor="#FFFFFF" />
+ <Spinner
+ android:id="@+id/spinner_type"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:background="@drawable/bg_edit_border"
+ android:paddingHorizontal="12dp"/>
+ </LinearLayout>
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:padding="16dp"
- android:text="已添加列表"
- android:textStyle="bold" />
+ <!-- 昵称输入框 -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginBottom="16dp">
- <!-- 已添加列表 -->
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/recycler_reminders"
- android:layout_width="match_parent"
- android:layout_height="221dp"
- android:layout_weight="1"
- android:padding="8dp" />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="昵称 →"
+ android:textColor="#666666"
+ android:textSize="14sp"
+ android:layout_marginBottom="8dp"/>
- <!-- 确定新增按钮 -->
+ <EditText
+ android:id="@+id/edit_nickname"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:background="@drawable/bg_edit_border"
+ android:hint="仅用于显示与区分,可任意输入"
+ android:textColorHint="#999999"
+ android:textSize="14sp"
+ android:paddingHorizontal="12dp"/>
+ </LinearLayout>
+
+ <!-- 关键词输入框 -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginBottom="16dp">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="关键词 →"
+ android:textColor="#666666"
+ android:textSize="14sp"
+ android:layout_marginBottom="8dp"/>
+
+ <EditText
+ android:id="@+id/edit_keywords"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:background="@drawable/bg_edit_border"
+ android:hint="用于匹配短信类型"
+ android:textColorHint="#999999"
+ android:textSize="14sp"
+ android:paddingHorizontal="12dp"/>
+ </LinearLayout>
+
+ <!-- 确定新增按钮 -->
+ <Button
+ android:id="@+id/btn_add_reminder"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:text="确定新增"
+ android:textColor="#FFFFFF"
+ android:textSize="16sp"
+ android:background="@drawable/bg_button_primary"
+ android:layout_marginTop="16dp"/>
+
+ <!-- 已添加列表 -->
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="已添加列表 →"
+ android:textColor="#666666"
+ android:textSize="14sp"
+ android:layout_marginTop="24dp"
+ android:layout_marginBottom="8dp"/>
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/recycler_reminders"
+ android:layout_width="match_parent"
+ android:layout_height="160dp"
+ android:layout_marginTop="2dp" />
+
+ </LinearLayout>
</LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_reminder.xml b/app/src/main/res/layout/item_reminder.xml
index 98b1aa9..e6bcbe3 100644
--- a/app/src/main/res/layout/item_reminder.xml
+++ b/app/src/main/res/layout/item_reminder.xml
@@ -2,12 +2,13 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:padding="12dp"
+ android:padding="8dp"
android:background="@android:color/white">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginEnd="0dp"
android:layout_toStartOf="@id/btn_delete"
android:orientation="vertical">
@@ -15,16 +16,16 @@
android:id="@+id/text_nickname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textSize="16sp"
- android:textColor="#000000" />
+ android:textColor="#000000"
+ android:textSize="16sp" />
- <TextView
- android:id="@+id/text_keywords"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="4dp"
- android:textSize="14sp"
- android:textColor="#666666" />
+<!-- <TextView-->
+<!-- android:id="@+id/text_keywords"-->
+<!-- android:layout_width="wrap_content"-->
+<!-- android:layout_height="wrap_content"-->
+<!-- android:layout_marginTop="4dp"-->
+<!-- android:textColor="#666666"-->
+<!-- android:textSize="14sp" />-->
</LinearLayout>
<ImageButton
--
Gitblit v1.9.3