Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/schaal/ocreader.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schaal <daniel@schaal.email>2021-07-14 08:43:12 +0300
committerDaniel Schaal <daniel@schaal.email>2021-07-25 10:10:47 +0300
commita017785ac78d97f5322d2ddbccf78ec9eb87337c (patch)
tree21c3dce5aaf079a7343bac70d6baa6f7f80a83f2
parent35671755a2a4a500d2e8718ef03c8f0400127739 (diff)
Use use scope function for TypedArray
-rw-r--r--app/src/main/java/email/schaal/ocreader/ItemPagerActivity.kt5
-rw-r--r--app/src/main/java/email/schaal/ocreader/util/FaviconLoader.kt7
-rw-r--r--app/src/main/java/email/schaal/ocreader/view/ArticleWebView.kt8
-rw-r--r--app/src/main/java/email/schaal/ocreader/view/DividerItemDecoration.kt8
-rw-r--r--app/src/main/java/email/schaal/ocreader/view/ItemViewHolder.kt15
5 files changed, 21 insertions, 22 deletions
diff --git a/app/src/main/java/email/schaal/ocreader/ItemPagerActivity.kt b/app/src/main/java/email/schaal/ocreader/ItemPagerActivity.kt
index 949e4c8b..b317e7c9 100644
--- a/app/src/main/java/email/schaal/ocreader/ItemPagerActivity.kt
+++ b/app/src/main/java/email/schaal/ocreader/ItemPagerActivity.kt
@@ -37,6 +37,7 @@ import androidx.annotation.ColorInt
import androidx.annotation.DrawableRes
import androidx.annotation.Keep
import androidx.appcompat.app.AppCompatActivity
+import androidx.core.content.res.use
import androidx.core.graphics.ColorUtils
import androidx.databinding.DataBindingUtil
import androidx.fragment.app.Fragment
@@ -83,10 +84,10 @@ class ItemPagerActivity : AppCompatActivity() {
val position = intent.getIntExtra(EXTRA_CURRENT_POSITION, 0)
- obtainStyledAttributes(intArrayOf(R.attr.colorPrimary, R.attr.colorAccent)).also {
+ obtainStyledAttributes(intArrayOf(R.attr.colorPrimary, R.attr.colorAccent)).use {
defaultToolbarColor = it.getColor(0, 0)
defaultAccent = it.getColor(1, 0)
- }.recycle()
+ }
supportActionBar?.setDisplayHomeAsUpEnabled(true)
diff --git a/app/src/main/java/email/schaal/ocreader/util/FaviconLoader.kt b/app/src/main/java/email/schaal/ocreader/util/FaviconLoader.kt
index 1fab23a2..aae97936 100644
--- a/app/src/main/java/email/schaal/ocreader/util/FaviconLoader.kt
+++ b/app/src/main/java/email/schaal/ocreader/util/FaviconLoader.kt
@@ -12,6 +12,7 @@ import androidx.annotation.ColorInt
import androidx.annotation.DrawableRes
import androidx.appcompat.content.res.AppCompatResources
import androidx.core.content.ContextCompat
+import androidx.core.content.res.use
import androidx.core.graphics.ColorUtils
import androidx.palette.graphics.Palette
import androidx.palette.graphics.Palette.PaletteAsyncListener
@@ -40,9 +41,9 @@ class FaviconLoader private constructor(builder: Builder) {
return
}
if (feed.faviconLink != null) {
- val typedArray = context.obtainStyledAttributes(intArrayOf(android.R.attr.colorBackground))
- val colorBackground = typedArray.getColor(0, Color.WHITE)
- typedArray.recycle()
+ val colorBackground = context.obtainStyledAttributes(intArrayOf(android.R.attr.colorBackground)).use {
+ it.getColor(0, Color.WHITE)
+ }
// load favicon
val requestBuilder: RequestBuilder<Bitmap> = GlideApp.with(context)
.asBitmap()
diff --git a/app/src/main/java/email/schaal/ocreader/view/ArticleWebView.kt b/app/src/main/java/email/schaal/ocreader/view/ArticleWebView.kt
index 779e5f6f..e332f592 100644
--- a/app/src/main/java/email/schaal/ocreader/view/ArticleWebView.kt
+++ b/app/src/main/java/email/schaal/ocreader/view/ArticleWebView.kt
@@ -6,6 +6,7 @@ import android.util.AttributeSet
import android.util.Log
import androidx.annotation.ColorInt
import androidx.core.content.ContextCompat
+import androidx.core.content.res.use
import androidx.preference.PreferenceManager
import email.schaal.ocreader.Preferences
import email.schaal.ocreader.R
@@ -49,12 +50,13 @@ class ArticleWebView(context: Context, attrs: AttributeSet? = null, defStyleAttr
}
init {
- context.obtainStyledAttributes(attrs, R.styleable.ArticleWebView).also { typedArray ->
+ context.obtainStyledAttributes(attrs, R.styleable.ArticleWebView).use { typedArray ->
defaultLinkColor = typedArray.getColor(R.styleable.ArticleWebView_linkColor, 0)
fontColor = typedArray.getColor(R.styleable.ArticleWebView_fontColor, 0)
backColor = typedArray.getColor(R.styleable.ArticleWebView_backgroundColor, 0)
- setBackgroundColor(backColor)
- }.recycle()
+ }
+
+ setBackgroundColor(backColor)
settings.apply {
javaScriptEnabled = true
diff --git a/app/src/main/java/email/schaal/ocreader/view/DividerItemDecoration.kt b/app/src/main/java/email/schaal/ocreader/view/DividerItemDecoration.kt
index 0e8dc7bc..4a93869b 100644
--- a/app/src/main/java/email/schaal/ocreader/view/DividerItemDecoration.kt
+++ b/app/src/main/java/email/schaal/ocreader/view/DividerItemDecoration.kt
@@ -25,6 +25,7 @@ import android.graphics.Rect
import android.graphics.drawable.Drawable
import android.view.View
import androidx.annotation.DimenRes
+import androidx.core.content.res.use
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ItemDecoration
@@ -69,10 +70,9 @@ class DividerItemDecoration(context: Context, @DimenRes insetRes: Int) : ItemDec
}
init {
- val a = context
- .obtainStyledAttributes(intArrayOf(android.R.attr.listDivider))
- mDivider = a.getDrawable(0)
- a.recycle()
+ mDivider = context.obtainStyledAttributes(intArrayOf(android.R.attr.listDivider)).use {
+ it.getDrawable(0)
+ }
if (mDivider != null) size = mDivider.intrinsicHeight
}
} \ No newline at end of file
diff --git a/app/src/main/java/email/schaal/ocreader/view/ItemViewHolder.kt b/app/src/main/java/email/schaal/ocreader/view/ItemViewHolder.kt
index 46252c67..36ee2333 100644
--- a/app/src/main/java/email/schaal/ocreader/view/ItemViewHolder.kt
+++ b/app/src/main/java/email/schaal/ocreader/view/ItemViewHolder.kt
@@ -22,6 +22,7 @@ package email.schaal.ocreader.view
import android.util.Log
import android.view.View
import androidx.annotation.ColorInt
+import androidx.core.content.res.use
import androidx.preference.PreferenceManager
import androidx.recyclerview.widget.RecyclerView
import email.schaal.ocreader.Preferences
@@ -37,8 +38,10 @@ import java.util.*
* RecyclerView.ViewHolder to display a feed Item.
*/
class ItemViewHolder(private val binding: ListItemBinding, private val clickListener: OnClickListener) : RecyclerView.ViewHolder(binding.root), FeedColorsListener {
- @ColorInt
- private var defaultFeedTextColor = 0
+ @ColorInt private val defaultFeedTextColor: Int =
+ itemView.context.obtainStyledAttributes(intArrayOf(android.R.attr.textColorSecondary)).use {
+ it.getColor(0,0)
+ }
fun bindItem(item: Item, position: Int, selected: Boolean) {
binding.textViewTitle.text = item.title
@@ -94,12 +97,4 @@ class ItemViewHolder(private val binding: ListItemBinding, private val clickList
private val TAG = ItemViewHolder::class.java.name
}
- init {
- val typedArray = itemView.context.obtainStyledAttributes(intArrayOf(android.R.attr.textColorSecondary))
- defaultFeedTextColor = try {
- typedArray.getColor(0, 0)
- } finally {
- typedArray.recycle()
- }
- }
} \ No newline at end of file