From b1ab0167098da320eefd28e4ede7d8c92cfe8355 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Tue, 18 Nov 2025 14:48:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=94=E5=9B=9E=E9=94=AE=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/gamedog/vididin/App.kt | 4 +- .../com/gamedog/vididin/main/MainActivity.kt | 32 ++++++-------- .../com/gamedog/vididin/main/MainViewModel.kt | 13 ++++++ .../vididin/main/fragments/HomeFragment.kt | 24 ++--------- .../vididin/main/fragments/MineFragment.kt | 2 +- .../widget/loopViewpager/LoopPagerAdapter.kt | 22 ++++++++++ app/src/main/res/values/strings.xml | 1 + core/architecture/build.gradle | 4 +- .../java/com/ama/core/architecture/BaseApp.kt | 42 +++++++++++++++++++ .../appBase/AppViewsEmptyViewModelActivity.kt | 2 +- .../AppViewsEmptyViewModelDialogFragment.kt | 2 +- .../appBase/AppViewsEmptyViewModelFragment.kt | 2 +- .../base/views/BaseViewsActivity.kt | 6 +-- .../base/views/BaseViewsDialogFragment.kt | 6 +-- .../base/views/BaseViewsFragment.kt | 6 +-- .../com/ama/core/architecture/ext/ToastExt.kt | 17 ++++++++ .../architecture/interfaces/ViewModelOwner.kt | 2 +- .../util/UiStateMapChangedCollect.kt | 4 +- .../util/state/DefaultStateEmptyView.kt | 2 +- .../util/state/DefaultStateErrorView.kt | 2 +- .../util/state/DefaultStateLoadingView.kt | 2 +- ...w_state_empty.xml => view_state_empty.xml} | 0 ...w_state_error.xml => view_state_error.xml} | 0 ...ate_loading.xml => view_state_loading.xml} | 0 gradle/libs.versions.toml | 8 +++- 25 files changed, 142 insertions(+), 63 deletions(-) create mode 100644 app/src/main/java/com/gamedog/vididin/widget/loopViewpager/LoopPagerAdapter.kt create mode 100644 core/architecture/src/main/java/com/ama/core/architecture/BaseApp.kt create mode 100644 core/architecture/src/main/java/com/ama/core/architecture/ext/ToastExt.kt rename core/architecture/src/main/res/layout/{douyin_core_designsystem_view_state_empty.xml => view_state_empty.xml} (100%) rename core/architecture/src/main/res/layout/{douyin_core_designsystem_view_state_error.xml => view_state_error.xml} (100%) rename core/architecture/src/main/res/layout/{douyin_core_designsystem_view_state_loading.xml => view_state_loading.xml} (100%) diff --git a/app/src/main/java/com/gamedog/vididin/App.kt b/app/src/main/java/com/gamedog/vididin/App.kt index 08560ae..f2511ec 100644 --- a/app/src/main/java/com/gamedog/vididin/App.kt +++ b/app/src/main/java/com/gamedog/vididin/App.kt @@ -1,8 +1,8 @@ package com.gamedog.vididin -import android.app.Application +import com.ama.core.architecture.BaseApp import dagger.hilt.android.HiltAndroidApp @HiltAndroidApp -class App : Application() \ No newline at end of file +class App : BaseApp() \ No newline at end of file diff --git a/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt b/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt index 8e21d31..df80fc3 100644 --- a/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt @@ -2,7 +2,6 @@ package com.gamedog.vididin.main import com.ama.core.common.util.asSafe -import androidx.activity.OnBackPressedCallback import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.fragment.app.Fragment @@ -10,15 +9,17 @@ import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager.FragmentLifecycleCallbacks import androidx.viewpager2.widget.ViewPager2 import android.view.LayoutInflater +import androidx.activity.addCallback import androidx.activity.viewModels import com.ama.core.architecture.appBase.AppViewsActivity import com.ama.core.architecture.appBase.OnFragmentBackgroundListener +import com.ama.core.architecture.ext.toast import com.ama.core.architecture.util.bindViewPager2 import com.ama.core.architecture.util.setCommonNavigator import com.ama.core.architecture.util.setDataOrAdapter +import com.gamedog.vididin.R import com.gamedog.vididin.adapter.MainTabsAdapter import com.gamedog.vididin.adapter.MainViewPagerAdapter -import com.gamedog.vididin.main.interfaces.OnSwitchTabListener import com.gamedog.vididin.main.interfaces.OnTabStyleListener import dagger.hilt.android.AndroidEntryPoint import kotlin.getValue @@ -32,21 +33,11 @@ import com.gamedog.vididin.main.MainViewModel as ViewModel @AndroidEntryPoint class MainActivity : AppViewsActivity(), OnTabStyleListener { - override val viewModel: ViewModel by viewModels() + override val mViewModel: ViewModel by viewModels() private lateinit var navigatorAdapter: MainTabsAdapter private val fragmentStateAdapter by lazy { MainViewPagerAdapter(this) } - - private val onBackPressedCallback = object : OnBackPressedCallback(true) { - override fun handleOnBackPressed() { - fragmentStateAdapter.getFragmentByIndex(0).asSafe() - ?.onSwitchTab(-1) - - binding.viewPager2.setCurrentItem(0, false) - } - } - override fun inflateViewBinding(inflater: LayoutInflater) = ViewBinding.inflate(inflater) override fun ViewBinding.initWindowInsets() { @@ -76,12 +67,18 @@ class MainActivity : AppViewsActivity(), OnTabS } override fun ViewBinding.initListeners() { - onBackPressedDispatcher.addCallback(this@MainActivity, onBackPressedCallback) + onBackPressedDispatcher.addCallback(this@MainActivity) { + if (mViewModel.canBack) { + finish() + } else { + toast(R.string.close_app_hint) + mViewModel.startCanBackTimer() + } + } viewPager2.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() { override fun onPageSelected(position: Int) { super.onPageSelected(position) - setOnBackPressedCallbackIsEnabled() } }) @@ -102,16 +99,13 @@ class MainActivity : AppViewsActivity(), OnTabS } + override fun ViewBinding.onUiStateCollect(uiState: UiState) { magicIndicator.setDataOrAdapter(uiState.tabs) { navigatorAdapter } viewPager2.setDataOrAdapter(uiState.tabs, Int.MAX_VALUE) { fragmentStateAdapter } } - private fun setOnBackPressedCallbackIsEnabled() { - onBackPressedCallback.isEnabled = binding.viewPager2.currentItem != 0 - } - override fun onResume() { super.onResume() } diff --git a/app/src/main/java/com/gamedog/vididin/main/MainViewModel.kt b/app/src/main/java/com/gamedog/vididin/main/MainViewModel.kt index f5cd565..d1b3404 100644 --- a/app/src/main/java/com/gamedog/vididin/main/MainViewModel.kt +++ b/app/src/main/java/com/gamedog/vididin/main/MainViewModel.kt @@ -1,6 +1,7 @@ package com.gamedog.vididin.main +import android.util.TimeUtils import androidx.lifecycle.viewModelScope import com.ama.core.architecture.appBase.vm.AppViewModel import com.gamedog.vididin.R @@ -8,6 +9,7 @@ import com.gamedog.vididin.beans.MainTabsItem import com.gamedog.vididin.repository.MainRepository import com.gamedog.vididin.repository.MainTabType import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.delay import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch @@ -51,6 +53,17 @@ class MainViewModel @Inject constructor( }.map { UiState(tabs = it) } + + + + var canBack = false + fun startCanBackTimer() { + viewModelScope.launch { + canBack = true + delay(2000) + canBack = false + } + } } diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt index 079bde2..d55765b 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt @@ -2,7 +2,6 @@ package com.gamedog.vididin.main.fragments import android.view.LayoutInflater import android.view.ViewGroup -import androidx.activity.OnBackPressedCallback import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.core.view.updatePadding @@ -27,16 +26,13 @@ import com.gamedog.vididin.main.fragments.home.YoutubeUiState as UiState @AndroidEntryPoint -class HomeFragment : AppViewsFragment(), OnSwitchTabListener, - OnFragmentBackgroundListener { - override val viewModel: ViewModel by viewModels() +class HomeFragment : AppViewsFragment(), OnSwitchTabListener, OnFragmentBackgroundListener { + + override val mViewModel: ViewModel by viewModels() override var isBackgroundBright: Boolean = true - private val onBackPressedCallback = object : OnBackPressedCallback(false) { - override fun handleOnBackPressed() { - } - } + private val mViewPagerAdapter by lazy { HomeFragmentStateAdapter(this) } override fun inflateViewBinding( @@ -59,16 +55,10 @@ class HomeFragment : AppViewsFragment(), OnSwit } override fun ViewBinding.initListeners() { - requireActivity().onBackPressedDispatcher.addCallback( - this@HomeFragment, - onBackPressedCallback - ) - viewPager2.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() { override fun onPageSelected(position: Int) { super.onPageSelected(position) setHomeTabStyle(mViewPagerAdapter.getFragmentByIndex(position)) - setOnBackPressedCallbackIsEnabled() } }) @@ -91,12 +81,10 @@ class HomeFragment : AppViewsFragment(), OnSwit override fun onResume() { super.onResume() - setOnBackPressedCallbackIsEnabled() } override fun onPause() { super.onPause() - setOnBackPressedCallbackIsEnabled() } override fun onSwitchTab(index: Int, smoothScroll: Boolean) { @@ -108,10 +96,6 @@ class HomeFragment : AppViewsFragment(), OnSwit } - private fun setOnBackPressedCallbackIsEnabled() { - onBackPressedCallback.isEnabled = - isResumed && binding?.viewPager2?.currentItem != mViewPagerAdapter.itemCount - 1 - } private fun setHomeTabStyle(f: Fragment?) { isBackgroundBright = f.asSafe()?.isBackgroundBright ?: return diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/MineFragment.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/MineFragment.kt index 601bdcb..72400ab 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/MineFragment.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/MineFragment.kt @@ -20,7 +20,7 @@ import com.gamedog.vididin.main.fragments.mine.MineViewModel as ViewModel @AndroidEntryPoint class MineFragment : AppViewsFragment(), OnFragmentBackgroundListener { - override val viewModel: ViewModel by viewModels() + override val mViewModel: ViewModel by viewModels() override var isBackgroundBright: Boolean = true diff --git a/app/src/main/java/com/gamedog/vididin/widget/loopViewpager/LoopPagerAdapter.kt b/app/src/main/java/com/gamedog/vididin/widget/loopViewpager/LoopPagerAdapter.kt new file mode 100644 index 0000000..a1d6a82 --- /dev/null +++ b/app/src/main/java/com/gamedog/vididin/widget/loopViewpager/LoopPagerAdapter.kt @@ -0,0 +1,22 @@ +package com.gamedog.vididin.widget.loopViewpager + +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentActivity +import androidx.viewpager2.adapter.FragmentStateAdapter + +class LoopPagerAdapter( + private val activity: FragmentActivity, + private val dataList: List, + private val fragmentCreatorFun: (List, Int) -> Fragment // 修改点1:传入整个数据列表和真实位置, 接收一个创建Fragment的lambda,传入数据和在ViewPager中的真实位置 +) : FragmentStateAdapter(activity) { + + private val mRealPageCount = 3 + + override fun getItemCount(): Int = Int.MAX_VALUE + + override fun createFragment(position: Int): Fragment { + val realPosition = position % mRealPageCount + return fragmentCreatorFun(dataList, realPosition) + } + +} \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 15fb872..718477b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -7,4 +7,5 @@ Message Mine Friend + Press again to close app \ No newline at end of file diff --git a/core/architecture/build.gradle b/core/architecture/build.gradle index 66c2427..7839ffd 100644 --- a/core/architecture/build.gradle +++ b/core/architecture/build.gradle @@ -15,7 +15,6 @@ dependencies { api(project(":core:common")) api(project(":core:designsystem")) api(project(":core:model")) - api 'com.google.code.gson:gson:2.10.1' api(libs.material) api(libs.appcompat) api(libs.lifecycle.viewmodel.ktx) @@ -26,6 +25,9 @@ dependencies { api(libs.glide) api(libs.okhttp.logging) api(libs.kotlinx.serialization.json) + //api(libs.multiDex) + //api(libs.gson) + api 'com.google.code.gson:gson:2.13.2' implementation(libs.startup) implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.8.22' diff --git a/core/architecture/src/main/java/com/ama/core/architecture/BaseApp.kt b/core/architecture/src/main/java/com/ama/core/architecture/BaseApp.kt new file mode 100644 index 0000000..9346a4a --- /dev/null +++ b/core/architecture/src/main/java/com/ama/core/architecture/BaseApp.kt @@ -0,0 +1,42 @@ +package com.ama.core.architecture + + +import android.app.Activity +import android.app.Application +import android.content.Context +import android.content.res.Configuration +import java.lang.ref.WeakReference + +abstract class BaseApp : Application() { + + companion object { + private var currentActivity: WeakReference? = null + + fun setCurrentActivity(activity: Activity?) { + currentActivity = if (activity == null) null else WeakReference(activity) + } + + fun getCurrentActivity(): Activity? { + return currentActivity?.get() + } + private lateinit var instance: BaseApp + fun appContext(): Context = instance + } + + + + override fun onCreate() { + super.onCreate() + instance = this + } + + override fun onTerminate() { + super.onTerminate() + } + + // 系统资源配置发生更改回调,例如主题模式,需要重新刷新多语言 + override fun onConfigurationChanged(newConfig: Configuration) { + super.onConfigurationChanged(newConfig) + } + +} \ No newline at end of file diff --git a/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelActivity.kt b/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelActivity.kt index 20496f9..8fc2ced 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelActivity.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelActivity.kt @@ -8,7 +8,7 @@ import com.ama.core.architecture.empty.EmptyViewModel abstract class AppViewsEmptyViewModelActivity : AppViewsActivity() { - override val viewModel: EmptyViewModel by viewModels() + override val mViewModel: EmptyViewModel by viewModels() override fun Binding.onUiStateCollect(uiState: EmptyUiState) { } diff --git a/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelDialogFragment.kt b/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelDialogFragment.kt index 7618a96..d2fdee9 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelDialogFragment.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelDialogFragment.kt @@ -8,7 +8,7 @@ import com.ama.core.architecture.empty.EmptyViewModel abstract class AppViewsEmptyViewModelDialogFragment : AppViewsDialogFragment() { - override val viewModel: EmptyViewModel by viewModels() + override val mViewModel: EmptyViewModel by viewModels() override fun Binding.onUiStateCollect(uiState: EmptyUiState) { } diff --git a/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelFragment.kt b/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelFragment.kt index f6baa31..eb47973 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelFragment.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/appBase/AppViewsEmptyViewModelFragment.kt @@ -8,7 +8,7 @@ import com.ama.core.architecture.empty.EmptyViewModel abstract class AppViewsEmptyViewModelFragment : AppViewsFragment() { - override val viewModel: EmptyViewModel by viewModels() + override val mViewModel: EmptyViewModel by viewModels() override fun Binding.onUiStateCollect(uiState: EmptyUiState) { } diff --git a/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsActivity.kt b/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsActivity.kt index 8899af0..e85275d 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsActivity.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsActivity.kt @@ -72,7 +72,7 @@ abstract class BaseViewsActivity onUiStateCollect(uiState) @@ -80,13 +80,13 @@ abstract class BaseViewsActivity + mViewModel.uiState.flowWithLifecycle(viewLifecycleOwner.lifecycle).collect { uiState -> onUiStateCollect(uiState) } } // 初始化Message收集 // -说明:使用Activity的lifecycleScope、lifecycle会收集多次,所以不能在此使用,也不能覆盖此实现。 messageCollector.initCollect( - viewModel.messageController, + mViewModel.messageController, viewLifecycleOwner.lifecycleScope, viewLifecycleOwner.lifecycle, ) // 初始化LoadStateUiState收集 initLoadStateUiStateCollect( - viewModel, + mViewModel, viewLifecycleOwner.lifecycleScope, viewLifecycleOwner.lifecycle ) diff --git a/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsFragment.kt b/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsFragment.kt index 4a77e84..90c6ad1 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsFragment.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/base/views/BaseViewsFragment.kt @@ -118,21 +118,21 @@ abstract class BaseViewsFragment + mViewModel.uiState.flowWithLifecycle(viewLifecycleOwner.lifecycle).collect { uiState -> onUiStateCollect(uiState) } } // 初始化Message收集 // -说明:使用Activity的lifecycleScope、lifecycle会收集多次,所以不能在此使用,也不能覆盖此实现。 messageCollector.initCollect( - viewModel.messageController, + mViewModel.messageController, viewLifecycleOwner.lifecycleScope, viewLifecycleOwner.lifecycle, ) // 初始化LoadStateUiState收集 initLoadStateUiStateCollect( - viewModel, + mViewModel, viewLifecycleOwner.lifecycleScope, viewLifecycleOwner.lifecycle ) diff --git a/core/architecture/src/main/java/com/ama/core/architecture/ext/ToastExt.kt b/core/architecture/src/main/java/com/ama/core/architecture/ext/ToastExt.kt new file mode 100644 index 0000000..5a06465 --- /dev/null +++ b/core/architecture/src/main/java/com/ama/core/architecture/ext/ToastExt.kt @@ -0,0 +1,17 @@ +package com.ama.core.architecture.ext + +import android.app.Activity +import android.view.View +import android.widget.Toast +import androidx.fragment.app.Fragment +import com.ama.core.architecture.BaseApp + + +private fun toast(strRes: Int): Unit { + Toast.makeText(BaseApp.appContext(), strRes, Toast.LENGTH_SHORT).show() +} + + +fun View.toast(strRes: Int): Unit = toast(strRes = strRes) +fun Fragment.toast(strRes: Int): Unit = toast(strRes = strRes) +fun Activity.toast(strRes: Int): Unit = toast(strRes = strRes) \ No newline at end of file diff --git a/core/architecture/src/main/java/com/ama/core/architecture/interfaces/ViewModelOwner.kt b/core/architecture/src/main/java/com/ama/core/architecture/interfaces/ViewModelOwner.kt index 730e259..0f01872 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/interfaces/ViewModelOwner.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/interfaces/ViewModelOwner.kt @@ -4,5 +4,5 @@ import com.ama.core.architecture.base.BaseViewModel interface ViewModelOwner> { - val viewModel: ViewModel + val mViewModel: ViewModel } \ No newline at end of file diff --git a/core/architecture/src/main/java/com/ama/core/architecture/util/UiStateMapChangedCollect.kt b/core/architecture/src/main/java/com/ama/core/architecture/util/UiStateMapChangedCollect.kt index d1d28f6..4761c9f 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/util/UiStateMapChangedCollect.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/util/UiStateMapChangedCollect.kt @@ -19,7 +19,7 @@ fun , Value> BaseViewsFragment flowCollector: FlowCollector ) { viewLifecycleOwner.lifecycleScope.launch { - viewModel.uiState.map { mapFun(it) }.distinctUntilChanged() + mViewModel.uiState.map { mapFun(it) }.distinctUntilChanged() .flowWithLifecycle(viewLifecycleOwner.lifecycle).collect(flowCollector) } } @@ -32,7 +32,7 @@ fun , Value> BaseViewsActivity flowCollector: FlowCollector ) { lifecycleScope.launch { - viewModel.uiState.map { mapFun(it) }.distinctUntilChanged() + mViewModel.uiState.map { mapFun(it) }.distinctUntilChanged() .flowWithLifecycle(lifecycle).collect(flowCollector) } } \ No newline at end of file diff --git a/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateEmptyView.kt b/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateEmptyView.kt index 33509b4..421a89f 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateEmptyView.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateEmptyView.kt @@ -10,7 +10,7 @@ class DefaultStateEmptyView : ConstraintLayoutMergeStateBaseView(), StateEmptyVi private val emptyGroup by lazy { root!!.findViewById(R.id.state_empty_group) } - override fun getResId() = R.layout.douyin_core_designsystem_view_state_empty + override fun getResId() = R.layout.view_state_empty override fun setVisible(isVisible: Boolean) { emptyGroup.isVisible = isVisible diff --git a/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateErrorView.kt b/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateErrorView.kt index 7756bb9..403ca8a 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateErrorView.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateErrorView.kt @@ -13,7 +13,7 @@ class DefaultStateErrorView : ConstraintLayoutMergeStateBaseView(), StateErrorVi private val errorRetry by lazy { root!!.findViewById(R.id.state_error_retry) } private val errorDescription by lazy { root!!.findViewById(R.id.state_error_description) } - override fun getResId() = R.layout.douyin_core_designsystem_view_state_error + override fun getResId() = R.layout.view_state_error override fun setVisible(isVisible: Boolean) { errorGroup.isVisible = isVisible diff --git a/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateLoadingView.kt b/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateLoadingView.kt index 075fc02..25b23a5 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateLoadingView.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/util/state/DefaultStateLoadingView.kt @@ -9,7 +9,7 @@ import com.gamedog.vididin.core.designsystem.stateview.state.interfaces.StateLoa class DefaultStateLoadingView : ConstraintLayoutMergeStateBaseView(), StateLoadingView { private val loading by lazy { root!!.findViewById(R.id.state_loading) } - override fun getResId() = R.layout.douyin_core_designsystem_view_state_loading + override fun getResId() = R.layout.view_state_loading override fun setVisible(isVisible: Boolean) { loading.isVisible = isVisible diff --git a/core/architecture/src/main/res/layout/douyin_core_designsystem_view_state_empty.xml b/core/architecture/src/main/res/layout/view_state_empty.xml similarity index 100% rename from core/architecture/src/main/res/layout/douyin_core_designsystem_view_state_empty.xml rename to core/architecture/src/main/res/layout/view_state_empty.xml diff --git a/core/architecture/src/main/res/layout/douyin_core_designsystem_view_state_error.xml b/core/architecture/src/main/res/layout/view_state_error.xml similarity index 100% rename from core/architecture/src/main/res/layout/douyin_core_designsystem_view_state_error.xml rename to core/architecture/src/main/res/layout/view_state_error.xml diff --git a/core/architecture/src/main/res/layout/douyin_core_designsystem_view_state_loading.xml b/core/architecture/src/main/res/layout/view_state_loading.xml similarity index 100% rename from core/architecture/src/main/res/layout/douyin_core_designsystem_view_state_loading.xml rename to core/architecture/src/main/res/layout/view_state_loading.xml diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 14efd9b..bd738d7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -35,9 +35,10 @@ smartRefreshLayout = "3.0.0-alpha" retrofit = "2.11.0" okhttp = "4.12.0" glide = "4.16.0" -gson = "2.9.0" +gsonVer = "2.10.1" testPoint = "0.0.1" spans = "1.1.0" +multiDex = "2.0.1" #================================Plugin相关=================================== agp = "8.10.1" kotlin = "2.1.20" @@ -93,8 +94,11 @@ okhttp-logging = { group = "com.squareup.okhttp3", name = "logging-interceptor", # glide glide = { group = "com.github.bumptech.glide", name = "glide", version.ref = "glide" } +# multiDex +multiDex = { group = "androidx.multidex:multidex", name = "multiDex", version.ref = "multiDex" } + # gson -gson = { group = "com.google.code.gson:gson", name = "gson", version.ref = "gson" } +gson = { group = "com.google.code.gson:gson", name = "gson", version.ref = "gsonVer" } # test-point test-point-annotation = { group = "io.github.zrq1060", name = "test-point-annotation", version.ref = "testPoint" }