This commit is contained in:
ocean 2024-06-17 13:57:29 +08:00
parent 08c7dd3ccc
commit 948355b16c
18 changed files with 241 additions and 98 deletions

View File

@ -8,6 +8,7 @@ import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.isActive
import kotlinx.coroutines.selects.select
import melody.offline.music.App
import melody.offline.music.R
import melody.offline.music.adapter.LikedSongsAdapter
import melody.offline.music.ads.AdPlacement
import melody.offline.music.ads.LolAdWrapper
@ -94,6 +95,14 @@ class MoLikedSongsActivity : MoBaseActivity(), LikedSongsAdapter.OnItemFavorites
if (adapter != null) {
adapter?.notifyDataSetChanged()
}
LolAdWrapper.shared.loadAdShowNativeAd(
this,
AdPlacement.NATIVE_ME_PAGE_LIST,
binding.frameAd,
R.layout.ad_layout_admob_banner,
R.layout.ad_layout_max_banner
)
}
private fun initView() {

View File

@ -8,6 +8,7 @@ import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.isActive
import kotlinx.coroutines.selects.select
import melody.offline.music.App
import melody.offline.music.R
import melody.offline.music.adapter.OfflineSongsAdapter
import melody.offline.music.ads.AdPlacement
import melody.offline.music.ads.LolAdWrapper
@ -81,6 +82,14 @@ class MoOfflineSongsActivity : MoBaseActivity() {
if (adapter != null) {
adapter?.notifyDataSetChanged()
}
LolAdWrapper.shared.loadAdShowNativeAd(
this,
AdPlacement.NATIVE_ME_PAGE_LIST,
binding.frameAd,
R.layout.ad_layout_admob_banner,
R.layout.ad_layout_max_banner
)
}
private fun initView() {

View File

@ -17,6 +17,7 @@ import melody.offline.music.App
import melody.offline.music.R
import melody.offline.music.sp.AppStore
import melody.offline.music.util.AnalysisUtil
import melody.offline.music.util.LogTag
class LolAdWrapper {
@ -107,9 +108,9 @@ class LolAdWrapper {
App.app.isAdShowing.set(true)
listener?.shown()
AnalysisUtil.placeToLogEvent(placement, AnalysisAdState.AD_SHOWN)
App.app.lastAdDisplayTime.set(System.currentTimeMillis())
if (placement != AdPlacement.INST_SPLASH) {
App.app.lastAdDisplayTime.set(System.currentTimeMillis())
}
}
override fun onAfterClickClosed() {}

View File

@ -55,7 +55,7 @@ object Constants {
[
"admob_inst",
{
"ca-app-pub-3940256099942544/1033173712": 100
"ca-app-pub-1371732277241593/2206084561": 100
}
]
],
@ -98,7 +98,7 @@ object Constants {
[
"admob_inst",
{
"ca-app-pub-3940256099942544/1033173712": 100
"ca-app-pub-1371732277241593/4400663750": 100
}
]
],
@ -117,7 +117,7 @@ object Constants {
[
"admob_native",
{
"ca-app-pub-3940256099942544/2247696110": 100
"ca-app-pub-1371732277241593/8583451341": 100
}
]
],
@ -187,7 +187,7 @@ object Constants {
[
"admob_inst",
{
"ca-app-pub-3940256099942544/1033173712": 100
"ca-app-pub-1371732277241593/3422963317": 100
}
]
],
@ -230,7 +230,7 @@ object Constants {
[
"admob_inst",
{
"ca-app-pub-3940256099942544/1033173712": 100
"ca-app-pub-1371732277241593/5437934325": 100
}
]
],
@ -273,7 +273,7 @@ object Constants {
[
"admob_inst",
{
"ca-app-pub-3940256099942544/1033173712": 100
"ca-app-pub-1371732277241593/2884402102": 100
}
]
],
@ -316,7 +316,7 @@ object Constants {
[
"admob_inst",
{
"ca-app-pub-3940256099942544/1033173712": 100
"ca-app-pub-1371732277241593/6695175673": 100
}
]
],
@ -335,7 +335,7 @@ object Constants {
[
"admob_native",
{
"ca-app-pub-3940256099942544/2247696110": 100
"ca-app-pub-1371732277241593/7952895953": 100
}
]
],
@ -405,7 +405,7 @@ object Constants {
[
"admob_inst",
{
"ca-app-pub-3940256099942544/1033173712": 100
"ca-app-pub-1371732277241593/7860901770": 100
}
]
],

View File

@ -12,6 +12,7 @@ import com.google.firebase.remoteconfig.FirebaseRemoteConfig
import com.google.firebase.remoteconfig.FirebaseRemoteConfigException
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings
import com.google.firebase.remoteconfig.FirebaseRemoteConfigValue
import com.lol.apex.ok.google.adlibrary.LoLAds
import melody.offline.music.App
import melody.offline.music.BuildConfig
import melody.offline.music.sp.AppStore
@ -20,7 +21,7 @@ import java.lang.ref.WeakReference
class RemoteConfig {
private val TAG = LogTag.VO_TEST_ONLY
private val TAG = LogTag.VO_REMOTE_ONLY
private var ctx: Context? = null
private var mFirebaseRemoteConfig: FirebaseRemoteConfig? = null
@ -54,8 +55,7 @@ class RemoteConfig {
mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance()
val configSettings =
FirebaseRemoteConfigSettings.Builder() //默认值12小时的最短提取间隔如果在间隔内取值则优先取上次的结果
.setMinimumFetchIntervalInSeconds(intervalTime)
.build()
.setMinimumFetchIntervalInSeconds(intervalTime).build()
mFirebaseRemoteConfig!!.setConfigSettingsAsync(configSettings)
}
@ -71,7 +71,7 @@ class RemoteConfig {
}
}
}
}catch (ignore: Exception) {
} catch (ignore: Exception) {
}
}
@ -93,8 +93,7 @@ class RemoteConfig {
//24小时后重新再去获取
handler.removeMessages(MSG_REFRESH_CONFIG)
handler.sendEmptyMessageDelayed(
MSG_REFRESH_CONFIG,
(1000 * 60 * 60 * 24).toLong()
MSG_REFRESH_CONFIG, (1000 * 60 * 60 * 24).toLong()
)
} else {
//这里需要重新再去获取
@ -111,13 +110,21 @@ class RemoteConfig {
for ((key, value) in all) {
try {
LogTag.LogD(
TAG,
"from = " + from + "Key = " + key + " Value = " + value.asString()
TAG, "from = " + from + "Key = " + key + " Value = " + value.asString()
)
if (TextUtils.equals(Constants.KEY_SHOULD_ENTER_MUSIC_JSON, key)) {
val shouldJson = value.asString()
appStore.shouldEnterMusicPageJson = shouldJson
}
if (TextUtils.equals(Constants.KEY_SHOW_AD_INTERVAL_TIME, key)) {
val t = value.asLong()
appStore.showAdIntervalTime = t
}
if (TextUtils.equals(Constants.KEY_AD_JSON, key)) {
val ad = value.asString()
appStore.adJson = ad
LoLAds.setAdConfig(ad)
}
} catch (ignore: Exception) {
}

View File

@ -102,6 +102,11 @@ class MoMeFragment : MoBaseFragment<FragmentMoMeBinding>() {
val favoriteBeans = App.appFavoriteDBManager.getAllFavoriteBeans()
val favorites = favoriteBeans.count { it.isFavorite }
binding.likedSongsTv.text = "$favorites"
}
override fun onResume() {
super.onResume()
initImmersionBar()
LolAdWrapper.shared.loadAdShowNativeAd(
requireActivity(),
@ -112,11 +117,6 @@ class MoMeFragment : MoBaseFragment<FragmentMoMeBinding>() {
)
}
override fun onResume() {
super.onResume()
initImmersionBar()
}
override fun onHiddenChanged(hidden: Boolean) {
super.onHiddenChanged(hidden)
if (!hidden) {

View File

@ -34,6 +34,7 @@ import melody.offline.music.view.SearchResultOtherView
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.isActive
import kotlinx.coroutines.selects.select
import melody.offline.music.R
import melody.offline.music.ads.AdPlacement
import melody.offline.music.ads.LolAdWrapper
import org.json.JSONObject
@ -77,6 +78,17 @@ class SearchFragment : MoBaseFragment<FragmentSearchBinding>(), TextWatcher,
onReceive()
}
override fun onResume() {
super.onResume()
LolAdWrapper.shared.loadAdShowNativeAd(
requireActivity(),
AdPlacement.NATIVE_SEARCH,
binding.frameAd,
R.layout.ad_layout_admob_banner,
R.layout.ad_layout_max_banner
)
}
private fun initView() {
binding.cancelBtn.setOnClickListener {
buttonClickListener?.onFragmentClick()

View File

@ -8,7 +8,7 @@ object LogTag {
const val VO_FRAGMENT_LOG = "vo-fragment-log"
const val VO_API_LOG = "vo-api—log"
const val VO_SERVICE_LOG = "vo-service—log"
const val VO_REMOTE_ONLY = "vo-remote—log"
const val VO_TEST_ONLY = "vo-only—log"
fun LogD(tag: String, message: String) {

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#000000" />
<corners
android:radius="6dp"/>
</shape>
</item>
</selector>

View File

@ -0,0 +1,9 @@
<?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/white" />
<corners android:radius="2dp" />
</shape>

View File

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

View File

@ -25,7 +25,10 @@
android:id="@+id/title_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
<RelativeLayout
@ -52,6 +55,13 @@
android:textSize="18dp" />
</LinearLayout>
<FrameLayout
android:id="@+id/frame_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp" />
<LinearLayout
android:id="@+id/loadingLayout"
android:layout_width="match_parent"
@ -109,7 +119,8 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:layout_marginTop="8dp">
<LinearLayout
android:layout_width="match_parent"

View File

@ -26,7 +26,10 @@
android:id="@+id/title_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal">
<RelativeLayout
@ -53,6 +56,13 @@
android:textSize="18dp" />
</LinearLayout>
<FrameLayout
android:id="@+id/frame_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp" />
<LinearLayout
android:id="@+id/loadingLayout"
android:layout_width="match_parent"
@ -110,7 +120,8 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:layout_marginTop="8dp">
<LinearLayout
android:layout_width="match_parent"

View File

@ -1,20 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.gms.ads.nativead.NativeAdView 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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="122dp"
android:background="@color/color_FFF1F1FB"
android:layout_height="96dp"
android:background="@drawable/drw_admob_bg"
android:gravity="center_horizontal"
android:orientation="horizontal">
<com.google.android.gms.ads.nativead.MediaView
android:id="@+id/mv_event_con"
android:layout_width="148dp"
android:layout_height="match_parent" />
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_margin="4dp"
android:elevation="0dp"
app:cardBackgroundColor="@color/transparent"
app:cardCornerRadius="4dp"
app:cardElevation="0dp">
<com.google.android.gms.ads.nativead.MediaView
android:id="@+id/mv_event_con"
android:layout_width="122dp"
android:layout_height="match_parent" />
</androidx.cardview.widget.CardView>
<ImageView
android:id="@+id/im_event_icon"
@ -28,29 +40,39 @@
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:gravity="center_vertical"
android:orientation="vertical"
android:paddingHorizontal="12dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/drw_ad_tag_bg"
android:paddingStart="4dp"
android:paddingEnd="4dp"
android:text="AD"
android:textColor="@color/white"
android:textSize="12dp" />
<TextView
android:id="@+id/tv_event_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:drawableLeft="@mipmap/ad_tag"
android:drawablePadding="4dp"
android:layout_marginStart="4dp"
android:ellipsize="end"
android:gravity="left"
android:gravity="start"
android:lineSpacingExtra="0dp"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/theme_black"
android:textColor="@color/white"
android:textSize="16dp"
tools:text="dddd dddd dddd ddd " />
</LinearLayout>
@ -60,11 +82,11 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:gravity="left"
android:gravity="start"
android:lineSpacingExtra="0dp"
android:maxLines="2"
android:minHeight="28dp"
android:textColor="@color/text_gray"
android:textColor="@color/white_60"
android:textSize="12dp"
tools:text="xxxxx xxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />
@ -72,12 +94,11 @@
android:id="@+id/tv_event_bt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="6dp"
android:background="@drawable/bg_btn_ad"
android:layout_marginTop="4dp"
android:background="@drawable/drw_btn_bg"
android:gravity="center"
android:minHeight="36dp"
android:textColor="@color/white"
android:minHeight="32dp"
android:textColor="@color/black"
android:textSize="14dp"
android:textStyle="bold"
tools:text="action now " />

View File

@ -7,7 +7,7 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_card_white_ad_round4dp"
android:background="@drawable/drw_admob_bg"
android:orientation="vertical">
<LinearLayout
@ -27,25 +27,41 @@
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_weight="1"
android:layout_marginLeft="12dp"
android:orientation="vertical">
<TextView
android:id="@+id/tv_event_title"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="4dp"
android:ellipsize="end"
android:drawableLeft="@mipmap/ad_tag"
android:fontFamily="@string/Roboto_Medium"
android:lineSpacingExtra="0dp"
android:paddingBottom="4dp"
android:singleLine="true"
android:textColor="@color/theme_black"
android:textSize="16dp"
android:textStyle="bold"
tools:text="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />
android:orientation="horizontal"
android:paddingBottom="4dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/drw_ad_tag_bg"
android:paddingStart="4dp"
android:paddingEnd="4dp"
android:text="AD"
android:textColor="@color/white"
android:textSize="12dp" />
<TextView
android:id="@+id/tv_event_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:ellipsize="end"
android:fontFamily="@string/Roboto_Medium"
android:lineSpacingExtra="0dp"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="16dp"
android:textStyle="bold"
tools:text="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />
</LinearLayout>
<TextView
android:id="@+id/tv_event_content"
@ -57,7 +73,7 @@
android:maxLines="2"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:textColor="@color/text_gray"
android:textColor="@color/white_60"
android:textSize="12dp"
tools:text="xxxxxxxxxxxxxxxxxxxxx" />
</LinearLayout>
@ -65,14 +81,14 @@
<FrameLayout
android:layout_width="match_parent"
android:layout_marginHorizontal="12dp"
android:layout_height="wrap_content" >
android:layout_height="wrap_content"
android:layout_marginHorizontal="12dp">
<com.google.android.gms.ads.nativead.MediaView
android:id="@+id/mv_event_con"
android:layout_width="match_parent"
tools:background="@color/color_FFF7F9FB"
android:layout_height="152dp" />
android:layout_height="152dp"
tools:background="@color/black_60" />
</FrameLayout>
<androidx.appcompat.widget.AppCompatButton
@ -81,10 +97,10 @@
android:layout_height="48dp"
android:layout_marginHorizontal="14dp"
android:layout_marginTop="10dp"
android:background="@drawable/bg_btn_ad"
android:textColor="@color/white"
android:textSize="15dp"
android:layout_marginBottom="12dp"
android:background="@drawable/drw_btn_bg"
android:textColor="@color/black"
android:textSize="15dp"
android:textStyle="bold"
tools:text="action now " />
</LinearLayout>

View File

@ -7,7 +7,7 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="122dp"
android:background="@color/color_FFF1F1FB"
android:background="@drawable/drw_admob_bg"
android:gravity="center_horizontal"
android:orientation="horizontal"
tools:ignore="MissingConstraints">
@ -15,7 +15,7 @@
<FrameLayout
android:id="@+id/mv_event_con"
android:layout_width="148dp"
tools:background="@color/white"
tools:background="#FF1A1A1A"
android:layout_height="match_parent" />
<ImageView
@ -39,6 +39,15 @@
android:layout_marginTop="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/drw_ad_tag_bg"
android:paddingStart="4dp"
android:paddingEnd="4dp"
android:text="AD"
android:textColor="@color/white"
android:textSize="12dp" />
<TextView
android:id="@+id/tv_event_title"
@ -46,14 +55,13 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:lineSpacingExtra="0dp"
android:drawablePadding="4dp"
android:drawableLeft="@mipmap/ad_tag"
android:singleLine="true"
android:gravity="left"
android:gravity="start"
android:maxLines="1"
android:textColor="@color/theme_black"
android:textColor="@color/white"
android:textSize="16dp"
tools:text="dddd dddd dddd ddd " />
@ -75,10 +83,10 @@
android:layout_height="wrap_content"
android:minHeight="28dp"
android:layout_marginTop="4dp"
android:gravity="left"
android:gravity="start"
android:lineSpacingExtra="0dp"
android:maxLines="2"
android:textColor="@color/text_gray"
android:textColor="@color/white_60"
android:textSize="12dp"
tools:text="xxxxx xxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />
@ -89,7 +97,7 @@
android:ellipsize="end"
android:fontFamily="@string/Roboto_Regular"
android:layout_marginHorizontal="12dp"
android:textColor="@color/theme_black"
android:textColor="@color/white_60"
android:textSize="12dp"
android:visibility="gone"
tools:text="xxxxxxxxxxxxxxxxxxxxx" />
@ -102,8 +110,8 @@
android:layout_marginTop="8dp"
android:layout_marginBottom="6dp"
android:gravity="center"
android:background="@drawable/bg_btn_ad"
android:textColor="@color/white"
android:background="@drawable/drw_btn_bg"
android:textColor="@color/black"
android:textSize="14dp"
android:textStyle="bold"
tools:text="action now " />

View File

@ -189,7 +189,9 @@
<FrameLayout
android:id="@+id/frame_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:layout_height="wrap_content"
android:layout_marginStart="14dp"
android:layout_marginEnd="14dp" />
</LinearLayout>

View File

@ -20,14 +20,16 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/view"
android:orientation="vertical">
android:orientation="vertical"
android:paddingTop="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="18dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="18dp"
android:layout_marginStart="12dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="16dp"
android:gravity="center_vertical"
android:orientation="horizontal">
@ -86,6 +88,13 @@
android:textSize="14dp" />
</LinearLayout>
<FrameLayout
android:id="@+id/frame_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp" />
<LinearLayout
android:id="@+id/loadingLayout"
android:layout_width="match_parent"
@ -130,16 +139,16 @@
<androidx.core.widget.NestedScrollView
android:id="@+id/contentScrollView"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:visibility="gone">
<LinearLayout
android:id="@+id/content_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="18dp"
android:layout_marginEnd="18dp"
android:layout_height="wrap_content"
android:orientation="vertical" />
</androidx.core.widget.NestedScrollView>
@ -156,10 +165,10 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/searchSuggestionsRv"
android:scrollbars="none"
android:overScrollMode="never"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"
android:scrollbars="none"
tools:itemCount="1"
tools:listitem="@layout/search_suggestions_adapter_item" />
</LinearLayout>
@ -168,9 +177,8 @@
android:id="@+id/historyLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="18dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="18dp"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
android:orientation="vertical"
android:visibility="visible">
@ -206,9 +214,9 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/historyRv"
android:layout_width="match_parent"
android:scrollbars="none"
android:layout_height="wrap_content"
android:overScrollMode="never"
android:layout_height="wrap_content" />
android:scrollbars="none" />
</LinearLayout>