优化ai对话页面

This commit is contained in:
fengjignqi
2026-08-03 15:06:08 +08:00
parent 170936fd23
commit 54dc0b5598
24 changed files with 791 additions and 710 deletions

View File

@@ -22,6 +22,8 @@ class CKApp : Application() {
var activitys = mutableListOf<TTBaseActivity>()
lateinit var token : String
var isUserLoggedIn: Boolean = false
private set
var wxJump = 0
var userInfo : UserInfoModel? = null
companion object {
@@ -33,7 +35,8 @@ class CKApp : Application() {
super.onCreate()
app = this
token = PreferencesUtils.getString(this, Const.TOKEN,"").toString()
token = PreferencesUtils.getString(this, Const.TOKEN, "").orEmpty()
isUserLoggedIn = token.isNotBlank()
var userData = PreferencesUtils.getString(this, Const.USER_DATA,"").toString()
if (!TextUtils.isEmpty(userData)){
userInfo = Gson().fromJson<UserInfoModel>(userData, UserInfoModel::class.java)
@@ -62,5 +65,22 @@ class CKApp : Application() {
TTLog.isLogEable(true)
}
fun setLoginToken(value: String) {
token = value
isUserLoggedIn = value.isNotBlank()
PreferencesUtils.putString(this, Const.TOKEN, value)
if (isUserLoggedIn) {
PreferencesUtils.putBoolean(this, Const.FIRST, false)
}
}
fun clearLoginState() {
token = ""
userInfo = null
isUserLoggedIn = false
PreferencesUtils.putString(this, Const.TOKEN, "")
PreferencesUtils.putString(this, Const.USER_DATA, "")
}
}

View File

@@ -1,5 +1,6 @@
package com.ck.ckcollar.app.ui.act.customer
import android.Manifest
import android.content.Context
import android.content.Intent
import android.net.Uri
@@ -173,7 +174,10 @@ class MineCustomerActivity : CKBaseActivity() {
binding.conetnt1.setOnClickListener {
if (TextUtils.isEmpty(path)) {
takePhoto()
getPermissionRequst(
Manifest.permission.CAMERA,
REQUEST_CAMERA_PERMISSION
)
} else {
toast(getString(R.string.only_one_photo))
}
@@ -181,12 +185,15 @@ class MineCustomerActivity : CKBaseActivity() {
}
binding.conetnt2.setOnClickListener {
if (TextUtils.isEmpty(path)) {
//相册
val i = Intent(
Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI
val permission = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
Manifest.permission.READ_MEDIA_IMAGES
} else {
Manifest.permission.READ_EXTERNAL_STORAGE
}
getPermissionRequst(
permission,
REQUEST_PHOTO_PERMISSION
)
startActivityForResult(i, 56)
} else {
toast(getString(R.string.only_one_photo))
}
@@ -195,6 +202,23 @@ class MineCustomerActivity : CKBaseActivity() {
}
override fun onPermissionsGranted(requestCode: Int, permissions: Array<String>) {
when (requestCode) {
REQUEST_CAMERA_PERMISSION -> takePhoto()
REQUEST_PHOTO_PERMISSION -> openPhotoAlbum()
}
}
private fun openPhotoAlbum() {
val intent = Intent(
Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI
).apply {
setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*")
}
startActivityForResult(intent, 56)
}
override fun initData() {
//getList()
@@ -476,6 +500,11 @@ class MineCustomerActivity : CKBaseActivity() {
startActivityForResult(openCameraIntent, 55)
}
companion object {
private const val REQUEST_CAMERA_PERMISSION = 1201
private const val REQUEST_PHOTO_PERMISSION = 1202
}
class CustomerMessageAdapter(
var context: Context,
var data: List<CustomerMessageModel.MessageItemModel>,

View File

@@ -1,5 +1,6 @@
package com.ck.ckcollar.app.ui.act.customer
import android.Manifest
import android.content.Context
import android.content.Intent
import android.graphics.Rect
@@ -211,16 +212,10 @@ class PeopleCustomerActivity : CKBaseActivity() {
binding.conetnt1.setOnClickListener {
if (TextUtils.isEmpty(path)) {
if (!checkCameraPermissions()){
CKAlertDialog(this@PeopleCustomerActivity,getString(R.string.alert),getString(R.string.camera_alert),object : CKAlertDialog.AlertClickListener{
override fun onBack(isConfirm: Boolean) {
TODO("Not yet implemented")
}
}).show()
return@setOnClickListener
}
takePhoto()
getPermissionRequst(
Manifest.permission.CAMERA,
REQUEST_CAMERA_PERMISSION
)
} else {
toast(getString(R.string.only_one_photo))
}
@@ -228,12 +223,15 @@ class PeopleCustomerActivity : CKBaseActivity() {
}
binding.conetnt2.setOnClickListener {
if (TextUtils.isEmpty(path)) {
//相册
val i = Intent(
Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI
val permission = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
Manifest.permission.READ_MEDIA_IMAGES
} else {
Manifest.permission.READ_EXTERNAL_STORAGE
}
getPermissionRequst(
permission,
REQUEST_PHOTO_PERMISSION
)
startActivityForResult(i, 56)
} else {
toast(getString(R.string.only_one_photo))
}
@@ -243,6 +241,23 @@ class PeopleCustomerActivity : CKBaseActivity() {
}
override fun onPermissionsGranted(requestCode: Int, permissions: Array<String>) {
when (requestCode) {
REQUEST_CAMERA_PERMISSION -> takePhoto()
REQUEST_PHOTO_PERMISSION -> openPhotoAlbum()
}
}
private fun openPhotoAlbum() {
val intent = Intent(
Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI
).apply {
setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*")
}
startActivityForResult(intent, 56)
}
override fun initData() {
@@ -607,6 +622,11 @@ class PeopleCustomerActivity : CKBaseActivity() {
startActivityForResult(openCameraIntent, 55)
}
companion object {
private const val REQUEST_CAMERA_PERMISSION = 1301
private const val REQUEST_PHOTO_PERMISSION = 1302
}
class CustomerMessageAdapter(
var context: TTBaseActivity,
var data: List<CustomerMessageModel.MessageItemModel>,

View File

@@ -3,10 +3,12 @@ package com.ck.ckcollar.app.ui.act.home
import android.graphics.Color
import android.os.Build
import android.os.Bundle
import android.os.SystemClock
import android.view.MenuItem
import android.view.View
import android.view.WindowInsets
import android.widget.TextView
import androidx.activity.OnBackPressedCallback
import androidx.viewpager2.widget.ViewPager2
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
import com.ck.ckcollar.app.R
@@ -35,6 +37,8 @@ import com.tt.kit.utils.TTUtils
class MainActivity : CKLHBaseActivity(),View.OnClickListener {
private var lastBackPressedAt = 0L
lateinit var mainBinding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
@@ -43,6 +47,18 @@ class MainActivity : CKLHBaseActivity(),View.OnClickListener {
setContentView(mainBinding.root)
super.onCreate(savedInstanceState)
onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
val now = SystemClock.elapsedRealtime()
if (lastBackPressedAt != 0L && now - lastBackPressedAt <= EXIT_INTERVAL_MS) {
finish()
} else {
lastBackPressedAt = now
toast(getString(R.string.press_again_to_exit))
}
}
})
// if (Build.VERSION.SDK_INT >= 36){
//
@@ -192,4 +208,8 @@ class MainActivity : CKLHBaseActivity(),View.OnClickListener {
}
})
}
companion object {
private const val EXIT_INTERVAL_MS = 2_000L
}
}

View File

@@ -91,11 +91,7 @@ class BoundPhoneActivity : CKBaseActivity() {
override fun onSuccess(data: String) {
var token = JSONObject(data).getString("token")
PreferencesUtils.putString(
this@BoundPhoneActivity,
Const.TOKEN, token
)
CKApp.app.token = token
CKApp.app.setLoginToken(token)

View File

@@ -232,11 +232,7 @@ class LoginActivity : CKBaseActivity() {
try {
var model = Gson().fromJson<LoginModel>(data, LoginModel::class.java)
PreferencesUtils.putString(
this@LoginActivity,
Const.TOKEN, model.token.toString()
)
CKApp.app.token = model.token.toString()
CKApp.app.setLoginToken(model.token.orEmpty())
getUserInfo()
} catch (e: Exception) {
@@ -262,11 +258,7 @@ class LoginActivity : CKBaseActivity() {
try {
var model = Gson().fromJson<LoginModel>(data, LoginModel::class.java)
PreferencesUtils.putString(
this@LoginActivity,
Const.TOKEN, model.token.toString()
)
CKApp.app.token = model.token.toString()
CKApp.app.setLoginToken(model.token.orEmpty())
getUserInfo()
} catch (e: Exception) {
@@ -338,11 +330,7 @@ class LoginActivity : CKBaseActivity() {
finish()
}else{
PreferencesUtils.putString(
this@LoginActivity,
Const.TOKEN, model.token.toString()
)
CKApp.app.token = model.token.toString()
CKApp.app.setLoginToken(model.token.orEmpty())
getUserInfo()
}

View File

@@ -122,11 +122,7 @@ class RegisterActivity : CKBaseActivity() {
try {
var model = Gson().fromJson<LoginModel>(data, LoginModel::class.java)
PreferencesUtils.putString(
this@RegisterActivity,
Const.TOKEN, model.token.toString()
)
CKApp.app.token = model.token.toString()
CKApp.app.setLoginToken(model.token.orEmpty())
getUserInfo()
} catch (e: Exception) {

View File

@@ -50,7 +50,7 @@ class FeedBackActivity : CKBaseActivity() {
binding = ActivityFeedBackBinding.inflate(layoutInflater)
setContentView(binding.root)
super.onCreate(savedInstanceState)
checkAppPermissions()
// checkAppPermissions()
setTitleText(getString(R.string.feedback))
}

View File

@@ -23,7 +23,7 @@ class ReturnDeviceActivity : CKBaseActivity() {
binding = ActivityReturnDeviceBinding.inflate(layoutInflater)
setContentView(binding.root)
super.onCreate(savedInstanceState)
checkAppPermissions()
// checkAppPermissions()
setTitleText(getString(R.string.device_return))
setActionBarColor(getColor(R.color.white))

View File

@@ -109,6 +109,8 @@ class AccountCancellationActivity: CKBaseActivity() {
},object : ICallback{
override fun onSuccess(data: String) {
PreferencesUtils.clear(this@AccountCancellationActivity)
PreferencesUtils.putBoolean(this@AccountCancellationActivity, Const.FIRST, false)
CKApp.app.clearLoginState()
toActivityNewTaskClear(LoginActivity::class.java, DataCollection())
finish()
}

View File

@@ -3,13 +3,13 @@ package com.ck.ckcollar.app.ui.act.setting
import android.content.Intent
import android.os.Bundle
import android.view.View
import com.ck.ckcollar.app.CKApp
import com.ck.ckcollar.app.R
import com.ck.ckcollar.app.databinding.ActivitySettingBinding
import com.ck.ckcollar.app.ui.act.login.AgreementActivity
import com.ck.ckcollar.app.ui.act.login.LoginActivity
import com.ck.ckcollar.app.ui.base.CKBaseActivity
import com.ck.ckcollar.app.ui.dialog.CKAlertDialog
import com.cyclone.shadowsocks.utils.PreferencesUtils
import com.tt.kit.model.Data
import com.tt.kit.model.DataCollection
@@ -70,7 +70,7 @@ class SettingActivity : CKBaseActivity(), View.OnClickListener {
CKAlertDialog(this@SettingActivity,getString(R.string.logout),getString(R.string.logout_alert),object : CKAlertDialog.AlertClickListener{
override fun onBack(isConfirm: Boolean) {
if (isConfirm){
PreferencesUtils.clear(this@SettingActivity)
CKApp.app.clearLoginState()
toActivityNewTaskClear(LoginActivity::class.java, DataCollection())
finish()
}

View File

@@ -148,7 +148,7 @@ class ProductDetailsActivity : CKBaseActivity() {
ViewGroup.LayoutParams.MATCH_PARENT
)
)
imageView.setScaleType(ImageView.ScaleType.FIT_XY)
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP)
return BannerViewHolder(imageView)
}

View File

@@ -1,5 +1,6 @@
package com.ck.ckcollar.app.ui.act.user
import android.Manifest
import android.content.Intent
import android.net.Uri
import android.os.Build
@@ -20,7 +21,6 @@ import com.ck.ckcollar.app.model.UserInfoModel
import com.ck.ckcollar.app.ui.act.home.MainActivity
import com.ck.ckcollar.app.ui.act.login.BoundPhoneActivity
import com.ck.ckcollar.app.ui.base.CKBaseActivity
import com.ck.ckcollar.app.ui.dialog.CKAlertDialog
import com.ck.ckcollar.app.ui.dialog.CKEditDialog
import com.ck.ckcollar.app.ui.dialog.CKEditNameDialog
import com.ck.ckcollar.app.ui.dialog.CKEditPhoneDialog
@@ -55,7 +55,7 @@ class UserInfoActivity: CKBaseActivity() {
api = WXAPIFactory.createWXAPI(this, Const.WX_APP_ID)
CKApp.app.wxJump = 1
checkAppPermissions()
// checkAppPermissions()
setStatusBarColor(resources.getColor(R.color.white))
setActionBarColor(resources.getColor(R.color.white))
@@ -111,16 +111,10 @@ class UserInfoActivity: CKBaseActivity() {
override fun onBack(mark: Int, position: Int) {
try {
if (mark == 0){
if (!checkCameraPermissions()){
CKAlertDialog(this@UserInfoActivity,getString(R.string.alert),getString(R.string.camera_alert),object : CKAlertDialog.AlertClickListener{
override fun onBack(isConfirm: Boolean) {
TODO("Not yet implemented")
}
}).show()
return
}
takePhoto()
getPermissionRequst(
Manifest.permission.CAMERA,
REQUEST_CAMERA_PERMISSION
)
}else{
//相册
val i = Intent(
@@ -148,6 +142,12 @@ class UserInfoActivity: CKBaseActivity() {
}
}
override fun onPermissionsGranted(requestCode: Int, permissions: Array<String>) {
if (requestCode == REQUEST_CAMERA_PERMISSION) {
takePhoto()
}
}
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
@@ -242,6 +242,10 @@ class UserInfoActivity: CKBaseActivity() {
}
companion object {
private const val REQUEST_CAMERA_PERMISSION = 1101
}
override fun initData() {
binding.textNick.text= CKApp.app.userInfo?.custName

View File

@@ -4,7 +4,6 @@ import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.os.Message
import android.text.TextUtils
import com.ck.ckcollar.app.CKApp
import com.ck.ckcollar.app.databinding.ActivityIndexBinding
import com.ck.ckcollar.app.ui.act.home.MainActivity
@@ -25,7 +24,7 @@ class IndexActivity : CKBaseActivity() {
}
var handler = object : Handler(Looper.getMainLooper()){
override fun handleMessage(msg: Message) {
if (TextUtils.isEmpty(CKApp.app.token)){
if (!CKApp.app.isUserLoggedIn){
var isFirst = PreferencesUtils.getBolean(this@IndexActivity, Const.FIRST,true) as Boolean
if (isFirst){
toActivity(WelcomeActivity::class.java, DataCollection())

View File

@@ -35,6 +35,10 @@ class CKPhotoDialog(
}
})
dialogMakePhotoBinding.cancelButton.setOnClickListener {
cancel()
}
setContentView(dialogMakePhotoBinding.root,ViewGroup.LayoutParams(TTUtils.width, ViewGroup.LayoutParams.WRAP_CONTENT))
} catch (e: Exception) {

View File

@@ -2,6 +2,7 @@ package com.ck.ckcollar.app.utils.networkone.interceptor
import android.content.Context
import android.content.Intent
import com.ck.ckcollar.app.CKApp
import com.ck.ckcollar.app.ui.act.login.LoginActivity
import com.google.gson.Gson
import com.tt.kit.networktwo.model.TTResposeData
@@ -22,6 +23,7 @@ class ResponseInterceptor(val context : Context) : Interceptor{
TTLog.i("ResponseInterceptor", "intercept model:" + body)
// token失效统一处理
if (model.code == 401){
CKApp.app.clearLoginState()
var intent = Intent(context, LoginActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
context.startActivity(intent)

View File

@@ -7,15 +7,6 @@
android:fitsSystemWindows="false"
android:gravity="center_horizontal"
android:orientation="vertical">
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/refreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.scwang.smartrefresh.layout.header.ClassicsHeader
android:layout_width="match_parent"
android:layout_height="wrap_content">
</com.scwang.smartrefresh.layout.header.ClassicsHeader>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
@@ -52,20 +43,20 @@
android:textColor="?attr/appTextColor"
android:textSize="17sp"
android:fontFamily="@font/pingfangscmedium"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
<com.ck.ckcollar.app.widget.CKButtonRotate
android:id="@+id/btnRotate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:src="@mipmap/image_rotate_down"></com.ck.ckcollar.app.widget.CKButtonRotate>
android:src="@mipmap/image_rotate_down"/>
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"></View>
android:layout_weight="1"/>
<com.ck.ckcollar.app.widget.CKLinearLayout
android:id="@+id/btnManager"
@@ -79,7 +70,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginRight="2dp"
android:src="@mipmap/image_home_manager"></com.ck.ckcollar.app.widget.CKImageView>
android:src="@mipmap/image_home_manager"/>
<com.ck.ckcollar.app.widget.CKTextView
android:layout_width="wrap_content"
@@ -90,7 +81,7 @@
android:textColor="?attr/appTextColor"
android:textSize="17sp"
android:fontFamily="@font/pingfangscmedium"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
@@ -105,7 +96,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginRight="2dp"
android:src="@mipmap/image_home_add"></com.ck.ckcollar.app.widget.CKImageView>
android:src="@mipmap/image_home_add"/>
<com.ck.ckcollar.app.widget.CKTextView
android:layout_width="wrap_content"
@@ -116,7 +107,7 @@
android:textColor="?attr/appTextColor"
android:textSize="17sp"
android:fontFamily="@font/pingfangscmedium"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
</com.ck.ckcollar.app.widget.CKLinearLayout>
@@ -153,7 +144,7 @@
android:text="@string/intelligent_collar_device"
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
<com.ck.ckcollar.app.widget.CKLinearLayout
android:layout_width="wrap_content"
@@ -171,7 +162,7 @@
android:paddingHorizontal="5dp"
android:text="@string/unbound"
android:textColor="@color/textColor"
android:textSize="12sp"></com.ck.ckcollar.app.widget.CKButton>
android:textSize="12sp"/>
<com.ck.ckcollar.app.widget.CKLinearLayout
android:id="@+id/contentPower"
@@ -190,7 +181,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/image_home_dc"
></com.ck.ckcollar.app.widget.CKImageView>
/>
<com.ck.ckcollar.app.widget.CKTextView
android:id="@+id/textPowerValue"
@@ -199,7 +190,7 @@
android:textColor="@color/textColor"
android:textSize="12sp"
android:text="50%"
></com.ck.ckcollar.app.widget.CKTextView>
/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
</com.ck.ckcollar.app.widget.CKLinearLayout>
@@ -209,7 +200,7 @@
android:layout_height="wrap_content"
android:text="@string/bound_device_alert"
android:textColor="@color/textSecondColor"
android:textSize="12sp"></com.ck.ckcollar.app.widget.CKTextView>
android:textSize="12sp"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
@@ -223,7 +214,7 @@
android:layout_marginRight="16dp"
android:layout_marginBottom="14dp"
android:src="@mipmap/image_home_round_right"
android:visibility="gone"></com.ck.ckcollar.app.widget.CKImageView>
android:visibility="gone"/>
<com.ck.ckcollar.app.widget.CKLinearLayout
@@ -241,14 +232,14 @@
<com.ck.ckcollar.app.widget.CKImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/image_home_scan"></com.ck.ckcollar.app.widget.CKImageView>
android:src="@mipmap/image_home_scan"/>
<com.ck.ckcollar.app.widget.CKTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/scan"
android:textColor="@color/textColor"
android:textSize="14sp"></com.ck.ckcollar.app.widget.CKTextView>
android:textSize="14sp"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
</com.ck.ckcollar.app.widget.CKRelativeLayout>
@@ -269,7 +260,7 @@
android:text="@string/equipment_positioning"
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
<com.ck.ckcollar.app.widget.CKTextView
android:id="@+id/textAddress"
@@ -280,7 +271,7 @@
android:paddingVertical="3dp"
android:text="@string/no_position"
android:textColor="@color/textSecondColor"
android:textSize="12sp"></com.ck.ckcollar.app.widget.CKTextView>
android:textSize="12sp"/>
<com.ck.ckcollar.app.widget.CKButton
android:id="@+id/btnViewPostion"
@@ -290,7 +281,7 @@
android:background="@drawable/bg_view_postion_button"
android:text="@string/view_location"
android:textColor="@color/color_4DBFDE"
android:textSize="12sp"></com.ck.ckcollar.app.widget.CKButton>
android:textSize="12sp"/>
<com.ck.ckcollar.app.widget.CKImageView
android:id="@+id/btnAdreessDetails"
@@ -298,7 +289,7 @@
android:layout_height="30dp"
android:layout_marginLeft="5dp"
android:src="@mipmap/image_home_round_right2"
android:visibility="gone"></com.ck.ckcollar.app.widget.CKImageView>
android:visibility="gone"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
<!-- 3-->
@@ -323,7 +314,7 @@
android:text="@string/health_vitality_value"
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
<com.ck.ckcollar.app.widget.CKTextView
android:layout_width="wrap_content"
@@ -331,7 +322,7 @@
android:layout_marginTop="2dp"
android:text="@string/health_vitality_value_alert"
android:textColor="@color/textColor"
android:textSize="11sp"></com.ck.ckcollar.app.widget.CKTextView>
android:textSize="11sp"/>
<com.ck.ckcollar.app.widget.CKLinearLayout
android:layout_width="wrap_content"
@@ -347,7 +338,7 @@
android:text="--"
android:textColor="@color/textColor"
android:textSize="32sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
<com.ck.ckcollar.app.widget.CKTextView
android:id="@+id/points"
@@ -358,14 +349,14 @@
android:text="@string/points"
android:textColor="@color/textColor"
android:textSize="12sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
</com.ck.ckcollar.app.widget.CKLinearLayout>
<View
android:layout_width="15dp"
android:layout_height="0dp"></View>
android:layout_height="0dp"/>
<com.ck.ckcollar.app.widget.CKLinearLayout
android:layout_width="0dp"
@@ -393,7 +384,7 @@
android:text="@string/todays_mileage"
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
<com.ck.ckcollar.app.widget.CKLinearLayout
android:layout_width="match_parent"
@@ -410,7 +401,7 @@
android:text="-"
android:textColor="@color/textColor"
android:textSize="22sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
<com.ck.ckcollar.app.widget.CKTextView
android:layout_width="wrap_content"
@@ -420,7 +411,7 @@
android:text="KM"
android:textColor="@color/textColor"
android:textSize="12sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
</com.ck.ckcollar.app.widget.CKLinearLayout>
@@ -429,7 +420,7 @@
<View
android:layout_width="0dp"
android:layout_height="10dp"></View>
android:layout_height="10dp"/>
<com.ck.ckcollar.app.widget.CKLinearLayout
android:layout_width="match_parent"
@@ -451,7 +442,7 @@
android:text="@string/simulated_step_count"
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
<com.ck.ckcollar.app.widget.CKLinearLayout
android:layout_width="match_parent"
@@ -468,7 +459,7 @@
android:text="-"
android:textColor="@color/textColor"
android:textSize="22sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
<com.ck.ckcollar.app.widget.CKTextView
android:layout_width="wrap_content"
@@ -478,7 +469,7 @@
android:text="@string/step"
android:textColor="@color/textColor"
android:textSize="12sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
</com.ck.ckcollar.app.widget.CKLinearLayout>
@@ -511,7 +502,7 @@
android:text="@string/the_ai_for_taking_photos_recognizes_the_steps_of_pets"
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold"></com.ck.ckcollar.app.widget.CKTextView>
android:textStyle="bold"/>
<com.ck.ckcollar.app.widget.CKTextView
android:layout_width="match_parent"
@@ -520,7 +511,7 @@
android:layout_weight="1"
android:text="@string/the_ai_for_taking_photos_recognizes_the_steps_of_pets_arlet"
android:textColor="@color/textSecondColor"
android:textSize="12sp"></com.ck.ckcollar.app.widget.CKTextView>
android:textSize="12sp"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
@@ -542,13 +533,13 @@
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold"
></com.ck.ckcollar.app.widget.CKTextView>
/>
<com.ck.ckcollar.app.widget.CKImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:src="@mipmap/image_round_right"></com.ck.ckcollar.app.widget.CKImageView>
android:src="@mipmap/image_round_right"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
</com.ck.ckcollar.app.widget.CKLinearLayout>
@@ -576,7 +567,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/image_home_consignment"
></com.ck.ckcollar.app.widget.CKImageView>
/>
<com.ck.ckcollar.app.widget.CKTextView
android:layout_width="match_parent"
@@ -587,18 +578,18 @@
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold"
></com.ck.ckcollar.app.widget.CKTextView>
/>
<com.ck.ckcollar.app.widget.CKImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:src="@mipmap/image_round_right"></com.ck.ckcollar.app.widget.CKImageView>
android:src="@mipmap/image_round_right"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
<View
android:layout_width="10dp"
android:layout_height="0dp"></View>
android:layout_height="0dp"/>
<com.ck.ckcollar.app.widget.CKLinearLayout
android:id="@+id/btnTraining"
android:layout_width="match_parent"
@@ -615,7 +606,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/image_home_training"
></com.ck.ckcollar.app.widget.CKImageView>
/>
<com.ck.ckcollar.app.widget.CKTextView
android:layout_width="match_parent"
@@ -626,13 +617,13 @@
android:textColor="@color/textColor"
android:textSize="16sp"
android:textStyle="bold"
></com.ck.ckcollar.app.widget.CKTextView>
/>
<com.ck.ckcollar.app.widget.CKImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:src="@mipmap/image_round_right"></com.ck.ckcollar.app.widget.CKImageView>
android:src="@mipmap/image_round_right"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
@@ -641,7 +632,7 @@
<View
android:layout_width="0dp"
android:layout_height="20dp"></View>
android:layout_height="20dp"/>
</com.ck.ckcollar.app.widget.CKLinearLayout>
@@ -649,5 +640,14 @@
</androidx.core.widget.NestedScrollView>
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/refreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.scwang.smartrefresh.layout.header.ClassicsHeader
android:layout_width="match_parent"
android:layout_height="wrap_content">
</com.scwang.smartrefresh.layout.header.ClassicsHeader>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</com.ck.ckcollar.app.widget.CKLinearLayout>

View File

@@ -588,6 +588,7 @@
<string name="please_choose_data">请选择原因</string>
<string name="camera_alert">宠盾需要您的授权,使用相机功能来进行扫码和拍照</string>
<string name="photo_permission_alert">宠盾需要您的授权,访问相册以选择照片</string>
<string name="press_again_to_exit">再按一次退出应用</string>
<string name="input_question">请输入问题</string>
<string name="pet_note">宠物常识</string>