Bläddra i källkod

移除房间任务,阿拉丁神灯

DoggyZhang 1 år sedan
förälder
incheckning
d0d15131f4
100 ändrade filer med 7 tillägg och 4716 borttagningar
  1. 0 1
      app/build.gradle
  2. 1 1
      app/src/main/java/com/adealink/weparty/commonui/viewmodel/VapcEffectViewModel.kt
  3. 0 9
      app/src/main/java/com/adealink/weparty/module/roomtask/IRoomTaskService.kt
  4. 0 30
      app/src/main/java/com/adealink/weparty/module/roomtask/RoomTaskModule.kt
  5. 0 43
      app/src/main/java/com/adealink/weparty/module/roomtask/Router.kt
  6. 0 79
      app/src/main/java/com/adealink/weparty/module/roomtask/data/AladdinData.kt
  7. 0 141
      app/src/main/java/com/adealink/weparty/module/roomtask/data/RoomTask.kt
  8. 0 41
      app/src/main/java/com/adealink/weparty/module/roomtask/data/RoomTaskHelp.kt
  9. 0 15
      app/src/main/java/com/adealink/weparty/module/roomtask/data/RoomTaskResCode.kt
  10. 0 50
      app/src/main/java/com/adealink/weparty/module/roomtask/manager/IRoomTaskManager.kt
  11. 0 68
      app/src/main/java/com/adealink/weparty/module/roomtask/view/RoomTaskRewardListView.kt
  12. 0 32
      app/src/main/java/com/adealink/weparty/module/roomtask/viewmodel/IRoomTaskViewModel.kt
  13. 1 1
      module/bettingpk/src/main/java/com/adealink/weparty/bettingpk/MyBettingPKDialog.kt
  14. 1 1
      module/bettingpk/src/main/java/com/adealink/weparty/bettingpk/viewmodel/BettingPKEffectViewModel.kt
  15. 2 2
      module/level/src/main/java/com/adealink/weparty/level/viewmodel/GifAvatarEffectViewModel.kt
  16. 1 1
      module/level/src/main/java/com/adealink/weparty/level/viewmodel/LevelViewModel.kt
  17. 0 41
      module/room/src/main/java/com/adealink/weparty/room/chatroom/page/chat/ChatRoomDynamicFactory.kt
  18. 0 3
      module/room/src/main/java/com/adealink/weparty/room/chatroom/page/chat/ChatRoomDynamicLayer.kt
  19. 1 3
      module/room/src/main/java/com/adealink/weparty/room/chatroom/page/chat/ChatRoomPageFragment.kt
  20. 0 38
      module/room/src/main/java/com/adealink/weparty/room/roomtask/AladdinMiniView.kt
  21. 0 65
      module/room/src/main/java/com/adealink/weparty/room/roomtask/AladdinView.kt
  22. 0 286
      module/room/src/main/java/com/adealink/weparty/room/roomtask/RoomTaskComp.kt
  23. 0 86
      module/room/src/main/java/com/adealink/weparty/room/roomtask/RoomTaskView.kt
  24. 0 57
      module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/RoomTaskMonitor.kt
  25. 0 12
      module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/datasource/RoomTaskMonitorHttpService.kt
  26. 0 27
      module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/datasource/data/UserActionReqData.kt
  27. 0 35
      module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/monitor/ITaskMonitor.kt
  28. 0 188
      module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/monitor/NewUserInMicMonitor.kt
  29. 0 190
      module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/monitor/NormalUserInMicMonitor.kt
  30. 0 5
      module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/monitor/Tags.kt
  31. 0 38
      module/room/src/main/java/com/adealink/weparty/room/roomtask/viewmodel/EffectViewModel.kt
  32. 0 54
      module/room/src/main/res/layout/layout_room_aladdin.xml
  33. 0 33
      module/room/src/main/res/layout/layout_room_aladdin_mini.xml
  34. 0 81
      module/room/src/main/res/layout/layout_room_task.xml
  35. 0 4
      module/room/src/main/res/values/ids.xml
  36. 0 1
      module/roomtask/.gitignore
  37. 0 50
      module/roomtask/build.gradle
  38. 0 24
      module/roomtask/src/androidTest/java/com/adealink/weparty/search/ExampleInstrumentedTest.kt
  39. 0 26
      module/roomtask/src/main/AndroidManifest.xml
  40. 0 19
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/RoomTaskServiceImpl.kt
  41. 0 61
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/datasource/RoomTaskHttpService.kt
  42. 0 147
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/AladdinTakeCoinDialog.kt
  43. 0 69
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/AllNewRoomTaskCompleteDialog.kt
  44. 0 162
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/RoomTaskFinishDialog.kt
  45. 0 25
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/viewholder/TaskFinishRewardItemViewHolder.kt
  46. 0 27
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/viewmodel/AladdinTakeCoinViewModel.kt
  47. 0 35
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/viewmodel/TaskFinishTakeRewardViewModel.kt
  48. 0 14
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/GiftItemData.kt
  49. 0 86
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/GiftRecordFragment.kt
  50. 0 27
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/HowToPlayFragment.kt
  51. 0 165
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/RoomTaskHelpActivity.kt
  52. 0 35
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/viewholder/GiftRecordItemViewHolder.kt
  53. 0 24
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/viewholder/GiftTimeItemViewHolder.kt
  54. 0 62
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/viewmodel/RoomGiftRecordViewModel.kt
  55. 0 38
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/viewmodel/RoomTaskHelpViewModel.kt
  56. 0 207
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/home/RoomTaskActivity.kt
  57. 0 157
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/home/viewholder/RoomTaskItemViewHolder.kt
  58. 0 189
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/home/viewmodel/RoomTaskViewModel.kt
  59. 0 343
      module/roomtask/src/main/java/com/adealink/weparty/roomtask/manager/RoomTaskManager.kt
  60. BIN
      module/roomtask/src/main/res/drawable-ar-xhdpi/ic_aladdin_room_task_title.png
  61. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_all_new_owner_task_complete.png
  62. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_room_task_finish_dailog_foreground.png
  63. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_task_aladdin_close.webp
  64. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_task_aladdin_close_tips.9.png
  65. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_task_aladdin_open.webp
  66. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_task_aladdin_open_earn_coin.9.png
  67. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_task_content.9.png
  68. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_task_finish_dialog_desc.9.png
  69. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_task_help_content.9.png
  70. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_task_help_tab.png
  71. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_task_help_top.9.png
  72. BIN
      module/roomtask/src/main/res/drawable-xhdpi/bg_task_title.9.png
  73. BIN
      module/roomtask/src/main/res/drawable-xhdpi/btn_all_new_owner_task_complete.9.png
  74. BIN
      module/roomtask/src/main/res/drawable-xhdpi/btn_task_action_completed.9.png
  75. BIN
      module/roomtask/src/main/res/drawable-xhdpi/btn_task_action_go_finish.9.png
  76. BIN
      module/roomtask/src/main/res/drawable-xhdpi/btn_task_action_in_process.9.png
  77. BIN
      module/roomtask/src/main/res/drawable-xhdpi/btn_task_action_take_reward.9.png
  78. BIN
      module/roomtask/src/main/res/drawable-xhdpi/ic_aladdin_room_task_title.png
  79. BIN
      module/roomtask/src/main/res/drawable-xhdpi/ic_task_aladdin_lock.png
  80. BIN
      module/roomtask/src/main/res/drawable-xhdpi/ic_task_diary_tips_left.png
  81. BIN
      module/roomtask/src/main/res/drawable-xhdpi/ic_task_help.png
  82. BIN
      module/roomtask/src/main/res/drawable-zh-rTW-xhdpi/ic_aladdin_room_task_title.png
  83. BIN
      module/roomtask/src/main/res/drawable-zh-xhdpi/ic_aladdin_room_task_title.png
  84. 0 10
      module/roomtask/src/main/res/drawable/bg_room_task.xml
  85. 0 6
      module/roomtask/src/main/res/drawable/bg_room_task_help_content_inner.xml
  86. 0 7
      module/roomtask/src/main/res/drawable/bg_room_task_item.xml
  87. 0 10
      module/roomtask/src/main/res/drawable/tv_room_task_encourage_bg.xml
  88. 0 12
      module/roomtask/src/main/res/drawable/tv_task_aladdin_lock_bg.xml
  89. 0 154
      module/roomtask/src/main/res/layout/activity_room_task.xml
  90. 0 130
      module/roomtask/src/main/res/layout/activity_room_task_help.xml
  91. 0 43
      module/roomtask/src/main/res/layout/dialog_aladdin_take_coin.xml
  92. 0 83
      module/roomtask/src/main/res/layout/dialog_new_owner_room_task_complete.xml
  93. 0 92
      module/roomtask/src/main/res/layout/dialog_room_task_finish.xml
  94. 0 112
      module/roomtask/src/main/res/layout/fragment_gift_record.xml
  95. 0 29
      module/roomtask/src/main/res/layout/fragment_how_to_play.xml
  96. 0 58
      module/roomtask/src/main/res/layout/layout_task_finish_item.xml
  97. 0 71
      module/roomtask/src/main/res/layout/layout_task_gift_record_item.xml
  98. 0 23
      module/roomtask/src/main/res/layout/layout_task_gift_record_time.xml
  99. 0 64
      module/roomtask/src/main/res/layout/layout_task_item.xml
  100. 0 58
      module/roomtask/src/main/res/layout/stub_aladdin_close.xml

+ 0 - 1
app/build.gradle

@@ -218,7 +218,6 @@ android {
                        ':module:couple',
                        ':module:family',
                        ':module:attribution',
-                       ':module:roomtask',
                        ':module:userprotect',
                        ':module:medal',
                        ':module:bettingpk',

+ 1 - 1
app/src/main/java/com/adealink/weparty/module/roomtask/viewmodel/VapcEffectViewModel.kt → app/src/main/java/com/adealink/weparty/commonui/viewmodel/VapcEffectViewModel.kt

@@ -1,4 +1,4 @@
-package com.adealink.weparty.module.roomtask.viewmodel
+package com.adealink.weparty.commonui.viewmodel
 
 import androidx.lifecycle.LiveData
 import com.adealink.frame.base.IError

+ 0 - 9
app/src/main/java/com/adealink/weparty/module/roomtask/IRoomTaskService.kt

@@ -1,9 +0,0 @@
-package com.adealink.weparty.module.roomtask
-
-import androidx.lifecycle.ViewModelStoreOwner
-import com.adealink.frame.aab.IService
-import com.adealink.weparty.module.roomtask.viewmodel.IRoomTaskViewModel
-
-interface IRoomTaskService : IService<IRoomTaskService> {
-    fun getRoomTaskViewModel(owner: ViewModelStoreOwner): IRoomTaskViewModel?
-}

+ 0 - 30
app/src/main/java/com/adealink/weparty/module/roomtask/RoomTaskModule.kt

@@ -1,30 +0,0 @@
-package com.adealink.weparty.module.roomtask
-
-import androidx.lifecycle.ViewModelStoreOwner
-import com.adealink.frame.aab.BaseDynamicModule
-import com.adealink.weparty.R
-import com.adealink.weparty.module.roomtask.viewmodel.IRoomTaskViewModel
-
-object RoomTaskModule : BaseDynamicModule<IRoomTaskService>(IRoomTaskService::class), IRoomTaskService {
-    override val moduleNameResId: Int
-        get() = R.string.module_room_task
-
-    override fun emptyService(): IRoomTaskService {
-        return object : IRoomTaskService {
-            override fun getRoomTaskViewModel(owner: ViewModelStoreOwner): IRoomTaskViewModel? {
-                return null
-            }
-
-            override fun getService(): IRoomTaskService? {
-                return null
-            }
-        }
-    }
-
-    override val featureName: String
-        get() = "roomtask"
-
-    override fun getRoomTaskViewModel(owner: ViewModelStoreOwner): IRoomTaskViewModel? {
-        return getService().getRoomTaskViewModel(owner)
-    }
-}

+ 0 - 43
app/src/main/java/com/adealink/weparty/module/roomtask/Router.kt

@@ -1,43 +0,0 @@
-package com.adealink.weparty.module.roomtask
-
-
-interface RoomTask {
-
-    //房间任务
-    interface RoomTask {
-        companion object {
-            const val PATH = "/roomTask"
-        }
-    }
-
-    //房间任务帮主
-    interface TaskHelp {
-        companion object {
-            const val PATH = "/roomTaskHelp"
-        }
-    }
-
-    //任务完成提醒弹窗
-    interface TaskFinish {
-        companion object {
-            //完成房间任务(包括新房主任务,每日任务)
-            const val PATH = "/roomTaskFinish"
-            const val EXTRA_TASK_FINISH_BEAN = "extra_task_finish_bean"
-
-            //完成新房主任务
-            const val OWNER_TASK = "ownerRoomTaskFinish"
-        }
-    }
-
-    //领取阿拉丁金币
-    interface Aladdin {
-        companion object {
-            const val TAKE_COIN_DIALOG = "/takeCoinDialog"
-
-            const val EXTRA_COIN = "extra_coin"
-            const val EXTRA_FADE_X = "extra_fade_x"
-            const val EXTRA_FADE_Y = "extra_fade_y"
-        }
-    }
-
-}

+ 0 - 79
app/src/main/java/com/adealink/weparty/module/roomtask/data/AladdinData.kt

@@ -1,79 +0,0 @@
-package com.adealink.weparty.module.roomtask.data
-
-import android.os.Parcelable
-import com.google.gson.annotations.GsonNullable
-import com.google.gson.annotations.JsonAdapter
-import com.google.gson.annotations.SerializedName
-import com.google.gson.internal.bind.ExtReflectiveTypeAdapterFactory
-import kotlinx.parcelize.Parcelize
-
-@JsonAdapter(ExtReflectiveTypeAdapterFactory::class)
-@Parcelize
-data class AladdinInfoData(
-    @GsonNullable
-    @SerializedName("taskInfo") val taskInfo: Map<Int, Int>?,
-    @SerializedName("currencyValue") val currencyValue: Long, //待领取的金币数值
-    @SerializedName("totalCurrencyValue") val totalCurrencyValue: Long, //总共积累的金币数值
-    @GsonNullable
-    @SerializedName("rule") val rule: String? //阿拉丁神灯规则
-) : Parcelable {
-
-
-
-    companion object {
-        const val TASK_ROOM = 1 //新房主任务
-        const val TASK_ALADDIN = 2 //阿拉丁神灯
-        const val TASK_DAILY = 3 //每日任务
-    }
-}
-
-data class AladdinInfo(
-    val coinBonus: Long,
-    val totalCoinBonus: Long,
-    val status: Int = STATUS_IDLE
-) {
-
-    override fun toString(): String {
-        return "AladdinInfo(coinBonus:$coinBonus, totalCoinBonus:$totalCoinBonus, status:$status)"
-    }
-
-    companion object {
-        const val STATUS_IDLE = 0 //空闲,什么都没得领
-        const val STATUS_COIN_BONUS_READY = 1 //可领取金币
-        const val STATUS_TASK_REWARD_READY = 2 //可领取任务奖励
-    }
-}
-
-/**
- * 兑换阿拉丁神灯金币
- */
-@JsonAdapter(ExtReflectiveTypeAdapterFactory::class)
-@Parcelize
-data class ExchangeAladdinCoinBonusReq(
-    @SerializedName("seqId") val seqId: Long = System.currentTimeMillis(),
-
-    @SerializedName("roomid") val roomId: Long, //兑换了多少个金币
-) : Parcelable
-
-/**
- * 兑换阿拉丁神灯金币
- */
-@JsonAdapter(ExtReflectiveTypeAdapterFactory::class)
-@Parcelize
-data class ExchangeAladdinCoinBonusRes(
-    @SerializedName("seqId") val seqId: Long,
-
-    @SerializedName("addValue") val addValue: Long, //兑换了多少个金币
-) : Parcelable
-
-/**
- * 勋章发放通知
- */
-@JsonAdapter(ExtReflectiveTypeAdapterFactory::class)
-data class AladdinBonusNotify(
-    @SerializedName("currencyValue")
-    val currencyValue: Long,
-
-    @SerializedName("addValue")
-    val addValue: Long,
-)

+ 0 - 141
app/src/main/java/com/adealink/weparty/module/roomtask/data/RoomTask.kt

@@ -1,141 +0,0 @@
-package com.adealink.weparty.module.roomtask.data
-
-import android.os.Parcelable
-import com.adealink.frame.locale.language.data.Language
-import com.adealink.weparty.module.operation.activity.RewardDetailData
-import com.google.gson.annotations.JsonAdapter
-import com.google.gson.annotations.SerializedName
-import com.google.gson.internal.bind.ExtReflectiveTypeAdapterFactory
-import kotlinx.parcelize.Parcelize
-
-@JsonAdapter(ExtReflectiveTypeAdapterFactory::class)
-@Parcelize
-data class RoomTaskData(
-    @SerializedName("activityCode") val activityCode: Long,
-    @SerializedName("activityId") val activityId: Long,
-    @SerializedName("activityTag") val activityTag: String,
-    @SerializedName("beginTime") val beginTime: Long,
-    @SerializedName("endTime") val endTime: Long,
-    @SerializedName("dailyTaskItems") val dailyTaskItems: List<TaskInfo>
-) : Parcelable {
-
-    companion object {
-        const val ACTIVITY_CODE_NEW_USER_ROOM_TASK = 11 //新用户房主任务
-        const val ACTIVITY_CODE_ROOM_DAILY_TASK = 12 //房主每日任务
-    }
-}
-
-@JsonAdapter(ExtReflectiveTypeAdapterFactory::class)
-@Parcelize
-data class TaskInfo(
-    //不参与序列化
-    var activityId: Long,
-
-    @SerializedName("taskId") var taskId: Int,
-//    @SerializedName("taskJumpUrl") val taskJumpUrl: String,
-    @SerializedName("taskNameAr") val taskNameAr: String,
-    @SerializedName("taskNameCn") val taskNameCn: String,
-    @SerializedName("taskNameEn") val taskNameEn: String,
-    @SerializedName("taskType") val taskType: Int,
-    @SerializedName("taskDesc") val taskDesc: String,
-    @SerializedName("taskIconUrl") val taskIconUrl: List<String>,
-
-    @SerializedName("visibleTaskProgress") val visibleTaskProgress: Int, //为1时,下面的进度才有值
-    @SerializedName("taskDimensionProgress") val taskDimensionProgress: Long,
-    @SerializedName("taskDimensionTarget") val taskDimensionTarget: Long,
-
-    @SerializedName("rewardInfo") val rewardInfo: List<RewardDetailData>,
-    @SerializedName("rewardStatus") val rewardStatus: Int, //0:领奖中,1:完成且已领奖,2:完成但是没有领奖
-
-) : Parcelable {
-
-    fun getTaskName(language: String?): String {
-        return when (language) {
-            Language.ZH.code -> {
-                taskNameCn
-            }
-
-            Language.EN.code -> {
-                taskNameEn
-            }
-
-            else -> {
-                taskNameAr
-            }
-        }
-    }
-
-    /**
-     * 当前任务是否有进度展示
-     */
-    fun showTaskProcess(): Boolean {
-        return visibleTaskProgress == 1 && taskDimensionTarget > 1
-    }
-
-    /**
-     * 获取任务状态
-     */
-    fun getTaskStatus(): Int {
-        return if (rewardStatus == 1) {
-            //任务完成,已领奖
-            TASK_STATUS_FINISH_ALREADY_TAKE_REWARD
-        } else if (rewardStatus == 2) {
-            //任务完成,未领奖
-            TASK_STATUS_FINISH_NO_TAKE_REWARD
-        } else if (taskDimensionProgress < taskDimensionTarget) {
-            //任务进行中
-            TASK_STATUS_IN_PROCESS
-        } else {
-            //任务完成,未领奖
-            TASK_STATUS_FINISH_NO_TAKE_REWARD
-        }
-    }
-
-    companion object {
-
-        const val TASK_STATUS_IN_PROCESS = 0 //任务进行中
-        const val TASK_STATUS_FINISH_NO_TAKE_REWARD = 1 //任务完成,未领取奖励
-        const val TASK_STATUS_FINISH_ALREADY_TAKE_REWARD = 2 //任务完成,并已经领取奖励
-
-
-        /**
-         * 任务类型定义
-         */
-        const val TASK_TYPE_DAILY = 0 // 普通每日任务类型
-        const val TASK_TYPE_REGISTER_IN_FIRST_WEEK = 3 // 注册第一周内的任务
-
-        /**
-         * 任务奖励定义
-         */
-        const val REWARD_STATUS_WAITING = 0 // 奖励自动发放,发放中
-        const val REWARD_STATUS_COMPLETED = 1 // 奖励发放完成
-        const val REWARD_STATUS_WAITING_MANUAL = 2 // 等待用户手动领取奖励发放(表示该任务有奖励可以领取)
-
-    }
-}
-
-@Parcelize
-data class RoomTaskFinishBean(
-    @SerializedName("taskDesc") val taskDesc: String,
-    @SerializedName("taskRewardList") val rewards: List<RoomTaskFinishRewardItem>
-) : Parcelable
-
-@Parcelize
-data class RoomTaskFinishRewardItem(
-    @SerializedName("rewardImgUrl") val rewardImg: String,
-    @SerializedName("rewardCount") val rewardCount: String,
-    @SerializedName("rewardDesc") val rewardDesc: String
-) : Parcelable
-
-
-/**
- * 勋章发放通知
- */
-@JsonAdapter(ExtReflectiveTypeAdapterFactory::class)
-data class RoomTaskFinishNotify(
-    @SerializedName("activityId")
-    val activityId: Long,
-
-    @SerializedName("taskId")
-    val taskId: Int,
-)

+ 0 - 41
app/src/main/java/com/adealink/weparty/module/roomtask/data/RoomTaskHelp.kt

@@ -1,41 +0,0 @@
-package com.adealink.weparty.module.roomtask.data
-
-import android.os.Parcelable
-import com.google.gson.annotations.JsonAdapter
-import com.google.gson.annotations.SerializedName
-import com.google.gson.internal.bind.ExtReflectiveTypeAdapterFactory
-import kotlinx.parcelize.IgnoredOnParcel
-import kotlinx.parcelize.Parcelize
-
-@JsonAdapter(ExtReflectiveTypeAdapterFactory::class)
-@Parcelize
-data class RoomGiftData(
-    @SerializedName("time") val time: Long,
-
-    @SerializedName("senderUid") val senderUid: Long,
-    @SerializedName("senderName") val senderName: String,
-    @SerializedName("receiverUid") val receiverUid: Long,
-    @SerializedName("receiverName") val receiverName: String,
-
-    @SerializedName("giftUrl") val giftUrl: String,
-    @SerializedName("giftCount") val giftCount: Int,
-) : Parcelable {
-
-    @IgnoredOnParcel
-    private var day: Long? = null
-
-    fun getDay(): Long {
-        var dayTime = day
-        if (dayTime == null) {
-            val now = time / 1000L
-            dayTime = now - (now + 8 * 60 * 60) % DAY_SECONDS
-            day = dayTime
-        }
-        return dayTime
-
-    }
-
-    companion object {
-        private const val DAY_SECONDS = 24 * 60 * 60
-    }
-}

+ 0 - 15
app/src/main/java/com/adealink/weparty/module/roomtask/data/RoomTaskResCode.kt

@@ -1,15 +0,0 @@
-package com.adealink.weparty.module.roomtask.data
-
-object RoomTaskResCode {
-
-    //阿拉丁神灯兑换金币错误码
-    const val RES_ALADDIN_EXCHANGE_SUCCESS = 200 //兑换成功
-    const val RES_ALADDIN_EXCHANGE_FAIL_FOR_NOT_ENOUGH_MONEY = 518 //用户余额不足
-    const val RES_ALADDIN_EXCHANGE_FAIL_FOR_NO_PERMISSION = 502 //没有相关权限
-
-    //领取任务奖励错误码
-    const val RES_TAKE_REWARD_EXPIRED = 540 //奖励已失效,不能再领取
-    const val RES_TAKE_REWARD_NO_VALID_ACTIVITY = 3029 //当前没有进行中的活动
-    const val RES_TAKE_REWARD_ALREADY_TOKEN = 951 //已经领取过任务奖励,不能重复领取
-    const val RES_TAKE_REWARD_CANT_TAKEN_BEFORE_TASK_COMPLETED = 953 //任务完成前不能领取奖励
-}

+ 0 - 50
app/src/main/java/com/adealink/weparty/module/roomtask/manager/IRoomTaskManager.kt

@@ -1,50 +0,0 @@
-package com.adealink.weparty.module.roomtask.manager
-
-import com.adealink.frame.frame.IBaseFrame
-import com.adealink.frame.frame.IListener
-import com.adealink.weparty.module.roomtask.data.AladdinInfo
-import com.adealink.weparty.module.roomtask.data.TaskInfo
-
-interface IRoomTaskManager : IBaseFrame<IRoomTaskManager.IRoomTaskListener> {
-
-    /**
-     * 初始化房间任务
-     * @return false,初始化失败/用户非正常
-     */
-    suspend fun prepareTaskInfo(queryTotalCoin: Boolean)
-
-    fun getTaskEntrance(): Int
-
-    suspend fun refreshCoinBonus()
-
-    suspend fun getAladdinInfo(): AladdinInfo?
-
-    suspend fun getCurrentTask(): TaskInfo?
-
-    suspend fun getRoomTaskList(): List<TaskInfo>
-
-    suspend fun refreshRoomTaskList(): List<TaskInfo>
-
-    suspend fun getRoomTaskBy(activityId: Long, taskId: Int): TaskInfo?
-
-    fun getRoomTaskType(): Int
-
-    interface IRoomTaskListener : IListener {
-
-        fun onCoinBonusChanged(coinBonusCanTake: Long, totalCoinBonus: Long, aladdinStatus: Int) {}
-
-        fun onTaskFinish(task: TaskInfo) {}
-
-        fun onAllTaskComplete(taskType: Int) {}
-    }
-
-    companion object {
-        const val ENTRANCE_NONE = 0 //不显示入口
-        const val ENTRANCE_TYPE_ROOM = 1 //新房主任务
-        const val ENTRANCE_TYPE_ALADDIN_DAILY = 2 //阿拉丁神灯+每日任务
-
-        const val TASK_TYPE_UNKNOWN = 0
-        const val TASK_TYPE_NEW_USER = 1
-        const val TASK_TYPE_DIARY = 2
-    }
-}

+ 0 - 68
app/src/main/java/com/adealink/weparty/module/roomtask/view/RoomTaskRewardListView.kt

@@ -1,68 +0,0 @@
-package com.adealink.weparty.module.roomtask.view
-
-import android.content.Context
-import android.util.AttributeSet
-import android.util.TypedValue
-import android.view.LayoutInflater
-import android.widget.LinearLayout
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.view.updateLayoutParams
-import com.adealink.weparty.R
-import com.adealink.weparty.databinding.RoomTaskLayoutRewardListItemBinding
-
-data class RewardItem(
-    val iconUrl: String,
-    val desc: String
-)
-
-class RoomTaskRewardListView @JvmOverloads constructor(
-    context: Context,
-    attrs: AttributeSet? = null,
-    defStyleAttr: Int = 0,
-) : LinearLayout(context, attrs, defStyleAttr) {
-    private var icRewardWidth: Int = 0
-    private var tvRewardSize: Int = 0
-    private var vSpace: Int = 0
-
-    init {
-        attrs?.let { loadAttrs(it) }
-        orientation = VERTICAL
-    }
-
-    private fun loadAttrs(attrs: AttributeSet) {
-        if (isInEditMode) {
-            return
-        }
-        val typedArray = context.theme.obtainStyledAttributes(attrs, R.styleable.RoomTaskRewardListView, 0, 0)
-        icRewardWidth = typedArray.getDimensionPixelSize(R.styleable.RoomTaskRewardListView_icon_width, -1)
-        tvRewardSize = typedArray.getDimensionPixelSize(R.styleable.RoomTaskRewardListView_text_size, -1)
-        vSpace = typedArray.getDimensionPixelSize(R.styleable.RoomTaskRewardListView_v_space, -1)
-        typedArray.recycle()
-    }
-
-    fun addRewardList(rewards: List<RewardItem>) {
-        removeAllViews()
-        for ((index, item) in rewards.withIndex()) {
-            val itemBinding = RoomTaskLayoutRewardListItemBinding.inflate(LayoutInflater.from(context), null, false)
-            itemBinding.ivReward.setImageUrl(item.iconUrl)
-            itemBinding.tvRewardDesc.text = item.desc
-            addView(itemBinding.root)
-            itemBinding.root.updateLayoutParams<LayoutParams> {
-                this.width = LayoutParams.WRAP_CONTENT
-                this.height = LayoutParams.WRAP_CONTENT
-                if (index > 0 && vSpace != -1) {
-                    this.topMargin = vSpace
-                }
-            }
-            if (icRewardWidth != -1) {
-                itemBinding.ivReward.updateLayoutParams<ConstraintLayout.LayoutParams> {
-                    this.width = icRewardWidth
-                    this.height = icRewardWidth
-                }
-            }
-            if (tvRewardSize != -1) {
-                itemBinding.tvRewardDesc.setTextSize(TypedValue.COMPLEX_UNIT_PX, tvRewardSize.toFloat())
-            }
-        }
-    }
-}

+ 0 - 32
app/src/main/java/com/adealink/weparty/module/roomtask/viewmodel/IRoomTaskViewModel.kt

@@ -1,32 +0,0 @@
-package com.adealink.weparty.module.roomtask.viewmodel
-
-import androidx.lifecycle.MutableLiveData
-import com.adealink.weparty.module.roomtask.data.AladdinInfo
-import com.adealink.weparty.module.roomtask.data.TaskInfo
-
-
-interface IRoomTaskViewModel {
-    val showTaskEntranceLiveData: MutableLiveData<Int>
-
-    val aladdinInfoLiveData: MutableLiveData<AladdinInfo>
-    val currentTaskLiveData: MutableLiveData<TaskInfo?>
-
-    val allNewRoomTaskComplete: MutableLiveData<Boolean>
-
-    /**
-     * 1. 初始化任务信息
-     * 2. 获取入口开关信息
-     *
-     * @param queryTotalCoin 是否需要查询所有累计金币
-     */
-    fun getRoomTaskInfo(queryTotalCoin: Boolean)
-
-    fun refreshCurrentRoomTask()
-
-    /**
-     * 兑换阿拉丁神灯积累的金币
-     */
-    fun exchangeCoinBonus(roomId: Long): MutableLiveData<Pair<Boolean, Long>>
-
-    fun refreshCoinBonus()
-}

+ 1 - 1
module/bettingpk/src/main/java/com/adealink/weparty/bettingpk/MyBettingPKDialog.kt

@@ -39,10 +39,10 @@ import com.adealink.weparty.bettingpk.viewmodel.BettingPKEffectViewModel
 import com.adealink.weparty.bettingpk.viewmodel.BettingPKListViewModel
 import com.adealink.weparty.bettingpk.viewmodel.BettingPKViewModel
 import com.adealink.weparty.bettingpk.viewmodel.BettingPKViewModelFactory
+import com.adealink.weparty.commonui.viewmodel.VapcEffectInfo
 import com.adealink.weparty.module.bettingpk.BettingPK
 import com.adealink.weparty.module.profile.ProfileModule
 import com.adealink.weparty.module.room.RoomModule
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectInfo
 import com.adealink.weparty.module.search.Search
 import com.adealink.weparty.module.search.SearchModule
 import com.tencent.qgame.animplayer.util.ScaleType

+ 1 - 1
module/bettingpk/src/main/java/com/adealink/weparty/bettingpk/viewmodel/BettingPKEffectViewModel.kt

@@ -2,7 +2,7 @@ package com.adealink.weparty.bettingpk.viewmodel
 
 import com.adealink.frame.download.task.Task
 import com.adealink.weparty.App
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectViewModel
+import com.adealink.weparty.commonui.viewmodel.VapcEffectViewModel
 
 class BettingPKEffectViewModel : VapcEffectViewModel() {
     override fun addDownloadTask(task: Task) {

+ 2 - 2
module/level/src/main/java/com/adealink/weparty/level/viewmodel/GifAvatarEffectViewModel.kt

@@ -4,8 +4,8 @@ import androidx.lifecycle.MutableLiveData
 import com.adealink.frame.download.task.Task
 import com.adealink.frame.util.DisplayUtil
 import com.adealink.weparty.App
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectInfo
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectViewModel
+import com.adealink.weparty.commonui.viewmodel.VapcEffectInfo
+import com.adealink.weparty.commonui.viewmodel.VapcEffectViewModel
 import kotlinx.coroutines.launch
 
 class GifAvatarEffectViewModel : VapcEffectViewModel() {

+ 1 - 1
module/level/src/main/java/com/adealink/weparty/level/viewmodel/LevelViewModel.kt

@@ -57,7 +57,7 @@ import com.adealink.weparty.module.level.viewmodel.ILevelViewModel
 import com.adealink.weparty.module.medal.MedalModule
 import com.adealink.weparty.module.operation.activity.ProductTypeConstant
 import com.adealink.weparty.module.profile.ProfileModule
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectViewModel
+import com.adealink.weparty.commonui.viewmodel.VapcEffectViewModel
 import kotlinx.coroutines.async
 import kotlinx.coroutines.launch
 import com.adealink.weparty.R as APP_R

+ 0 - 41
module/room/src/main/java/com/adealink/weparty/room/chatroom/page/chat/ChatRoomDynamicFactory.kt

@@ -26,9 +26,6 @@ import com.adealink.weparty.room.member.widget.RoomOnlineMemberDragView
 import com.adealink.weparty.room.miccharmpk.MicCharmPKView
 import com.adealink.weparty.room.music.MusicView
 import com.adealink.weparty.room.rank.comp.RankEntranceView
-import com.adealink.weparty.room.roomtask.AladdinMiniView
-import com.adealink.weparty.room.roomtask.AladdinView
-import com.adealink.weparty.room.roomtask.RoomTaskView
 import com.opensource.svgaplayer.WenextSvgaView
 
 /**
@@ -50,10 +47,6 @@ class ChatRoomBaseLayerFactory : IDynamicViewFactory<ConstraintLayout.LayoutPara
                 WenextSvgaView(context) as V
             }
 
-            R.id.id_chat_room_task_view -> {
-                RoomTaskView(context) as V
-            }
-
             R.id.id_chat_room_betting_pk_view -> {
                 RoomBettingPkDragView(context) as V
             }
@@ -149,19 +142,6 @@ class ChatRoomBaseLayerFactory : IDynamicViewFactory<ConstraintLayout.LayoutPara
                 }
             }
 
-            R.id.id_chat_room_task_view -> {
-                ConstraintLayout.LayoutParams(0, ConstraintLayout.LayoutParams.WRAP_CONTENT).apply {
-                    marginStart = 12.dp()
-                    marginEnd = 80.dp()
-                    topMargin = 5.dp()
-
-                    startToStart = ConstraintLayout.LayoutParams.PARENT_ID
-                    endToEnd = ConstraintLayout.LayoutParams.PARENT_ID
-                    bottomToTop = R.id.chat_message_fragment
-                    topToBottom = R.id.mic_seat_fragment
-                }
-            }
-
             R.id.id_chat_room_betting_pk_view -> {
                 ConstraintLayout.LayoutParams(ConstraintLayout.LayoutParams.WRAP_CONTENT, ConstraintLayout.LayoutParams.WRAP_CONTENT).apply {
                     topToTop = R.id.chat_message_fragment
@@ -322,10 +302,6 @@ class ChatRoomTopLeftLayerFactory : IDynamicViewFactory<SpreadLinearLayout.Layou
                 RankEntranceView(context) as V
             }
 
-            R.id.id_chat_room_aladdin_mini_view -> {
-                AladdinMiniView(context) as V
-            }
-
             else -> {
                 throw RuntimeException("${context.resources.getResourceName(id)} 未定义具体实现控件")
             }
@@ -362,13 +338,6 @@ class ChatRoomTopLeftLayerFactory : IDynamicViewFactory<SpreadLinearLayout.Layou
                 )
             }
 
-            R.id.id_chat_room_aladdin_mini_view -> {
-                SpreadLinearLayout.LayoutParams(
-                    LinearLayoutCompat.LayoutParams.WRAP_CONTENT,
-                    LinearLayoutCompat.LayoutParams.WRAP_CONTENT,
-                )
-            }
-
             else -> {
                 throw RuntimeException("${context.resources.getResourceName(id)} 未定义LayoutParams")
             }
@@ -384,10 +353,6 @@ class ChatRoomTopRightLayerFactory : IDynamicViewFactory<LinearLayoutCompat.Layo
                 WenextSvgaView(context) as V
             }
 
-            R.id.id_chat_room_task_aladdin_view -> {
-                AladdinView(context) as V
-            }
-
             else -> {
                 throw RuntimeException("${context.resources.getResourceName(id)} 未定义具体实现控件")
             }
@@ -402,12 +367,6 @@ class ChatRoomTopRightLayerFactory : IDynamicViewFactory<LinearLayoutCompat.Layo
                 }
             }
 
-            R.id.id_chat_room_task_aladdin_view -> {
-                LinearLayoutCompat.LayoutParams(70f.dp(), 90f.dp()).apply {
-                    topMargin = (-46.5f).dp()
-                }
-            }
-
             else -> {
                 throw RuntimeException("${context.resources.getResourceName(id)} 未定义LayoutParams")
             }

+ 0 - 3
module/room/src/main/java/com/adealink/weparty/room/chatroom/page/chat/ChatRoomDynamicLayer.kt

@@ -9,7 +9,6 @@ val CHAT_ROOM_BASE_LAYER = intArrayOf(
     R.id.id_chat_room_danmaku_view,
     R.id.id_chat_room_room_pk_view,
     R.id.id_chat_room_room_pk_anim_view,
-    R.id.id_chat_room_task_view,
     R.id.id_chat_room_betting_pk_view,
     R.id.id_chat_room_gift_combo_view,
 
@@ -37,14 +36,12 @@ val CHAT_ROOM_TOP_LEFT_LAYER = intArrayOf(
     R.id.id_chat_room_music_view,
     R.id.id_chat_room_activity_timer_view,
     R.id.id_chat_room_mic_charm_pk_view,
-    R.id.id_chat_room_aladdin_mini_view,
 )
 
 /**
  * 语聊房-右上控件层级
  */
 val CHAT_ROOM_TOP_RIGHT_LAYER = intArrayOf(
-    R.id.id_chat_room_task_aladdin_view,
     R.id.id_chat_room_red_packet_view,
 )
 

+ 1 - 3
module/room/src/main/java/com/adealink/weparty/room/chatroom/page/chat/ChatRoomPageFragment.kt

@@ -123,9 +123,7 @@ class ChatRoomPageFragment : BaseChatRoomPageFragment(R.layout.fragment_chat_roo
         toastEnterRoomTime()
         //初始化动态层级
         baseDynamicLayers = DynamicLayers(this, binding.root, CHAT_ROOM_BASE_LAYER, ChatRoomBaseLayerFactory())
-        topLeftDynamicLayers = DynamicLayers(this, binding.topLeftContainer.apply {
-            setGroup2Ids(R.id.id_chat_room_aladdin_mini_view)
-        }, CHAT_ROOM_TOP_LEFT_LAYER, ChatRoomTopLeftLayerFactory())
+        topLeftDynamicLayers = DynamicLayers(this, binding.topLeftContainer, CHAT_ROOM_TOP_LEFT_LAYER, ChatRoomTopLeftLayerFactory())
         topRightDynamicLayers = DynamicLayers(this, binding.topRightContainer, CHAT_ROOM_TOP_RIGHT_LAYER, ChatRoomTopRightLayerFactory())
         bottomRightDynamicLayers = DynamicLayers(this, binding.bottomRightContainer, CHAT_ROOM_BOTTOM_RIGHT_LAYER, ChatRoomBottomRightLayerFactory())
 

+ 0 - 38
module/room/src/main/java/com/adealink/weparty/room/roomtask/AladdinMiniView.kt

@@ -1,38 +0,0 @@
-package com.adealink.weparty.room.roomtask
-
-import android.content.Context
-import android.util.AttributeSet
-import android.view.LayoutInflater
-import androidx.constraintlayout.widget.ConstraintLayout
-import com.adealink.frame.aab.util.getCompatString
-import com.adealink.weparty.commonui.ext.dp
-import com.adealink.weparty.commonui.ext.gone
-import com.adealink.weparty.commonui.ext.show
-import com.adealink.weparty.room.R
-import com.adealink.weparty.room.databinding.LayoutRoomAladdinMiniBinding
-
-class AladdinMiniView @JvmOverloads constructor(
-    context: Context,
-    attrs: AttributeSet? = null,
-    defStyleAttr: Int = 0,
-) : ConstraintLayout(context, attrs, defStyleAttr) {
-
-    private val binding = LayoutRoomAladdinMiniBinding.inflate(LayoutInflater.from(context), this)
-
-    init {
-        setBackgroundResource(R.drawable.bg_room_task_small_coin)
-        setPadding(4.dp(), 0, 4.dp(), 0)
-    }
-
-    fun setCoins(coins: Long) {
-        if (coins > 0) {
-            binding.coinsTv.show()
-            val coin = getCompatString(R.string.room_aladdin_coin_bonus, coins.toString())
-            binding.coinsTv.text = coin
-        } else {
-            binding.coinsTv.gone()
-        }
-    }
-
-
-}

+ 0 - 65
module/room/src/main/java/com/adealink/weparty/room/roomtask/AladdinView.kt

@@ -1,65 +0,0 @@
-package com.adealink.weparty.room.roomtask
-
-import android.content.Context
-import android.util.AttributeSet
-import android.view.Gravity
-import android.view.LayoutInflater
-import android.widget.FrameLayout
-import androidx.constraintlayout.widget.ConstraintLayout
-import com.adealink.frame.aab.util.getCompatString
-import com.adealink.weparty.commonui.ext.gone
-import com.adealink.weparty.commonui.ext.show
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectInfo
-import com.adealink.weparty.room.R
-import com.adealink.weparty.room.databinding.LayoutRoomAladdinBinding
-import com.tencent.qgame.animplayer.AnimView
-import com.tencent.qgame.animplayer.util.ScaleType
-import java.io.File
-
-class AladdinView @JvmOverloads constructor(
-    context: Context,
-    attrs: AttributeSet? = null,
-    defStyleAttr: Int = 0,
-) : ConstraintLayout(context, attrs, defStyleAttr) {
-
-    private val binding = LayoutRoomAladdinBinding.inflate(LayoutInflater.from(context), this)
-
-
-    fun showAladdinEffect(vapcEffect: VapcEffectInfo?) {
-        if (vapcEffect == null || vapcEffect.localPath.isEmpty()) {
-            binding.ivAladdinIdle.show()
-            binding.flAladdinEffect.gone()
-            return
-        }
-        binding.ivAladdinIdle.gone()
-        binding.flAladdinEffect.show()
-
-        binding.flAladdinEffect.removeAllViews()
-        val flAladdinEffect = binding.flAladdinEffect
-        val animView = AnimView(flAladdinEffect.context)
-        flAladdinEffect.addView(animView, FrameLayout.LayoutParams(
-            FrameLayout.LayoutParams.MATCH_PARENT,
-            FrameLayout.LayoutParams.MATCH_PARENT
-        ).apply {
-            gravity = Gravity.CENTER
-        })
-        animView.apply {
-            setMute(true)
-            setLoop(Int.MAX_VALUE)
-            autoDismiss(false)
-            setScaleType(ScaleType.FIT_CENTER)
-            startPlay(File(vapcEffect.localPath))
-        }
-    }
-
-    fun setCoins(coins: Long) {
-        if (coins > 0) {
-            binding.tvAladdinCoin.show()
-            val coin = getCompatString(R.string.room_aladdin_coin_bonus, coins.toString())
-            binding.tvAladdinCoin.text = coin
-        } else {
-            binding.tvAladdinCoin.gone()
-        }
-    }
-
-}

+ 0 - 286
module/room/src/main/java/com/adealink/weparty/room/roomtask/RoomTaskComp.kt

@@ -1,286 +0,0 @@
-package com.adealink.weparty.room.roomtask
-
-import android.content.Intent
-import android.os.Bundle
-import android.view.View
-import androidx.lifecycle.LifecycleOwner
-import com.adealink.frame.base.fastLazy
-import com.adealink.frame.log.Log
-import com.adealink.frame.mvvm.viewmodel.activityViewModels
-import com.adealink.frame.mvvm.viewmodel.viewModels
-import com.adealink.frame.router.Router
-import com.adealink.frame.util.DisplayUtil
-import com.adealink.frame.util.getCenterLocationInWindow
-import com.adealink.weparty.App
-import com.adealink.weparty.commonui.dialogfragment.BaseDialogFragment
-import com.adealink.weparty.commonui.layout.DynamicLayers
-import com.adealink.weparty.commonui.layout.IDynamicView
-import com.adealink.weparty.commonui.toast.util.showToast
-import com.adealink.weparty.module.room.data.MicSeatsTemplate
-import com.adealink.weparty.module.roomtask.RoomTask
-import com.adealink.weparty.module.roomtask.RoomTaskModule
-import com.adealink.weparty.module.roomtask.data.AladdinInfo
-import com.adealink.weparty.module.roomtask.data.RoomTaskResCode.RES_ALADDIN_EXCHANGE_FAIL_FOR_NOT_ENOUGH_MONEY
-import com.adealink.weparty.module.roomtask.data.RoomTaskResCode.RES_ALADDIN_EXCHANGE_FAIL_FOR_NO_PERMISSION
-import com.adealink.weparty.module.roomtask.manager.IRoomTaskManager
-import com.adealink.weparty.room.R
-import com.adealink.weparty.room.base.BaseRoomComp
-import com.adealink.weparty.room.member.viewmodel.RoomMemberViewModel
-import com.adealink.weparty.room.micseat.viewmodel.RoomSeatViewModel
-import com.adealink.weparty.room.operate.RoomBottomOperateFragment
-import com.adealink.weparty.room.roomtask.taskmonitor.RoomTaskMonitor
-import com.adealink.weparty.room.roomtask.taskmonitor.monitor.newUserInMicMonitor
-import com.adealink.weparty.room.roomtask.taskmonitor.monitor.normalUserInMicMonitor
-import com.adealink.weparty.room.roomtask.viewmodel.EffectViewModel
-import com.adealink.weparty.room.viewmodel.RoomViewModelFactory
-
-class RoomTaskComp(
-    lifecycleOwner: LifecycleOwner,
-    val dynamicLayers: DynamicLayers<*, *>,
-    val topLeftDynamicLayers: DynamicLayers<*, *>,
-    val topRightDynamicLayers: DynamicLayers<*, *>,
-    private val getBottomOperateItemBy: (itemId: Int) -> View?
-) : BaseRoomComp(lifecycleOwner) {
-
-    private val roomAladdinView: IDynamicView<AladdinView> by fastLazy {
-        object : IDynamicView<AladdinView>(topRightDynamicLayers, R.id.id_chat_room_task_aladdin_view) {
-            override fun onViewAdded(view: AladdinView) {
-                view.visibility = View.GONE
-                view.setOnClickListener {
-                    clickEntrance()
-                }
-            }
-        }
-    }
-
-    private val roomAladdinMiniView: IDynamicView<AladdinMiniView> by fastLazy {
-        object : IDynamicView<AladdinMiniView>(topLeftDynamicLayers, R.id.id_chat_room_aladdin_mini_view) {
-            override fun onViewAdded(view: AladdinMiniView) {
-                view.visibility = View.GONE
-                view.setOnClickListener {
-                    clickEntrance()
-                }
-            }
-        }
-    }
-
-    private val roomTaskView: IDynamicView<RoomTaskView> by fastLazy {
-        object : IDynamicView<RoomTaskView>(dynamicLayers, R.id.id_chat_room_task_view) {
-            override fun onViewAdded(view: RoomTaskView) {
-                view.visibility = View.GONE
-                view.setOnClickListener {
-                    activity?.let { act ->
-                        Router.build(act, RoomTask.RoomTask.PATH).start()
-                    }
-                }
-            }
-        }
-    }
-
-    private val roomTaskViewModel by fastLazy {
-        RoomTaskModule.getRoomTaskViewModel(viewModelStoreOwner)
-    }
-    private val memberViewModel by viewModels<RoomMemberViewModel> { RoomViewModelFactory() }
-    private val effectViewModel by viewModels<EffectViewModel>()
-    private val roomSeatViewModel by activityViewModels<RoomSeatViewModel> { RoomViewModelFactory() }
-
-    private var roomTaskEntranceType = IRoomTaskManager.ENTRANCE_NONE
-    private var micSeatType = MicSeatsTemplate.Default
-
-    override fun onResume() {
-        super.onResume()
-        loadData()
-    }
-
-    override fun loadData() {
-        if (!memberViewModel.isIAmRoomOwner()) {
-            if (isAttached && !isFinished) {
-                roomAladdinView.gone()
-                roomAladdinMiniView.gone()
-                roomTaskView.gone()
-            }
-            return
-        }
-        micSeatType = roomSeatViewModel.micTemplateLiveData.value ?: MicSeatsTemplate.Default
-        roomTaskViewModel?.getRoomTaskInfo(false)
-    }
-
-    override fun observeViewModel() {
-        roomTaskViewModel?.showTaskEntranceLiveData?.observe(this) { entrance ->
-            Log.d(TAG, "showTaskEntrance, entrance:$entrance ")
-            if (!memberViewModel.isIAmRoomOwner()) {
-                //我不是房主
-                RoomTaskMonitor.stopMonitor()
-            } else {
-                when (entrance) {
-                    IRoomTaskManager.ENTRANCE_TYPE_ROOM -> {
-                        RoomTaskMonitor.registerMonitor(newUserInMicMonitor)
-                        RoomTaskMonitor.registerMonitor(normalUserInMicMonitor)
-                        RoomTaskMonitor.startMonitor()
-                    }
-
-                    IRoomTaskManager.ENTRANCE_TYPE_ALADDIN_DAILY -> {
-                        RoomTaskMonitor.registerMonitor(newUserInMicMonitor)
-                        RoomTaskMonitor.registerMonitor(normalUserInMicMonitor)
-                        RoomTaskMonitor.startMonitor()
-                    }
-
-                    else -> {
-                        RoomTaskMonitor.stopMonitor()
-                    }
-                }
-            }
-            roomTaskEntranceType = entrance
-            updateRoomEntrance()
-        }
-        roomTaskViewModel?.aladdinInfoLiveData?.observe(this) {
-            updateAladdinTaskInfo(it)
-        }
-        effectViewModel.aladdinEffectLiveData.observe(this) {
-            Log.d(TAG, "aladdinEffectLiveData, effect: $it")
-            if (it == null) {
-                Log.e(TAG, "aladdinEffectLiveData, VapcEffectInfo is null")
-                roomAladdinView.view { view ->
-                    view.showAladdinEffect(null)
-                }
-                return@observe
-            }
-            roomAladdinView.view { view ->
-                view.showAladdinEffect(it)
-            }
-        }
-        roomTaskViewModel?.currentTaskLiveData?.observe(this) {
-            if (it == null) {
-                return@observe
-            }
-            roomTaskView.view { view ->
-                view.updateTask(it)
-            }
-        }
-        roomTaskViewModel?.allNewRoomTaskComplete?.observe(this) {
-            Router.getRouterInstance<BaseDialogFragment>(RoomTask.TaskFinish.OWNER_TASK)?.apply {
-                show(this@RoomTaskComp.fragmentManager)
-            }
-        }
-        roomSeatViewModel.micTemplateLiveData.observe(viewLifecycleOwner) { template ->
-            micSeatType = template
-            updateRoomEntrance()
-        }
-    }
-
-    private fun updateRoomEntrance() {
-        if (!memberViewModel.isIAmRoomOwner()) {
-            //我不是房主
-            roomAladdinView.gone()
-            roomAladdinMiniView.gone()
-            roomTaskView.gone()
-            return
-        }
-        when (roomTaskEntranceType) {
-            IRoomTaskManager.ENTRANCE_TYPE_ROOM -> {
-                roomAladdinView.gone()
-                roomAladdinMiniView.gone()
-                roomTaskView.show()
-            }
-
-            IRoomTaskManager.ENTRANCE_TYPE_ALADDIN_DAILY -> {
-                if (micSeatType == MicSeatsTemplate.VideoRoom) {
-                    roomAladdinView.gone()
-                    roomAladdinMiniView.show()
-                    updateAladdinTaskInfo(roomTaskViewModel?.aladdinInfoLiveData?.value)
-                } else {
-                    roomAladdinView.show()
-                    roomAladdinMiniView.gone()
-                    updateAladdinTaskInfo(roomTaskViewModel?.aladdinInfoLiveData?.value)
-                }
-                roomTaskView.gone()
-            }
-
-            else -> {
-                roomAladdinView.gone()
-                roomAladdinMiniView.gone()
-                roomTaskView.gone()
-            }
-        }
-    }
-
-    private fun updateAladdinTaskInfo(aladdinInfo: AladdinInfo?) {
-        Log.d(TAG, "updateAladdinTaskInfo, $aladdinInfo")
-        effectViewModel.checkAndSetAladdinEffect(aladdinInfo?.status)
-        if (roomAladdinView.isAttached()) {
-            roomAladdinView.view { view ->
-                view.setCoins(aladdinInfo?.coinBonus ?: 0)
-            }
-        }
-        if (roomAladdinMiniView.isAttached()) {
-            roomAladdinMiniView.view { view ->
-                view.setCoins(aladdinInfo?.coinBonus ?: 0)
-            }
-        }
-    }
-
-    private fun showExchangeCoinBonusDialog(coin: Long) {
-        Log.d(TAG, "showExchangeCoinBonusDialog, coin:$coin")
-        Router.getRouterInstance<BaseDialogFragment>(RoomTask.Aladdin.TAKE_COIN_DIALOG)?.apply {
-            arguments = Bundle().apply {
-                putLong(RoomTask.Aladdin.EXTRA_COIN, coin)
-                getBottomOperateItemBy.invoke(RoomBottomOperateFragment.OPERATE_BTN_GIFT)?.let {
-                    val location = it.getCenterLocationInWindow()
-                    putInt(RoomTask.Aladdin.EXTRA_FADE_X, location[0])
-                    putInt(RoomTask.Aladdin.EXTRA_FADE_Y, location[1])
-                } ?: let {
-                    if (DisplayUtil.isRtlLayout()) {
-                        putInt(RoomTask.Aladdin.EXTRA_FADE_X, DisplayUtil.getScreenWidth() - DisplayUtil.dp2px(36f))
-                        putInt(RoomTask.Aladdin.EXTRA_FADE_Y, DisplayUtil.getScreenWidth() - DisplayUtil.dp2px(36f))
-                    } else {
-                        putInt(RoomTask.Aladdin.EXTRA_FADE_X, DisplayUtil.dp2px(36f))
-                        putInt(RoomTask.Aladdin.EXTRA_FADE_Y, DisplayUtil.getScreenWidth() - DisplayUtil.dp2px(36f))
-                    }
-                }
-            }
-            show(this@RoomTaskComp.fragmentManager)
-        }
-    }
-
-    private fun clickEntrance() {
-        val aladdinInfo = roomTaskViewModel?.aladdinInfoLiveData?.value
-        val roomId = App.instance.mediaManager.getJoinedMediaRoomId()
-        if (aladdinInfo?.status == AladdinInfo.STATUS_COIN_BONUS_READY && roomId != null) {
-            roomTaskViewModel?.exchangeCoinBonus(roomId)?.observe(this) {
-                if (it.first) {
-                    showExchangeCoinBonusDialog(it.second)
-                } else {
-                    when (it.second) {
-                        RES_ALADDIN_EXCHANGE_FAIL_FOR_NOT_ENOUGH_MONEY.toLong() -> {
-                            showToast(R.string.room_aladdin_exchange_fail_not_enough_coin)
-                        }
-
-                        RES_ALADDIN_EXCHANGE_FAIL_FOR_NO_PERMISSION.toLong() -> {
-                            showToast(R.string.room_aladdin_exchange_fail_no_permission)
-                        }
-
-                        else -> {
-                            showToast(R.string.room_aladdin_exchange_fail_retry)
-                        }
-                    }
-                }
-            }
-        } else {
-            //AladdinInfo.STATUS_IDLE
-            //AladdinInfo.STATUS_COIN_BONUS_READY
-            //空闲/有任务奖励都去任务详情页
-            activity?.let { act ->
-                Router.build(act, RoomTask.RoomTask.PATH).start()
-            }
-        }
-    }
-
-    override fun onNewIntent(intent: Intent?) {
-        super.onNewIntent(intent)
-        loadData()
-    }
-
-    companion object {
-        private const val TAG = "RoomTaskComp"
-    }
-}

+ 0 - 86
module/room/src/main/java/com/adealink/weparty/room/roomtask/RoomTaskView.kt

@@ -1,86 +0,0 @@
-package com.adealink.weparty.room.roomtask
-
-import android.content.Context
-import android.util.AttributeSet
-import android.view.LayoutInflater
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.graphics.toColorInt
-import com.adealink.frame.aab.util.getCompatString
-import com.adealink.frame.locale.language.languageManager
-import com.adealink.weparty.commonui.drawabletoolbox.FluidColorfulFrameDrawable
-import com.adealink.weparty.commonui.drawabletoolbox.FluidColorfulFrameDrawableBuilder
-import com.adealink.weparty.commonui.ext.dpf
-import com.adealink.weparty.commonui.ext.gone
-import com.adealink.weparty.commonui.ext.show
-import com.adealink.weparty.module.roomtask.data.TaskInfo
-import com.adealink.weparty.module.roomtask.data.TaskInfo.Companion.TASK_STATUS_FINISH_NO_TAKE_REWARD
-import com.adealink.weparty.module.roomtask.view.RewardItem
-import com.adealink.weparty.room.R
-import com.adealink.weparty.room.databinding.LayoutRoomTaskBinding
-
-class RoomTaskView @JvmOverloads constructor(
-    context: Context,
-    attrs: AttributeSet? = null,
-    defStyleAttr: Int = 0,
-) : ConstraintLayout(context, attrs, defStyleAttr) {
-
-    private val binding = LayoutRoomTaskBinding.inflate(LayoutInflater.from(context), this)
-
-    fun updateTask(task: TaskInfo) {
-        binding.ivTaskIcon.setImageUrl(task.taskIconUrl.firstOrNull())
-        binding.tvTaskName.text = task.getTaskName(languageManager?.getLanguageCode())
-
-        if (task.getTaskStatus() == TASK_STATUS_FINISH_NO_TAKE_REWARD) {
-            binding.ivTaskIsFinish.show()
-            binding.vFluid.show()
-            binding.vFluid.setFluidFrameDrawable(roomTaskFluidDrawable)
-            binding.vFluid.startFluid()
-        } else {
-            binding.ivTaskIsFinish.gone()
-            binding.vFluid.gone()
-            binding.vFluid.cancelFluid()
-        }
-        binding.vRewardList.addRewardList(
-            task.rewardInfo.map {
-                RewardItem(
-                    it.rewardResourceUrl,
-                    if (it.isExpiredReward()) {
-                        getCompatString(R.string.room_task_reward_desc_for_time_expired, it.getRewardName(languageManager?.getLanguageCode()), (it.rewardDuration / 60 / 60 / 24).toString())
-                    } else {
-                        getCompatString(R.string.room_task_reward_desc_for_item_count, it.getRewardName(languageManager?.getLanguageCode()), it.rewardNum.toString())
-                    }
-                )
-            }
-        )
-    }
-
-    companion object{
-        private val roomTaskFluidDrawable: FluidColorfulFrameDrawable = FluidColorfulFrameDrawableBuilder()
-            .radius(8.dpf())
-            .strokeWidth(2.dpf())
-            .colors(
-                intArrayOf(
-                    "#00FFDD81".toColorInt(), //
-                    "#FFFFDD81".toColorInt(), // 金色
-                    "#00FFDD81".toColorInt(), //
-                    "#00E656FF".toColorInt(), //
-                    "#FFE656FF".toColorInt(), // 紫色
-                    "#00E656FF".toColorInt(), //
-                )
-            )
-            .positions(
-                floatArrayOf(
-                    0f,
-                    0.17f,
-                    0.33f,
-                    0.50f,
-                    0.67f,
-                    0.84f
-                )
-            )
-            .duration(4000L)
-            .build()
-    }
-
-
-}

+ 0 - 57
module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/RoomTaskMonitor.kt

@@ -1,57 +0,0 @@
-package com.adealink.weparty.room.roomtask.taskmonitor
-
-import com.adealink.frame.log.Log
-import com.adealink.frame.room.data.FlowStateInfo
-import com.adealink.weparty.module.room.RoomModule
-import com.adealink.weparty.module.room.listener.IRoomListener
-import com.adealink.weparty.room.roomtask.taskmonitor.monitor.ITaskMonitor
-import com.adealink.weparty.room.roomtask.taskmonitor.monitor.TAG_ROOM_TASK_MONITOR
-import java.util.concurrent.ConcurrentHashMap
-
-/**
- * 监听房间任务
- */
-object RoomTaskMonitor : IRoomListener {
-
-    private val taskMonitor = ConcurrentHashMap<String, ITaskMonitor>()
-
-    init {
-        RoomModule.registerListener(this)
-    }
-
-    fun registerMonitor(monitor: ITaskMonitor) {
-        Log.d(TAG_ROOM_TASK_MONITOR, "registerMonitor, monitorId:${monitor.monitorId}")
-        taskMonitor[monitor.monitorId] = monitor
-    }
-
-    fun unRegisterMonitor(monitorId: String) {
-        Log.d(TAG_ROOM_TASK_MONITOR, "unRegisterMonitor, monitorId:${monitorId}")
-        taskMonitor.remove(monitorId)?.stopMonitor()
-    }
-
-    fun startMonitor() {
-        Log.d(TAG_ROOM_TASK_MONITOR, "startMonitor")
-        for (monitor in taskMonitor.entries) {
-            monitor.value.startMonitor()
-        }
-    }
-
-    fun stopMonitor() {
-        Log.d(TAG_ROOM_TASK_MONITOR, "stopMonitor")
-        for (monitor in taskMonitor.entries) {
-            monitor.value.stopMonitor()
-        }
-    }
-
-    override fun onRoomLeaved(roomId: Long, flowStateInfo: FlowStateInfo) {
-        Log.d(TAG_ROOM_TASK_MONITOR, "onRoomLeaved, stopAllMonitor and clear.")
-        super.onRoomLeaved(roomId, flowStateInfo)
-        stopMonitor()
-        clear()
-    }
-
-    fun clear() {
-        taskMonitor.clear()
-    }
-
-}

+ 0 - 12
module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/datasource/RoomTaskMonitorHttpService.kt

@@ -1,12 +0,0 @@
-package com.adealink.weparty.room.roomtask.taskmonitor.datasource
-
-import com.adealink.frame.base.Rlt
-import com.adealink.frame.network.data.Res
-import com.adealink.weparty.room.roomtask.taskmonitor.datasource.data.UserActionReqData
-import retrofit2.http.Body
-import retrofit2.http.POST
-
-interface RoomTaskMonitorHttpService {
-    @POST("activity/reportUserAction")
-    suspend fun reportUserShareAction(@Body req: UserActionReqData): Rlt<Res<Any>>
-}

+ 0 - 27
module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/datasource/data/UserActionReqData.kt

@@ -1,27 +0,0 @@
-package com.adealink.weparty.room.roomtask.taskmonitor.datasource.data
-
-import com.google.gson.annotations.SerializedName
-
-data class UserActionReqData(
-    @SerializedName("actionType") val actionType: Int,
-
-    @SerializedName("actionObjectId") val actionObjectId: Long,
-
-    @SerializedName("actionValue") val actionValue: Long,
-) {
-    companion object {
-        private const val ACTION_TYPE_MULTI_USER_MICTIME = 4 //多用户同时在麦时长
-        private const val ACTION_TYPE_MULTI_NEWUSER_MICTIME = 5 //多个新用户同时在麦时长
-
-        /**
-         * @param inMicTime 在麦时间(单位:秒)
-         */
-        fun multiUserInMic(roomId: Long, inMicTime: Long): UserActionReqData {
-            return UserActionReqData(ACTION_TYPE_MULTI_USER_MICTIME, roomId, inMicTime)
-        }
-
-        fun multiNewUserInMic(roomId: Long, inMicTime: Long): UserActionReqData {
-            return UserActionReqData(ACTION_TYPE_MULTI_NEWUSER_MICTIME, roomId, inMicTime)
-        }
-    }
-}

+ 0 - 35
module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/monitor/ITaskMonitor.kt

@@ -1,35 +0,0 @@
-package com.adealink.weparty.room.roomtask.taskmonitor.monitor
-
-interface ITaskMonitor {
-
-    /**
-     * 监控项ID
-     */
-    val monitorId: String
-
-    /**
-     * 开始监听
-     */
-    fun startMonitor()
-
-    /**
-     * 结束监听
-     */
-    fun stopMonitor()
-
-    /**
-     * 检查是否满足行为条件
-     */
-    fun checkIf(): Boolean
-
-    /**
-     * 满足条件时,执行行为
-     */
-    fun doAction()
-
-    /**
-     * 不满足条件,跳过
-     */
-    fun doSkip()
-
-}

+ 0 - 188
module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/monitor/NewUserInMicMonitor.kt

@@ -1,188 +0,0 @@
-package com.adealink.weparty.room.roomtask.taskmonitor.monitor
-
-import com.adealink.frame.base.Rlt
-import com.adealink.frame.data.collections.ConcurrentList
-import com.adealink.frame.frame.BaseFrame
-import com.adealink.frame.frame.IListener
-import com.adealink.frame.log.Log
-import com.adealink.frame.thread.NamedThreadFactory
-import com.adealink.weparty.App
-import com.adealink.weparty.module.profile.ProfileModule
-import com.adealink.weparty.module.room.data.MicSeatInfo
-import com.adealink.weparty.module.room.sdk.data.MicIndex
-import com.adealink.weparty.module.room.data.MicKickReason
-import com.adealink.weparty.module.room.data.MicSeatOpResult
-import com.adealink.weparty.room.roomtask.taskmonitor.datasource.RoomTaskMonitorHttpService
-import com.adealink.weparty.room.roomtask.taskmonitor.datasource.data.UserActionReqData
-import com.adealink.weparty.room.sdk.listener.IWPSeatListener
-import com.adealink.weparty.room.sdk.service.roomService
-import kotlinx.coroutines.launch
-import java.lang.Thread.NORM_PRIORITY
-import java.util.concurrent.Executors
-import java.util.concurrent.ScheduledFuture
-import java.util.concurrent.TimeUnit
-
-val newUserInMicMonitor: ITaskMonitor by lazy { NewUserInMicMonitor() }
-
-class NewUserInMicMonitor : BaseFrame<IListener>(), ITaskMonitor, IWPSeatListener {
-
-    override val monitorId: String
-        get() = "NewUserInMicMonitor"
-    private val seatController by lazy { roomService.seatController }
-    private val memberController by lazy { roomService.memberController }
-    private val httpService by lazy {
-        App.instance.networkService.getHttpService(RoomTaskMonitorHttpService::class.java)
-    }
-    private var taskFuture: ScheduledFuture<*>? = null
-    private val userInMic = ConcurrentList<Long>()
-    private val selfUid: Long
-        get() = ProfileModule.getMyUid()
-
-    private val scheduledExecutor by lazy {
-        Executors.newScheduledThreadPool(
-            1,
-            NamedThreadFactory("new-user-in-mic-scheduled-thread", NORM_PRIORITY - 2)
-        )
-    }
-
-    override fun startMonitor() {
-        Log.d(TAG_NEWER_IN_MIC_MONITOR, "startMonitor")
-        if (isTaskRunning()) {
-            return
-        }
-        seatController.addListener(this)
-        refreshMonitorData(
-            seatController.getAllMicSeatInfo().values
-                .filter { it.micUid > 0 && it.micUid != selfUid }
-                .map { it.micUid }
-                .toSet()
-        )
-        if (checkIf()) {
-            startMonitorInner()
-        }
-    }
-
-    private fun startMonitorInner() {
-        if (isTaskRunning()) {
-            Log.d(TAG_NEWER_IN_MIC_MONITOR, "startMonitorInner return for already running")
-            return
-        }
-        Log.d(TAG_NEWER_IN_MIC_MONITOR, "startMonitorInner")
-        stopMonitorInner()
-        taskFuture = scheduledExecutor.scheduleWithFixedDelay(monitorCheckRunnable, SCHEDULE_DELAY, SCHEDULE_DELAY, TimeUnit.MILLISECONDS)
-    }
-
-    private fun refreshMonitorData(micUidSet: Set<Long>) {
-        launch {
-            Log.d(TAG_NEWER_IN_MIC_MONITOR, "refreshMonitorData, micUidSet:${micUidSet}")
-            val micUserInfos = memberController.getMembersInfo(micUidSet)
-            if (micUserInfos is Rlt.Success) {
-                userInMic.clearAndAddAll(micUserInfos.data.values.filter { it.isNormalAccount() && it.showNewTag }.map { it.uid })
-            }
-        }
-    }
-
-    override fun stopMonitor() {
-        Log.d(TAG_NEWER_IN_MIC_MONITOR, "stopMonitor")
-        stopMonitorInner()
-        seatController.removeListener(this)
-        userInMic.clear()
-    }
-
-    private fun stopMonitorInner() {
-        Log.d(TAG_NEWER_IN_MIC_MONITOR, "stopMonitorInner")
-        taskFuture?.cancel(true)
-        taskFuture = null
-    }
-
-    private val monitorCheckRunnable by lazy {
-        Runnable {
-            Log.d(
-                TAG_NEWER_IN_MIC_MONITOR,
-                "run schedule check task monitor, currentTime:${System.currentTimeMillis()}"
-            )
-            if (checkIf()) {
-                doAction()
-            } else {
-                doSkip()
-            }
-        }
-    }
-
-
-    private fun isTaskRunning(): Boolean {
-        return taskFuture != null && taskFuture?.isCancelled == false
-    }
-
-    override fun checkIf(): Boolean {
-        return userInMic.getCopyList().size >= MIN_IN_MIC_USER
-    }
-
-    override fun doAction() {
-        Log.d(TAG_NEWER_IN_MIC_MONITOR, "doAction")
-        launch {
-            val roomId = App.instance.mediaManager.getJoinedMediaRoomId()
-            if (roomId == null) {
-                Log.d(TAG_NEWER_IN_MIC_MONITOR, "doAction return for can't get roomId")
-                return@launch
-            }
-            httpService.reportUserShareAction(
-                UserActionReqData.multiNewUserInMic(roomId, SCHEDULE_DELAY / 1000)
-            )
-        }
-    }
-
-    override fun doSkip() {
-        Log.d(TAG_NEWER_IN_MIC_MONITOR, "doSkip")
-    }
-
-    override fun onMicSeatsChanged(micSeatsInfo: Map<Int, MicSeatInfo>) {
-        launch {
-            val micUidSet = micSeatsInfo.values
-                .filter { it.micUid > 0 && it.micUid != selfUid }
-                .map { it.micUid }
-                .toSet()
-            Log.d(TAG_NEWER_IN_MIC_MONITOR, "onMicSeatsChanged, micUidSet:${micUidSet}")
-            val usersInfoByUid = memberController.getMembersInfo(micUidSet)
-            val newMicUidInMic = hashSetOf<Long>()
-            if (usersInfoByUid is Rlt.Success) {
-                Log.d(TAG_NEWER_IN_MIC_MONITOR, "onMicSeatsChanged, ${usersInfoByUid.data.values.joinToString(",") { "(uid:${it.uid},isNormal:${it.isNormalAccount()})" }}")
-                newMicUidInMic.addAll(usersInfoByUid.data.values.filter { it.isNormalAccount() && it.showNewTag }.map { it.uid })
-            }
-            if (micUserHasChanged(newMicUidInMic)) {
-                refreshMonitorData(newMicUidInMic)
-            } else {
-                Log.d(TAG_NEWER_IN_MIC_MONITOR, "onMicSeatsChanged return,for user not changed,")
-            }
-            if (checkIf()) {
-                startMonitorInner()
-            } else {
-                stopMonitorInner()
-            }
-        }
-    }
-
-    private fun micUserHasChanged(newMicUidSet: Set<Long>): Boolean {
-        val uidList = userInMic.getCopyList()
-        if (newMicUidSet.size != uidList.size) {
-            return true
-        }
-        for (uid in uidList) {
-            if (!newMicUidSet.contains(uid)) {
-                return true
-            }
-        }
-        return false
-    }
-
-    override fun onMicSeatOpResult(result: MicSeatOpResult) {}
-
-    override fun onMicSeatListened(reason: MicKickReason?) {}
-
-    override fun onMicSeatInvite(micIndex: MicIndex) {}
-
-    companion object {
-        private const val MIN_IN_MIC_USER = 3 //最小在麦人数
-        private const val SCHEDULE_DELAY = 60_000L //每60秒检查一次
-    }
-}

+ 0 - 190
module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/monitor/NormalUserInMicMonitor.kt

@@ -1,190 +0,0 @@
-package com.adealink.weparty.room.roomtask.taskmonitor.monitor
-
-import com.adealink.frame.base.Rlt
-import com.adealink.frame.data.collections.ConcurrentList
-import com.adealink.frame.frame.BaseFrame
-import com.adealink.frame.frame.IListener
-import com.adealink.frame.log.Log
-import com.adealink.frame.thread.NamedThreadFactory
-import com.adealink.weparty.App
-import com.adealink.weparty.module.profile.ProfileModule
-import com.adealink.weparty.module.room.data.MicSeatInfo
-import com.adealink.weparty.module.room.sdk.data.MicIndex
-import com.adealink.weparty.module.room.data.MicKickReason
-import com.adealink.weparty.module.room.data.MicSeatOpResult
-import com.adealink.weparty.room.roomtask.taskmonitor.datasource.RoomTaskMonitorHttpService
-import com.adealink.weparty.room.roomtask.taskmonitor.datasource.data.UserActionReqData
-import com.adealink.weparty.room.sdk.listener.IWPSeatListener
-import com.adealink.weparty.room.sdk.service.roomService
-import kotlinx.coroutines.launch
-import java.lang.Thread.NORM_PRIORITY
-import java.util.concurrent.Executors
-import java.util.concurrent.ScheduledFuture
-import java.util.concurrent.TimeUnit
-
-val normalUserInMicMonitor: ITaskMonitor by lazy { NormalUserInMicMonitor() }
-
-class NormalUserInMicMonitor : BaseFrame<IListener>(), ITaskMonitor, IWPSeatListener {
-
-    override val monitorId: String
-        get() = "NormalUserInMicMonitor"
-    private val seatController by lazy { roomService.seatController }
-    private val memberController by lazy { roomService.memberController }
-    private val httpService by lazy {
-        App.instance.networkService.getHttpService(RoomTaskMonitorHttpService::class.java)
-    }
-    private var taskFuture: ScheduledFuture<*>? = null
-    //3个正常用户同时在麦
-    private val normalUserInMic = ConcurrentList<Long>()
-    private val selfUid: Long
-        get() = ProfileModule.getMyUid()
-
-    private val scheduledExecutor by lazy {
-        Executors.newScheduledThreadPool(
-            1,
-            NamedThreadFactory("normal-user-in-mic-scheduled-thread", NORM_PRIORITY - 2)
-        )
-    }
-
-    override fun startMonitor() {
-        Log.d(TAG_USER_IN_MIC_MONITOR, "startMonitor")
-        if (isTaskRunning()) {
-            return
-        }
-        seatController.addListener(this)
-        refreshMonitorData(
-            seatController.getAllMicSeatInfo().values
-                .filter { it.micUid > 0 && it.micUid != selfUid }
-                .map { it.micUid }
-                .toSet()
-        )
-        if (checkIf()) {
-            startMonitorInner()
-        }
-    }
-
-    private fun startMonitorInner() {
-        if (isTaskRunning()) {
-            Log.d(TAG_USER_IN_MIC_MONITOR, "startMonitorInner, return for already running")
-            return
-        }
-        Log.d(TAG_USER_IN_MIC_MONITOR, "startMonitorInner")
-        stopMonitorInner()
-        taskFuture = scheduledExecutor.scheduleWithFixedDelay(monitorCheckRunnable, SCHEDULE_DELAY, SCHEDULE_DELAY, TimeUnit.MILLISECONDS)
-    }
-
-    private fun refreshMonitorData(micUidSet: Set<Long>) {
-        launch {
-            Log.d(TAG_USER_IN_MIC_MONITOR, "refreshMonitorData, micUidSet:${micUidSet}")
-            val micUserInfos = memberController.getMembersInfo(micUidSet)
-            if (micUserInfos is Rlt.Success) {
-                normalUserInMic.clearAndAddAll(
-                    micUserInfos.data.values.filter { it.isNormalAccount() }.map { it.uid }
-                )
-            }
-        }
-    }
-
-    override fun stopMonitor() {
-        Log.d(TAG_USER_IN_MIC_MONITOR, "stopMonitor")
-        stopMonitorInner()
-        seatController.removeListener(this)
-        normalUserInMic.clear()
-    }
-
-    private fun stopMonitorInner() {
-        Log.d(TAG_USER_IN_MIC_MONITOR, "stopMonitorInner")
-        taskFuture?.cancel(true)
-        taskFuture = null
-    }
-
-    private val monitorCheckRunnable by lazy {
-        Runnable {
-            Log.d(
-                TAG_USER_IN_MIC_MONITOR,
-                "run schedule check task monitor, currentTime:${System.currentTimeMillis()}"
-            )
-            if (checkIf()) {
-                doAction()
-            } else {
-                doSkip()
-            }
-        }
-    }
-
-    private fun isTaskRunning(): Boolean {
-        return taskFuture != null && taskFuture?.isCancelled == false
-    }
-
-    override fun checkIf(): Boolean {
-        return normalUserInMic.getCopyList().size >= MIN_IN_MIC_USER
-    }
-
-    override fun doAction() {
-        Log.d(TAG_USER_IN_MIC_MONITOR, "doAction")
-        launch {
-            val roomId = App.instance.mediaManager.getJoinedMediaRoomId()
-            if (roomId == null) {
-                Log.d(TAG_USER_IN_MIC_MONITOR, "doAction return for can't get roomId")
-                return@launch
-            }
-            httpService.reportUserShareAction(
-                UserActionReqData.multiUserInMic(roomId, SCHEDULE_DELAY / 1000)
-            )
-        }
-    }
-
-    override fun doSkip() {
-        Log.d(TAG_USER_IN_MIC_MONITOR, "doSkip: ")
-    }
-
-    override fun onMicSeatsChanged(micSeatsInfo: Map<Int, MicSeatInfo>) {
-        launch {
-            val micUidSet = micSeatsInfo.values
-                .filter { it.micUid > 0 && it.micUid != selfUid }
-                .map { it.micUid }
-                .toSet()
-            Log.d(TAG_USER_IN_MIC_MONITOR, "onMicSeatsChanged, micUidSet:${micUidSet}")
-            val usersInfoByUid = memberController.getMembersInfo(micUidSet)
-            val newMicUidInMic = hashSetOf<Long>()
-            if (usersInfoByUid is Rlt.Success) {
-                Log.d(TAG_USER_IN_MIC_MONITOR, "onMicSeatsChanged, ${usersInfoByUid.data.values.joinToString(",") { "(uid:${it.uid},isNormal:${it.isNormalAccount()})" }}")
-                newMicUidInMic.addAll(usersInfoByUid.data.values.filter { it.isNormalAccount() }.map { it.uid })
-            }
-            if (micUserHasChanged(newMicUidInMic)) {
-                refreshMonitorData(newMicUidInMic)
-            } else {
-                Log.d(TAG_USER_IN_MIC_MONITOR, "onMicSeatsChanged return,for user not changed,")
-            }
-            if (checkIf()) {
-                startMonitorInner()
-            } else {
-                stopMonitorInner()
-            }
-        }
-    }
-
-    private fun micUserHasChanged(newMicUidSet: Set<Long>): Boolean {
-        val uidList = normalUserInMic.getCopyList()
-        if (newMicUidSet.size != uidList.size) {
-            return true
-        }
-        for (uid in uidList) {
-            if (!newMicUidSet.contains(uid)) {
-                return true
-            }
-        }
-        return false
-    }
-
-    override fun onMicSeatOpResult(result: MicSeatOpResult) {}
-
-    override fun onMicSeatListened(reason: MicKickReason?) {}
-
-    override fun onMicSeatInvite(micIndex: MicIndex) {}
-
-    companion object {
-        private const val MIN_IN_MIC_USER = 3 //最小在麦人数
-        private const val SCHEDULE_DELAY = 60_000L //每60秒检查一次
-    }
-}

+ 0 - 5
module/room/src/main/java/com/adealink/weparty/room/roomtask/taskmonitor/monitor/Tags.kt

@@ -1,5 +0,0 @@
-package com.adealink.weparty.room.roomtask.taskmonitor.monitor
-
-const val TAG_ROOM_TASK_MONITOR = "tag_task_monitor"
-const val TAG_USER_IN_MIC_MONITOR = "${TAG_ROOM_TASK_MONITOR}_user_in_mic"
-const val TAG_NEWER_IN_MIC_MONITOR = "${TAG_ROOM_TASK_MONITOR}_newer_in_mic"

+ 0 - 38
module/room/src/main/java/com/adealink/weparty/room/roomtask/viewmodel/EffectViewModel.kt

@@ -1,38 +0,0 @@
-package com.adealink.weparty.room.roomtask.viewmodel
-
-import androidx.lifecycle.MutableLiveData
-import com.adealink.frame.download.task.Task
-import com.adealink.weparty.App
-import com.adealink.weparty.module.roomtask.data.AladdinInfo
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectInfo
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectViewModel
-import kotlinx.coroutines.launch
-
-class EffectViewModel : VapcEffectViewModel() {
-
-    companion object {
-        val ALADDIN_TASK_FINISH = App.instance.ossService.getUrlByPath("/room_task/aladdin/draw_lottery.mp4") //任务奖励待领取
-        val ALADDIN_COIN_READY = App.instance.ossService.getUrlByPath("/room_task/aladdin/unclaimed.mp4") //金币等领取
-    }
-
-    val aladdinEffectLiveData = MutableLiveData<VapcEffectInfo?>()
-    fun checkAndSetAladdinEffect(aladdinStatus: Int?) {
-        viewModelScope.launch {
-            when (aladdinStatus) {
-                AladdinInfo.STATUS_TASK_REWARD_READY -> {
-                    aladdinEffectLiveData.send(downloadVideoEffect(ALADDIN_TASK_FINISH))
-                }
-                AladdinInfo.STATUS_COIN_BONUS_READY -> {
-                    aladdinEffectLiveData.send(downloadVideoEffect(ALADDIN_COIN_READY))
-                }
-                else -> {
-                    aladdinEffectLiveData.send(null)
-                }
-            }
-        }
-    }
-
-    override fun addDownloadTask(task: Task) {
-        App.instance.downloadService.addTask(task)
-    }
-}

+ 0 - 54
module/room/src/main/res/layout/layout_room_aladdin.xml

@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<merge xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    tools:layout_height="90dp"
-    tools:layout_width="67.5dp"
-    tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
-
-    <FrameLayout
-        android:id="@+id/fl_aladdin_effect"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintDimensionRatio="1:1"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <androidx.appcompat.widget.AppCompatImageView
-        android:id="@+id/iv_aladdin_idle"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:scaleType="fitCenter"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:srcCompat="@drawable/room_aladdin_idle_ic" />
-
-    <com.adealink.weparty.commonui.widget.AutoMarqueeTextView
-        android:id="@+id/tv_aladdin_coin"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="6dp"
-        android:background="@drawable/bg_room_aladdin_coin"
-        android:gravity="center"
-        android:paddingStart="3dp"
-        android:paddingTop="2dp"
-        android:paddingEnd="3dp"
-        android:paddingBottom="2dp"
-        android:textColor="@color/color_FFFFFF"
-        android:textSize="11sp"
-        android:visibility="gone"
-        app:layout_constrainedWidth="true"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintWidth_min="40dp"
-        tools:text="+999"
-        tools:visibility="visible" />
-
-</merge>

+ 0 - 33
module/room/src/main/res/layout/layout_room_aladdin_mini.xml

@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<merge xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    tools:background="@drawable/bg_room_task_small_coin"
-    tools:paddingHorizontal="8dp"
-    tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
-
-    <androidx.appcompat.widget.AppCompatImageView
-        android:id="@+id/cup_iv"
-        android:layout_width="28dp"
-        android:layout_height="28dp"
-        android:src="@drawable/room_task_small_entrance_ic"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/coins_tv"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="4dp"
-        android:includeFontPadding="false"
-        android:textColor="@color/color_FFFFFFFF"
-        android:textSize="11sp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toEndOf="@+id/cup_iv"
-        app:layout_constraintTop_toTopOf="parent"
-        tools:text="1000" />
-
-</merge>

+ 0 - 81
module/room/src/main/res/layout/layout_room_task.xml

@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<merge xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
-
-    <com.adealink.weparty.commonui.widget.FluidFrameView
-        android:id="@+id/v_fluid"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <View
-        android:id="@+id/v_bg"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:background="@drawable/bg_current_room_task"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <com.adealink.frame.image.view.NetworkImageView
-        android:id="@+id/iv_task_icon"
-        android:layout_width="30dp"
-        android:layout_height="30dp"
-        android:layout_marginStart="10dp"
-        app:actualImageScaleType="fitCenter"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <androidx.appcompat.widget.AppCompatImageView
-        android:id="@+id/iv_task_is_finish"
-        android:layout_width="10dp"
-        android:layout_height="10dp"
-        android:layout_marginBottom="1.5dp"
-        android:src="@drawable/ic_room_task_completed"
-        android:visibility="gone"
-        app:layout_constraintBottom_toBottomOf="@id/iv_task_icon"
-        app:layout_constraintEnd_toEndOf="@id/iv_task_icon"
-        tools:visibility="visible" />
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_task_name"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="12dp"
-        android:layout_marginTop="7.5dp"
-        android:layout_marginEnd="12dp"
-        android:gravity="start"
-        android:textColor="@color/color_FFFFFF"
-        android:textSize="13sp"
-        app:layout_constraintBottom_toTopOf="@id/v_reward_list"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toEndOf="@id/iv_task_icon"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintVertical_chainStyle="packed"
-        tools:text="在自己的房间上麦10分钟" />
-
-
-    <com.adealink.weparty.module.roomtask.view.RoomTaskRewardListView
-        android:id="@+id/v_reward_list"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="5dp"
-        android:layout_marginBottom="7.5dp"
-        app:icon_width="15dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="@id/tv_task_name"
-        app:layout_constraintTop_toBottomOf="@id/tv_task_name"
-        app:text_size="11sp"
-        app:v_space="5dp" />
-
-</merge>

+ 0 - 4
module/room/src/main/res/values/ids.xml

@@ -75,10 +75,6 @@
     <item name="id_chat_room_rank_entrance_view" type="id" />
     <item name="id_chat_room_reward_view" type="id" />
 
-    <item name="id_chat_room_task_view" type="id" />
-    <item name="id_chat_room_aladdin_mini_view" type="id" />
-    <item name="id_chat_room_task_aladdin_view" type="id" />
-
     <item name="id_chat_room_betting_pk_view" type="id" />
     <item name="id_chat_room_danmaku_view" type="id" />
     <item name="id_chat_room_treasure_gift_view" type="id" />

+ 0 - 1
module/roomtask/.gitignore

@@ -1 +0,0 @@
-/build

+ 0 - 50
module/roomtask/build.gradle

@@ -1,50 +0,0 @@
-plugins {
-    id 'com.android.dynamic-feature'
-    id 'org.jetbrains.kotlin.android'
-    id 'org.jetbrains.kotlin.kapt'
-}
-android {
-    namespace 'com.adealink.weparty.roomtask'
-    compileSdk libs.versions.compileSdk.get().toInteger()
-
-    defaultConfig {
-        minSdk libs.versions.minSdk.get().toInteger()
-
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-        ndk {
-            abiFilters "armeabi-v7a"
-            abiFilters "arm64-v8a"
-        }
-    }
-
-
-
-    buildTypes {
-        release {
-            debuggable false
-        }
-    }
-    viewBinding {
-        enabled = true
-    }
-
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_17
-        targetCompatibility JavaVersion.VERSION_17
-    }
-
-    kotlinOptions {
-        jvmTarget = JavaVersion.VERSION_17.majorVersion
-    }
-}
-
-dependencies {
-    implementation project(":app")
-    //frame
-    kapt libs.frame.router.compiler
-
-    //test
-    testImplementation libs.junit
-    androidTestImplementation libs.androidx.junit
-    androidTestImplementation libs.androidx.espresso.core
-}

+ 0 - 24
module/roomtask/src/androidTest/java/com/adealink/weparty/search/ExampleInstrumentedTest.kt

@@ -1,24 +0,0 @@
-package com.adealink.weparty.search
-
-import androidx.test.platform.app.InstrumentationRegistry
-import androidx.test.ext.junit.runners.AndroidJUnit4
-
-import org.junit.Test
-import org.junit.runner.RunWith
-
-import org.junit.Assert.*
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * See [testing documentation](http://d.android.com/tools/testing).
- */
-@RunWith(AndroidJUnit4::class)
-class ExampleInstrumentedTest {
-    @Test
-    fun useAppContext() {
-        // Context of the app under test.
-        val appContext = InstrumentationRegistry.getInstrumentation().targetContext
-        assertEquals("com.adealink.weparty.search", appContext.packageName)
-    }
-}

+ 0 - 26
module/roomtask/src/main/AndroidManifest.xml

@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:dist="http://schemas.android.com/apk/distribution">
-
-    <dist:module
-        dist:instant="false"
-        dist:title="@string/module_room_task">
-        <dist:fusing dist:include="true" />
-        <dist:delivery>
-            <dist:install-time>
-                <dist:removable dist:value="true"/>
-            </dist:install-time>
-        </dist:delivery>
-    </dist:module>
-
-    <application>
-        <activity
-            android:name=".home.RoomTaskActivity"
-            android:screenOrientation="portrait"
-            android:theme="@style/AppTheme" />
-        <activity
-            android:name=".help.RoomTaskHelpActivity"
-            android:screenOrientation="portrait"
-            android:theme="@style/AppTheme" />
-    </application>
-</manifest>

+ 0 - 19
module/roomtask/src/main/java/com/adealink/weparty/roomtask/RoomTaskServiceImpl.kt

@@ -1,19 +0,0 @@
-package com.adealink.weparty.roomtask
-
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.ViewModelStoreOwner
-import com.adealink.frame.spi.RegisterService
-import com.adealink.weparty.module.roomtask.IRoomTaskService
-import com.adealink.weparty.roomtask.home.viewmodel.RoomTaskViewModel
-import com.adealink.weparty.module.roomtask.viewmodel.IRoomTaskViewModel
-
-@RegisterService(IRoomTaskService::class)
-class RoomTaskServiceImpl : IRoomTaskService {
-    override fun getRoomTaskViewModel(owner: ViewModelStoreOwner): IRoomTaskViewModel {
-        return ViewModelProvider(owner)[RoomTaskViewModel::class.java]
-    }
-
-    override fun getService(): IRoomTaskService {
-        return this
-    }
-}

+ 0 - 61
module/roomtask/src/main/java/com/adealink/weparty/roomtask/datasource/RoomTaskHttpService.kt

@@ -1,61 +0,0 @@
-package com.adealink.weparty.roomtask.datasource
-
-import com.adealink.frame.base.Rlt
-import com.adealink.frame.network.data.Res
-import com.adealink.weparty.module.roomtask.data.AladdinInfoData
-import com.adealink.weparty.module.roomtask.data.ExchangeAladdinCoinBonusReq
-import com.adealink.weparty.module.roomtask.data.ExchangeAladdinCoinBonusRes
-import com.adealink.weparty.module.roomtask.data.RoomTaskData
-import retrofit2.http.*
-
-/**
- * 房间任务接口
- */
-interface RoomTaskHttpService {
-
-    /**
-     * 获取阿拉丁神灯信息
-     * 1.阿拉丁神灯玩法
-     * 2.房间任务玩法
-     */
-    @GET("currency/getAladdinLampInfo?total=1")
-    suspend fun getAladdinInfo(
-        @Query("total") total: Int
-    ): Rlt<Res<AladdinInfoData>>
-
-    /**
-     * 查看任务列表接口
-     */
-    @GET("activity/getDailyTaskInfo")
-    suspend fun getDailyTaskInfo(
-        @Query("activityCode") activityCode: Int
-    ): Rlt<Res<RoomTaskData>>
-
-    /**
-     * 领取任务奖励
-     * 错误码:
-     * RESCODE_EXPIRED(540, "奖励已失效,不能再领取"),
-     * RESCODE_NO_VALID_ACTIVITY(3029, "当前没有进行中的活动"),
-     * RESCODE_REWARD_ALREADY_TAKEN(951,"已经领取过任务奖励,不能重复领取"),
-     * RESCODE_REWARD_CANT_TAKEN_BEFORE_TASK_COMPLETE(953,"任务完成前不能领取奖励"),
-     */
-    @GET("activity/takeTaskReward")
-    suspend fun takeTaskReward(
-        @Query("activityId") activityId: Long,
-        @Query("taskId") taskId: Int
-    ): Rlt<Res<Any>>
-
-    /**
-     * 阿拉丁神灯积分兑换金币
-     */
-    @POST("currency/exchangeAladdinLampBonus")
-    suspend fun exchangeBonus(
-        @Body req: ExchangeAladdinCoinBonusReq
-    ): Rlt<Res<ExchangeAladdinCoinBonusRes>>
-
-    /**
-     * 获取阿拉丁神灯规则页
-     */
-    @GET("currency/getAladdinLampInfo")
-    suspend fun getAladdinRuleInfo(@Query("lang") language: String): Rlt<Res<AladdinInfoData>>
-}

+ 0 - 147
module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/AladdinTakeCoinDialog.kt

@@ -1,147 +0,0 @@
-package com.adealink.weparty.roomtask.dialog
-
-import android.graphics.Color
-import android.graphics.drawable.ColorDrawable
-import android.view.WindowManager
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.view.updateLayoutParams
-import androidx.fragment.app.viewModels
-import com.adealink.frame.aab.util.getCompatString
-import com.adealink.weparty.commonui.dialogfragment.BaseDialogFragment
-import com.adealink.weparty.commonui.ext.show
-import com.adealink.weparty.commonui.text.IncreaseNumTextView
-import com.adealink.frame.ext.isViewBindingValid
-import com.adealink.frame.log.Log
-import com.adealink.frame.mvvm.view.viewBinding
-import com.adealink.frame.router.annotation.RouterUri
-import com.adealink.frame.util.DisplayUtil
-import com.adealink.frame.util.getCenterLocationInWindow
-import com.adealink.weparty.roomtask.R
-import com.adealink.weparty.module.roomtask.RoomTask
-import com.adealink.weparty.roomtask.databinding.DialogAladdinTakeCoinBinding
-import com.adealink.weparty.roomtask.dialog.viewmodel.AladdinTakeCoinViewModel
-import com.tencent.qgame.animplayer.util.ScaleType
-import java.io.File
-
-
-@RouterUri(path = [RoomTask.Aladdin.TAKE_COIN_DIALOG], desc = "领取阿拉丁金币弹窗")
-class AladdinTakeCoinDialog : BaseDialogFragment(R.layout.dialog_aladdin_take_coin) {
-
-    private val binding by viewBinding(DialogAladdinTakeCoinBinding::bind)
-    private val viewModel by viewModels<AladdinTakeCoinViewModel>()
-
-    private var coin = 0L
-    private var fadeToX = 0 //最后渐变消失的动画
-    private var fadeToY = 0
-
-    override fun onStart() {
-        super.onStart()
-        resetDialogAttributes()
-    }
-
-    override fun initViews() {
-        super.initViews()
-        arguments?.let {
-            coin = it.getLong(RoomTask.Aladdin.EXTRA_COIN)
-            fadeToX = it.getInt(RoomTask.Aladdin.EXTRA_FADE_X)
-            fadeToY = it.getInt(RoomTask.Aladdin.EXTRA_FADE_Y)
-        }
-    }
-
-    override fun loadData() {
-        super.loadData()
-        viewModel.checkEffectResource()
-    }
-
-    override fun observeViewModel() {
-        super.observeViewModel()
-        viewModel.resourceReadyLiveData.observe(viewLifecycleOwner) {
-            Log.d(TAG, "resourceReady, effectPath:${it?.remoteUrl}, effectDuration:${it?.duration}")
-            if (it != null) {
-                binding.vAnimView.show()
-                binding.vAnimView.apply {
-                    setMute(true)
-                    autoDismiss(false)
-                    val effectWidth = it.width
-                    val effectHeight = it.height
-                    val targetWidth = DisplayUtil.getScreenWidth()
-                    val targetHeight = if (effectWidth != null && effectHeight != null) {
-                        ((targetWidth * effectHeight).toFloat() / effectWidth).toInt()
-                    } else {
-                        DisplayUtil.getScreenHeight()
-                    }
-                    updateLayoutParams<ConstraintLayout.LayoutParams> {
-                        this.width = targetWidth
-                        this.height = targetHeight
-                    }
-                    setScaleType(ScaleType.FIT_CENTER)
-                    startPlay(File(it.localPath))
-
-                    //居中动效
-                    binding.clContent.y = (DisplayUtil.getScreenHeight() - targetHeight).toFloat() / 2
-                }
-            }
-
-            binding.tvIncreaseCoin.show()
-            binding.tvIncreaseCoin.apply {
-                setIncreaseNum(0L, coin, ((it?.duration ?: 3000) * 0.8f).toLong()) //由于Handler处理有一定的延时
-                setFrequency(30)
-                setListener(object : IncreaseNumTextView.IncreaseListener {
-
-                    var start = 0L
-
-                    override fun onIncreaseStart() {
-                        Log.d(TAG, "onIncreaseStart")
-                        start = System.currentTimeMillis()
-                    }
-
-                    override fun onTransform(num: Long): String {
-                        return getCompatString(R.string.task_aladdin_dialog_add_coin, num.toString())
-                    }
-
-                    override fun onIncreaseComplete() {
-                        Log.d(TAG, "onIncreaseComplete, ${System.currentTimeMillis() - start}")
-                        setClickAnyWhereToDismiss()
-                    }
-                })
-                startIncrease()
-            }
-        }
-    }
-
-    private fun setClickAnyWhereToDismiss() {
-        if (!isViewBindingValid()) {
-            return
-        }
-        binding.root.setOnClickListener {
-            fadeOut()
-        }
-    }
-
-    private fun fadeOut() {
-        val scale = DisplayUtil.dp2px(36f).toFloat() / DisplayUtil.getScreenWidth()
-        val center = binding.clContent.getCenterLocationInWindow()
-        binding.clContent.animate()
-            .scaleX(scale)
-            .scaleY(scale)
-            .xBy((fadeToX - center[0]).toFloat())
-            .yBy((fadeToY - center[1]).toFloat())
-            .setDuration(800)
-            .withEndAction {
-                dismiss()
-            }
-            .start()
-    }
-
-    private fun resetDialogAttributes() {
-        val dialog = dialog ?: return
-        val window = dialog.window ?: return
-        window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT)
-        window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
-        setCanceledOnTouchOutside(true)
-    }
-
-    companion object {
-        private const val TAG = "AladdinTakeCoinDialog"
-    }
-}

+ 0 - 69
module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/AllNewRoomTaskCompleteDialog.kt

@@ -1,69 +0,0 @@
-package com.adealink.weparty.roomtask.dialog
-
-import android.animation.AnimatorSet
-import android.animation.ObjectAnimator
-import android.animation.PropertyValuesHolder
-import android.animation.ValueAnimator
-import android.graphics.Color
-import android.graphics.drawable.ColorDrawable
-import android.view.WindowManager
-import com.adealink.weparty.commonui.dialogfragment.BaseDialogFragment
-import com.adealink.frame.mvvm.view.viewBinding
-import com.adealink.frame.router.Router
-import com.adealink.frame.router.annotation.RouterUri
-import com.adealink.frame.util.DisplayUtil
-import com.adealink.weparty.roomtask.R
-import com.adealink.weparty.module.roomtask.RoomTask
-import com.adealink.weparty.roomtask.databinding.DialogNewOwnerRoomTaskCompleteBinding
-
-@RouterUri(path = [RoomTask.TaskFinish.OWNER_TASK], desc = "新房主任务完成弹窗")
-class AllNewRoomTaskCompleteDialog : BaseDialogFragment(R.layout.dialog_new_owner_room_task_complete) {
-
-    private val binding by viewBinding(DialogNewOwnerRoomTaskCompleteBinding::bind)
-
-    override fun onStart() {
-        super.onStart()
-        resetDialogAttributes()
-    }
-
-    override fun initViews() {
-        super.initViews()
-        binding.btnGo.setOnClickListener {
-            context?.let { ctx ->
-                Router.build(ctx, RoomTask.RoomTask.PATH).start()
-            }
-        }
-        doBtnAnim()
-    }
-
-    private fun doBtnAnim() {
-        val scaleX1Pvh = PropertyValuesHolder.ofFloat("scaleX", 1f, 1.2f)
-        val scaleY1Pvh = PropertyValuesHolder.ofFloat("scaleY", 1f, 1.2f)
-        val anim1 = ObjectAnimator.ofPropertyValuesHolder(binding.btnGo, scaleX1Pvh, scaleY1Pvh)
-        anim1.repeatCount = ValueAnimator.INFINITE
-        anim1.repeatMode = ValueAnimator.RESTART
-
-        val scaleX2Pvh = PropertyValuesHolder.ofFloat("scaleX", 1.2f, 1f)
-        val scaleY2Pvh = PropertyValuesHolder.ofFloat("scaleY", 1.2f, 1f)
-        val anim2 = ObjectAnimator.ofPropertyValuesHolder(binding.btnGo, scaleX2Pvh, scaleY2Pvh)
-        anim2.repeatCount = ValueAnimator.INFINITE
-        anim2.repeatMode = ValueAnimator.RESTART
-
-        val animatorSet = AnimatorSet()
-        animatorSet.duration = 600
-        animatorSet.playSequentially(anim1, anim2)
-        animatorSet.start()
-    }
-
-    private fun resetDialogAttributes() {
-        val dialog = dialog ?: return
-        val window = dialog.window ?: return
-        window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, (DisplayUtil.getScreenHeight() * 0.8f).toInt())
-        window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
-        setCanceledOnTouchOutside(true)
-    }
-
-    companion object {
-        private const val TAG = "AllNewRoomTaskCompleteDialog"
-    }
-}

+ 0 - 162
module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/RoomTaskFinishDialog.kt

@@ -1,162 +0,0 @@
-package com.adealink.weparty.roomtask.dialog
-
-import android.animation.ObjectAnimator
-import android.animation.PropertyValuesHolder
-import android.graphics.Color
-import android.graphics.drawable.ColorDrawable
-import android.view.WindowManager
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.view.updateLayoutParams
-import androidx.fragment.app.viewModels
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.adealink.frame.log.Log
-import com.adealink.frame.mvvm.view.viewBinding
-import com.adealink.frame.router.annotation.RouterUri
-import com.adealink.frame.util.DisplayUtil
-import com.adealink.weparty.commonui.dialogfragment.BaseDialogFragment
-import com.adealink.weparty.commonui.ext.hide
-import com.adealink.weparty.commonui.ext.show
-import com.adealink.weparty.commonui.recycleview.adapter.multitype.MultiTypeAdapter
-import com.adealink.weparty.commonui.recycleview.itemdecoration.VerticalSpaceItemDecoration
-import com.adealink.weparty.commonui.toast.util.showToast
-import com.adealink.weparty.roomtask.R
-import com.adealink.weparty.module.roomtask.RoomTask
-import com.adealink.weparty.module.roomtask.data.RoomTaskFinishBean
-import com.adealink.weparty.roomtask.databinding.DialogRoomTaskFinishBinding
-import com.adealink.weparty.roomtask.dialog.viewholder.TaskFinishRewardItemViewHolder
-import com.adealink.weparty.roomtask.dialog.viewmodel.TaskFinishTakeRewardViewModel
-import com.tencent.qgame.animplayer.util.ScaleType
-import java.io.File
-import com.adealink.weparty.R as APP_R
-
-@RouterUri(path = [RoomTask.TaskFinish.PATH], desc = "任务完成提醒弹窗")
-class RoomTaskFinishDialog : BaseDialogFragment(R.layout.dialog_room_task_finish) {
-
-    private var taskFinishBean: RoomTaskFinishBean? = null
-
-    private val binding by viewBinding(DialogRoomTaskFinishBinding::bind)
-    private val viewModel by viewModels<TaskFinishTakeRewardViewModel>()
-    private var rewardAdapter = MultiTypeAdapter()
-
-    override fun onStart() {
-        super.onStart()
-        resetDialogAttributes()
-    }
-
-    override fun initViews() {
-        super.initViews()
-        taskFinishBean = arguments?.getParcelable(RoomTask.TaskFinish.EXTRA_TASK_FINISH_BEAN)
-        if (taskFinishBean == null) {
-            Log.d(TAG, "dialog dismiss for taskFinishBean is null")
-            dismiss()
-            return
-        }
-
-        binding.tvTaskDesc.text = taskFinishBean?.taskDesc
-        rewardAdapter.register(TaskFinishRewardItemViewHolder())
-        binding.rvRewards.adapter = rewardAdapter
-        binding.rvRewards.layoutManager = LinearLayoutManager(this@RoomTaskFinishDialog.context)
-        binding.rvRewards.addItemDecoration(
-            VerticalSpaceItemDecoration(
-                DisplayUtil.dp2px(10f)
-            )
-        )
-        rewardAdapter.items = taskFinishBean?.rewards ?: emptyList()
-        rewardAdapter.notifyDataSetChanged()
-    }
-
-    override fun loadData() {
-        super.loadData()
-        viewModel.checkEffectResource()
-    }
-
-    override fun observeViewModel() {
-        super.observeViewModel()
-        viewModel.resourceReadyLiveData.observe(viewLifecycleOwner) {
-            Log.d(TAG, "resourceReady, effectPath:${it?.remoteUrl}, effectDuration:${it?.duration}")
-            if (it != null) {
-                binding.ivForeground.hide()
-                binding.vAnimView.show()
-                binding.vAnimView.apply {
-                    setMute(true)
-                    autoDismiss(false)
-                    val effectWidth = it.width
-                    val effectHeight = it.height
-                    val targetWidth = DisplayUtil.getScreenWidth()
-                    val targetHeight = if (effectWidth != null && effectHeight != null) {
-                        ((targetWidth * effectHeight).toFloat() / effectWidth).toInt()
-                    } else {
-                        DisplayUtil.getScreenHeight()
-                    }
-                    updateLayoutParams<ConstraintLayout.LayoutParams> {
-                        this.width = targetWidth
-                        this.height = targetHeight
-                    }
-                    setScaleType(ScaleType.FIT_CENTER)
-                    startPlay(File(it.localPath))
-                    postDelayed(
-                        {
-                            if (!this@RoomTaskFinishDialog.isShowing()) {
-                                return@postDelayed
-                            }
-                            binding.vAnimView.hide()
-                        },
-                        it.duration
-                    )
-                }
-            }
-            binding.ivForeground.postDelayed(
-                {
-                    if (!this@RoomTaskFinishDialog.isShowing()) {
-                        return@postDelayed
-                    }
-                    binding.ivForeground.show()
-                    val alphaPvh = PropertyValuesHolder.ofFloat("alpha", 0.5f, 1f)
-                    val anim = ObjectAnimator.ofPropertyValuesHolder(binding.ivForeground, alphaPvh)
-                    anim.duration = 300
-                    anim.start()
-                },
-                ((it?.duration ?: 0) * 0.7f).toLong()
-            )
-            binding.clContent.postDelayed(
-                {
-                    if (!this@RoomTaskFinishDialog.isShowing()) {
-                        return@postDelayed
-                    }
-                    binding.clContent.show()
-                    val alphaPvh = PropertyValuesHolder.ofFloat("alpha", 0.5f, 1f)
-                    val scaleXPvh = PropertyValuesHolder.ofFloat("scaleX", 0.3f, 1f)
-                    val scaleYPvh = PropertyValuesHolder.ofFloat("scaleY", 0.3f, 1f)
-
-                    val bonusAnim = ObjectAnimator.ofPropertyValuesHolder(binding.clContent, alphaPvh, scaleXPvh, scaleYPvh)
-                    bonusAnim.duration = 600
-                    bonusAnim.start()
-                },
-                ((it?.duration ?: 0) * 0.8f).toLong()
-            )
-            binding.root.postDelayed(
-                {
-                    if (!this@RoomTaskFinishDialog.isShowing()) {
-                        return@postDelayed
-                    }
-                    showToast(APP_R.string.commonui_take_reward_success)
-                    setCanceledOnTouchOutside(true)
-                    binding.root.setOnClickListener { dismiss() }
-                },
-                ((it?.duration ?: 0) * 0.9f).toLong()
-            )
-        }
-    }
-
-    private fun resetDialogAttributes() {
-        val dialog = dialog ?: return
-        val window = dialog.window ?: return
-        window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, (DisplayUtil.getScreenHeight() * 0.8f).toInt())
-        window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
-        setCanceledOnTouchOutside(false)
-    }
-
-    companion object {
-        private const val TAG = "RoomTaskFinishDialog"
-    }
-}

+ 0 - 25
module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/viewholder/TaskFinishRewardItemViewHolder.kt

@@ -1,25 +0,0 @@
-package com.adealink.weparty.roomtask.dialog.viewholder
-
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import com.adealink.weparty.commonui.recycleview.adapter.BindingViewHolder
-import com.adealink.weparty.commonui.recycleview.adapter.multitype.ItemViewBinder
-import com.adealink.weparty.module.roomtask.data.RoomTaskFinishRewardItem
-import com.adealink.weparty.roomtask.databinding.LayoutTaskFinishItemBinding
-
-class TaskFinishRewardItemViewHolder :
-    ItemViewBinder<RoomTaskFinishRewardItem, BindingViewHolder<LayoutTaskFinishItemBinding>>() {
-
-    override fun onCreateViewHolder(
-        inflater: LayoutInflater,
-        parent: ViewGroup
-    ): BindingViewHolder<LayoutTaskFinishItemBinding> {
-        return BindingViewHolder(LayoutTaskFinishItemBinding.inflate(inflater, parent, false))
-    }
-
-    override fun onBindViewHolder(holder: BindingViewHolder<LayoutTaskFinishItemBinding>, item: RoomTaskFinishRewardItem) {
-        holder.binding.ivReward.setImageUrl(item.rewardImg)
-        holder.binding.tvRewardCount.text = item.rewardCount
-        holder.binding.tvRewardDesc.text = item.rewardDesc
-    }
-}

+ 0 - 27
module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/viewmodel/AladdinTakeCoinViewModel.kt

@@ -1,27 +0,0 @@
-package com.adealink.weparty.roomtask.dialog.viewmodel
-
-import androidx.lifecycle.MutableLiveData
-import com.adealink.frame.download.task.Task
-import com.adealink.weparty.App
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectInfo
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectViewModel
-import kotlinx.coroutines.launch
-
-class AladdinTakeCoinViewModel : VapcEffectViewModel() {
-
-    companion object {
-        private val ALADDIN_EFFECT_URL = App.instance.ossService.getUrlByPath("/room_task/aladdin/coins.mp4")
-    }
-
-    val resourceReadyLiveData = MutableLiveData<VapcEffectInfo?>()
-
-    fun checkEffectResource() {
-        viewModelScope.launch {
-            resourceReadyLiveData.send(downloadVideoEffect(ALADDIN_EFFECT_URL))
-        }
-    }
-
-    override fun addDownloadTask(task: Task) {
-        App.instance.downloadService.addTask(task)
-    }
-}

+ 0 - 35
module/roomtask/src/main/java/com/adealink/weparty/roomtask/dialog/viewmodel/TaskFinishTakeRewardViewModel.kt

@@ -1,35 +0,0 @@
-package com.adealink.weparty.roomtask.dialog.viewmodel
-
-import androidx.lifecycle.MutableLiveData
-import com.adealink.frame.download.task.Task
-import com.adealink.frame.log.Log
-import com.adealink.weparty.App
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectInfo
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectViewModel
-import kotlinx.coroutines.launch
-
-class TaskFinishTakeRewardViewModel : VapcEffectViewModel() {
-
-    companion object {
-        private val ALADDIN_EFFECT_URL = App.instance.ossService.getUrlByPath("/room_task/aladdin/blow_up.mp4")
-    }
-
-    val resourceReadyLiveData = MutableLiveData<VapcEffectInfo?>()
-
-    fun checkEffectResource() {
-        viewModelScope.launch {
-            val needDownload = checkIfNeedDownload(ALADDIN_EFFECT_URL)
-            Log.d("TaskFinishTakeRewardViewModel", "checkEffectResource, needDownload:$needDownload ")
-            if (needDownload) {
-                downloadVideoEffect(ALADDIN_EFFECT_URL)
-                resourceReadyLiveData.send(null)
-            } else {
-                resourceReadyLiveData.send(parseEffect(ALADDIN_EFFECT_URL))
-            }
-        }
-    }
-
-    override fun addDownloadTask(task: Task) {
-        App.instance.downloadService.addTask(task)
-    }
-}

+ 0 - 14
module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/GiftItemData.kt

@@ -1,14 +0,0 @@
-package com.adealink.weparty.roomtask.help
-
-import com.adealink.weparty.module.roomtask.data.RoomGiftData
-
-sealed class GiftItemData
-
-data class GiftRecordItemData(
-    val data: RoomGiftData
-) : GiftItemData()
-
-
-data class GiftTimeItemData(
-    val day: Long
-) : GiftItemData()

+ 0 - 86
module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/GiftRecordFragment.kt

@@ -1,86 +0,0 @@
-package com.adealink.weparty.roomtask.help
-
-import android.graphics.Color
-import androidx.core.view.doOnAttach
-import androidx.fragment.app.viewModels
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.adealink.frame.aab.util.getCompatColor
-import com.adealink.weparty.commonui.BaseFragment
-import com.adealink.weparty.commonui.recycleview.adapter.multitype.MultiTypeAdapter
-import com.adealink.weparty.commonui.recycleview.itemdecoration.VerticalSpaceItemDecoration
-import com.adealink.frame.mvvm.view.viewBinding
-import com.adealink.frame.util.DisplayUtil
-import com.adealink.weparty.roomtask.R
-import com.adealink.weparty.roomtask.databinding.FragmentGiftRecordBinding
-import com.adealink.weparty.roomtask.help.viewholder.GiftRecordItemViewHolder
-import com.adealink.weparty.roomtask.help.viewholder.GiftTimeItemViewHolder
-import com.adealink.weparty.roomtask.help.viewmodel.RoomGiftRecordViewModel
-import com.scwang.smart.refresh.footer.ClassicsFooter
-import com.scwang.smart.refresh.layout.api.RefreshLayout
-import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener
-
-class GiftRecordFragment : BaseFragment(R.layout.fragment_gift_record) {
-
-    private val binding by viewBinding(FragmentGiftRecordBinding::bind)
-    private var giftRecordAdapter = MultiTypeAdapter()
-
-    private val roomGiftRecordViewModel by viewModels<RoomGiftRecordViewModel>()
-
-    override fun initViews() {
-        super.initViews()
-
-        giftRecordAdapter.register(GiftRecordItemViewHolder())
-        giftRecordAdapter.register(GiftTimeItemViewHolder())
-
-        binding.rvGiftRecord.adapter = giftRecordAdapter
-        binding.rvGiftRecord.layoutManager = LinearLayoutManager(context)
-        binding.rvGiftRecord.addItemDecoration(VerticalSpaceItemDecoration(DisplayUtil.dp2px(8f)))
-
-        binding.refreshLayout.setEnableRefresh(true)
-        binding.refreshLayout.setEnableLoadMore(true)
-        binding.refreshLayout.doOnAttach {
-            binding.refreshLayout.refreshFooter?.let {
-                if (it is ClassicsFooter) {
-                    it.setAccentColor(Color.WHITE)
-                }
-            }
-        }
-        binding.refreshLayout.setOnRefreshLoadMoreListener(object : OnRefreshLoadMoreListener {
-
-            override fun onRefresh(refreshLayout: RefreshLayout) {
-                roomGiftRecordViewModel.loadGiftRecord()
-            }
-
-            override fun onLoadMore(refreshLayout: RefreshLayout) {
-                roomGiftRecordViewModel.loadMoreGiftRecord()
-            }
-        })
-    }
-
-    override fun loadData() {
-        super.loadData()
-        roomGiftRecordViewModel.loadGiftRecord()
-    }
-
-    override fun observeViewModel() {
-        super.observeViewModel()
-        roomGiftRecordViewModel.giftRecordSummaryLiveData.observe(viewLifecycleOwner) {
-            binding.tvAllCoins.text = it.allCoin.toString()
-        }
-
-        roomGiftRecordViewModel.giftRecordsLiveData.observe(viewLifecycleOwner) {
-            giftRecordAdapter.items = it
-            giftRecordAdapter.notifyDataSetChanged()
-
-            binding.refreshLayout.finishRefresh()
-        }
-        roomGiftRecordViewModel.loadMoreLiveData.observe(viewLifecycleOwner) {
-            if (it) {
-                binding.refreshLayout.finishLoadMore()
-            } else {
-                binding.refreshLayout.finishLoadMoreWithNoMoreData()
-            }
-        }
-    }
-
-}

+ 0 - 27
module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/HowToPlayFragment.kt

@@ -1,27 +0,0 @@
-package com.adealink.weparty.roomtask.help
-
-import androidx.fragment.app.viewModels
-import com.adealink.weparty.commonui.BaseFragment
-import com.adealink.frame.mvvm.view.viewBinding
-import com.adealink.weparty.roomtask.R
-import com.adealink.weparty.roomtask.databinding.FragmentHowToPlayBinding
-import com.adealink.weparty.roomtask.help.viewmodel.RoomTaskHelpViewModel
-
-class HowToPlayFragment : BaseFragment(R.layout.fragment_how_to_play) {
-
-    private val binding by viewBinding(FragmentHowToPlayBinding::bind)
-
-    private val helpViewModel by viewModels<RoomTaskHelpViewModel>()
-
-    override fun loadData() {
-        super.loadData()
-        helpViewModel.getAladdinTaskRule()
-    }
-
-    override fun observeViewModel() {
-        super.observeViewModel()
-        helpViewModel.taskRuleLiveData.observe(viewLifecycleOwner) {
-            binding.tvHowToPlay.text = it
-        }
-    }
-}

+ 0 - 165
module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/RoomTaskHelpActivity.kt

@@ -1,165 +0,0 @@
-package com.adealink.weparty.roomtask.help
-
-import androidx.activity.viewModels
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.view.updateLayoutParams
-import androidx.fragment.app.Fragment
-import androidx.viewpager2.adapter.FragmentStateAdapter
-import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
-import com.adealink.weparty.commonui.BaseActivity
-import com.adealink.weparty.commonui.ext.gone
-import com.adealink.weparty.commonui.ext.show
-import com.adealink.frame.mvvm.view.viewBinding
-import com.adealink.frame.router.Router
-import com.adealink.frame.router.annotation.RouterUri
-import com.adealink.frame.util.DisplayUtil
-import com.adealink.weparty.module.roomtask.RoomTask
-import com.adealink.weparty.roomtask.databinding.ActivityRoomTaskHelpBinding
-import com.adealink.weparty.roomtask.help.viewmodel.RoomTaskHelpViewModel
-import com.qmuiteam.qmui.widget.util.QMUIStatusBarHelper
-
-@RouterUri(path = [RoomTask.TaskHelp.PATH], desc = "房间任务帮助页面")
-class RoomTaskHelpActivity : BaseActivity() {
-
-    private val binding by viewBinding(ActivityRoomTaskHelpBinding::inflate)
-    private val adapter = PartyListPageAdapter()
-    private val roomTaskHelpViewModel by viewModels<RoomTaskHelpViewModel>()
-
-    //初始状态下不显示送礼
-    private var giftRecordAvailable = false
-    private var tabCount = 1
-    private var positionForGiftRecord = -1
-    private var positionForHowToPlay = 0
-
-    override fun onBeforeCreate() {
-        super.onBeforeCreate()
-        Router.bind(this)
-    }
-
-    override fun initViews() {
-        QMUIStatusBarHelper.setStatusBarDarkMode(this)
-        setContentView(binding.root)
-        binding.topBar.updateLayoutParams<ConstraintLayout.LayoutParams> {
-            topMargin = QMUIStatusBarHelper.getStatusbarHeight(this@RoomTaskHelpActivity) + DisplayUtil.dp2px(20f)
-        }
-        binding.topBar.setToTransparentMode()
-        binding.topBar.setTitleTextColor(com.adealink.weparty.R.color.color_FFFFFF)
-
-        binding.clGiftRecord.setOnClickListener {
-            binding.vpContent.setCurrentItem(positionForGiftRecord, true)
-        }
-        binding.clHowToPlay.setOnClickListener {
-            binding.vpContent.setCurrentItem(positionForHowToPlay, true)
-        }
-        binding.vpContent.registerOnPageChangeCallback(object : OnPageChangeCallback() {
-            override fun onPageSelected(position: Int) {
-                super.onPageSelected(position)
-                if (giftRecordAvailable) {
-                    updateSelectedTabView(position)
-                }
-            }
-        })
-        binding.vpContent.adapter = adapter
-    }
-
-    override fun loadData() {
-        super.loadData()
-        roomTaskHelpViewModel.checkGiftRecordAvailable()
-    }
-
-    override fun observeViewModel() {
-        super.observeViewModel()
-        roomTaskHelpViewModel.giftRecordAvailableLiveData.observe(this) {
-            giftRecordAvailable = it
-            if (it) {
-                binding.clGiftRecord.show()
-                binding.clSpace.gone()
-
-                tabCount = 2
-                positionForGiftRecord = 0
-                positionForHowToPlay = 1
-            } else {
-                binding.clGiftRecord.gone()
-                binding.clSpace.show()
-
-                tabCount = 1
-                positionForGiftRecord = -1
-                positionForHowToPlay = 0
-                binding.vBgTab.rotationY = if (DisplayUtil.isRtlLayout()) {
-                    0f
-                } else {
-                    180f
-                }
-            }
-            adapter.notifyDataSetChanged()
-
-            if (giftRecordAvailable) {
-                binding.vpContent.post {
-                    binding.vpContent.currentItem = positionForGiftRecord
-                    updateSelectedTabView(positionForGiftRecord)
-                }
-            }
-        }
-    }
-
-    private fun updateSelectedTabView(selectedPosition: Int) {
-        if (selectedPosition == positionForGiftRecord) {
-            binding.vBgTab.rotationY = if (DisplayUtil.isRtlLayout()) {
-                0f
-            } else {
-                180f
-            }
-            binding.vTabGiftRecordBottom.show()
-            binding.vTabHowToPlayBottom.gone()
-        } else {
-            binding.vBgTab.rotationY = if (DisplayUtil.isRtlLayout()) {
-                180f
-            } else {
-                0f
-            }
-            binding.vTabGiftRecordBottom.gone()
-            binding.vTabHowToPlayBottom.show()
-        }
-    }
-
-    internal inner class PartyListPageAdapter : FragmentStateAdapter(this@RoomTaskHelpActivity) {
-
-        override fun getItemCount(): Int {
-            return tabCount
-        }
-
-        override fun getItemId(position: Int): Long {
-            if (giftRecordAvailable) {
-                return position.toLong()
-            } else {
-                return (position + 10).toLong()
-            }
-        }
-
-        override fun containsItem(itemId: Long): Boolean {
-            if (giftRecordAvailable) {
-                return itemId in 0 until itemCount
-            } else {
-                return itemId in 10 until itemCount + 10
-            }
-        }
-
-        override fun createFragment(position: Int): Fragment {
-            return when (position) {
-                positionForGiftRecord -> {
-                    GiftRecordFragment()
-                }
-                positionForHowToPlay -> {
-                    HowToPlayFragment()
-                }
-                else -> {
-                    GiftRecordFragment()
-                }
-            }
-        }
-    }
-
-    companion object {
-        const val TAG = "RoomTaskHelpActivity"
-    }
-}

+ 0 - 35
module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/viewholder/GiftRecordItemViewHolder.kt

@@ -1,35 +0,0 @@
-package com.adealink.weparty.roomtask.help.viewholder
-
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import com.adealink.frame.aab.util.getCompatString
-import com.adealink.weparty.commonui.recycleview.adapter.BindingViewHolder
-import com.adealink.weparty.commonui.recycleview.adapter.multitype.ItemViewBinder
-import com.adealink.frame.util.timeToEnHM
-import com.adealink.weparty.module.profile.ProfileModule
-import com.adealink.weparty.roomtask.R
-import com.adealink.weparty.roomtask.databinding.LayoutTaskGiftRecordItemBinding
-import com.adealink.weparty.roomtask.help.GiftRecordItemData
-
-class GiftRecordItemViewHolder :
-    ItemViewBinder<GiftRecordItemData, BindingViewHolder<LayoutTaskGiftRecordItemBinding>>() {
-
-    override fun onCreateViewHolder(
-        inflater: LayoutInflater,
-        parent: ViewGroup
-    ): BindingViewHolder<LayoutTaskGiftRecordItemBinding> {
-        return BindingViewHolder(LayoutTaskGiftRecordItemBinding.inflate(inflater, parent, false))
-    }
-
-    override fun onBindViewHolder(holder: BindingViewHolder<LayoutTaskGiftRecordItemBinding>, item: GiftRecordItemData) {
-        holder.binding.ivAvatar.setImageUrl(ProfileModule.getMyUserInfo()?.url)
-        holder.binding.tvGiftDesc.text = getCompatString(
-            R.string.task_help_tab_gift_desc,
-            item.data.senderName,
-            item.data.receiverName
-        )
-        holder.binding.tvSendTime.text = timeToEnHM(item.data.time)
-        holder.binding.ivGift.setImageUrl(item.data.giftUrl)
-        holder.binding.tvGiftCount.text = getCompatString(R.string.task_help_tab_gift_count, item.data.giftCount.toString())
-    }
-}

+ 0 - 24
module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/viewholder/GiftTimeItemViewHolder.kt

@@ -1,24 +0,0 @@
-package com.adealink.weparty.roomtask.help.viewholder
-
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import com.adealink.weparty.commonui.recycleview.adapter.BindingViewHolder
-import com.adealink.weparty.commonui.recycleview.adapter.multitype.ItemViewBinder
-import com.adealink.frame.util.timeToEnYMD
-import com.adealink.weparty.roomtask.databinding.LayoutTaskGiftRecordTimeBinding
-import com.adealink.weparty.roomtask.help.GiftTimeItemData
-
-class GiftTimeItemViewHolder :
-    ItemViewBinder<GiftTimeItemData, BindingViewHolder<LayoutTaskGiftRecordTimeBinding>>() {
-
-    override fun onCreateViewHolder(
-        inflater: LayoutInflater,
-        parent: ViewGroup
-    ): BindingViewHolder<LayoutTaskGiftRecordTimeBinding> {
-        return BindingViewHolder(LayoutTaskGiftRecordTimeBinding.inflate(inflater, parent, false))
-    }
-
-    override fun onBindViewHolder(holder: BindingViewHolder<LayoutTaskGiftRecordTimeBinding>, item: GiftTimeItemData) {
-        holder.binding.tvTime.text = timeToEnYMD(item.day * 1000L)
-    }
-}

+ 0 - 62
module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/viewmodel/RoomGiftRecordViewModel.kt

@@ -1,62 +0,0 @@
-package com.adealink.weparty.roomtask.help.viewmodel
-
-import androidx.lifecycle.MutableLiveData
-import com.adealink.frame.mvvm.viewmodel.BaseViewModel
-import com.adealink.weparty.App
-import com.adealink.weparty.module.roomtask.data.RoomGiftData
-import com.adealink.weparty.roomtask.datasource.RoomTaskHttpService
-import com.adealink.weparty.roomtask.help.GiftItemData
-import com.adealink.weparty.roomtask.help.GiftRecordItemData
-import com.adealink.weparty.roomtask.help.GiftTimeItemData
-import kotlinx.coroutines.launch
-
-data class GiftRecordSummary(
-    val allCoin: Long
-) {
-
-}
-
-class RoomGiftRecordViewModel : BaseViewModel() {
-
-    private val roomTaskHttpService by lazy {
-        App.instance.networkService.getHttpService(RoomTaskHttpService::class.java)
-    }
-
-    val giftRecordSummaryLiveData = MutableLiveData<GiftRecordSummary>()
-
-    private var currentDay = System.currentTimeMillis()
-    private val giftRecords = mutableListOf<RoomGiftData>()
-    val giftRecordsLiveData = MutableLiveData<List<GiftItemData>>()
-
-    fun loadGiftRecord() {
-        viewModelScope.launch {
-            giftRecordSummaryLiveData.send(
-                GiftRecordSummary(989898)
-            )
-            //这一块的功能为二期功能
-//            val recordList = wrapperDataToList(testDataList)
-//            giftRecordsLiveData.send(recordList)
-        }
-    }
-
-    val loadMoreLiveData = MutableLiveData<Boolean>()
-    fun loadMoreGiftRecord() {
-        //这一块的功能为二期功能
-//        val recordList = wrapperDataToList(testDataList)
-//        giftRecordsLiveData.send(recordList)
-//        loadMoreLiveData.send(true)
-    }
-
-    private fun wrapperDataToList(newItems: List<RoomGiftData>): List<GiftItemData> {
-        giftRecords.addAll(newItems)
-        val recordList = mutableListOf<GiftItemData>()
-        val timeMap = giftRecords.groupBy { it.getDay() }
-        for (day in timeMap.keys.sortedByDescending { it }) {
-            val dataList = timeMap[day] ?: continue
-            recordList.add(GiftTimeItemData(day))
-            recordList.addAll(dataList.sortedByDescending { it.time }.map { GiftRecordItemData(it) })
-        }
-        return recordList
-    }
-
-}

+ 0 - 38
module/roomtask/src/main/java/com/adealink/weparty/roomtask/help/viewmodel/RoomTaskHelpViewModel.kt

@@ -1,38 +0,0 @@
-package com.adealink.weparty.roomtask.help.viewmodel
-
-import androidx.lifecycle.MutableLiveData
-import com.adealink.frame.base.Rlt
-import com.adealink.frame.base.fastLazy
-import com.adealink.frame.locale.language.languageManager
-import com.adealink.frame.mvvm.viewmodel.BaseViewModel
-import com.adealink.weparty.App
-import com.adealink.weparty.roomtask.datasource.RoomTaskHttpService
-import kotlinx.coroutines.launch
-
-
-class RoomTaskHelpViewModel : BaseViewModel() {
-
-    private val roomTaskHttpService by fastLazy {
-        App.instance.networkService.getHttpService(RoomTaskHttpService::class.java)
-    }
-
-    val giftRecordAvailableLiveData = MutableLiveData<Boolean>()
-
-    fun checkGiftRecordAvailable() {
-        viewModelScope.launch {
-            //后期迭代功能:房间送礼流水
-            giftRecordAvailableLiveData.send(false)
-        }
-    }
-
-    val taskRuleLiveData = MutableLiveData<String>()
-    fun getAladdinTaskRule() {
-        viewModelScope.launch {
-            val aladdinRuleInfoRlt = roomTaskHttpService.getAladdinRuleInfo(languageManager?.getLanguageCode() ?: "")
-            if (aladdinRuleInfoRlt is Rlt.Success) {
-                taskRuleLiveData.send(aladdinRuleInfoRlt.data.data?.rule ?: "")
-            }
-        }
-    }
-
-}

+ 0 - 207
module/roomtask/src/main/java/com/adealink/weparty/roomtask/home/RoomTaskActivity.kt

@@ -1,207 +0,0 @@
-package com.adealink.weparty.roomtask.home
-
-import android.os.Bundle
-import androidx.activity.viewModels
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.view.updateLayoutParams
-import androidx.recyclerview.widget.LinearLayoutManager
-import com.adealink.frame.aab.util.getCompatString
-import com.adealink.frame.locale.language.languageManager
-import com.adealink.frame.mvvm.view.viewBinding
-import com.adealink.frame.network.data.SERVICE_SUCCESS
-import com.adealink.frame.router.Router
-import com.adealink.frame.router.annotation.RouterUri
-import com.adealink.frame.util.DisplayUtil
-import com.adealink.weparty.commonui.BaseActivity
-import com.adealink.weparty.commonui.dialogfragment.BaseDialogFragment
-import com.adealink.weparty.commonui.ext.gone
-import com.adealink.weparty.commonui.ext.show
-import com.adealink.weparty.commonui.recycleview.adapter.multitype.MultiTypeAdapter
-import com.adealink.weparty.commonui.recycleview.itemdecoration.VerticalSpaceItemDecoration
-import com.adealink.weparty.commonui.toast.util.showToast
-import com.adealink.weparty.module.roomtask.data.RoomTaskFinishBean
-import com.adealink.weparty.module.roomtask.data.RoomTaskFinishRewardItem
-import com.adealink.weparty.module.roomtask.data.RoomTaskResCode.RES_TAKE_REWARD_ALREADY_TOKEN
-import com.adealink.weparty.module.roomtask.data.RoomTaskResCode.RES_TAKE_REWARD_CANT_TAKEN_BEFORE_TASK_COMPLETED
-import com.adealink.weparty.module.roomtask.data.RoomTaskResCode.RES_TAKE_REWARD_EXPIRED
-import com.adealink.weparty.module.roomtask.data.RoomTaskResCode.RES_TAKE_REWARD_NO_VALID_ACTIVITY
-import com.adealink.weparty.module.roomtask.manager.IRoomTaskManager
-import com.adealink.weparty.roomtask.R
-import com.adealink.weparty.module.roomtask.RoomTask
-import com.adealink.weparty.roomtask.databinding.ActivityRoomTaskBinding
-import com.adealink.weparty.roomtask.databinding.StubAladdinCloseBinding
-import com.adealink.weparty.roomtask.databinding.StubAladdinOpenBinding
-import com.adealink.weparty.roomtask.home.viewholder.RoomTaskItemViewHolder
-import com.adealink.weparty.roomtask.home.viewmodel.RoomTaskViewModel
-import com.qmuiteam.qmui.widget.util.QMUIStatusBarHelper
-import com.adealink.weparty.R as APP_R
-
-@RouterUri(path = [RoomTask.RoomTask.PATH], desc = "房间任务")
-class RoomTaskActivity : BaseActivity() {
-
-    private val binding by viewBinding(ActivityRoomTaskBinding::inflate)
-    private var mAladdinCloseBinding: StubAladdinCloseBinding? = null
-    private var mAladdinOpenBinding: StubAladdinOpenBinding? = null
-
-    private var taskAdapter = MultiTypeAdapter()
-
-    private val roomTaskViewModel by viewModels<RoomTaskViewModel>()
-
-    override fun onBeforeCreate() {
-        super.onBeforeCreate()
-        Router.bind(this)
-    }
-
-    override fun initViews() {
-        QMUIStatusBarHelper.setStatusBarDarkMode(this)
-        setContentView(binding.root)
-        binding.topBar.updateLayoutParams<ConstraintLayout.LayoutParams> {
-            topMargin = QMUIStatusBarHelper.getStatusbarHeight(this@RoomTaskActivity) + DisplayUtil.dp2px(20f)
-        }
-        binding.topBar.setToTransparentMode()
-
-        binding.ivTaskHelp.setOnClickListener {
-            Router.build(this@RoomTaskActivity, RoomTask.TaskHelp.PATH).start()
-        }
-
-        taskAdapter.register(RoomTaskItemViewHolder())
-        binding.rvTask.adapter = taskAdapter
-        binding.rvTask.layoutManager = LinearLayoutManager(this@RoomTaskActivity)
-        binding.rvTask.addItemDecoration(
-            VerticalSpaceItemDecoration(
-                DisplayUtil.dp2px(
-                    8f
-                )
-            )
-        )
-    }
-
-    override fun loadData() {
-        super.loadData()
-        roomTaskViewModel.getRoomTaskInfo(true)
-    }
-
-    override fun observeViewModel() {
-        super.observeViewModel()
-        roomTaskViewModel.showTaskEntranceLiveData.observe(this) {
-            when (it) {
-                IRoomTaskManager.ENTRANCE_TYPE_ROOM, IRoomTaskManager.ENTRANCE_TYPE_ALADDIN_DAILY -> {
-                    roomTaskViewModel.getRoomTaskList()
-                }
-                else -> {
-                    //默认不显示入口
-                }
-            }
-        }
-        roomTaskViewModel.roomTaskTypeLiveData.observe(this) {
-            when (it) {
-                IRoomTaskManager.TASK_TYPE_NEW_USER -> {
-                    //新房主任务
-                    if (binding.vStubTop.parent == null) {
-                        //ViewSub inflate之后,parent会等于null
-                        return@observe
-                    }
-                    binding.vStubTop.layoutResource = R.layout.stub_aladdin_close
-                    val view = binding.vStubTop.inflate()
-                    mAladdinCloseBinding = StubAladdinCloseBinding.bind(view)
-
-                    binding.tvTitle.text = getCompatString(R.string.task_title_for_new_owner)
-                }
-                IRoomTaskManager.TASK_TYPE_DIARY -> {
-                    //每日任务
-                    if (binding.vStubTop.parent == null) {
-                        return@observe
-                    }
-                    binding.vStubTop.layoutResource = R.layout.stub_aladdin_open
-                    val view = binding.vStubTop.inflate()
-                    mAladdinOpenBinding = StubAladdinOpenBinding.bind(view)
-
-                    binding.tvTitle.text = getCompatString(R.string.task_title_for_diary)
-                    roomTaskViewModel.getAladdinInfo()
-                }
-                else -> {
-                    //未知任务,直接finish
-                    //finish()
-                }
-            }
-        }
-        roomTaskViewModel.aladdinInfoLiveData.observe(this) {
-            mAladdinOpenBinding?.let { binding ->
-                binding.tvCoins.text = it.totalCoinBonus.toString()
-            }
-        }
-        roomTaskViewModel.taskListLiveData.observe(this) { taskList ->
-            when (roomTaskViewModel.roomTaskTypeLiveData.value) {
-                IRoomTaskManager.TASK_TYPE_DIARY -> {
-                    binding.clTaskDiaryTips.show()
-                    binding.tvDiaryTips.text = getCompatString(R.string.task_diary_tips)
-                }
-                else -> {
-                    binding.clTaskDiaryTips.gone()
-                }
-            }
-
-            taskAdapter.items = taskList
-            taskAdapter.notifyDataSetChanged()
-        }
-        roomTaskViewModel.takeRewardLivedata.observe(this) {
-            when (it) {
-                SERVICE_SUCCESS -> {
-                    roomTaskViewModel.refreshTaskList()
-                }
-                RES_TAKE_REWARD_EXPIRED -> {
-                    showToast(R.string.toast_take_reward_fail_for_expired)
-                    roomTaskViewModel.refreshTaskList()
-                }
-                RES_TAKE_REWARD_NO_VALID_ACTIVITY -> {
-                    showToast(R.string.toast_take_reward_fail_for_no_valid_activity)
-                    roomTaskViewModel.refreshTaskList()
-                }
-                RES_TAKE_REWARD_ALREADY_TOKEN -> {
-                    showToast(R.string.toast_take_reward_fail_for_already_token)
-                    roomTaskViewModel.refreshTaskList()
-                }
-                RES_TAKE_REWARD_CANT_TAKEN_BEFORE_TASK_COMPLETED -> {
-                    showToast(R.string.toast_take_reward_fail_for_task_not_completed)
-                    roomTaskViewModel.refreshTaskList()
-                }
-                else -> {
-                    showToast(APP_R.string.commonui_take_reward_fail)
-                    roomTaskViewModel.refreshTaskList()
-                }
-            }
-        }
-        roomTaskViewModel.takeRewardTaskLiveData.observe(this) { taskInfo ->
-            Router.getRouterInstance<BaseDialogFragment>(RoomTask.TaskFinish.PATH)?.apply {
-                arguments = Bundle().apply {
-                    putParcelable(
-                        RoomTask.TaskFinish.EXTRA_TASK_FINISH_BEAN,
-                        RoomTaskFinishBean(
-                            taskInfo.getTaskName(languageManager?.getLanguageCode()),
-                            taskInfo.rewardInfo.map { reward ->
-                                RoomTaskFinishRewardItem(
-                                    reward.rewardResourceUrl,
-                                    if (reward.isExpiredReward()) {
-                                        getCompatString(R.string.task_reward_desc_for_time_expired, "", (reward.rewardDuration / 60 / 60 / 24).toString())
-                                    } else {
-                                        getCompatString(R.string.task_reward_desc_for_item_count, "", reward.rewardNum.toString())
-                                    },
-                                    reward.getRewardName(languageManager?.getLanguageCode())
-                                )
-                            }
-                        )
-                    )
-                }
-                show(this@RoomTaskActivity.supportFragmentManager)
-            }
-        }
-        roomTaskViewModel.goFinishTaskLiveData.observe(this) {
-            finish()
-        }
-    }
-
-    companion object {
-        const val TAG = "RoomTaskActivity"
-    }
-
-}

+ 0 - 157
module/roomtask/src/main/java/com/adealink/weparty/roomtask/home/viewholder/RoomTaskItemViewHolder.kt

@@ -1,157 +0,0 @@
-package com.adealink.weparty.roomtask.home.viewholder
-
-import android.graphics.Typeface
-import android.text.SpannableStringBuilder
-import android.text.Spanned
-import android.text.style.AbsoluteSizeSpan
-import android.text.style.ForegroundColorSpan
-import android.text.style.StyleSpan
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import androidx.activity.ComponentActivity
-import androidx.lifecycle.ViewModelProvider
-import com.adealink.frame.aab.util.getCompatColor
-import com.adealink.frame.aab.util.getCompatString
-import com.adealink.frame.ext.safeSetSpan
-import com.adealink.frame.locale.language.languageManager
-import com.adealink.frame.util.DisplayUtil
-import com.adealink.weparty.commonui.ext.getActivity
-import com.adealink.weparty.commonui.recycleview.adapter.BindingViewHolder
-import com.adealink.weparty.commonui.recycleview.adapter.multitype.ItemViewBinder
-import com.adealink.weparty.module.roomtask.data.TaskInfo
-import com.adealink.weparty.module.roomtask.data.TaskInfo.Companion.TASK_STATUS_FINISH_ALREADY_TAKE_REWARD
-import com.adealink.weparty.module.roomtask.data.TaskInfo.Companion.TASK_STATUS_FINISH_NO_TAKE_REWARD
-import com.adealink.weparty.module.roomtask.view.RewardItem
-import com.adealink.weparty.roomtask.R
-import com.adealink.weparty.roomtask.databinding.LayoutTaskItemBinding
-import com.adealink.weparty.roomtask.home.viewmodel.RoomTaskViewModel
-import com.adealink.weparty.R as APP_R
-
-class RoomTaskItemViewHolder :
-    ItemViewBinder<TaskInfo, BindingViewHolder<LayoutTaskItemBinding>>() {
-
-    private var roomTaskModel: RoomTaskViewModel? = null
-
-    override fun onCreateViewHolder(
-        inflater: LayoutInflater,
-        parent: ViewGroup
-    ): BindingViewHolder<LayoutTaskItemBinding> {
-        return BindingViewHolder(LayoutTaskItemBinding.inflate(inflater, parent, false))
-    }
-
-    override fun onBindViewHolder(holder: BindingViewHolder<LayoutTaskItemBinding>, item: TaskInfo) {
-        initModel(holder)
-        holder.binding.ivTask.setImageUrl(item.taskIconUrl.firstOrNull())
-        holder.binding.tvTaskDesc.text = item.getTaskName(languageManager?.getLanguageCode())
-
-        holder.binding.vRewardList.addRewardList(
-            item.rewardInfo.map {
-                RewardItem(
-                    it.rewardResourceUrl,
-                    if (it.isExpiredReward()) {
-                        getCompatString(R.string.task_reward_desc_for_time_expired, it.getRewardName(languageManager?.getLanguageCode()), (it.rewardDuration / 60 / 60 / 24).toString())
-                    } else {
-                        getCompatString(R.string.task_reward_desc_for_item_count, it.getRewardName(languageManager?.getLanguageCode()), it.rewardNum.toString())
-                    }
-                )
-            }
-        )
-
-        when (item.getTaskStatus()) {
-            TASK_STATUS_FINISH_NO_TAKE_REWARD -> {
-                //任务已完成,未领取奖励
-                holder.binding.tvAction.text = getCompatString(APP_R.string.commonui_take_reward)
-                holder.binding.tvAction.setTextColor(getCompatColor(com.adealink.weparty.R.color.color_FFFFFF))
-                holder.binding.tvAction.setBackgroundResource(R.drawable.btn_task_action_take_reward)
-                holder.binding.tvAction.isEnabled = true
-                holder.binding.tvAction.setOnClickListener { takeReward(item) }
-            }
-            TASK_STATUS_FINISH_ALREADY_TAKE_REWARD -> {
-                //任务已完成,且已领取奖励
-                holder.binding.tvAction.text = getCompatString(R.string.task_action_completed)
-                holder.binding.tvAction.setTextColor(getCompatColor(com.adealink.weparty.R.color.color_FF5B0DD2))
-                holder.binding.tvAction.setBackgroundResource(R.drawable.btn_task_action_completed)
-                holder.binding.tvAction.isEnabled = false
-                holder.binding.tvAction.setOnClickListener(null)
-            }
-            else -> {
-                // 默认任务未完成,TASK_STATUS_IN_PROCESS
-                if (item.showTaskProcess()) {
-                    holder.binding.tvAction.text = generateProcessSpan(
-                        item.taskDimensionProgress,
-                        item.taskDimensionTarget
-                    )
-                    holder.binding.tvAction.setBackgroundResource(R.drawable.btn_task_action_in_process)
-                    holder.binding.tvAction.isEnabled = true
-                    holder.binding.tvAction.setOnClickListener(null)
-                } else {
-                    holder.binding.tvAction.setTextColor(getCompatColor(com.adealink.weparty.R.color.color_FFFFFF))
-                    holder.binding.tvAction.text = getCompatString(R.string.task_action_go_finish)
-                    holder.binding.tvAction.setBackgroundResource(R.drawable.btn_task_action_go_finish)
-                    holder.binding.tvAction.isEnabled = true
-                    holder.binding.tvAction.setOnClickListener { goFinish() }
-                }
-            }
-        }
-    }
-
-    private fun generateProcessSpan(process: Long, target: Long): SpannableStringBuilder {
-        val content = getCompatString(R.string.task_action_in_process, process.toString(), target.toString())
-        val sb = SpannableStringBuilder(content)
-        val processIndex = sb.indexOf(process.toString())
-        val targetIndex = processIndex + process.toString().length
-        sb.safeSetSpan(
-            ForegroundColorSpan(
-                getCompatColor(com.adealink.weparty.R.color.color_FF5B0DD2)
-            ),
-            processIndex,
-            targetIndex,
-            Spanned.SPAN_INCLUSIVE_EXCLUSIVE
-        )
-        sb.safeSetSpan(
-            StyleSpan(Typeface.BOLD),
-            processIndex,
-            targetIndex,
-            Spanned.SPAN_INCLUSIVE_EXCLUSIVE
-        )
-        sb.safeSetSpan(
-            AbsoluteSizeSpan(DisplayUtil.sp2px(18f)),
-            processIndex,
-            targetIndex,
-            Spanned.SPAN_INCLUSIVE_EXCLUSIVE
-        )
-
-        sb.safeSetSpan(
-            ForegroundColorSpan(
-                getCompatColor(com.adealink.weparty.R.color.color_FF80766A)
-            ),
-            targetIndex,
-            content.length,
-            Spanned.SPAN_INCLUSIVE_EXCLUSIVE
-        )
-        return sb
-    }
-
-    private fun initModel(holder: BindingViewHolder<*>) {
-        if (roomTaskModel != null) {
-            return
-        }
-        val activity = (holder.itemView.getActivity() as? ComponentActivity) ?: return
-        roomTaskModel = ViewModelProvider(activity)[RoomTaskViewModel::class.java]
-    }
-
-    /**
-     * 领取奖励
-     */
-    private fun takeReward(item: TaskInfo) {
-        roomTaskModel?.takeReward(item.activityId, item.taskId)
-    }
-
-    /**
-     * 去完成
-     */
-    private fun goFinish() {
-        roomTaskModel?.goFinish()
-    }
-
-}

+ 0 - 189
module/roomtask/src/main/java/com/adealink/weparty/roomtask/home/viewmodel/RoomTaskViewModel.kt

@@ -1,189 +0,0 @@
-package com.adealink.weparty.roomtask.home.viewmodel
-
-import androidx.lifecycle.MutableLiveData
-import com.adealink.frame.base.Rlt
-import com.adealink.frame.base.fastLazy
-import com.adealink.frame.log.Log
-import com.adealink.frame.mvvm.viewmodel.BaseViewModel
-import com.adealink.frame.network.data.SERVICE_SUCCESS
-import com.adealink.weparty.App
-import com.adealink.weparty.module.roomtask.data.AladdinInfo
-import com.adealink.weparty.module.roomtask.data.ExchangeAladdinCoinBonusReq
-import com.adealink.weparty.module.roomtask.data.TaskInfo
-import com.adealink.weparty.module.roomtask.data.TaskInfo.Companion.TASK_STATUS_FINISH_ALREADY_TAKE_REWARD
-import com.adealink.weparty.roomtask.datasource.RoomTaskHttpService
-import com.adealink.weparty.module.roomtask.manager.IRoomTaskManager
-import com.adealink.weparty.roomtask.manager.roomTaskManager
-import com.adealink.weparty.module.roomtask.viewmodel.IRoomTaskViewModel
-import kotlinx.coroutines.launch
-
-class RoomTaskViewModel() : BaseViewModel(), IRoomTaskViewModel, IRoomTaskManager.IRoomTaskListener {
-
-    private val roomTaskHttpService by fastLazy {
-        App.instance.networkService.getHttpService(RoomTaskHttpService::class.java)
-    }
-
-    override val showTaskEntranceLiveData = MutableLiveData<Int>()
-    override val aladdinInfoLiveData = MutableLiveData<AladdinInfo>()
-    override val currentTaskLiveData = MutableLiveData<TaskInfo?>()
-    override val allNewRoomTaskComplete = MutableLiveData<Boolean>()
-
-    val roomTaskTypeLiveData = MutableLiveData<Int>()
-    val taskListLiveData = MutableLiveData<List<TaskInfo>>()
-
-    init {
-        roomTaskManager.addListener(this)
-    }
-
-    override fun onCleared() {
-        super.onCleared()
-        roomTaskManager.removeListener(this)
-    }
-
-    override fun getRoomTaskInfo(queryTotalCoin: Boolean) {
-        viewModelScope.launch {
-            // 1.初始化房间任务
-            roomTaskManager.prepareTaskInfo(queryTotalCoin)
-            // 2.检查开关
-            val taskEntrance = roomTaskManager.getTaskEntrance()
-            showTaskEntranceLiveData.send(taskEntrance)
-            if (taskEntrance == IRoomTaskManager.ENTRANCE_NONE) {
-                Log.w(TAG, "refreshTaskList: ")
-                return@launch
-            }
-            // 3.初始化一些基本任务属性
-            val roomTaskType = roomTaskManager.getRoomTaskType()
-            roomTaskTypeLiveData.send(roomTaskType)
-            val aladdinInfo = roomTaskManager.getAladdinInfo()
-            aladdinInfoLiveData.send(aladdinInfo)
-            val currentTask = roomTaskManager.getCurrentTask()
-            currentTaskLiveData.send(currentTask)
-        }
-    }
-
-    fun getAladdinInfo() {
-        viewModelScope.launch {
-            val aladdinInfo = roomTaskManager.getAladdinInfo()
-            aladdinInfoLiveData.send(aladdinInfo)
-        }
-    }
-
-    fun getRoomTaskList() {
-        viewModelScope.launch {
-            val roomTaskList = roomTaskManager.getRoomTaskList()
-            taskListLiveData.send(sortTaskList(roomTaskList))
-        }
-    }
-
-    fun refreshTaskList() {
-        Log.d(TAG, "refreshTaskList")
-        viewModelScope.launch {
-            val roomTaskList = roomTaskManager.refreshRoomTaskList()
-            taskListLiveData.send(sortTaskList(roomTaskList))
-        }
-    }
-
-    private fun sortTaskList(taskList: List<TaskInfo>): List<TaskInfo> {
-        // 任务展示顺序:
-        // 1.待领奖,未完成保持原来顺序
-        // 2.已完成置底
-        val sortedTaskList = mutableListOf<TaskInfo>()
-        val completeTaskList = mutableListOf<TaskInfo>()
-        for (taskInfo in taskList) {
-            if (taskInfo.getTaskStatus() == TASK_STATUS_FINISH_ALREADY_TAKE_REWARD) {
-                //已完成
-                completeTaskList.add(taskInfo)
-            } else {
-                sortedTaskList.add(taskInfo)
-            }
-        }
-        sortedTaskList.addAll(completeTaskList)
-        return sortedTaskList
-    }
-
-    val takeRewardLivedata = MutableLiveData<Int>()
-    val takeRewardTaskLiveData = MutableLiveData<TaskInfo>()
-    fun takeReward(activityId: Long, taskId: Int) {
-        Log.d(TAG, "takeReward, activityId:$activityId, taskId:$taskId")
-        viewModelScope.launch {
-            val takeTaskRewardRes = roomTaskHttpService.takeTaskReward(activityId, taskId)
-            if (takeTaskRewardRes is Rlt.Failed) {
-                takeRewardLivedata.send(takeTaskRewardRes.error.serverCode)
-            } else {
-                roomTaskManager.getRoomTaskBy(activityId, taskId)?.let { taskInfo ->
-                    takeRewardTaskLiveData.send(taskInfo)
-                }
-                takeRewardLivedata.send(SERVICE_SUCCESS)
-            }
-        }
-    }
-
-    val goFinishTaskLiveData = MutableLiveData<Boolean>()
-    fun goFinish() {
-        viewModelScope.launch {
-            goFinishTaskLiveData.send(true)
-        }
-    }
-
-    override fun refreshCurrentRoomTask() {
-        Log.d(TAG, "refreshCurrentRoomTask")
-        viewModelScope.launch {
-            currentTaskLiveData.send(roomTaskManager.getCurrentTask())
-        }
-    }
-
-    override fun exchangeCoinBonus(roomId: Long): MutableLiveData<Pair<Boolean, Long>> {
-        Log.d(TAG, "exchangeCoinBonus, roomId:$roomId")
-        val exchangeCoinBonusLiveData = MutableLiveData<Pair<Boolean, Long>>()
-        viewModelScope.launch {
-            val exchangeBonusRlt = roomTaskHttpService.exchangeBonus(
-                ExchangeAladdinCoinBonusReq(roomId = roomId)
-            )
-            if (exchangeBonusRlt is Rlt.Success) {
-                exchangeCoinBonusLiveData.send(Pair(true, exchangeBonusRlt.data.data?.addValue ?: 0L))
-                roomTaskManager.refreshCoinBonus()
-            } else {
-                exchangeCoinBonusLiveData.send(Pair(false, ((exchangeBonusRlt as? Rlt.Failed)?.error?.serverCode ?: 0).toLong()))
-            }
-        }
-        return exchangeCoinBonusLiveData
-    }
-
-    override fun refreshCoinBonus() {
-        Log.d(TAG, "refreshCoinBonus")
-        viewModelScope.launch {
-            currentTaskLiveData.send(roomTaskManager.getCurrentTask())
-        }
-    }
-
-    //任务完成回调
-    override fun onTaskFinish(task: TaskInfo) {
-        Log.d(TAG, "onTaskFinish, onTaskFinish, taskId:${task.taskId}")
-        viewModelScope.launch {
-            //1。刷新阿拉丁神灯状态
-            val aladdinInfo = roomTaskManager.getAladdinInfo()
-            aladdinInfoLiveData.send(aladdinInfo)
-            //2。刷新房间当前任务状态
-            val currentTask = roomTaskManager.getCurrentTask()
-            currentTaskLiveData.send(currentTask)
-        }
-    }
-
-    //阿拉丁金币变化回调
-    override fun onCoinBonusChanged(coinBonusCanTake: Long, totalCoinBonus: Long, aladdinStatus: Int) {
-        Log.d(TAG, "onCoinBonusChanged, coinBonus:$coinBonusCanTake, totalCoin:$totalCoinBonus, status:$aladdinStatus")
-        aladdinInfoLiveData.send(AladdinInfo(coinBonusCanTake, totalCoinBonus, aladdinStatus), false)
-    }
-
-    override fun onAllTaskComplete(taskType: Int) {
-        Log.d(TAG, "onAllTaskComplete, taskType:$taskType")
-        if (taskType == IRoomTaskManager.TASK_TYPE_NEW_USER) {
-            allNewRoomTaskComplete.send(true)
-        }
-    }
-
-    companion object {
-        private const val TAG = "RoomTaskViewModel"
-    }
-
-}

+ 0 - 343
module/roomtask/src/main/java/com/adealink/weparty/roomtask/manager/RoomTaskManager.kt

@@ -1,343 +0,0 @@
-package com.adealink.weparty.roomtask.manager
-
-import com.adealink.frame.base.Rlt
-import com.adealink.frame.data.collections.ConcurrentList
-import com.adealink.frame.download.task.Task
-import com.adealink.frame.frame.BaseFrame
-import com.adealink.frame.log.Log
-import com.adealink.frame.network.ISocketNotify
-import com.adealink.frame.util.isFileExists
-import com.adealink.frame.util.md5
-import com.adealink.weparty.App
-import com.adealink.weparty.module.roomtask.data.AladdinBonusNotify
-import com.adealink.weparty.module.roomtask.data.AladdinInfo
-import com.adealink.weparty.module.roomtask.data.AladdinInfoData
-import com.adealink.weparty.module.roomtask.data.RoomTaskData
-import com.adealink.weparty.module.roomtask.data.RoomTaskFinishNotify
-import com.adealink.weparty.module.roomtask.data.TaskInfo
-import com.adealink.weparty.module.roomtask.manager.IRoomTaskManager
-import com.adealink.weparty.module.roomtask.data.TaskInfo.Companion.TASK_STATUS_FINISH_ALREADY_TAKE_REWARD
-import com.adealink.weparty.module.roomtask.data.TaskInfo.Companion.TASK_STATUS_FINISH_NO_TAKE_REWARD
-import com.adealink.weparty.module.roomtask.data.TaskInfo.Companion.TASK_STATUS_IN_PROCESS
-import com.adealink.weparty.roomtask.datasource.RoomTaskHttpService
-import com.adealink.weparty.module.roomtask.manager.IRoomTaskManager.Companion.ENTRANCE_NONE
-import com.adealink.weparty.module.roomtask.manager.IRoomTaskManager.Companion.ENTRANCE_TYPE_ALADDIN_DAILY
-import com.adealink.weparty.module.roomtask.manager.IRoomTaskManager.Companion.ENTRANCE_TYPE_ROOM
-import com.adealink.weparty.module.roomtask.manager.IRoomTaskManager.Companion.TASK_TYPE_DIARY
-import com.adealink.weparty.module.roomtask.manager.IRoomTaskManager.Companion.TASK_TYPE_NEW_USER
-import com.adealink.weparty.module.roomtask.manager.IRoomTaskManager.Companion.TASK_TYPE_UNKNOWN
-import com.adealink.weparty.module.roomtask.viewmodel.VapcEffectViewModel
-import kotlinx.coroutines.*
-import java.util.concurrent.ConcurrentHashMap
-
-val roomTaskManager: IRoomTaskManager by lazy { RoomTaskManager() }
-
-class RoomTaskManager : BaseFrame<IRoomTaskManager.IRoomTaskListener>(), IRoomTaskManager {
-
-    private var taskEntranceMap = ConcurrentHashMap<Int, Boolean>()
-
-    private var taskType = TASK_TYPE_UNKNOWN
-    private var coinBonusCanTake: Long = 0
-    private var coinBonusTotal: Long = 0
-
-    private val roomTaskHttpService by lazy {
-        App.instance.networkService.getHttpService(RoomTaskHttpService::class.java)
-    }
-
-    /**
-     * 我的房间任务缓存
-     * activityId + taskId -> TaskInfo
-     */
-    private val taskInfoListCache by lazy {
-        ConcurrentList<TaskInfo>()
-    }
-
-    private val roomTaskFinishNotify = object : ISocketNotify<RoomTaskFinishNotify> {
-
-        //任务领取奖励通知
-        override val uri: String = "TASK_TAKE_REWARD"
-
-        override fun needHandle(data: RoomTaskFinishNotify?): Boolean {
-            return data != null
-        }
-
-        override fun onNotify(data: RoomTaskFinishNotify) {
-            Log.d(TAG, "roomTaskFinishNotify, task(activityId:${data.activityId}, taskId:${data.taskId})")
-            handleRoomFinishNotify(data)
-        }
-    }
-
-    private val aladdinAddCoinNotify = object : ISocketNotify<AladdinBonusNotify> {
-
-        //任务领取奖励通知
-        override val uri: String = "URI_USER_ADD_ALADDIN_BONUS_NOTIFY"
-
-        override fun needHandle(data: AladdinBonusNotify?): Boolean {
-            return data != null
-        }
-
-        override fun onNotify(data: AladdinBonusNotify) {
-            Log.d(TAG, "aladdinAddCoinNotify, addCoin:${data.addValue}, coinCanTake:${data.currencyValue}")
-            handleAladdinAddCoinNotify(data.currencyValue, data.addValue)
-        }
-    }
-
-    init {
-        App.instance.networkService.subscribeNotify(roomTaskFinishNotify)
-        App.instance.networkService.subscribeNotify(aladdinAddCoinNotify)
-
-    }
-
-    private fun handleAladdinAddCoinNotify(currencyValue: Long, addCoin: Long) {
-        Log.d(TAG, "handleAladdinAddCoinNotify: currencyValue:$currencyValue, addCoin:$addCoin")
-        launch {
-            coinBonusCanTake = currencyValue
-            coinBonusTotal += addCoin
-            notifyAladdinBonusChanged()
-        }
-    }
-
-    private fun handleRoomFinishNotify(notify: RoomTaskFinishNotify) {
-        Log.d(TAG, "handleRoomFinishNotify: $notify")
-        launch {
-            refreshRoomTaskList()
-            val taskInfo = getRoomTaskBy(notify.activityId, notify.taskId)
-            if (taskInfo == null) {
-                Log.w(
-                    TAG,
-                    "handleRoomFinishNotify return, for can not find TaskInfo from cache."
-                )
-                return@launch
-            }
-            notifyRoomTaskFinish(taskInfo)
-
-            val notCompleteTask = taskInfoListCache
-                .getCopyList()
-                .find { it.getTaskStatus() != TASK_STATUS_FINISH_ALREADY_TAKE_REWARD }
-            if (notCompleteTask == null) {
-                notifyAllTaskComplete(taskType)
-            }
-        }
-    }
-
-    override suspend fun prepareTaskInfo(queryTotalCoin: Boolean) {
-        Log.d(TAG, "prepareTaskInfo")
-
-        //1. 先获取任务入口
-        val dailyTaskInfoRlt = roomTaskHttpService.getAladdinInfo(
-            total = if (queryTotalCoin) {
-                1
-            } else {
-                0
-            }
-        )
-        if (dailyTaskInfoRlt is Rlt.Success) {
-            val entranceMap = hashMapOf<Int, Boolean>()
-            dailyTaskInfoRlt.data.data?.taskInfo?.let { map ->
-                entranceMap[AladdinInfoData.TASK_ROOM] = map[AladdinInfoData.TASK_ROOM] == 1
-                entranceMap[AladdinInfoData.TASK_ALADDIN] = map[AladdinInfoData.TASK_ALADDIN] == 1
-                entranceMap[AladdinInfoData.TASK_DAILY] = map[AladdinInfoData.TASK_DAILY] == 1
-            }
-            taskEntranceMap.putAll(entranceMap)
-
-            coinBonusCanTake = dailyTaskInfoRlt.data.data?.currencyValue ?: 0L
-            coinBonusTotal = dailyTaskInfoRlt.data.data?.totalCurrencyValue ?: 0L
-        } else {
-            Log.e(TAG, "prepareTaskInfo fail, $dailyTaskInfoRlt")
-            return
-        }
-
-        if (getTaskEntrance() == ENTRANCE_NONE) {
-            //当前用户处于非正常用户,不能进行阿拉丁神灯,房间任务等玩法
-            Log.w(TAG, "prepareTaskInfo return, for current user is invalid")
-            return
-        }
-
-        val newUserRoomTaskDef = coroutineScope { async { roomTaskHttpService.getDailyTaskInfo(RoomTaskData.ACTIVITY_CODE_NEW_USER_ROOM_TASK) } }
-        val diaryRoomTaskDef = coroutineScope { async { roomTaskHttpService.getDailyTaskInfo(RoomTaskData.ACTIVITY_CODE_ROOM_DAILY_TASK) } }
-        val newUserRoomTaskRlt = newUserRoomTaskDef.await()
-        val diaryRoomTaskRlt = diaryRoomTaskDef.await()
-
-        val newCacheList = mutableListOf<TaskInfo>()
-        if (newUserRoomTaskRlt is Rlt.Success && diaryRoomTaskRlt is Rlt.Success) {
-            val newUserTaskData = newUserRoomTaskRlt.data.data
-            val diaryTaskData = diaryRoomTaskRlt.data.data
-            if (newUserTaskData != null && newUserTaskData.dailyTaskItems.isNotEmpty()) {
-                taskType = TASK_TYPE_NEW_USER
-                for (taskItem in newUserTaskData.dailyTaskItems) {
-                    taskItem.activityId = newUserTaskData.activityId
-                    newCacheList.add(taskItem)
-                }
-            } else if (diaryTaskData != null && diaryTaskData.dailyTaskItems.isNotEmpty()) {
-                taskType = TASK_TYPE_DIARY
-                for (taskItem in diaryTaskData.dailyTaskItems) {
-                    taskItem.activityId = diaryTaskData.activityId
-                    newCacheList.add(taskItem)
-                }
-            } else {
-                taskType = TASK_TYPE_UNKNOWN
-            }
-            taskInfoListCache.clearAndAddAll(newCacheList)
-
-            downloadNecessaryResource()
-        } else {
-            Log.e(TAG, "prepareTaskInfo: fail, for getTaskInfo fail, newUserTaskRlt:${newUserRoomTaskRlt}, diaryTaskRlt:${diaryRoomTaskRlt}")
-        }
-    }
-
-    private fun downloadNecessaryResource() {
-        Log.d(TAG, "downloadNecessaryResource")
-        launch {
-            for (url in VAPC_EFFECT_LIST) {
-                val savePath = VapcEffectViewModel.getSavePath(url)
-                Log.d(TAG, "downloadNecessaryResource, path:$savePath")
-                if (isFileExists(savePath)) {
-                    Log.d(TAG, "downloadNecessaryResource return, file exists")
-                    continue
-                }
-                val taskId = url.md5()
-                val task = Task(taskId, url, savePath)
-                App.instance.downloadService.addTask(task)
-            }
-        }
-    }
-
-    override fun getTaskEntrance(): Int {
-        return if (taskEntranceMap[AladdinInfoData.TASK_ALADDIN] == true || taskEntranceMap[AladdinInfoData.TASK_DAILY] == true) {
-            ENTRANCE_TYPE_ALADDIN_DAILY
-        } else if (taskEntranceMap[AladdinInfoData.TASK_ROOM] == true) {
-            ENTRANCE_TYPE_ROOM
-        } else {
-            ENTRANCE_NONE
-        }
-    }
-
-    override suspend fun refreshCoinBonus() {
-        val dailyTaskInfoRlt = roomTaskHttpService.getAladdinInfo(1)
-        if (dailyTaskInfoRlt is Rlt.Success) {
-            coinBonusCanTake = dailyTaskInfoRlt.data.data?.currencyValue ?: 0L
-            coinBonusTotal = dailyTaskInfoRlt.data.data?.totalCurrencyValue ?: 0L
-        } else {
-            coinBonusCanTake = 0L
-        }
-        notifyAladdinBonusChanged()
-    }
-
-    override suspend fun getAladdinInfo(): AladdinInfo {
-        return AladdinInfo(coinBonusCanTake, coinBonusTotal, getAladdinStatus())
-    }
-
-    private fun getAladdinStatus(): Int {
-        return if (coinBonusCanTake > 0) {
-            //有金币待领取
-            AladdinInfo.STATUS_COIN_BONUS_READY
-        } else if (taskInfoListCache.getCopyList().find { it.getTaskStatus() == TASK_STATUS_FINISH_NO_TAKE_REWARD } != null) {
-            //有任务奖励待领取
-            AladdinInfo.STATUS_TASK_REWARD_READY
-        } else {
-            AladdinInfo.STATUS_IDLE
-        }
-    }
-
-    override suspend fun getCurrentTask(): TaskInfo? {
-        val list = taskInfoListCache.getCopyList()
-        return list.find {
-            //1.奖励未领取
-            it.getTaskStatus() == TASK_STATUS_FINISH_NO_TAKE_REWARD
-        } ?: let {
-            //2.任务未完成
-            list.find {
-                it.getTaskStatus() == TASK_STATUS_IN_PROCESS
-            }
-        }
-    }
-
-    override suspend fun getRoomTaskList(): List<TaskInfo> {
-        return taskInfoListCache.getCopyList()
-    }
-
-    override suspend fun refreshRoomTaskList(): List<TaskInfo> {
-        val newCacheList = mutableListOf<TaskInfo>()
-        val newTaskType: Int
-
-        val newUserRoomTaskDef = coroutineScope { async { roomTaskHttpService.getDailyTaskInfo(RoomTaskData.ACTIVITY_CODE_NEW_USER_ROOM_TASK) } }
-        val diaryRoomTaskDef = coroutineScope { async { roomTaskHttpService.getDailyTaskInfo(RoomTaskData.ACTIVITY_CODE_ROOM_DAILY_TASK) } }
-        val newUserRoomTaskRlt = newUserRoomTaskDef.await()
-        val diaryRoomTaskRlt = diaryRoomTaskDef.await()
-
-        if (newUserRoomTaskRlt is Rlt.Success && diaryRoomTaskRlt is Rlt.Success) {
-            val newUserTaskData = newUserRoomTaskRlt.data.data
-            val diaryTaskData = diaryRoomTaskRlt.data.data
-            if (newUserTaskData != null && newUserTaskData.dailyTaskItems.isNotEmpty()) {
-                newTaskType = TASK_TYPE_NEW_USER
-                for (taskItem in newUserTaskData.dailyTaskItems) {
-                    taskItem.activityId = newUserTaskData.activityId
-                    newCacheList.add(taskItem)
-                }
-            } else if (diaryTaskData != null && diaryTaskData.dailyTaskItems.isNotEmpty()) {
-                newTaskType = TASK_TYPE_DIARY
-                for (taskItem in diaryTaskData.dailyTaskItems) {
-                    taskItem.activityId = diaryTaskData.activityId
-                    newCacheList.add(taskItem)
-                }
-            } else {
-                newTaskType = TASK_TYPE_UNKNOWN
-            }
-
-            taskInfoListCache.clearAndAddAll(newCacheList)
-            taskType = newTaskType
-        } else {
-            Log.e(TAG, "prepareTaskInfo: fail, for getTaskInfo fail, newUserTaskRlt:${newUserRoomTaskRlt}, diaryTaskRlt:${diaryRoomTaskRlt}")
-        }
-        return newCacheList
-    }
-
-    override suspend fun getRoomTaskBy(activityId: Long, taskId: Int): TaskInfo? {
-        if (taskType == TASK_TYPE_UNKNOWN) {
-            return null
-        }
-        return taskInfoListCache.getCopyList().find { it.activityId == activityId && it.taskId == taskId }
-    }
-
-    override fun getRoomTaskType(): Int {
-        if (getTaskEntrance() == ENTRANCE_NONE) {
-            return TASK_TYPE_UNKNOWN
-        }
-        return taskType
-    }
-
-    private fun notifyAladdinBonusChanged() {
-        Log.d(TAG, "notifyAladdinBonusChanged, coinBonusCanTake:$coinBonusCanTake, coinBonusTotal:$coinBonusTotal")
-        launch {
-            val status = getAladdinStatus()
-            dispatch {
-                it.onCoinBonusChanged(coinBonusCanTake, coinBonusTotal, status)
-            }
-        }
-    }
-
-    private fun notifyRoomTaskFinish(taskInfo: TaskInfo) {
-        Log.d(TAG, "notifyRoomTaskFinish, taskInfo:$taskInfo")
-        dispatch {
-            it.onTaskFinish(taskInfo)
-        }
-    }
-
-    private fun notifyAllTaskComplete(taskType: Int) {
-        Log.d(TAG, "notifyAllTaskFinish")
-        dispatch {
-            it.onAllTaskComplete(taskType)
-        }
-    }
-
-    companion object {
-        const val TAG = "RoomTaskManager"
-
-        val VAPC_EFFECT_LIST = listOf(
-            App.instance.ossService.getUrlByPath("/room_task/aladdin/draw_lottery.mp4"), //待领取
-            App.instance.ossService.getUrlByPath("/room_task/aladdin/unclaimed.mp4"), //开奖
-            App.instance.ossService.getUrlByPath("/room_task/aladdin/coins.mp4"),
-            App.instance.ossService.getUrlByPath("/room_task/aladdin/blow_up.mp4")
-        )
-    }
-}

BIN
module/roomtask/src/main/res/drawable-ar-xhdpi/ic_aladdin_room_task_title.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_all_new_owner_task_complete.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_room_task_finish_dailog_foreground.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_task_aladdin_close.webp


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_task_aladdin_close_tips.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_task_aladdin_open.webp


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_task_aladdin_open_earn_coin.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_task_content.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_task_finish_dialog_desc.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_task_help_content.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_task_help_tab.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_task_help_top.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/bg_task_title.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/btn_all_new_owner_task_complete.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/btn_task_action_completed.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/btn_task_action_go_finish.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/btn_task_action_in_process.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/btn_task_action_take_reward.9.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/ic_aladdin_room_task_title.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/ic_task_aladdin_lock.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/ic_task_diary_tips_left.png


BIN
module/roomtask/src/main/res/drawable-xhdpi/ic_task_help.png


BIN
module/roomtask/src/main/res/drawable-zh-rTW-xhdpi/ic_aladdin_room_task_title.png


BIN
module/roomtask/src/main/res/drawable-zh-xhdpi/ic_aladdin_room_task_title.png


+ 0 - 10
module/roomtask/src/main/res/drawable/bg_room_task.xml

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-    <gradient
-        android:angle="270"
-        android:endColor="@color/color_ff782bee"
-        android:startColor="@color/color_ff3d138a"
-        android:type="linear" />
-
-</shape>

+ 0 - 6
module/roomtask/src/main/res/drawable/bg_room_task_help_content_inner.xml

@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-    <stroke android:width="1dp" android:color="@color/color_33ffe97a" />
-    <corners android:radius="6dp" />
-</shape>

+ 0 - 7
module/roomtask/src/main/res/drawable/bg_room_task_item.xml

@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-    <stroke android:width="1dp" android:color="@color/color_33FFFFFF" />
-    <solid android:color="@color/color_1ac6a5ff" />
-    <corners android:radius="4dp" />
-</shape>

+ 0 - 10
module/roomtask/src/main/res/drawable/tv_room_task_encourage_bg.xml

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-    <gradient
-        android:angle="0"
-        android:endColor="@color/color_00B78EF5"
-        android:startColor="@color/color_ffb78ef5"
-        android:type="linear" />
-    <corners android:radius="13dp" />
-</shape>

+ 0 - 12
module/roomtask/src/main/res/drawable/tv_task_aladdin_lock_bg.xml

@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-    <stroke
-        android:width="1dp"
-        android:color="@color/color_ffffe679" />
-    <corners
-        android:bottomLeftRadius="15dp"
-        android:bottomRightRadius="15dp"
-        android:topLeftRadius="15dp"
-        android:topRightRadius="15dp" />
-</shape>

+ 0 - 154
module/roomtask/src/main/res/layout/activity_room_task.xml

@@ -1,154 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@drawable/bg_room_task"
-    android:clipChildren="false"
-    app:layout_constraintBottom_toBottomOf="parent"
-    app:layout_constraintEnd_toEndOf="parent"
-    app:layout_constraintStart_toStartOf="parent"
-    app:layout_constraintTop_toTopOf="parent">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_content"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <ViewStub
-            android:id="@+id/v_stub_top"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            app:layout_constraintDimensionRatio="750:827"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <com.adealink.weparty.commonui.widget.CommonTopBar
-            android:id="@+id/top_bar"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/common_top_bar_height"
-            android:layout_marginTop="20dp"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <androidx.appcompat.widget.AppCompatImageView
-            android:id="@+id/iv_task_help"
-            android:layout_width="30dp"
-            android:layout_height="30dp"
-            android:layout_marginEnd="7dp"
-            android:padding="3dp"
-            android:src="@drawable/ic_task_help"
-            app:layout_constraintBottom_toBottomOf="@id/top_bar"
-            app:layout_constraintEnd_toEndOf="parent" />
-
-        <View
-            android:id="@+id/v_task_title_top"
-            android:layout_width="0dp"
-            android:layout_height="40dp"
-            app:layout_constraintBottom_toBottomOf="@id/v_stub_top"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/v_stub_top" />
-
-        <View
-            android:id="@+id/v_task_content_top"
-            android:layout_width="0dp"
-            android:layout_height="1dp"
-            app:layout_constraintBottom_toBottomOf="@id/tv_title"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="@id/tv_title" />
-
-        <View
-            android:id="@+id/v_task_content_bg"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:layout_marginStart="15dp"
-            android:layout_marginEnd="15dp"
-            android:layout_marginBottom="5dp"
-            android:background="@drawable/bg_task_content"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="@id/v_task_content_top" />
-
-        <androidx.appcompat.widget.AppCompatTextView
-            android:id="@+id/tv_title"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="15dp"
-            android:layout_marginEnd="15dp"
-            android:background="@drawable/bg_task_title"
-            android:gravity="center"
-            android:includeFontPadding="false"
-            android:textColor="@color/color_FFFFE84E"
-            android:textSize="18sp"
-            android:textStyle="bold"
-            app:layout_constrainedWidth="true"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="@id/v_task_title_top" />
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/cl_task_diary_tips"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            app:layout_constraintEnd_toEndOf="@id/v_task_content_bg"
-            app:layout_constraintStart_toStartOf="@id/v_task_content_bg"
-            app:layout_constraintTop_toBottomOf="@id/tv_title">
-
-            <androidx.appcompat.widget.AppCompatImageView
-                android:id="@+id/iv_diary_tips_left"
-                android:layout_width="12dp"
-                android:layout_height="7dp"
-                android:layout_marginEnd="5dp"
-                android:src="@drawable/ic_task_diary_tips_left"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toStartOf="@id/tv_diary_tips"
-                app:layout_constraintHorizontal_chainStyle="packed"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <androidx.appcompat.widget.AppCompatTextView
-                android:id="@+id/tv_diary_tips"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textColor="@color/color_FFFFFF"
-                android:textSize="12sp"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toStartOf="@id/iv_diary_tips_right"
-                app:layout_constraintStart_toEndOf="@id/iv_diary_tips_left"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <androidx.appcompat.widget.AppCompatImageView
-                android:id="@+id/iv_diary_tips_right"
-                android:layout_width="12dp"
-                android:layout_height="7dp"
-                android:layout_marginStart="5dp"
-                android:rotationY="@integer/locale_mirror_flip"
-                android:src="@drawable/ic_task_diary_tips_left"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toEndOf="@id/tv_diary_tips"
-                app:layout_constraintTop_toTopOf="parent" />
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/rv_task"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="15dp"
-            android:overScrollMode="never"
-            android:paddingStart="20dp"
-            android:paddingEnd="20dp"
-            android:paddingBottom="30dp"
-            app:layout_constraintEnd_toEndOf="@id/v_task_content_bg"
-            app:layout_constraintStart_toStartOf="@id/v_task_content_bg"
-            app:layout_constraintTop_toBottomOf="@id/cl_task_diary_tips"
-            app:layout_goneMarginTop="20dp" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.core.widget.NestedScrollView>

+ 0 - 130
module/roomtask/src/main/res/layout/activity_room_task_help.xml

@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@drawable/bg_task_help_top">
-
-    <com.adealink.weparty.commonui.widget.CommonTopBar
-        android:id="@+id/top_bar"
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/common_top_bar_height"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:title_color="@color/white"
-        app:top_bar_title="@string/task_help_title" />
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_tab"
-        android:layout_width="0dp"
-        android:layout_height="60dp"
-        android:layout_marginStart="15dp"
-        android:layout_marginTop="20dp"
-        android:layout_marginEnd="15dp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/top_bar">
-
-        <View
-            android:id="@+id/v_bg_tab"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:background="@drawable/bg_task_help_tab"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/cl_gift_record"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/cl_how_to_play"
-            app:layout_constraintHorizontal_weight="1"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent">
-
-            <androidx.appcompat.widget.AppCompatTextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/task_help_tab_gift_record"
-                android:textColor="@color/color_FFFFFF"
-                android:textSize="18sp"
-                app:layout_constrainedWidth="true"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <View
-                android:id="@+id/v_tab_gift_record_bottom"
-                android:layout_width="15dp"
-                android:layout_height="3dp"
-                android:layout_marginBottom="5dp"
-                android:background="@color/color_FFFFFF"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent" />
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/cl_how_to_play"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/cl_space"
-            app:layout_constraintHorizontal_weight="1"
-            app:layout_constraintStart_toEndOf="@id/cl_gift_record"
-            app:layout_constraintTop_toTopOf="parent">
-
-            <androidx.appcompat.widget.AppCompatTextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/task_help_tab_how_to_play"
-                android:textColor="@color/color_FFFFFF"
-                android:textSize="18sp"
-                app:layout_constrainedWidth="true"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <View
-                android:id="@+id/v_tab_how_to_play_bottom"
-                android:layout_width="15dp"
-                android:layout_height="3dp"
-                android:layout_marginBottom="5dp"
-                android:background="@color/color_FFFFFF"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent" />
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-        <View
-            android:id="@+id/cl_space"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:visibility="gone"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintHorizontal_weight="1"
-            app:layout_constraintStart_toEndOf="@id/cl_how_to_play"
-            app:layout_constraintTop_toTopOf="parent" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-    <androidx.viewpager2.widget.ViewPager2
-        android:id="@+id/vp_content"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:background="@drawable/bg_task_help_content"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="@id/cl_tab"
-        app:layout_constraintStart_toStartOf="@id/cl_tab"
-        app:layout_constraintTop_toBottomOf="@id/cl_tab" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 43
module/roomtask/src/main/res/layout/dialog_aladdin_take_coin.xml

@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_content"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        tools:background="@color/black">
-
-        <com.tencent.qgame.animplayer.AnimView
-            android:id="@+id/v_animView"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:visibility="gone"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            tools:visibility="visible" />
-
-        <com.adealink.weparty.commonui.text.IncreaseNumTextView
-            android:id="@+id/tv_increase_coin"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:shadowColor="@color/color_ffaa4f06"
-            android:shadowDx="0"
-            android:shadowDy="2"
-            android:shadowRadius="3.0"
-            android:textColor="@color/color_fffff6ca"
-            android:textSize="37sp"
-            android:visibility="gone"
-            app:layout_constraintBottom_toTopOf="@id/v_animView"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="@id/v_animView"
-            tools:visibility="visible" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</FrameLayout>

+ 0 - 83
module/roomtask/src/main/res/layout/dialog_new_owner_room_task_complete.xml

@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:background="@color/black">
-
-    <androidx.appcompat.widget.AppCompatImageView
-        android:id="@+id/iv_bg"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:scaleType="fitCenter"
-        android:src="@drawable/bg_all_new_owner_task_complete"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintDimensionRatio="375:657"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_task_title"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="10dp"
-        android:layout_marginEnd="10dp"
-        android:gravity="center"
-        android:shadowColor="@color/color_ffaa4f06"
-        android:shadowDx="0"
-        android:shadowDy="2"
-        android:shadowRadius="3.0"
-        android:text="@string/dialog_all_new_owner_task_complete_title"
-        android:textColor="@color/color_fffff6ca"
-        android:textSize="37sp"
-        app:layout_constrainedWidth="true"
-        app:layout_constraintBottom_toBottomOf="@id/iv_bg"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="@id/iv_bg"
-        app:layout_constraintVertical_bias="0.15"
-        app:layout_constraintVertical_chainStyle="packed" />
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_task_tips"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="50dp"
-        android:layout_marginEnd="50dp"
-        android:background="@drawable/bg_task_finish_dialog_desc"
-        android:gravity="center"
-        android:paddingStart="17dp"
-        android:paddingTop="8dp"
-        android:paddingEnd="17dp"
-        android:paddingBottom="8dp"
-        android:text="@string/dialog_all_new_owner_task_complete_tips"
-        android:textColor="@color/color_fffff9cf"
-        android:textSize="13sp"
-        app:layout_constrainedWidth="true"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/tv_task_title"
-        app:layout_constraintVertical_bias="1" />
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/btn_go"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:background="@drawable/btn_all_new_owner_task_complete"
-        android:gravity="center"
-        android:shadowColor="@color/color_FFFFFF"
-        android:shadowDx="0"
-        android:shadowDy="1"
-        android:shadowRadius="3.0"
-        android:text="@string/btn_all_new_owner_task_go"
-        android:textColor="@color/color_ff882701"
-        android:textSize="21sp"
-        app:layout_constraintBottom_toBottomOf="@id/iv_bg"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="@id/iv_bg"
-        app:layout_constraintVertical_bias="0.8" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 92
module/roomtask/src/main/res/layout/dialog_room_task_finish.xml

@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:background="@color/black">
-
-    <com.tencent.qgame.animplayer.AnimView
-        android:id="@+id/v_animView"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:visibility="invisible"
-        app:layout_constraintBottom_toBottomOf="@id/rv_rewards"
-        app:layout_constraintDimensionRatio="375:500"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="@id/tv_task_finish"
-        tools:visibility="visible" />
-
-    <androidx.appcompat.widget.AppCompatImageView
-        android:id="@+id/iv_foreground"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:scaleType="fitCenter"
-        android:src="@drawable/bg_room_task_finish_dailog_foreground"
-        app:layout_constraintBottom_toBottomOf="@id/rv_rewards"
-        app:layout_constraintDimensionRatio="375:500"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="@id/tv_task_finish" />
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_task_finish"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="10dp"
-        android:layout_marginEnd="10dp"
-        android:gravity="center"
-        android:shadowColor="@color/color_ffaa4f06"
-        android:shadowDx="0"
-        android:shadowDy="2"
-        android:shadowRadius="3.0"
-        android:text="@string/dialog_task_finish_title"
-        android:textColor="@color/color_fffff6ca"
-        android:textSize="37sp"
-        app:layout_constrainedWidth="true"
-        app:layout_constraintBottom_toTopOf="@id/cl_content"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintVertical_chainStyle="packed" />
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_content"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="24dp"
-        android:visibility="invisible"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/tv_task_finish"
-        tools:visibility="visible">
-
-        <androidx.appcompat.widget.AppCompatTextView
-            android:id="@+id/tv_task_desc"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:background="@drawable/bg_task_finish_dialog_desc"
-            android:gravity="center"
-            android:textColor="@color/color_fffff7cf"
-            android:textSize="13sp"
-            app:layout_constraintBottom_toTopOf="@id/rv_rewards"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/rv_rewards"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:overScrollMode="never"
-            app:layout_constrainedHeight="true"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/tv_task_desc" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 112
module/roomtask/src/main/res/layout/fragment_gift_record.xml

@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:paddingStart="9dp"
-    android:paddingEnd="9dp">
-
-    <View
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:layout_marginStart="6dp"
-        android:layout_marginTop="6dp"
-        android:layout_marginEnd="6dp"
-        android:layout_marginBottom="6dp"
-        android:background="@drawable/bg_room_task_help_content_inner"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_title"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:paddingStart="15dp"
-        android:paddingTop="15dp"
-        android:paddingEnd="15dp"
-        android:paddingBottom="15dp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <androidx.appcompat.widget.AppCompatTextView
-            android:id="@+id/tv_all_gifts"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/task_help_tab_gift_record_all_gifts_title"
-            android:textColor="@color/color_FFFFFF"
-            android:textSize="15sp"
-            app:layout_constrainedWidth="true"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toStartOf="@id/tv_all_coins"
-            app:layout_constraintHorizontal_bias="0"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <androidx.appcompat.widget.AppCompatTextView
-            android:id="@+id/tv_all_coins"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginEnd="5dp"
-            android:textColor="@color/color_FFFFDE00"
-            android:textSize="21sp"
-            android:textStyle="bold"
-            app:layout_constraintBottom_toBottomOf="@id/iv_all_coin"
-            app:layout_constraintEnd_toStartOf="@id/iv_all_coin"
-            app:layout_constraintTop_toTopOf="@id/iv_all_coin" />
-
-        <androidx.appcompat.widget.AppCompatImageView
-            android:id="@+id/iv_all_coin"
-            android:layout_width="20dp"
-            android:layout_height="20dp"
-            android:scaleType="fitCenter"
-            android:src="@drawable/common_coin_16_ic"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <androidx.appcompat.widget.AppCompatTextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="5dp"
-            android:text="@string/task_help_tab_gift_record_all_gifts_total"
-            android:textColor="@color/white"
-            android:textSize="12sp"
-            app:layout_constraintStart_toStartOf="@id/tv_all_coins"
-            app:layout_constraintTop_toBottomOf="@id/tv_all_coins" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-    <View
-        android:layout_width="0dp"
-        android:layout_height="1dp"
-        android:layout_marginStart="15dp"
-        android:layout_marginEnd="15dp"
-        android:background="@color/color_1AFFFFFF"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/cl_title" />
-
-    <com.scwang.smart.refresh.layout.SmartRefreshLayout
-        android:id="@+id/refresh_layout"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:layout_marginStart="15dp"
-        android:layout_marginEnd="15dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/cl_title"
-        app:srlAccentColor="@color/white"
-        app:srlPrimaryColor="@color/white">
-
-        <androidx.recyclerview.widget.RecyclerView
-            android:id="@+id/rv_gift_record"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:clipToPadding="true"
-            android:paddingTop="10dp" />
-    </com.scwang.smart.refresh.layout.SmartRefreshLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 29
module/roomtask/src/main/res/layout/fragment_how_to_play.xml

@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <androidx.core.widget.NestedScrollView
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:layout_margin="6dp"
-        android:padding="9dp"
-        android:background="@drawable/bg_room_task_help_content_inner"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <androidx.appcompat.widget.AppCompatTextView
-            android:id="@+id/tv_how_to_play"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:paddingStart="9dp"
-            android:paddingTop="33dp"
-            android:paddingEnd="9dp"
-            android:textColor="@color/color_FFFFFF"
-            android:textSize="14sp" />
-    </androidx.core.widget.NestedScrollView>
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 58
module/roomtask/src/main/res/layout/layout_task_finish_item.xml

@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingStart="20dp"
-    android:paddingTop="12.5dp"
-    android:paddingEnd="20dp"
-    android:paddingBottom="12.5dp">
-
-    <com.adealink.frame.image.view.NetworkImageView
-        android:id="@+id/iv_reward"
-        android:layout_width="120dp"
-        android:layout_height="120dp"
-        app:actualImageScaleType="fitCenter"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/cl_reward_detail"
-        app:layout_constraintHorizontal_chainStyle="spread"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_reward_detail"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toEndOf="@id/iv_reward"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <androidx.appcompat.widget.AppCompatTextView
-            android:id="@+id/tv_reward_count"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textColor="@color/color_fffff7cf"
-            android:textSize="27sp"
-            app:layout_constraintBottom_toTopOf="@id/tv_reward_desc"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintVertical_chainStyle="packed"
-            tools:text="x300" />
-
-        <androidx.appcompat.widget.AppCompatTextView
-            android:id="@+id/tv_reward_desc"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textColor="@color/color_fffff7cf"
-            android:textSize="14sp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/tv_reward_count"
-            tools:text="x300" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 71
module/roomtask/src/main/res/layout/layout_task_gift_record_item.xml

@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingTop="12.5dp"
-    android:paddingBottom="12.5dp">
-
-    <com.adealink.weparty.commonui.imageview.AvatarView
-        android:id="@+id/iv_avatar"
-        android:layout_width="36dp"
-        android:layout_height="36dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:placeholderImage="@drawable/common_default_avatar_ic"
-        app:roundAsCircle="true"
-        app:roundingBorderColor="@color/white"
-        app:roundingBorderWidth="2dp" />
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_gift_desc"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="10dp"
-        android:layout_marginEnd="5dp"
-        android:ellipsize="end"
-        android:gravity="start"
-        android:singleLine="true"
-        android:textColor="@color/white"
-        android:textSize="14sp"
-        app:layout_constraintBottom_toTopOf="@id/tv_send_time"
-        app:layout_constraintEnd_toStartOf="@id/iv_gift"
-        app:layout_constraintStart_toEndOf="@id/iv_avatar"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintVertical_chainStyle="packed"
-        tools:text="Marten send to Kevin" />
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_send_time"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="5dp"
-        android:textColor="@color/white"
-        android:textSize="12sp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="@id/tv_gift_desc"
-        app:layout_constraintTop_toBottomOf="@id/tv_gift_desc" />
-
-    <com.adealink.frame.image.view.NetworkImageView
-        android:id="@+id/iv_gift"
-        android:layout_width="30dp"
-        android:layout_height="30dp"
-        android:layout_marginEnd="5dp"
-        app:actualImageScaleType="fitCenter"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/tv_gift_count"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_gift_count"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:textColor="@color/color_FFFFDE00"
-        android:textSize="14sp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 23
module/roomtask/src/main/res/layout/layout_task_gift_record_time.xml

@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingTop="12.5dp"
-    android:paddingBottom="12.5dp">
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_time"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:gravity="start"
-        android:textColor="@color/color_FFFFFF"
-        android:textSize="15sp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        tools:text="Today" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 64
module/roomtask/src/main/res/layout/layout_task_item.xml

@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:background="@drawable/bg_room_task_item"
-    android:paddingTop="12.5dp"
-    android:paddingBottom="12.5dp">
-
-    <com.adealink.frame.image.view.NetworkImageView
-        android:id="@+id/iv_task"
-        android:layout_width="40dp"
-        android:layout_height="40dp"
-        android:layout_marginStart="10dp"
-        app:actualImageScaleType="fitCenter"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_task_desc"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="10dp"
-        android:layout_marginEnd="10dp"
-        android:gravity="start"
-        android:textColor="@color/color_fffff9cf"
-        android:textSize="14sp"
-        app:layout_constraintBottom_toTopOf="@id/v_reward_list"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toEndOf="@id/iv_task"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintVertical_chainStyle="packed" />
-
-    <com.adealink.weparty.module.roomtask.view.RoomTaskRewardListView
-        android:id="@+id/v_reward_list"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="10dp"
-        android:layout_marginEnd="10dp"
-        app:icon_width="13dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toStartOf="@id/tv_action"
-        app:layout_constraintStart_toStartOf="@id/tv_task_desc"
-        app:layout_constraintTop_toBottomOf="@id/tv_task_desc"
-        app:layout_constraintWidth_min="80dp"
-        app:text_size="11sp"
-        app:v_space="5dp" />
-
-    <androidx.appcompat.widget.AppCompatTextView
-        android:id="@+id/tv_action"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginEnd="15dp"
-        android:background="@drawable/btn_task_action_go_finish"
-        android:gravity="center"
-        android:text="@string/task_action_go_finish"
-        android:textSize="12sp"
-        app:layout_constraintBottom_toBottomOf="@id/v_reward_list"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="@id/v_reward_list" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 58
module/roomtask/src/main/res/layout/stub_aladdin_close.xml

@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/v_stub_top"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <androidx.appcompat.widget.AppCompatImageView
-        android:id="@+id/iv_top_bg"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:src="@drawable/bg_task_aladdin_close"
-        app:layout_constraintDimensionRatio="750:827"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <androidx.appcompat.widget.AppCompatImageView
-        android:id="@+id/iv_title"
-        android:layout_width="0dp"
-        android:layout_height="64dp"
-        android:layout_marginStart="20dp"
-        android:layout_marginEnd="20dp"
-        android:scaleType="fitCenter"
-        android:src="@drawable/ic_aladdin_room_task_title"
-        app:layout_constraintBottom_toBottomOf="@id/iv_top_bg"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="@id/iv_top_bg"
-        app:layout_constraintVertical_bias="0.35" />
-
-    <com.adealink.weparty.commonui.widget.AutoMarqueeTextView
-        android:id="@+id/tv_task_tips"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="50dp"
-        android:layout_marginEnd="50dp"
-        android:layout_marginBottom="25dp"
-        android:background="@drawable/tv_task_aladdin_lock_bg"
-        android:ellipsize="marquee"
-        android:gravity="center"
-        android:paddingStart="17dp"
-        android:paddingTop="8dp"
-        android:paddingEnd="17dp"
-        android:paddingBottom="8dp"
-        android:singleLine="true"
-        android:text="@string/task_aladdin_close_tips"
-        android:textColor="@color/color_fffff9cf"
-        android:textSize="14sp"
-        app:drawableStartCompat="@drawable/ic_task_aladdin_lock"
-        app:layout_constrainedWidth="true"
-        app:layout_constraintBottom_toTopOf="@+id/iv_title"
-        app:layout_constraintEnd_toEndOf="@id/iv_top_bg"
-        app:layout_constraintStart_toStartOf="@id/iv_top_bg"
-        app:layout_constraintTop_toTopOf="@id/iv_top_bg"
-        app:layout_constraintVertical_bias="1" />
-
-</androidx.constraintlayout.widget.ConstraintLayout>

Vissa filer visades inte eftersom för många filer har ändrats