This commit is contained in:
ocean 2024-05-27 18:04:50 +08:00
parent 99e5382a5b
commit df24548018
10 changed files with 88 additions and 156 deletions

View File

@ -6,6 +6,7 @@ import androidx.appcompat.app.AppCompatActivity
import com.gyf.immersionbar.ktx.immersionBar import com.gyf.immersionbar.ktx.immersionBar
import relax.offline.music.R import relax.offline.music.R
import relax.offline.music.databinding.ActivitySettingsBinding import relax.offline.music.databinding.ActivitySettingsBinding
import relax.offline.music.fragment.MoMeFragment
import relax.offline.music.util.PRIVACY_POLICY_URL import relax.offline.music.util.PRIVACY_POLICY_URL
import relax.offline.music.util.TERMS_OF_SERVICE_URL import relax.offline.music.util.TERMS_OF_SERVICE_URL
import relax.offline.music.util.openPrivacyPolicy import relax.offline.music.util.openPrivacyPolicy
@ -14,6 +15,11 @@ import relax.offline.music.util.sendFeedback
import relax.offline.music.util.shareApp import relax.offline.music.util.shareApp
class SettingsActivity : AppCompatActivity() { class SettingsActivity : AppCompatActivity() {
companion object {
const val FROM_TO_SETTING = "from_to_setting"
}
private lateinit var binding: ActivitySettingsBinding private lateinit var binding: ActivitySettingsBinding
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
@ -21,7 +27,8 @@ class SettingsActivity : AppCompatActivity() {
binding = ActivitySettingsBinding.inflate(layoutInflater) binding = ActivitySettingsBinding.inflate(layoutInflater)
setContentView(binding.root) setContentView(binding.root)
initImmersionBar() initImmersionBar()
initView() val from = intent.getSerializableExtra(FROM_TO_SETTING) as Class<*>?
initView(from)
} }
private fun initImmersionBar() { private fun initImmersionBar() {
@ -31,7 +38,12 @@ class SettingsActivity : AppCompatActivity() {
} }
} }
private fun initView() { private fun initView(from: Class<*>?) {
if (from != null && from == MoMeFragment::class.java) {
binding.bgIv.setImageResource(R.mipmap.settings_bg_img)
} else {
binding.bgIv.setImageResource(R.drawable.drw_main_bg)
}
binding.backBtn.setOnClickListener { binding.backBtn.setOnClickListener {
finish() finish()
} }

View File

@ -12,6 +12,7 @@ import relax.offline.music.App
import relax.offline.music.R import relax.offline.music.R
import relax.offline.music.activity.MoLikedSongsActivity import relax.offline.music.activity.MoLikedSongsActivity
import relax.offline.music.activity.MoOfflineSongsActivity import relax.offline.music.activity.MoOfflineSongsActivity
import relax.offline.music.activity.SettingsActivity
import relax.offline.music.databinding.FragmentMoMeBinding import relax.offline.music.databinding.FragmentMoMeBinding
class MoMeFragment : MoBaseFragment<FragmentMoMeBinding>() { class MoMeFragment : MoBaseFragment<FragmentMoMeBinding>() {
@ -56,6 +57,11 @@ class MoMeFragment : MoBaseFragment<FragmentMoMeBinding>() {
} }
private fun initView() { private fun initView() {
binding.settingBtn.setOnClickListener {
val intent = Intent(requireActivity(), SettingsActivity::class.java)
intent.putExtra(SettingsActivity.FROM_TO_SETTING, MoMeFragment::class.java)
startActivity(intent)
}
binding.likedSongsBtn.setOnClickListener { binding.likedSongsBtn.setOnClickListener {
val count = binding.likedSongsTv.text.toString().trim().toInt() val count = binding.likedSongsTv.text.toString().trim().toInt()
if (count > 0) { if (count > 0) {
@ -86,7 +92,7 @@ class MoMeFragment : MoBaseFragment<FragmentMoMeBinding>() {
private suspend fun fragmentOnResume() { private suspend fun fragmentOnResume() {
//过滤只有size大于0的才计数 //过滤只有size大于0的才计数
val offlineBeans = App.appOfflineDBManager.getAllOfflineBeans() val offlineBeans = App.appOfflineDBManager.getAllOfflineBeans()
val count = offlineBeans.count { it.bytesDownloaded?.let { bytes -> bytes > 0 } == true } val count = offlineBeans.count { it.bytesDownloaded?.let { bytes -> bytes > 0 } == true }
binding.offlineSongsTv.text = "$count" binding.offlineSongsTv.text = "$count"

View File

@ -1,16 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<group>
<clip-path
android:pathData="M0,0h20v20h-20z"/>
<path
android:pathData="M9.886,13.773L14.034,7.136L12.761,6.341L9.615,11.376L8.86,7.602C8.826,7.433 8.734,7.28 8.6,7.17C8.466,7.06 8.298,7 8.125,7H6.25V8.5H7.51L8.515,13.523C8.545,13.67 8.618,13.805 8.725,13.91C8.832,14.015 8.968,14.086 9.116,14.113C9.264,14.14 9.416,14.122 9.553,14.061C9.691,14 9.807,13.9 9.886,13.773Z"
android:fillColor="#80F988"/>
<path
android:pathData="M10,19.375C11.231,19.375 12.45,19.132 13.588,18.661C14.725,18.19 15.759,17.5 16.629,16.629C17.5,15.759 18.19,14.725 18.661,13.588C19.132,12.45 19.375,11.231 19.375,10C19.375,8.769 19.132,7.55 18.661,6.412C18.19,5.275 17.5,4.241 16.629,3.371C15.759,2.5 14.725,1.81 13.588,1.339C12.45,0.867 11.231,0.625 10,0.625C7.514,0.625 5.129,1.613 3.371,3.371C1.613,5.129 0.625,7.514 0.625,10C0.625,12.486 1.613,14.871 3.371,16.629C5.129,18.387 7.514,19.375 10,19.375ZM10,18.125C7.845,18.125 5.778,17.269 4.255,15.745C2.731,14.222 1.875,12.155 1.875,10C1.875,7.845 2.731,5.778 4.255,4.255C5.778,2.731 7.845,1.875 10,1.875C12.155,1.875 14.222,2.731 15.745,4.255C17.269,5.778 18.125,7.845 18.125,10C18.125,12.155 17.269,14.222 15.745,15.745C14.222,17.269 12.155,18.125 10,18.125Z"
android:fillColor="#80F988"/>
</group>
</vector>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/main_bg_color" />
</shape>

View File

@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M16.695,3.891H3.305C2.629,3.891 2.08,4.439 2.08,5.115V15.354C2.08,16.029 2.629,16.578 3.305,16.578H16.695C17.371,16.578 17.92,16.029 17.92,15.354V5.115C17.92,4.441 17.371,3.891 16.695,3.891ZM16.518,5.293V6.383C15.158,8.682 12.67,10.106 10,10.106C7.529,10.106 5.207,8.895 3.791,6.865C3.703,6.74 3.619,6.611 3.539,6.48C3.52,6.449 3.502,6.414 3.482,6.383V5.293H16.518ZM3.482,15.176V8.693C5.166,10.473 7.518,11.508 10,11.508C12.488,11.508 14.842,10.461 16.518,8.691V15.176H3.482Z"
android:fillColor="#80F988"/>
</vector>

View File

@ -1,12 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M16.219,6.854H14.549V6.633C14.549,4.463 12.783,2.697 10.613,2.697H9.137C6.967,2.697 5.201,4.463 5.201,6.633V6.854H3.531C2.857,6.854 2.311,7.402 2.311,8.074V16.08C2.311,16.754 2.859,17.301 3.531,17.301H16.221C16.895,17.301 17.441,16.752 17.441,16.08V8.074C17.44,7.4 16.893,6.854 16.219,6.854ZM6.559,6.633C6.559,5.211 7.715,4.055 9.137,4.055H10.613C12.035,4.055 13.191,5.211 13.191,6.633V6.854H6.559V6.633ZM16.082,15.945H3.666V8.211H16.084V15.945H16.082Z"
android:fillColor="#80F988"/>
<path
android:pathData="M9.852,13.232H9.898C10.26,13.232 10.555,12.938 10.555,12.576V10.019C10.555,9.658 10.26,9.363 9.898,9.363H9.852C9.49,9.363 9.195,9.658 9.195,10.019V12.576C9.195,12.938 9.49,13.232 9.852,13.232Z"
android:fillColor="#80F988"/>
</vector>

View File

@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M11.399,18.73H11.385C10.887,18.725 10.453,18.418 10.281,17.949L8.955,14.326C8.547,13.213 7.674,12.34 6.561,11.932L2.938,10.606C2.469,10.434 2.162,10.002 2.156,9.502C2.15,9.004 2.447,8.564 2.912,8.381L16.33,3.121C16.74,2.961 17.205,3.059 17.516,3.369C17.826,3.68 17.924,4.145 17.764,4.555L12.502,17.973C12.324,18.434 11.891,18.73 11.399,18.73ZM3.875,9.484L7.033,10.641C8.529,11.188 9.701,12.359 10.248,13.854L11.404,17.012L16.258,4.629L3.875,9.484Z"
android:fillColor="#80F988"/>
</vector>

View File

@ -1,12 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M12.385,2.943H5.4C4.729,2.943 4.182,3.49 4.182,4.162V16.441C4.182,17.113 4.729,17.66 5.4,17.66H14.602C15.273,17.66 15.82,17.113 15.82,16.441V5.953L12.385,2.943ZM14.465,16.307H5.535V4.297H11.877L14.465,6.566V16.307Z"
android:fillColor="#80F988"/>
<path
android:pathData="M6.338,8.23C6.338,8.604 6.643,8.906 7.014,8.906H12.984C13.357,8.906 13.66,8.602 13.66,8.23C13.66,7.857 13.356,7.555 12.984,7.555H7.016C6.643,7.553 6.338,7.857 6.338,8.23ZM12.984,11.697H7.016C6.643,11.697 6.34,12.002 6.34,12.373C6.34,12.746 6.645,13.049 7.016,13.049H12.986C13.359,13.049 13.662,12.744 13.662,12.373C13.662,12.002 13.357,11.697 12.984,11.697Z"
android:fillColor="#80F988"/>
</vector>

View File

@ -9,6 +9,13 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" /> android:layout_height="0dp" />
<ImageView
android:id="@+id/bgIv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/drw_main_bg" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -50,30 +57,16 @@
<LinearLayout <LinearLayout
android:id="@+id/about_btn" android:id="@+id/about_btn"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="70dp" android:layout_height="56dp"
android:layout_marginTop="8dp" android:layout_marginTop="16dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingStart="20dp" android:paddingStart="16dp"
android:paddingEnd="20dp"> android:paddingEnd="16dp">
<LinearLayout
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/drw_round_stroke_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/about_icon" />
</LinearLayout>
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_weight="1" android:layout_weight="1"
android:fontFamily="@font/medium_font" android:fontFamily="@font/medium_font"
android:gravity="center_vertical" android:gravity="center_vertical"
@ -91,29 +84,16 @@
<LinearLayout <LinearLayout
android:id="@+id/feedback_btn" android:id="@+id/feedback_btn"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="70dp" android:layout_height="56dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingStart="20dp" android:paddingStart="16dp"
android:paddingEnd="20dp"> android:paddingEnd="16dp">
<LinearLayout
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/drw_round_stroke_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/feedback_icon" />
</LinearLayout>
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_weight="1" android:layout_weight="1"
android:fontFamily="@font/medium_font" android:fontFamily="@font/medium_font"
android:gravity="center_vertical" android:gravity="center_vertical"
@ -131,29 +111,16 @@
<LinearLayout <LinearLayout
android:id="@+id/share_btn" android:id="@+id/share_btn"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="70dp" android:layout_height="56dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingStart="20dp" android:paddingStart="16dp"
android:paddingEnd="20dp"> android:paddingEnd="16dp">
<LinearLayout
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/drw_round_stroke_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/share_icon" />
</LinearLayout>
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_weight="1" android:layout_weight="1"
android:fontFamily="@font/medium_font" android:fontFamily="@font/medium_font"
android:gravity="center_vertical" android:gravity="center_vertical"
@ -171,28 +138,15 @@
<LinearLayout <LinearLayout
android:id="@+id/pp_btn" android:id="@+id/pp_btn"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="70dp" android:layout_height="56dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingStart="20dp" android:paddingStart="16dp"
android:paddingEnd="20dp"> android:paddingEnd="16dp">
<LinearLayout
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/drw_round_stroke_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/pp_icon" />
</LinearLayout>
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_weight="1" android:layout_weight="1"
android:fontFamily="@font/medium_font" android:fontFamily="@font/medium_font"
android:gravity="center_vertical" android:gravity="center_vertical"
@ -210,29 +164,16 @@
<LinearLayout <LinearLayout
android:id="@+id/tos_btn" android:id="@+id/tos_btn"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="70dp" android:layout_height="56dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingStart="20dp" android:paddingStart="16dp"
android:paddingEnd="20dp"> android:paddingEnd="16dp">
<LinearLayout
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/drw_round_stroke_bg"
android:gravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tos_icon" />
</LinearLayout>
<TextView <TextView
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:layout_weight="1" android:layout_weight="1"
android:fontFamily="@font/medium_font" android:fontFamily="@font/medium_font"
android:gravity="center_vertical" android:gravity="center_vertical"

View File

@ -15,18 +15,41 @@
android:layout_below="@+id/view" android:layout_below="@+id/view"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout
<TextView android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="18dp" android:layout_marginStart="18dp"
android:layout_marginTop="28dp" android:layout_marginTop="28dp"
android:layout_marginEnd="18dp" android:layout_marginEnd="18dp">
android:fontFamily="@font/medium_font"
android:text="@string/library"
android:textColor="@color/white"
android:textSize="32dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/medium_font"
android:text="@string/library"
android:textColor="@color/white"
android:textSize="32dp" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<LinearLayout
android:id="@+id/setting_btn"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="@drawable/drw_round_48_bg"
android:gravity="center">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/settings_icon" />
</LinearLayout>
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -171,6 +194,8 @@
android:text="@string/new_playlist" android:text="@string/new_playlist"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="20dp" /> android:textSize="20dp" />
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>