修改包名,结构优化

This commit is contained in:
renhaoting 2025-11-04 18:13:20 +08:00
parent 9264a8c8be
commit 5c19a45350
27 changed files with 133 additions and 136 deletions

View File

@ -30,9 +30,10 @@ import com.remax.visualnovel.extension.launchWithRequest
import com.remax.visualnovel.extension.setMargin import com.remax.visualnovel.extension.setMargin
import com.remax.visualnovel.extension.toast import com.remax.visualnovel.extension.toast
import com.remax.visualnovel.manager.nim.NimManager import com.remax.visualnovel.manager.nim.NimManager
import com.remax.visualnovel.ui.chat.call.ChatCallView import com.remax.visualnovel.ui.chat.customui.ChatCallView
import com.remax.visualnovel.ui.chat.setting.model.ChatModelDialog import com.remax.visualnovel.ui.chat.setting.model.ChatModelDialog
import com.remax.visualnovel.ui.chat.ui.HoldToTalkDialog import com.remax.visualnovel.ui.chat.customui.HoldToTalkDialog
import com.remax.visualnovel.ui.chat.customui.InputPanel
import com.remax.visualnovel.utils.RecordHelper import com.remax.visualnovel.utils.RecordHelper
import com.remax.visualnovel.utils.StatusBarUtil3 import com.remax.visualnovel.utils.StatusBarUtil3
import com.remax.visualnovel.utils.setOnKeyboardHeightChangeListener import com.remax.visualnovel.utils.setOnKeyboardHeightChangeListener

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.call package com.remax.visualnovel.ui.chat.customui
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
@ -6,7 +6,6 @@ import android.view.LayoutInflater
import android.widget.LinearLayout import android.widget.LinearLayout
import com.remax.visualnovel.databinding.LayoutChatCallViewBinding import com.remax.visualnovel.databinding.LayoutChatCallViewBinding
class ChatCallView @JvmOverloads constructor( class ChatCallView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
@ -31,7 +30,7 @@ class ChatCallView @JvmOverloads constructor(
private fun setupClickListeners() { fun setupClickListeners() {
with (mBinding) { with (mBinding) {
tvHangUp.setOnClickListener { tvHangUp.setOnClickListener {
mEventListener.onExitCall() mEventListener.onExitCall()

View File

@ -1,12 +1,10 @@
package com.remax.visualnovel.ui.chat package com.remax.visualnovel.ui.chat.customui
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import androidx.appcompat.widget.AppCompatEditText import androidx.appcompat.widget.AppCompatEditText
import com.remax.visualnovel.R import com.remax.visualnovel.R
import com.remax.visualnovel.utils.spannablex.utils.dp import com.remax.visualnovel.utils.spannablex.utils.dp
import com.remax.visualnovel.widget.uitoken.view.UITokenEditView
class ChatEditView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) class ChatEditView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0)
: AppCompatEditText(context, attrs, defStyleAttr) { : AppCompatEditText(context, attrs, defStyleAttr) {

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.ui package com.remax.visualnovel.ui.chat.customui
import android.content.Context import android.content.Context
import android.graphics.Point import android.graphics.Point
@ -8,7 +8,6 @@ import com.remax.visualnovel.R
import com.remax.visualnovel.databinding.DialogHoldToTalkBinding import com.remax.visualnovel.databinding.DialogHoldToTalkBinding
import com.remax.visualnovel.widget.dialoglib.LBindingDialog import com.remax.visualnovel.widget.dialoglib.LBindingDialog
class HoldToTalkDialog(context: Context) : class HoldToTalkDialog(context: Context) :
LBindingDialog<DialogHoldToTalkBinding>(context, DialogHoldToTalkBinding::inflate) { LBindingDialog<DialogHoldToTalkBinding>(context, DialogHoldToTalkBinding::inflate) {

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat package com.remax.visualnovel.ui.chat.customui
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
@ -32,7 +32,7 @@ class InputPanel @JvmOverloads constructor(context: Context, attrs: AttributeSet
init { init {
binding = inflate(ChatInputpanelBinding::inflate) binding = inflate(ChatInputpanelBinding::inflate)
binding.run { with(binding) {
chatPopMenu.setMenuList(mutableListOf( chatPopMenu.setMenuList(mutableListOf(
PopMenuIconView.MenuItem(R.mipmap.chat_ai_talk) { PopMenuIconView.MenuItem(R.mipmap.chat_ai_talk) {
mEventListener.onEnterShortChat() mEventListener.onEnterShortChat()

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat package com.remax.visualnovel.ui.chat.customui
import android.animation.Animator import android.animation.Animator

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.ui package com.remax.visualnovel.ui.chat.setting.customui
import android.content.Context import android.content.Context
@ -16,11 +16,11 @@ import com.remax.visualnovel.entity.response.ChatHistory
import com.remax.visualnovel.entity.response.ChatMode import com.remax.visualnovel.entity.response.ChatMode
import com.remax.visualnovel.entity.response.ChatSound import com.remax.visualnovel.entity.response.ChatSound
import com.remax.visualnovel.extension.showConfirmDialog import com.remax.visualnovel.extension.showConfirmDialog
import com.remax.visualnovel.ui.chat.ui.expandableSelector.ExpandAiModelSelectView import com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.ExpandAiModelSelectView
import com.remax.visualnovel.ui.chat.ui.expandableSelector.ExpandBubbleSelectView import com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.ExpandBubbleSelectView
import com.remax.visualnovel.ui.chat.ui.expandableSelector.ExpandChatModeSelectView import com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.ExpandChatModeSelectView
import com.remax.visualnovel.ui.chat.ui.expandableSelector.ExpandSoundSelectView import com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.ExpandSoundSelectView
import com.remax.visualnovel.ui.chat.ui.expandableSelector.SelectorItem import com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.SelectorItem
import com.remax.visualnovel.widget.imageviewer.utils.activity import com.remax.visualnovel.widget.imageviewer.utils.activity
import java.util.Date import java.util.Date
@ -28,7 +28,7 @@ class ChatSettingView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) { ) : android.widget.LinearLayout(context, attrs, defStyleAttr) {
private var mBinding = LayoutChatMenuViewBinding.inflate(LayoutInflater.from(context), this, true) private var mBinding = LayoutChatMenuViewBinding.inflate(LayoutInflater.from(context), this, true)
@ -108,7 +108,8 @@ class ChatSettingView @JvmOverloads constructor(
setTitleIcon(R.mipmap.setting_ai_model) setTitleIcon(R.mipmap.setting_ai_model)
setItems(items) setItems(items)
selectItem(0) selectItem(0)
setOnEventListener(object : ExpandAiModelSelectView.IEventListener { setOnEventListener(
object : ExpandAiModelSelectView.IEventListener {
override fun onItemSelected( override fun onItemSelected(
position: Int, position: Int,
item: SelectorItem item: SelectorItem
@ -152,7 +153,8 @@ class ChatSettingView @JvmOverloads constructor(
setTitleText(R.string.chat_mode) setTitleText(R.string.chat_mode)
setItems(items) setItems(items)
selectItem(0) selectItem(0)
setOnEventListener(object : ExpandChatModeSelectView.IEventListener { setOnEventListener(
object : ExpandChatModeSelectView.IEventListener {
override fun onItemSelected( override fun onItemSelected(
position: Int, position: Int,
item: ChatMode item: ChatMode
@ -214,7 +216,8 @@ class ChatSettingView @JvmOverloads constructor(
with(mBinding.soundActorSelector) { with(mBinding.soundActorSelector) {
setItems(items) setItems(items)
setEventListener(object : ExpandSoundSelectView.IEventListener { setEventListener(
object : ExpandSoundSelectView.IEventListener {
override fun onItemSelected( override fun onItemSelected(
position: Int, position: Int,
item: ChatSound item: ChatSound
@ -265,7 +268,8 @@ class ChatSettingView @JvmOverloads constructor(
with(mBinding.bubbleSelectView) { with(mBinding.bubbleSelectView) {
setTitleText(R.string.chat_bubble) setTitleText(R.string.chat_bubble)
setItems(items) setItems(items)
setOnEventListener(object : ExpandBubbleSelectView.IEventListener { setOnEventListener(
object : ExpandBubbleSelectView.IEventListener {
override fun onItemSelected( override fun onItemSelected(
position: Int, position: Int,
item: ChatBubble item: ChatBubble

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.ui package com.remax.visualnovel.ui.chat.setting.customui
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
@ -11,7 +11,7 @@ class FontSetView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) { ) : android.widget.LinearLayout(context, attrs, defStyleAttr) {
companion object { companion object {
private const val GAP = 2 private const val GAP = 2

View File

@ -1,11 +1,10 @@
package com.remax.visualnovel.ui.chat.ui package com.remax.visualnovel.ui.chat.setting.customui
import android.content.Context import android.content.Context
import android.graphics.* import android.graphics.*
import android.util.AttributeSet import android.util.AttributeSet
import android.view.MotionEvent import android.view.MotionEvent
import android.view.View
import com.remax.visualnovel.R import com.remax.visualnovel.R
import com.remax.visualnovel.utils.ResUtil import com.remax.visualnovel.utils.ResUtil
import com.remax.visualnovel.utils.spannablex.utils.dp import com.remax.visualnovel.utils.spannablex.utils.dp
@ -17,7 +16,7 @@ class LevelSeekBar @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : View(context, attrs, defStyleAttr) { ) : android.view.View(context, attrs, defStyleAttr) {
private var mTotalLevel = 5 private var mTotalLevel = 5
private var mCurLevel = 2 private var mCurLevel = 2

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.ui package com.remax.visualnovel.ui.chat.setting.customui
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
@ -10,7 +10,7 @@ class MaxNumView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) { ) : android.widget.LinearLayout(context, attrs, defStyleAttr) {
private val mFixedValueList = intArrayOf(200, 400, 600, 1200, 2400) private val mFixedValueList = intArrayOf(200, 400, 600, 1200, 2400)
private var mCurIndex: Int = mFixedValueList.size / 2 private var mCurIndex: Int = mFixedValueList.size / 2

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.ui package com.remax.visualnovel.ui.chat.setting.customui
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
@ -17,9 +17,6 @@ class MyScrollView @JvmOverloads constructor(
child.getDrawingRect(tempRect) child.getDrawingRect(tempRect)
offsetDescendantRectToMyCoords(child, tempRect) offsetDescendantRectToMyCoords(child, tempRect)
val scrollDelta: Int = computeScrollDeltaToGetChildRectOnScreen(tempRect) val scrollDelta: Int = computeScrollDeltaToGetChildRectOnScreen(tempRect)
/*if (scrollDelta != 0) {
scrollBy(0, scrollDelta)
}*/
smoothScrollTo(0, tempRect.top) smoothScrollTo(0, tempRect.top)
} }

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.ui.expandableSelector package com.remax.visualnovel.ui.chat.setting.customui.expandableSelector
import android.animation.Animator import android.animation.Animator
import android.animation.AnimatorListenerAdapter import android.animation.AnimatorListenerAdapter
@ -21,7 +21,7 @@ class ExpandAiModelSelectView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) { ) : android.widget.LinearLayout(context, attrs, defStyleAttr) {
private lateinit var mBinding: LayoutExpandSelectViewBinding private lateinit var mBinding: LayoutExpandSelectViewBinding
@ -181,7 +181,7 @@ class ExpandAiModelSelectView @JvmOverloads constructor(
params.height = value params.height = value
mBinding.itemsContainer.layoutParams = params mBinding.itemsContainer.layoutParams = params
} }
animator.addListener(object : AnimatorListenerAdapter() { animator.addListener(object : android.animation.AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) { override fun onAnimationEnd(animation: Animator) {
mBinding.itemsContainer.visibility = View.GONE mBinding.itemsContainer.visibility = View.GONE
} }

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.ui.expandableSelector package com.remax.visualnovel.ui.chat.setting.customui.expandableSelector
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
@ -17,13 +17,12 @@ import com.remax.visualnovel.R
import com.remax.visualnovel.databinding.LayoutItemSettingBackgroundBinding import com.remax.visualnovel.databinding.LayoutItemSettingBackgroundBinding
import com.remax.visualnovel.databinding.LayoutSettingBgSubViewBinding import com.remax.visualnovel.databinding.LayoutSettingBgSubViewBinding
import com.remax.visualnovel.entity.response.ChatBackground import com.remax.visualnovel.entity.response.ChatBackground
import com.remax.visualnovel.extension.glide.load
class ExpandBackgroundSubView @JvmOverloads constructor( class ExpandBackgroundSubView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) { ) : android.widget.LinearLayout(context, attrs, defStyleAttr) {
private lateinit var items: List<ChatBackground> private lateinit var items: List<ChatBackground>
private var mBinding: LayoutSettingBgSubViewBinding private var mBinding: LayoutSettingBgSubViewBinding

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.ui.expandableSelector package com.remax.visualnovel.ui.chat.setting.customui.expandableSelector
import android.animation.Animator import android.animation.Animator
import android.animation.AnimatorListenerAdapter import android.animation.AnimatorListenerAdapter
@ -12,14 +12,13 @@ import android.widget.LinearLayout
import com.remax.visualnovel.R import com.remax.visualnovel.R
import com.remax.visualnovel.databinding.LayoutExpandSelectViewBinding import com.remax.visualnovel.databinding.LayoutExpandSelectViewBinding
import com.remax.visualnovel.entity.response.ChatBubble import com.remax.visualnovel.entity.response.ChatBubble
import com.remax.visualnovel.entity.response.ChatSound
class ExpandBubbleSelectView @JvmOverloads constructor( class ExpandBubbleSelectView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) { ) : android.widget.LinearLayout(context, attrs, defStyleAttr) {
private lateinit var mBinding: LayoutExpandSelectViewBinding private lateinit var mBinding: LayoutExpandSelectViewBinding
private lateinit var mExpandSubView : ExpandBubbleSubView private lateinit var mExpandSubView : ExpandBubbleSubView
@ -110,7 +109,7 @@ class ExpandBubbleSelectView @JvmOverloads constructor(
params.height = value params.height = value
mBinding.itemsContainer.layoutParams = params mBinding.itemsContainer.layoutParams = params
} }
animator.addListener(object : AnimatorListenerAdapter() { animator.addListener(object : android.animation.AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) { override fun onAnimationEnd(animation: Animator) {
mBinding.itemsContainer.visibility = GONE mBinding.itemsContainer.visibility = GONE
} }

View File

@ -1,10 +1,9 @@
package com.remax.visualnovel.ui.chat.ui.expandableSelector package com.remax.visualnovel.ui.chat.setting.customui.expandableSelector
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.view.LayoutInflater import android.view.LayoutInflater
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.drake.brv.annotaion.DividerOrientation import com.drake.brv.annotaion.DividerOrientation
import com.drake.brv.utils.bindingAdapter import com.drake.brv.utils.bindingAdapter
@ -16,14 +15,13 @@ import com.remax.visualnovel.R
import com.remax.visualnovel.databinding.LayoutItemSettingBubbleBinding import com.remax.visualnovel.databinding.LayoutItemSettingBubbleBinding
import com.remax.visualnovel.databinding.LayoutSettingBubbleSubViewBinding import com.remax.visualnovel.databinding.LayoutSettingBubbleSubViewBinding
import com.remax.visualnovel.entity.response.ChatBubble import com.remax.visualnovel.entity.response.ChatBubble
import com.remax.visualnovel.extension.glide.load
class ExpandBubbleSubView @JvmOverloads constructor( class ExpandBubbleSubView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) { ) : android.widget.LinearLayout(context, attrs, defStyleAttr) {
private lateinit var items: List<ChatBubble> private lateinit var items: List<ChatBubble>
private var mBinding: LayoutSettingBubbleSubViewBinding private var mBinding: LayoutSettingBubbleSubViewBinding

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.ui.expandableSelector package com.remax.visualnovel.ui.chat.setting.customui.expandableSelector
import android.animation.Animator import android.animation.Animator
import android.animation.AnimatorListenerAdapter import android.animation.AnimatorListenerAdapter
@ -22,7 +22,7 @@ class ExpandChatModeSelectView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) { ) : android.widget.LinearLayout(context, attrs, defStyleAttr) {
private lateinit var mBinding: LayoutExpandSelectViewBinding private lateinit var mBinding: LayoutExpandSelectViewBinding
@ -176,7 +176,7 @@ class ExpandChatModeSelectView @JvmOverloads constructor(
params.height = value params.height = value
mBinding.itemsContainer.layoutParams = params mBinding.itemsContainer.layoutParams = params
} }
animator.addListener(object : AnimatorListenerAdapter() { animator.addListener(object : android.animation.AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) { override fun onAnimationEnd(animation: Animator) {
mBinding.itemsContainer.visibility = GONE mBinding.itemsContainer.visibility = GONE
} }

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.ui.expandableSelector package com.remax.visualnovel.ui.chat.setting.customui.expandableSelector
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView
import com.drake.brv.annotaion.DividerOrientation import com.drake.brv.annotaion.DividerOrientation
import com.drake.brv.utils.bindingAdapter import com.drake.brv.utils.bindingAdapter
import com.drake.brv.utils.divider import com.drake.brv.utils.divider
import com.drake.brv.utils.grid
import com.drake.brv.utils.linear import com.drake.brv.utils.linear
import com.drake.brv.utils.models import com.drake.brv.utils.models
import com.drake.brv.utils.setup import com.drake.brv.utils.setup
@ -24,7 +23,7 @@ class ExpandHistorySubView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) { ) : android.widget.LinearLayout(context, attrs, defStyleAttr) {
private lateinit var items: List<ChatHistory> private lateinit var items: List<ChatHistory>
private var mBinding: LayoutSettingBgSubViewBinding private var mBinding: LayoutSettingBgSubViewBinding

View File

@ -1,7 +1,7 @@
package com.remax.visualnovel.ui.chat.ui.expandableSelector package com.remax.visualnovel.ui.chat.setting.customui.expandableSelector
import android.animation.Animator import android.animation.Animator
import android.animation.AnimatorListenerAdapter
import android.animation.ObjectAnimator import android.animation.ObjectAnimator
import android.animation.ValueAnimator import android.animation.ValueAnimator
import android.content.Context import android.content.Context
@ -15,12 +15,11 @@ import com.remax.visualnovel.databinding.LayoutExpandSelectViewBinding
import com.remax.visualnovel.entity.response.ChatSound import com.remax.visualnovel.entity.response.ChatSound
class ExpandSoundSelectView @JvmOverloads constructor( class ExpandSoundSelectView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) { ) : android.widget.LinearLayout(context, attrs, defStyleAttr) {
private lateinit var mBinding: LayoutExpandSelectViewBinding private lateinit var mBinding: LayoutExpandSelectViewBinding
private lateinit var mExpandView : ExpandSoundSubView private lateinit var mExpandView : ExpandSoundSubView
private var isExpanded = false private var isExpanded = false
@ -121,7 +120,7 @@ class ExpandSoundSelectView @JvmOverloads constructor(
params.height = value params.height = value
mBinding.itemsContainer.layoutParams = params mBinding.itemsContainer.layoutParams = params
} }
animator.addListener(object : AnimatorListenerAdapter() { animator.addListener(object : android.animation.AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) { override fun onAnimationEnd(animation: Animator) {
mBinding.itemsContainer.visibility = View.GONE mBinding.itemsContainer.visibility = View.GONE
} }

View File

@ -1,9 +1,8 @@
package com.remax.visualnovel.ui.chat.ui.expandableSelector package com.remax.visualnovel.ui.chat.setting.customui.expandableSelector
import android.content.Context import android.content.Context
import android.util.AttributeSet import android.util.AttributeSet
import android.view.LayoutInflater import android.view.LayoutInflater
import android.widget.LinearLayout
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.drake.brv.annotaion.DividerOrientation import com.drake.brv.annotaion.DividerOrientation
import com.drake.brv.utils.bindingAdapter import com.drake.brv.utils.bindingAdapter
@ -27,7 +26,7 @@ class ExpandSoundSubView @JvmOverloads constructor(
context: Context, context: Context,
attrs: AttributeSet? = null, attrs: AttributeSet? = null,
defStyleAttr: Int = 0 defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) { ) : android.widget.LinearLayout(context, attrs, defStyleAttr) {
private lateinit var items: List<ChatSound> private lateinit var items: List<ChatSound>
private var mBinding: LayoutSettingSoundSubViewBinding private var mBinding: LayoutSettingSoundSubViewBinding

View File

@ -1,4 +1,4 @@
package com.remax.visualnovel.ui.chat.ui.expandableSelector package com.remax.visualnovel.ui.chat.setting.customui.expandableSelector
data class SelectorItem( data class SelectorItem(
val name: String, val name: String,

View File

@ -53,7 +53,7 @@
app:layout_constraintBottom_toTopOf="@+id/input_panel" app:layout_constraintBottom_toTopOf="@+id/input_panel"
/> />
<com.remax.visualnovel.ui.chat.InputPanel <com.remax.visualnovel.ui.chat.customui.InputPanel
android:id="@+id/input_panel" android:id="@+id/input_panel"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -63,7 +63,7 @@
/> />
</com.remax.visualnovel.widget.uitoken.view.UITokenConstraintLayout> </com.remax.visualnovel.widget.uitoken.view.UITokenConstraintLayout>
<com.remax.visualnovel.ui.chat.call.ChatCallView <com.remax.visualnovel.ui.chat.customui.ChatCallView
android:id="@+id/call_view" android:id="@+id/call_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -84,7 +84,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="end" android:layout_gravity="end"
android:orientation="vertical"> android:orientation="vertical">
<com.remax.visualnovel.ui.chat.ui.ChatSettingView <com.remax.visualnovel.ui.chat.setting.customui.ChatSettingView
android:id="@+id/setting_view" android:id="@+id/setting_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"

View File

@ -6,7 +6,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="@dimen/dp_20" > android:padding="@dimen/dp_20" >
<com.remax.visualnovel.ui.chat.PopMenuIconView <com.remax.visualnovel.ui.chat.customui.PopMenuIconView
android:id="@+id/chat_pop_menu" android:id="@+id/chat_pop_menu"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -75,7 +75,7 @@
<com.remax.visualnovel.ui.chat.ChatEditView <com.remax.visualnovel.ui.chat.customui.ChatEditView
android:id="@+id/chat_edit_view" android:id="@+id/chat_edit_view"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout <com.remax.visualnovel.widget.uitoken.view.UITokenLinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -13,18 +13,24 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
/> />
<com.remax.visualnovel.widget.uitoken.view.UITokenTextView <com.remax.visualnovel.ui.main.history.customui.RoundAnimTabLayout
android:id="@+id/tvTitle" android:id="@+id/tab_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="100dp" android:layout_marginTop="@dimen/dp_10"
android:gravity="center" app:tabCornerRadius="@dimen/dp_20"
android:layout_marginStart="@dimen/nav_title_margin" app:textColorNormal="@color/gray6"
android:layout_marginEnd="@dimen/nav_title_margin" app:textColorSelected="@color/white"
android:ellipsize="end" app:textSize="@dimen/sp_14"
android:maxLines="1" app:iconSize="@dimen/dp_20"
app:textColorToken="@string/color_txt_primary_normal" app:animationDuration="300"
app:textToken="@string/txt_title_m" app:tabSpacing="@dimen/dp_8"
android:text="History"
/> />
</LinearLayout>
<androidx.viewpager2.widget.ViewPager2
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginTop="@dimen/dp_10"
/>
</com.remax.visualnovel.widget.uitoken.view.UITokenLinearLayout>

View File

@ -44,7 +44,7 @@
</com.remax.visualnovel.widget.uitoken.view.UITokenFrameLayout> </com.remax.visualnovel.widget.uitoken.view.UITokenFrameLayout>
<com.remax.visualnovel.ui.chat.ui.MyScrollView <com.remax.visualnovel.ui.chat.setting.customui.MyScrollView
android:id="@+id/scroll_view" android:id="@+id/scroll_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -75,7 +75,7 @@
android:orientation="vertical" android:orientation="vertical"
android:layout_marginTop="10dp" > android:layout_marginTop="10dp" >
<com.remax.visualnovel.ui.chat.ui.expandableSelector.ExpandAiModelSelectView <com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.ExpandAiModelSelectView
android:id="@+id/ai_model_selector" android:id="@+id/ai_model_selector"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -156,7 +156,7 @@
android:layout_marginTop="10dp" > android:layout_marginTop="10dp" >
<!-- sound selector --> <!-- sound selector -->
<com.remax.visualnovel.ui.chat.ui.expandableSelector.ExpandSoundSelectView <com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.ExpandSoundSelectView
android:id="@+id/sound_actor_selector" android:id="@+id/sound_actor_selector"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -229,7 +229,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:layout_marginTop="10dp" > android:layout_marginTop="10dp" >
<com.remax.visualnovel.ui.chat.ui.MaxNumView <com.remax.visualnovel.ui.chat.setting.customui.MaxNumView
android:id="@+id/max_response_num_view" android:id="@+id/max_response_num_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -252,21 +252,21 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:layout_marginTop="10dp" > android:layout_marginTop="10dp" >
<com.remax.visualnovel.ui.chat.ui.FontSetView <com.remax.visualnovel.ui.chat.setting.customui.FontSetView
android:id="@+id/font_set_view" android:id="@+id/font_set_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="@dimen/dp_5" android:padding="@dimen/dp_5"
/> />
<com.remax.visualnovel.ui.chat.ui.expandableSelector.ExpandChatModeSelectView <com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.ExpandChatModeSelectView
android:id="@+id/chat_model_selector" android:id="@+id/chat_model_selector"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5" android:layout_marginTop="@dimen/dp_5"
/> />
<com.remax.visualnovel.ui.chat.ui.expandableSelector.ExpandBubbleSelectView <com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.ExpandBubbleSelectView
android:id="@+id/bubble_select_view" android:id="@+id/bubble_select_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -290,7 +290,7 @@
android:orientation="vertical" android:orientation="vertical"
android:layout_marginTop="10dp" > android:layout_marginTop="10dp" >
<com.remax.visualnovel.ui.chat.ui.expandableSelector.ExpandBackgroundSubView <com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.ExpandBackgroundSubView
android:id="@+id/background_selector_view" android:id="@+id/background_selector_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -312,7 +312,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:layout_marginTop="10dp" > android:layout_marginTop="10dp" >
<com.remax.visualnovel.ui.chat.ui.expandableSelector.ExpandHistorySubView <com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.ExpandHistorySubView
android:id="@+id/history_select_view" android:id="@+id/history_select_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -349,7 +349,7 @@
</com.remax.visualnovel.widget.uitoken.view.UITokenLinearLayout> </com.remax.visualnovel.widget.uitoken.view.UITokenLinearLayout>
</com.remax.visualnovel.ui.chat.ui.MyScrollView> </com.remax.visualnovel.ui.chat.setting.customui.MyScrollView>
</com.remax.visualnovel.widget.uitoken.view.UITokenRelativeLayout> </com.remax.visualnovel.widget.uitoken.view.UITokenRelativeLayout>

View File

@ -51,7 +51,7 @@
android:orientation="vertical" android:orientation="vertical"
android:layout_marginTop="@dimen/dp_2" android:layout_marginTop="@dimen/dp_2"
android:visibility="gone"> android:visibility="gone">
<com.remax.visualnovel.ui.chat.ui.expandableSelector.ExpandSoundSubView <com.remax.visualnovel.ui.chat.setting.customui.expandableSelector.ExpandSoundSubView
android:id="@+id/sound_sub_view" android:id="@+id/sound_sub_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@ -73,7 +73,7 @@
android:src="@mipmap/setting_font_plus"/> android:src="@mipmap/setting_font_plus"/>
<com.remax.visualnovel.ui.chat.ui.LevelSeekBar <com.remax.visualnovel.ui.chat.setting.customui.LevelSeekBar
android:id="@+id/level_seekbar" android:id="@+id/level_seekbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_20" android:layout_height="@dimen/dp_20"

View File

@ -45,6 +45,7 @@ org.gradle.workers.max=16
# business related # business related
KEYSTORE_PWD=visualNoval2025_remax_pw KEYSTORE_PWD=visualNoval2025_remax_pw
KEY_ALIAS=visualNoval_alias_remax KEY_ALIAS=visualNoval_alias_remax