Bläddra i källkod

feat: 首页列表微调,修改Pref

DoggyZhang 3 månader sedan
förälder
incheckning
2e2e1cab43
22 ändrade filer med 109 tillägg och 38 borttagningar
  1. 2 1
      app/src/main/java/com/adealink/weparty/config/GlobalConfigLocalService.kt
  2. 3 2
      app/src/main/java/com/adealink/weparty/debug/DebugPrefs.kt
  3. 3 2
      app/src/main/java/com/adealink/weparty/image/datasource/local/ImageLocalService.kt
  4. 3 2
      app/src/main/java/com/adealink/weparty/location/datasource/local/LocationLocalService.kt
  5. 3 2
      app/src/main/java/com/adealink/weparty/module/account/AccountLocalService.kt
  6. 2 1
      app/src/main/java/com/adealink/weparty/permission/PermissionPerf.kt
  7. 1 1
      app/src/main/java/com/adealink/weparty/storage/AppPref.kt
  8. 19 0
      app/src/main/java/com/adealink/weparty/storage/Constants.kt
  9. 3 3
      app/src/main/java/com/adealink/weparty/util/UIUtil.kt
  10. 3 2
      module/activity/src/main/java/com/adealink/weparty/activity/datasource/local/ActivityLocalService.kt
  11. 3 2
      module/im/src/main/java/com/adealink/weparty/im/datasource/local/IMLocalService.kt
  12. 2 1
      module/order/src/main/java/com/adealink/weparty/order/datasource/local/OrderLocalService.kt
  13. 3 0
      module/playmate/src/main/java/com/adealink/weparty/playmate/data/PlaymateListData.kt
  14. 3 2
      module/playmate/src/main/java/com/adealink/weparty/playmate/datasource/local/PlaymateLocalService.kt
  15. 5 1
      module/playmate/src/main/java/com/adealink/weparty/playmate/list/adapter/PlaymateListItemViewBinder.kt
  16. 37 8
      module/playmate/src/main/res/layout/item_playmate_home_list.xml
  17. 2 0
      module/playmate/src/main/res/values/strings.xml
  18. 2 1
      module/profile/src/main/java/com/adealink/weparty/profile/datasource/local/ProfileLocalService.kt
  19. 2 2
      module/profile/src/main/java/com/adealink/weparty/profile/datasource/local/SearchLocalService.kt
  20. 3 2
      module/setting/src/main/java/com/adealink/weparty/setting/datasource/local/SettingLocalService.kt
  21. 3 2
      module/share/src/main/java/com/adealink/weparty/share/datasource/local/ShareLocalService.kt
  22. 2 1
      module/wallet/src/main/java/com/adealink/weparty/wallet/datasource/local/WalletLocalService.kt

+ 2 - 1
app/src/main/java/com/adealink/weparty/config/GlobalConfigLocalService.kt

@@ -3,10 +3,11 @@ package com.adealink.weparty.config
 import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
+import com.adealink.weparty.storage.PREF_GLOBAL_CONFIG
 
 object GlobalConfigLocalService: TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_global_config", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_GLOBAL_CONFIG, Context.MODE_PRIVATE)
     }
 ) {
     var configMap: String by PrefKey("configMap", "")

+ 3 - 2
app/src/main/java/com/adealink/weparty/debug/DebugPrefs.kt

@@ -5,13 +5,14 @@ import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.profile.ProfileModule
 import com.adealink.weparty.network.getLocalHost
+import com.adealink.weparty.storage.PREF_DEBUG
 
 object DebugPrefs : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_debug", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_DEBUG, Context.MODE_PRIVATE)
     },
     userId = {
-        ProfileModule.getMyUid().toString()
+        ProfileModule.getMyUid()
     }
 ) {
 

+ 3 - 2
app/src/main/java/com/adealink/weparty/image/datasource/local/ImageLocalService.kt

@@ -4,13 +4,14 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.account.AccountModule
+import com.adealink.weparty.storage.PREF_IMAGE
 
 object ImageLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_image", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_IMAGE, Context.MODE_PRIVATE)
     },
     userId = {
-        AccountModule.uid.toString()
+        AccountModule.uid
     }
 ) {
 

+ 3 - 2
app/src/main/java/com/adealink/weparty/location/datasource/local/LocationLocalService.kt

@@ -4,13 +4,14 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.profile.ProfileModule
+import com.adealink.weparty.storage.PREF_LOCATION
 
 object LocationLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_location", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_LOCATION, Context.MODE_PRIVATE)
     },
     userId = {
-        ProfileModule.getMyUid().toString()
+        ProfileModule.getMyUid()
     }
 ) {
 

+ 3 - 2
app/src/main/java/com/adealink/weparty/module/account/AccountLocalService.kt

@@ -3,13 +3,14 @@ package com.adealink.weparty.module.account
 import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
+import com.adealink.weparty.storage.PREF_ACCOUNT
 
 object AccountLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_account", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_ACCOUNT, Context.MODE_PRIVATE)
     },
     userId = {
-        AccountModule.uid.toString()
+        AccountModule.uid
     }
 ) {
 

+ 2 - 1
app/src/main/java/com/adealink/weparty/permission/PermissionPerf.kt

@@ -4,10 +4,11 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.profile.ProfileModule
+import com.adealink.weparty.storage.PREF_PERMISSION
 
 object PermissionPerf : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_permission", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_PERMISSION, Context.MODE_PRIVATE)
     },
     userId = {
         ProfileModule.getMyUid()

+ 1 - 1
app/src/main/java/com/adealink/weparty/storage/AppPref.kt

@@ -6,7 +6,7 @@ import com.adealink.frame.util.AppUtil
 
 object AppPref: TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_app", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_APP, Context.MODE_PRIVATE)
     }
 ) {
     var uid: String by PrefKey("key_uid", "")

+ 19 - 0
app/src/main/java/com/adealink/weparty/storage/Constants.kt

@@ -0,0 +1,19 @@
+package com.adealink.weparty.storage
+
+
+const val PREF_APP = "pref_app"
+const val PREF_GLOBAL_CONFIG = "pref_global_config"
+const val PREF_DEBUG = "pref_debug"
+const val PREF_IMAGE = "pref_image"
+const val PREF_LOCATION = "pref_location"
+const val PREF_ACCOUNT = "pref_account"
+const val PREF_PERMISSION = "pref_permission"
+const val PREF_ACTIVITY = "pref_activity"
+const val PREF_IM = "pref_im"
+const val PREF_ORDER = "pref_order"
+const val PREF_PLAYMATE = "pref_playmate"
+const val PREF_PROFILE = "pref_profile"
+const val PREF_SEARCH = "pref_search"
+const val PREF_SETTING = "pref_setting"
+const val PREF_SHARE = "pref_share"
+const val PREF_WALLET = "pref_wallet"

+ 3 - 3
app/src/main/java/com/adealink/weparty/util/UIUtil.kt

@@ -46,11 +46,11 @@ fun formatNumberStr(number: Long): String {
     }
 }
 
-fun formatWinRate(rate: Double?): String {
-    return if (rate == null || rate < 0) {
+fun formatStar(star: Float?): String {
+    return if (star == null || star < 0) {
         "-"
     } else {
-        String.format(Locale.US, "%.1f%%", rate * 100)
+        String.format(Locale.US, "%.1f", star)
     }
 }
 

+ 3 - 2
module/activity/src/main/java/com/adealink/weparty/activity/datasource/local/ActivityLocalService.kt

@@ -4,13 +4,14 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.profile.ProfileModule
+import com.adealink.weparty.storage.PREF_ACTIVITY
 
 object ActivityLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_activity", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_ACTIVITY, Context.MODE_PRIVATE)
     },
     userId = {
-        ProfileModule.getMyUid().toString()
+        ProfileModule.getMyUid()
     }
 ) {
 

+ 3 - 2
module/im/src/main/java/com/adealink/weparty/im/datasource/local/IMLocalService.kt

@@ -4,13 +4,14 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.account.AccountModule
+import com.adealink.weparty.storage.PREF_IM
 
 object IMLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_call", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_IM, Context.MODE_PRIVATE)
     },
     userId = {
-        AccountModule.uid.toString()
+        AccountModule.uid
     }
 ) {
     var loginUserInfo : String by PrefKey("key_im_login_user_info", "")

+ 2 - 1
module/order/src/main/java/com/adealink/weparty/order/datasource/local/OrderLocalService.kt

@@ -4,10 +4,11 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.profile.ProfileModule
+import com.adealink.weparty.storage.PREF_ORDER
 
 object OrderLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_order", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_ORDER, Context.MODE_PRIVATE)
     },
     userId = {
         ProfileModule.getMyUid()

+ 3 - 0
module/playmate/src/main/java/com/adealink/weparty/playmate/data/PlaymateListData.kt

@@ -56,6 +56,9 @@ data class PlaymateListData(
     @SerializedName("categoryName") val categoryName: String, //品类名称
     @SerializedName("categoryIcon") val categoryIcon: String, //品类图标
 
+
+    @SerializedName("commentCount") val commentCount: Int, //评价数
+
 )
 
 data class PlaymateListItemData(

+ 3 - 2
module/playmate/src/main/java/com/adealink/weparty/playmate/datasource/local/PlaymateLocalService.kt

@@ -4,13 +4,14 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.profile.ProfileModule
+import com.adealink.weparty.storage.PREF_PLAYMATE
 
 object PlaymateLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_playmate", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_PLAYMATE, Context.MODE_PRIVATE)
     },
     userId = {
-        ProfileModule.getMyUid().toString()
+        ProfileModule.getMyUid()
     }
 ) {
 

+ 5 - 1
module/playmate/src/main/java/com/adealink/weparty/playmate/list/adapter/PlaymateListItemViewBinder.kt

@@ -2,14 +2,17 @@ package com.adealink.weparty.playmate.list.adapter
 
 import android.view.LayoutInflater
 import android.view.ViewGroup
+import com.adealink.frame.aab.util.getCompatString
 import com.adealink.frame.util.onClick
 import com.adealink.weparty.commonui.ext.hide
 import com.adealink.weparty.commonui.ext.show
 import com.adealink.weparty.commonui.recycleview.adapter.BindingViewHolder
 import com.adealink.weparty.commonui.recycleview.adapter.multitype.ItemViewBinder
+import com.adealink.weparty.playmate.R
 import com.adealink.weparty.playmate.data.PlaymateListData
 import com.adealink.weparty.playmate.data.PlaymateListItemData
 import com.adealink.weparty.playmate.databinding.ItemPlaymateHomeListBinding
+import com.adealink.weparty.util.formatStar
 
 class PlaymateListItemViewBinder(val listener: OnPlaymateListListener) :
     ItemViewBinder<PlaymateListItemData, BindingViewHolder<ItemPlaymateHomeListBinding>>() {
@@ -28,7 +31,8 @@ class PlaymateListItemViewBinder(val listener: OnPlaymateListListener) :
         holder.binding.vGender.setAge(item.data.age)
         holder.binding.vGender.setGender(item.data.gender)
         holder.binding.tvLocation.text = item.data.area
-        holder.binding.vEvaluate.setCurScore(item.data.star)
+        holder.binding.tvStar.text = formatStar(item.data.star)
+        holder.binding.tvComment.text = getCompatString(R.string.playmate_comment_count, item.data.commentCount.toString())
         holder.binding.ivCategory.setImageUrl(item.data.categoryIcon)
         holder.binding.tvCategory.text = item.data.categoryName
         holder.binding.tvSummary.text = item.data.summary

+ 37 - 8
module/playmate/src/main/res/layout/item_playmate_home_list.xml

@@ -92,15 +92,43 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
     <!--评分-->
-    <com.adealink.weparty.commonui.widget.EvaluateView
-        android:id="@+id/v_evaluate"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+    <androidx.appcompat.widget.AppCompatImageView
+        android:id="@+id/iv_star"
+        android:layout_width="14dp"
+        android:layout_height="14dp"
         android:layout_marginStart="12dp"
         android:layout_marginTop="5dp"
-        app:evaluate_width="10dp"
         app:layout_constraintStart_toEndOf="@id/v_barrier_start"
-        app:layout_constraintTop_toBottomOf="@id/tv_name" />
+        app:layout_constraintTop_toBottomOf="@id/tv_name"
+        app:srcCompat="@drawable/common_evaluate_star_selected_ic" />
+
+    <androidx.appcompat.widget.AppCompatTextView
+        android:id="@+id/tv_star"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="3dp"
+        android:includeFontPadding="false"
+        android:singleLine="true"
+        android:textColor="@color/color_FF1D2129"
+        android:textSize="12sp"
+        android:textStyle="bold"
+        app:layout_constraintBottom_toBottomOf="@id/iv_star"
+        app:layout_constraintStart_toEndOf="@id/iv_star"
+        app:layout_constraintTop_toTopOf="@id/iv_star"
+        tools:text="4.2" />
+
+    <androidx.appcompat.widget.AppCompatTextView
+        android:id="@+id/tv_comment"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="3dp"
+        android:includeFontPadding="false"
+        android:singleLine="true"
+        android:textColor="@color/color_FF86909C"
+        android:textSize="11sp"
+        app:layout_constraintBaseline_toBaselineOf="@id/tv_star"
+        app:layout_constraintStart_toEndOf="@id/tv_star"
+        tools:text="(234评价)" />
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/cl_category"
@@ -111,8 +139,8 @@
         android:paddingVertical="2dp"
         android:paddingStart="2dp"
         android:paddingEnd="6dp"
-        app:layout_constraintStart_toStartOf="@id/v_evaluate"
-        app:layout_constraintTop_toBottomOf="@id/v_evaluate">
+        app:layout_constraintStart_toStartOf="@id/iv_star"
+        app:layout_constraintTop_toBottomOf="@id/iv_star">
 
         <com.adealink.frame.image.view.NetworkImageView
             android:id="@+id/iv_category"
@@ -137,6 +165,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:includeFontPadding="false"
+            android:layout_marginStart="2dp"
             android:singleLine="true"
             android:textColor="@color/color_FF4E5969"
             android:textSize="11sp"

+ 2 - 0
module/playmate/src/main/res/values/strings.xml

@@ -27,4 +27,6 @@
     <string name="playmate_find_partner_option_price_2500_5000">2500–5000</string>
     <string name="playmate_find_partner_option_price_5000">5000以上</string>
 
+    <string name="playmate_comment_count">(%s评价)</string>
+
 </resources>

+ 2 - 1
module/profile/src/main/java/com/adealink/weparty/profile/datasource/local/ProfileLocalService.kt

@@ -4,10 +4,11 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.profile.ProfileModule
+import com.adealink.weparty.storage.PREF_PROFILE
 
 object ProfileLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_profile", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_PROFILE, Context.MODE_PRIVATE)
     },
     userId = {
         ProfileModule.getMyUid()

+ 2 - 2
module/profile/src/main/java/com/adealink/weparty/profile/datasource/local/SearchLocalService.kt

@@ -4,11 +4,11 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.profile.ProfileModule
+import com.adealink.weparty.storage.PREF_SEARCH
 
-// TODO: Pref 要配置到APP模块里
 object SearchLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_search", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_SEARCH, Context.MODE_PRIVATE)
     },
     userId = {
         ProfileModule.getMyUid()

+ 3 - 2
module/setting/src/main/java/com/adealink/weparty/setting/datasource/local/SettingLocalService.kt

@@ -4,13 +4,14 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.profile.ProfileModule
+import com.adealink.weparty.storage.PREF_SETTING
 
 object SettingLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_setting", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_SETTING, Context.MODE_PRIVATE)
     },
     userId = {
-        ProfileModule.getMyUid().toString()
+        ProfileModule.getMyUid()
     }
 ) {
 

+ 3 - 2
module/share/src/main/java/com/adealink/weparty/share/datasource/local/ShareLocalService.kt

@@ -4,13 +4,14 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.profile.ProfileModule
+import com.adealink.weparty.storage.PREF_SHARE
 
 object ShareLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_share", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_SHARE, Context.MODE_PRIVATE)
     },
     userId = {
-        ProfileModule.getMyUid().toString()
+        ProfileModule.getMyUid()
     }
 ) {
 

+ 2 - 1
module/wallet/src/main/java/com/adealink/weparty/wallet/datasource/local/WalletLocalService.kt

@@ -4,10 +4,11 @@ import android.content.Context
 import com.adealink.frame.storage.sp.TypeDelegationPrefs
 import com.adealink.frame.util.AppUtil
 import com.adealink.weparty.module.profile.ProfileModule
+import com.adealink.weparty.storage.PREF_WALLET
 
 object WalletLocalService : TypeDelegationPrefs(
     prefs = {
-        AppUtil.appContext.getSharedPreferences("pref_wallet", Context.MODE_PRIVATE)
+        AppUtil.appContext.getSharedPreferences(PREF_WALLET, Context.MODE_PRIVATE)
     },
     userId = {
         ProfileModule.getMyUid()