# Conflicts:
#	app/src/main/res/drawable/bg_img_border.xml
#	app/src/main/res/layout/item_rss_article_2.xml
pull/219/head
yangyxd 5 years ago
commit 8a5cdd223a
  1. 7
      app/src/main/java/io/legado/app/help/AppConfig.kt
  2. 6
      app/src/main/java/io/legado/app/help/http/HttpHelper.kt
  3. 2
      app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt
  4. 7
      app/src/main/java/io/legado/app/ui/rss/article/RssArticlesFragment.kt
  5. 4
      app/src/main/java/io/legado/app/ui/rss/article/RssSortViewModel.kt
  6. 19
      app/src/main/res/drawable/bg_img_border.xml
  7. 5
      app/src/main/res/layout/item_rss_article_2.xml
  8. 9
      app/src/main/res/xml/pref_config_theme.xml

@ -1,5 +1,6 @@
package io.legado.app.help package io.legado.app.help
import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.content.pm.PackageManager import android.content.pm.PackageManager
import io.legado.app.App import io.legado.app.App
@ -123,7 +124,11 @@ object AppConfig {
} }
var elevation: Int var elevation: Int
get() = App.INSTANCE.getPrefInt("elevation", -1) @SuppressLint("PrivateResource")
get() = App.INSTANCE.getPrefInt(
"elevation",
App.INSTANCE.resources.getDimension(R.dimen.design_appbar_elevation).toInt()
)
set(value) { set(value) {
App.INSTANCE.putPrefInt("elevation", value) App.INSTANCE.putPrefInt("elevation", value)
} }

@ -44,11 +44,7 @@ object HttpHelper {
val response = getApiService<HttpGetApi>(baseUrl, encode) val response = getApiService<HttpGetApi>(baseUrl, encode)
.get(url, mapOf()) .get(url, mapOf())
.execute() .execute()
return if (response.body() != null) { return response.body()
response.body()
} else {
response.errorBody().toString()
}
} }
return null return null
} }

@ -1,5 +1,6 @@
package io.legado.app.ui.config package io.legado.app.ui.config
import android.annotation.SuppressLint
import android.content.SharedPreferences import android.content.SharedPreferences
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
@ -115,6 +116,7 @@ class ThemeConfigFragment : PreferenceFragmentCompat(), SharedPreferences.OnShar
} }
@SuppressLint("PrivateResource")
override fun onPreferenceTreeClick(preference: Preference?): Boolean { override fun onPreferenceTreeClick(preference: Preference?): Boolean {
when (preference?.key) { when (preference?.key) {
"defaultTheme" -> alert(title = "切换默认主题") { "defaultTheme" -> alert(title = "切换默认主题") {

@ -4,6 +4,7 @@ import android.os.Bundle
import android.view.View import android.view.View
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import io.legado.app.App import io.legado.app.App
@ -53,7 +54,11 @@ class RssArticlesFragment : VMBaseFragment<RssArticlesViewModel>(R.layout.fragme
private fun initView() { private fun initView() {
ATH.applyEdgeEffectColor(recycler_view) ATH.applyEdgeEffectColor(recycler_view)
recycler_view.layoutManager = LinearLayoutManager(requireContext()) recycler_view.layoutManager = if (activityViewModel.isGridLayout) {
GridLayoutManager(requireContext(), 2)
} else {
LinearLayoutManager(requireContext())
}
recycler_view.addItemDecoration(VerticalDivider(requireContext())) recycler_view.addItemDecoration(VerticalDivider(requireContext()))
adapter = RssArticlesAdapter(requireContext(), activityViewModel.layoutId, this) adapter = RssArticlesAdapter(requireContext(), activityViewModel.layoutId, this)
recycler_view.adapter = adapter recycler_view.adapter = adapter

@ -16,9 +16,11 @@ class RssSortViewModel(application: Application) : BaseViewModel(application) {
var rssSource: RssSource? = null var rssSource: RssSource? = null
val titleLiveData = MutableLiveData<String>() val titleLiveData = MutableLiveData<String>()
var order = System.currentTimeMillis() var order = System.currentTimeMillis()
val isGridLayout get() = rssSource?.articleStyle == 2
val layoutId val layoutId
get() = when (rssSource?.articleStyle) { get() = when (rssSource?.articleStyle) {
1 -> R.layout.item_rss_article_1 1 -> R.layout.item_rss_article_1
2 -> R.layout.item_rss_article_2
else -> R.layout.item_rss_article else -> R.layout.item_rss_article
} }
@ -40,7 +42,7 @@ class RssSortViewModel(application: Application) : BaseViewModel(application) {
fun switchLayout() { fun switchLayout() {
rssSource?.let { rssSource?.let {
if (it.articleStyle < 1) { if (it.articleStyle < 2) {
it.articleStyle = it.articleStyle + 1 it.articleStyle = it.articleStyle + 1
} else { } else {
it.articleStyle = 0 it.articleStyle = 0

@ -1,8 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/background" /> <solid android:color="@color/background" />
<stroke android:width="1dp" android:color="@color/bg_divider_line" /> <stroke
<corners android:radius="1dp" /> android:width="1dp"
<padding android:left="0dp" android:top="0dp" android:color="@color/bg_divider_line" />
android:right="0dp" android:bottom="0dp" /> <corners android:radius="1dp" />
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp" />
</shape> </shape>

@ -42,12 +42,13 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:text="@string/app_name" android:text="@string/app_name"
android:textSize="10sp" android:textSize="11sp"
android:maxLines="1" android:maxLines="1"
android:paddingTop="8dp" android:paddingTop="8dp"
android:paddingBottom="2dp" android:paddingBottom="2dp"
app:layout_constraintTop_toBottomOf="@+id/tv_title" app:layout_constraintTop_toBottomOf="@+id/tv_title"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" /> app:layout_constraintRight_toRightOf="parent"
tools:ignore="SmallSp" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

@ -12,15 +12,6 @@
app:icons="@array/icons" app:icons="@array/icons"
app:iconSpaceReserved="false" /> app:iconSpaceReserved="false" />
<io.legado.app.ui.widget.prefs.NameListPreference
android:defaultValue="0"
android:entries="@array/theme_mode"
android:entryValues="@array/theme_mode_v"
android:key="themeMode"
android:title="@string/theme_mode"
android:summary="@string/theme_mode_desc"
app:iconSpaceReserved="false" />
<io.legado.app.ui.widget.prefs.SwitchPreference <io.legado.app.ui.widget.prefs.SwitchPreference
android:defaultValue="true" android:defaultValue="true"
android:key="transparentStatusBar" android:key="transparentStatusBar"

Loading…
Cancel
Save