Migrate from Glide to Coil
- Also drop dependency on kapt Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -26,7 +26,6 @@ plugins {
|
||||
id("org.jetbrains.kotlin.android")
|
||||
id("org.jetbrains.kotlin.plugin.parcelize")
|
||||
id("com.google.devtools.ksp")
|
||||
id("org.jetbrains.kotlin.kapt")
|
||||
id("androidx.navigation.safeargs.kotlin")
|
||||
id("org.jlleitschuh.gradle.ktlint")
|
||||
id("dev.rikka.tools.refine")
|
||||
@@ -116,10 +115,6 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
kapt {
|
||||
correctErrorTypes = true
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
//Protobuf
|
||||
@@ -148,10 +143,8 @@ dependencies {
|
||||
implementation("androidx.navigation:navigation-fragment-ktx:$nav_version")
|
||||
implementation("androidx.navigation:navigation-ui-ktx:$nav_version")
|
||||
|
||||
//Glide
|
||||
val glide_version = "4.15.1"
|
||||
implementation("com.github.bumptech.glide:glide:$glide_version")
|
||||
kapt("com.github.bumptech.glide:compiler:$glide_version")
|
||||
//Coil
|
||||
implementation("io.coil-kt:coil:2.4.0")
|
||||
|
||||
//Shimmer
|
||||
implementation("com.facebook.shimmer:shimmer:0.5.0")
|
||||
|
||||
@@ -1,179 +0,0 @@
|
||||
/*
|
||||
* Aurora Store
|
||||
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
*
|
||||
* Aurora Store is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Aurora Store is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package com.aurora.extensions
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.net.Uri
|
||||
import android.widget.ImageView
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.RawRes
|
||||
import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.TransitionOptions
|
||||
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import com.bumptech.glide.request.target.CustomViewTarget
|
||||
import com.bumptech.glide.request.transition.DrawableCrossFadeFactory
|
||||
import com.bumptech.glide.request.transition.Transition
|
||||
import java.io.File
|
||||
|
||||
fun ImageView.load(
|
||||
bitmap: Bitmap?,
|
||||
transitionOptions: TransitionOptions<*, Drawable>? = null,
|
||||
requestOptions: RequestOptions? = null
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(bitmap, transitionOptions, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
fun ImageView.load(
|
||||
byteArray: ByteArray?,
|
||||
transitionOptions: TransitionOptions<*, Drawable>? = null,
|
||||
requestOptions: RequestOptions? = null
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(byteArray, transitionOptions, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
fun ImageView.load(
|
||||
drawable: Drawable?,
|
||||
transitionOptions: TransitionOptions<*, Drawable>? = null,
|
||||
requestOptions: RequestOptions? = null
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(drawable, transitionOptions, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
fun ImageView.load(
|
||||
@RawRes @DrawableRes resourceId: Int?,
|
||||
transitionOptions: TransitionOptions<*, Drawable>? = null,
|
||||
requestOptions: RequestOptions? = null
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(resourceId, transitionOptions, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
fun ImageView.load(
|
||||
uri: Uri?,
|
||||
transitionOptions: TransitionOptions<*, Drawable>? = null,
|
||||
requestOptions: RequestOptions? = null
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(uri, transitionOptions, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
fun ImageView.load(
|
||||
string: String?,
|
||||
transitionOptions: TransitionOptions<*, Drawable>? = null,
|
||||
requestOptions: RequestOptions? = null
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(string, transitionOptions, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
fun ImageView.load(
|
||||
file: File?,
|
||||
transitionOptions: TransitionOptions<*, Drawable>? = null,
|
||||
requestOptions: RequestOptions? = null
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(file, transitionOptions, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
inline fun ImageView.load(
|
||||
bitmap: Bitmap?,
|
||||
requestOptions: RequestOptions.() -> Unit
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(bitmap, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
inline fun ImageView.load(
|
||||
byteArray: ByteArray?,
|
||||
requestOptions: RequestOptions.() -> Unit
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(byteArray, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
inline fun ImageView.load(
|
||||
drawable: Drawable?,
|
||||
requestOptions: RequestOptions.() -> Unit
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(drawable, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
inline fun ImageView.load(
|
||||
@RawRes @DrawableRes resourceId: Int?,
|
||||
requestOptions: RequestOptions.() -> Unit
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(resourceId, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
inline fun ImageView.load(
|
||||
uri: Uri?,
|
||||
requestOptions: RequestOptions.() -> Unit
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(uri, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
inline fun ImageView.load(
|
||||
string: String?,
|
||||
requestOptions: RequestOptions.() -> Unit
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(string, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
inline fun ImageView.load(
|
||||
file: File?,
|
||||
requestOptions: RequestOptions.() -> Unit
|
||||
): CustomViewTarget<ImageView, Drawable> = loadAny(file, requestOptions)
|
||||
|
||||
@JvmSynthetic
|
||||
fun ImageView.loadAny(
|
||||
data: Any?,
|
||||
transitionOptions: TransitionOptions<*, Drawable>? = null,
|
||||
requestOptions: RequestOptions? = null
|
||||
): CustomViewTarget<ImageView, Drawable> {
|
||||
return Glide.with(this)
|
||||
.asDrawable()
|
||||
.load(data)
|
||||
.apply {
|
||||
transitionOptions?.let { transition(it) }
|
||||
requestOptions?.let { apply(it) }
|
||||
}
|
||||
.into(object : CustomViewTarget<ImageView, Drawable>(this) {
|
||||
override fun onLoadFailed(errorDrawable: Drawable?) {
|
||||
}
|
||||
|
||||
override fun onResourceCleared(placeholder: Drawable?) {
|
||||
}
|
||||
|
||||
override fun onResourceReady(resource: Drawable, transition: Transition<in Drawable>?) {
|
||||
this.view.setImageDrawable(resource)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@JvmSynthetic
|
||||
inline fun ImageView.loadAny(
|
||||
data: Any?,
|
||||
requestOptions: RequestOptions.() -> Unit
|
||||
): CustomViewTarget<ImageView, Drawable> {
|
||||
val factory = DrawableCrossFadeFactory.Builder().setCrossFadeEnabled(true).build()
|
||||
return Glide.with(this)
|
||||
.asDrawable()
|
||||
.load(data)
|
||||
.transition(withCrossFade(factory))
|
||||
.apply(RequestOptions().apply(requestOptions))
|
||||
.into(object : CustomViewTarget<ImageView, Drawable>(this) {
|
||||
override fun onLoadFailed(errorDrawable: Drawable?) {
|
||||
}
|
||||
|
||||
override fun onResourceCleared(placeholder: Drawable?) {
|
||||
}
|
||||
|
||||
override fun onResourceReady(resource: Drawable, transition: Transition<in Drawable>?) {
|
||||
this.view.setImageDrawable(resource)
|
||||
}
|
||||
})}
|
||||
|
||||
@JvmSynthetic
|
||||
fun ImageView.clear() {
|
||||
//Glide.with(this).clear(this)
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
/*
|
||||
* Aurora Store
|
||||
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
|
||||
*
|
||||
* Aurora Store is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Aurora Store is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Aurora Store. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package com.aurora.store
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import com.bumptech.glide.GlideBuilder
|
||||
import com.bumptech.glide.annotation.GlideModule
|
||||
import com.bumptech.glide.load.DecodeFormat
|
||||
import com.bumptech.glide.load.engine.cache.InternalCacheDiskCacheFactory
|
||||
import com.bumptech.glide.load.engine.cache.LruResourceCache
|
||||
import com.bumptech.glide.module.AppGlideModule
|
||||
import com.bumptech.glide.request.RequestOptions
|
||||
import com.bumptech.glide.signature.ObjectKey
|
||||
|
||||
@GlideModule
|
||||
class AuroraGlide : AppGlideModule() {
|
||||
override fun applyOptions(context: Context, builder: GlideBuilder) {
|
||||
val memoryCacheSizeBytes = 1024 * 1024 * 50
|
||||
builder.setMemoryCache(LruResourceCache(memoryCacheSizeBytes.toLong()))
|
||||
builder.setDiskCache(InternalCacheDiskCacheFactory(context, memoryCacheSizeBytes.toLong()))
|
||||
builder.setDefaultRequestOptions(requestOptions())
|
||||
}
|
||||
|
||||
companion object {
|
||||
private fun requestOptions(): RequestOptions {
|
||||
return RequestOptions()
|
||||
.signature(ObjectKey(System.currentTimeMillis() / (24 * 60 * 60 * 1000)))
|
||||
.centerCrop()
|
||||
.encodeFormat(Bitmap.CompressFormat.PNG)
|
||||
.encodeQuality(60)
|
||||
.format(DecodeFormat.PREFER_ARGB_8888)
|
||||
.skipMemoryCache(false)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -44,12 +44,12 @@ import androidx.navigation.ui.AppBarConfiguration
|
||||
import androidx.navigation.ui.navigateUp
|
||||
import androidx.navigation.ui.setupActionBarWithNavController
|
||||
import androidx.navigation.ui.setupWithNavController
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.aurora.Constants
|
||||
import com.aurora.extensions.accentColor
|
||||
import com.aurora.extensions.applyTheme
|
||||
import com.aurora.extensions.getStyledAttributeColor
|
||||
import com.aurora.extensions.isRAndAbove
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.extensions.toast
|
||||
import com.aurora.gplayapi.data.models.AuthData
|
||||
import com.aurora.store.data.model.NetworkStatus
|
||||
@@ -63,9 +63,7 @@ import com.aurora.store.util.Preferences.PREFERENCE_DEFAULT_SELECTED_TAB
|
||||
import com.aurora.store.view.ui.sheets.NetworkDialogSheet
|
||||
import com.aurora.store.view.ui.sheets.SelfUpdateSheet
|
||||
import com.aurora.store.viewmodel.MainViewModel
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
import com.google.android.material.elevation.SurfaceColors
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
|
||||
@@ -236,7 +234,7 @@ class MainActivity : AppCompatActivity() {
|
||||
|
||||
headerView.let {
|
||||
it.findViewById<ImageView>(R.id.img)?.load(R.mipmap.ic_launcher) {
|
||||
transform(RoundedCorners(8))
|
||||
transformations(RoundedCornersTransformation(8F))
|
||||
}
|
||||
it.findViewById<TextView>(R.id.txt_name)?.text = getString(R.string.app_name)
|
||||
it.findViewById<TextView>(R.id.txt_email)?.text =
|
||||
|
||||
@@ -56,4 +56,4 @@ class CarouselShimmerGroup() :
|
||||
return models
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,16 +23,14 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.CompoundButton
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.model.Black
|
||||
import com.aurora.store.databinding.ViewBlackBinding
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
@ModelView(
|
||||
autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT,
|
||||
@@ -67,7 +65,7 @@ class BlackListView : RelativeLayout {
|
||||
fun black(black: Black) {
|
||||
B.imgIcon.load(black.drawable) {
|
||||
placeholder(R.drawable.bg_placeholder)
|
||||
transform(RoundedCorners(25))
|
||||
transformations(RoundedCornersTransformation(25F))
|
||||
}
|
||||
|
||||
B.txtLine1.text = black.displayName
|
||||
@@ -94,9 +92,4 @@ class BlackListView : RelativeLayout {
|
||||
fun longClick(onClickListener: OnLongClickListener?) {
|
||||
B.root.setOnLongClickListener(onClickListener)
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.imgIcon.clear()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,12 +22,10 @@ package com.aurora.store.view.epoxy.views
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.gplayapi.data.models.Category
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewCategoryBinding
|
||||
@@ -64,17 +62,11 @@ class CategoryView : RelativeLayout {
|
||||
@ModelProp
|
||||
fun category(category: Category) {
|
||||
B.txtName.text = category.title
|
||||
B.imgBackground.load(category.imageUrl) {
|
||||
}
|
||||
B.imgBackground.load(category.imageUrl)
|
||||
}
|
||||
|
||||
@CallbackProp
|
||||
fun click(onClickListener: OnClickListener?) {
|
||||
B.root.setOnClickListener(onClickListener)
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.imgBackground.clear()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,13 +22,12 @@ package com.aurora.store.view.epoxy.views
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.Constants
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.model.DownloadFile
|
||||
@@ -36,7 +35,6 @@ import com.aurora.store.databinding.ViewDownloadBinding
|
||||
import com.aurora.store.util.CommonUtil.getDownloadSpeedString
|
||||
import com.aurora.store.util.CommonUtil.getETAString
|
||||
import com.aurora.store.util.CommonUtil.humanReadableByteValue
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.GsonBuilder
|
||||
import com.tonyodev.fetch2.Status
|
||||
@@ -85,7 +83,7 @@ class DownloadView : RelativeLayout {
|
||||
app?.let {
|
||||
B.imgDownload.load(app.iconArtwork.url) {
|
||||
placeholder(R.drawable.bg_placeholder)
|
||||
transform(RoundedCorners(32))
|
||||
transformations(RoundedCornersTransformation(32F))
|
||||
}
|
||||
B.txtTitle.text = app.displayName
|
||||
}
|
||||
@@ -137,9 +135,4 @@ class DownloadView : RelativeLayout {
|
||||
fun longClick(onClickListener: OnLongClickListener?) {
|
||||
B.root.setOnLongClickListener(onClickListener)
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.imgDownload.clear()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,17 +22,15 @@ package com.aurora.store.view.epoxy.views
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.extensions.px
|
||||
import com.aurora.gplayapi.data.models.Artwork
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewEditorImageBinding
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
@ModelView(
|
||||
autoLayout = ModelView.Size.WRAP_WIDTH_WRAP_HEIGHT,
|
||||
@@ -72,7 +70,7 @@ class EditorImageView : RelativeLayout {
|
||||
B.img.requestLayout()
|
||||
|
||||
B.img.load(artwork.url) {
|
||||
transform(RoundedCorners(8.px.toInt()))
|
||||
transformations(RoundedCornersTransformation(8.px.toFloat()))
|
||||
}
|
||||
}
|
||||
else -> {
|
||||
@@ -80,7 +78,7 @@ class EditorImageView : RelativeLayout {
|
||||
B.img.layoutParams.height = 24.px.toInt()
|
||||
B.img.requestLayout()
|
||||
B.img.load(artwork.url) {
|
||||
transform(RoundedCorners(4.px.toInt()))
|
||||
transformations(RoundedCornersTransformation(4.px.toFloat()))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -90,9 +88,4 @@ class EditorImageView : RelativeLayout {
|
||||
fun click(onClickListener: OnClickListener?) {
|
||||
B.root.setOnClickListener(onClickListener)
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.img.clear()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,16 +23,14 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.gplayapi.SearchSuggestEntry
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewSearchSuggestionBinding
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
@ModelView(
|
||||
autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT,
|
||||
@@ -67,7 +65,7 @@ class SearchSuggestionView : RelativeLayout {
|
||||
fun entry(searchSuggestEntry: SearchSuggestEntry) {
|
||||
if (searchSuggestEntry.hasImageContainer()) {
|
||||
B.img.load(searchSuggestEntry.imageContainer.imageUrl) {
|
||||
transform(RoundedCorners(8))
|
||||
transformations(RoundedCornersTransformation(8F))
|
||||
}
|
||||
} else {
|
||||
B.img.setImageDrawable(
|
||||
@@ -90,9 +88,4 @@ class SearchSuggestionView : RelativeLayout {
|
||||
fun action(onClickListener: OnClickListener?) {
|
||||
B.action.setOnClickListener(onClickListener)
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.img.clear()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,19 +22,17 @@ package com.aurora.store.view.epoxy.views.app
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.getString
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewAppListBinding
|
||||
import com.aurora.store.util.CommonUtil
|
||||
import com.aurora.store.view.epoxy.views.BaseView
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
@ModelView(
|
||||
autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT,
|
||||
@@ -69,7 +67,7 @@ class AppListView : RelativeLayout {
|
||||
fun app(app: App) {
|
||||
B.imgIcon.load(app.iconArtwork.url) {
|
||||
placeholder(R.drawable.bg_placeholder)
|
||||
transform(RoundedCorners(25))
|
||||
transformations(RoundedCornersTransformation(25F))
|
||||
}
|
||||
|
||||
B.txtLine1.text = app.displayName
|
||||
@@ -103,9 +101,4 @@ class AppListView : RelativeLayout {
|
||||
fun longClick(onClickListener: OnLongClickListener?) {
|
||||
B.root.setOnLongClickListener(onClickListener)
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.imgIcon.clear()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,12 +25,13 @@ import android.view.View
|
||||
import android.widget.RelativeLayout
|
||||
import androidx.core.text.HtmlCompat
|
||||
import androidx.core.view.isVisible
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.invisible
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.extensions.px
|
||||
import com.aurora.extensions.show
|
||||
import com.aurora.store.R
|
||||
@@ -39,7 +40,6 @@ import com.aurora.store.data.model.UpdateFile
|
||||
import com.aurora.store.databinding.ViewAppUpdateBinding
|
||||
import com.aurora.store.util.CommonUtil
|
||||
import com.aurora.store.view.epoxy.views.BaseView
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
@ModelView(
|
||||
autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT,
|
||||
@@ -79,7 +79,7 @@ class AppUpdateView : RelativeLayout {
|
||||
B.txtLine1.text = displayName
|
||||
B.imgIcon.load(iconArtwork.url) {
|
||||
placeholder(R.drawable.bg_placeholder)
|
||||
transform(RoundedCorners(8.px.toInt()))
|
||||
transformations(RoundedCornersTransformation(8.px.toFloat()))
|
||||
}
|
||||
|
||||
B.txtLine2.text = developerName
|
||||
|
||||
@@ -22,18 +22,16 @@ package com.aurora.store.view.epoxy.views.app
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewAppBinding
|
||||
import com.aurora.store.util.CommonUtil
|
||||
import com.aurora.store.view.epoxy.views.BaseView
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
|
||||
@ModelView(
|
||||
@@ -70,7 +68,7 @@ class AppView : RelativeLayout {
|
||||
B.txtName.text = app.displayName
|
||||
B.imgIcon.load(app.iconArtwork.url) {
|
||||
placeholder(R.drawable.bg_placeholder)
|
||||
transform(RoundedCorners(32))
|
||||
transformations(RoundedCornersTransformation(32F))
|
||||
}
|
||||
|
||||
if (app.size > 0)
|
||||
@@ -86,9 +84,4 @@ class AppView : RelativeLayout {
|
||||
fun longClick(onClickListener: OnLongClickListener?) {
|
||||
B.root.setOnLongClickListener(onClickListener)
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.imgIcon.clear()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,17 +22,15 @@ package com.aurora.store.view.epoxy.views.details
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewAppDependentBinding
|
||||
import com.aurora.store.view.epoxy.views.BaseView
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
@ModelView(
|
||||
autoLayout = ModelView.Size.WRAP_WIDTH_WRAP_HEIGHT,
|
||||
@@ -68,7 +66,7 @@ class AppDependentView : RelativeLayout {
|
||||
B.txtName.text = app.displayName
|
||||
B.imgIcon.load(app.iconArtwork.url) {
|
||||
placeholder(R.drawable.bg_placeholder)
|
||||
transform(RoundedCorners(32))
|
||||
transformations(RoundedCornersTransformation(32F))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,9 +79,4 @@ class AppDependentView : RelativeLayout {
|
||||
fun longClick(onClickListener: OnLongClickListener?) {
|
||||
B.root.setOnLongClickListener(onClickListener)
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.imgIcon.clear()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,11 +22,11 @@ package com.aurora.store.view.epoxy.views.details
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.gplayapi.data.models.details.Badge
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewBadgeBinding
|
||||
@@ -74,9 +74,7 @@ class BadgeView : RelativeLayout {
|
||||
}
|
||||
|
||||
badge.artwork?.let {
|
||||
B.img.load(it.url) {
|
||||
|
||||
}
|
||||
B.img.load(it.url)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,25 +21,15 @@ package com.aurora.store.view.epoxy.views.details
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.Resources
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.px
|
||||
import com.aurora.extensions.runOnUiThread
|
||||
import com.aurora.gplayapi.data.models.Artwork
|
||||
import com.aurora.store.GlideApp
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewScreenshotLargeBinding
|
||||
import com.aurora.store.view.epoxy.views.BaseView
|
||||
import com.bumptech.glide.load.DataSource
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||
import com.bumptech.glide.load.engine.GlideException
|
||||
import com.bumptech.glide.request.RequestListener
|
||||
import com.bumptech.glide.request.target.Target
|
||||
|
||||
@ModelView(
|
||||
autoLayout = ModelView.Size.MATCH_WIDTH_MATCH_HEIGHT,
|
||||
@@ -73,47 +63,8 @@ class LargeScreenshotView : RelativeLayout {
|
||||
@ModelProp
|
||||
fun artwork(artwork: Artwork) {
|
||||
val displayMetrics = Resources.getSystem().displayMetrics
|
||||
GlideApp.with(context)
|
||||
.load("${artwork.url}=rw-w${displayMetrics.widthPixels}-v1-e15")
|
||||
.placeholder(R.drawable.bg_placeholder)
|
||||
.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC)
|
||||
.addListener(object : RequestListener<Drawable> {
|
||||
override fun onLoadFailed(
|
||||
e: GlideException?,
|
||||
model: Any,
|
||||
target: Target<Drawable>,
|
||||
isFirstResource: Boolean
|
||||
): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
override fun onResourceReady(
|
||||
drawable: Drawable,
|
||||
model: Any,
|
||||
target: Target<Drawable?>,
|
||||
dataSource: DataSource,
|
||||
isFirstResource: Boolean
|
||||
): Boolean {
|
||||
runOnUiThread {
|
||||
if (artwork.height != 0 && artwork.width != 0) {
|
||||
B.img.layoutParams.height = artwork.height.px.toInt()
|
||||
B.img.layoutParams.width = artwork.width.px.toInt()
|
||||
} else {
|
||||
val height = displayMetrics.heightPixels
|
||||
val width = displayMetrics.widthPixels
|
||||
B.img.layoutParams.width = width
|
||||
B.img.layoutParams.height = height
|
||||
}
|
||||
B.img.setImageDrawable(drawable)
|
||||
B.img.requestLayout()
|
||||
}
|
||||
return false
|
||||
}
|
||||
}).submit()
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.img.clear()
|
||||
B.img.load("${artwork.url}=rw-w${displayMetrics.widthPixels}-v1-e15") {
|
||||
placeholder(R.drawable.bg_placeholder)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,18 +22,16 @@ package com.aurora.store.view.epoxy.views.details
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.extensions.px
|
||||
import com.aurora.gplayapi.data.models.Artwork
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewScreenshotMiniBinding
|
||||
import com.aurora.store.view.epoxy.views.BaseView
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
@ModelView(
|
||||
autoLayout = ModelView.Size.WRAP_WIDTH_WRAP_HEIGHT,
|
||||
@@ -80,7 +78,7 @@ class MiniScreenshotView : RelativeLayout {
|
||||
normalizeSize(artwork)
|
||||
B.img.load("${artwork.url}=rw-w480-v1-e15") {
|
||||
placeholder(R.drawable.bg_rounded)
|
||||
transform(RoundedCorners(8.px.toInt()))
|
||||
transformations(RoundedCornersTransformation(8.px.toFloat()))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,9 +115,4 @@ class MiniScreenshotView : RelativeLayout {
|
||||
screenshotCallback?.onClick(position)
|
||||
}
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.img.clear()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,11 +23,11 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import androidx.core.text.HtmlCompat
|
||||
import coil.load
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.gplayapi.data.models.details.Badge
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewMoreBadgeBinding
|
||||
|
||||
@@ -22,18 +22,16 @@ package com.aurora.store.view.epoxy.views.details
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.extensions.toDate
|
||||
import com.aurora.gplayapi.data.models.Review
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewReviewBinding
|
||||
import com.aurora.store.view.epoxy.views.BaseView
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
@ModelView(
|
||||
autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT,
|
||||
@@ -72,7 +70,7 @@ class ReviewView : RelativeLayout {
|
||||
|
||||
B.img.load(review.userPhotoUrl) {
|
||||
placeholder(R.drawable.bg_placeholder)
|
||||
transform(RoundedCorners(32))
|
||||
transformations(RoundedCornersTransformation(32F))
|
||||
}
|
||||
|
||||
B.rating.rating = review.rating.toFloat()
|
||||
@@ -90,9 +88,4 @@ class ReviewView : RelativeLayout {
|
||||
fun longClick(onClickListener: OnLongClickListener?) {
|
||||
B.root.setOnLongClickListener(onClickListener)
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.img.clear()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,18 +22,16 @@ package com.aurora.store.view.epoxy.views.details
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.airbnb.epoxy.OnViewRecycled
|
||||
import com.aurora.extensions.clear
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.extensions.px
|
||||
import com.aurora.gplayapi.data.models.Artwork
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.ViewScreenshotBinding
|
||||
import com.aurora.store.view.epoxy.views.BaseView
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
@ModelView(
|
||||
autoLayout = ModelView.Size.WRAP_WIDTH_WRAP_HEIGHT,
|
||||
@@ -80,7 +78,7 @@ class ScreenshotView : RelativeLayout {
|
||||
normalizeSize(artwork)
|
||||
B.img.load("${artwork.url}=rw-w480-v1-e15") {
|
||||
placeholder(R.drawable.bg_rounded)
|
||||
transform(RoundedCorners(8.px.toInt()))
|
||||
transformations(RoundedCornersTransformation(8.px.toFloat()))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,9 +115,4 @@ class ScreenshotView : RelativeLayout {
|
||||
screenshotCallback?.onClick(position)
|
||||
}
|
||||
}
|
||||
|
||||
@OnViewRecycled
|
||||
fun clear() {
|
||||
B.img.clear()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,11 +22,11 @@ package com.aurora.store.view.epoxy.views.preference
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.widget.RelativeLayout
|
||||
import coil.load
|
||||
import com.airbnb.epoxy.CallbackProp
|
||||
import com.airbnb.epoxy.ModelProp
|
||||
import com.airbnb.epoxy.ModelView
|
||||
import com.aurora.extensions.hide
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.extensions.show
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.model.Link
|
||||
|
||||
@@ -25,9 +25,9 @@ import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import coil.load
|
||||
import com.aurora.extensions.browse
|
||||
import com.aurora.extensions.copyToClipBoard
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.store.BuildConfig
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.model.Link
|
||||
|
||||
@@ -24,8 +24,9 @@ import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.aurora.extensions.browse
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.gplayapi.data.models.AuthData
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.AuthState
|
||||
@@ -33,7 +34,6 @@ import com.aurora.store.data.providers.AccountProvider
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.databinding.FragmentAccountBinding
|
||||
import com.aurora.store.viewmodel.auth.AuthViewModel
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
class AccountFragment : Fragment(R.layout.fragment_account) {
|
||||
|
||||
@@ -199,7 +199,7 @@ class AccountFragment : Fragment(R.layout.fragment_account) {
|
||||
authData.userProfile?.let {
|
||||
binding.imgAvatar.load(it.artwork.url) {
|
||||
placeholder(R.drawable.bg_placeholder)
|
||||
transform(RoundedCorners(32))
|
||||
transformations(RoundedCornersTransformation(32F))
|
||||
}
|
||||
|
||||
binding.txtName.text = if (authData.isAnonymous)
|
||||
@@ -214,7 +214,7 @@ class AccountFragment : Fragment(R.layout.fragment_account) {
|
||||
}
|
||||
} else {
|
||||
binding.imgAvatar.load(R.mipmap.ic_launcher) {
|
||||
transform(RoundedCorners(32))
|
||||
transformations(RoundedCornersTransformation(32F))
|
||||
}
|
||||
binding.txtName.text = getString(R.string.app_name)
|
||||
binding.txtEmail.text = getString(R.string.account_logged_out)
|
||||
|
||||
@@ -43,13 +43,14 @@ import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.airbnb.epoxy.EpoxyRecyclerView
|
||||
import com.aurora.Constants
|
||||
import com.aurora.extensions.browse
|
||||
import com.aurora.extensions.getString
|
||||
import com.aurora.extensions.hide
|
||||
import com.aurora.extensions.isRAndAbove
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.extensions.runOnUiThread
|
||||
import com.aurora.extensions.share
|
||||
import com.aurora.extensions.show
|
||||
@@ -92,7 +93,6 @@ import com.aurora.store.view.epoxy.views.details.ScreenshotViewModel_
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||
import com.aurora.store.viewmodel.details.DetailsClusterViewModel
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior.BottomSheetCallback
|
||||
import com.tonyodev.fetch2.AbstractFetchGroupListener
|
||||
@@ -103,12 +103,12 @@ import com.tonyodev.fetch2.FetchGroup
|
||||
import com.tonyodev.fetch2.FetchGroupListener
|
||||
import com.tonyodev.fetch2.Status
|
||||
import com.tonyodev.fetch2core.DownloadBlock
|
||||
import java.io.File
|
||||
import java.util.Locale
|
||||
import kotlinx.coroutines.launch
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
import java.io.File
|
||||
import java.util.Locale
|
||||
|
||||
class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
|
||||
|
||||
@@ -499,7 +499,7 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) {
|
||||
binding.layoutDetailsApp.apply {
|
||||
imgIcon.load(app.iconArtwork.url) {
|
||||
placeholder(R.drawable.bg_placeholder)
|
||||
transform(RoundedCorners(32))
|
||||
transformations(RoundedCornersTransformation(32F))
|
||||
}
|
||||
|
||||
txtLine1.text = app.displayName
|
||||
|
||||
@@ -24,7 +24,7 @@ import android.view.View
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import com.aurora.extensions.load
|
||||
import coil.load
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.gplayapi.data.models.AuthData
|
||||
import com.aurora.gplayapi.data.models.StreamCluster
|
||||
|
||||
@@ -44,8 +44,8 @@ import com.aurora.store.util.save
|
||||
import com.aurora.store.view.epoxy.views.preference.InstallerViewModel_
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import rikka.shizuku.Shizuku
|
||||
import java.nio.charset.StandardCharsets
|
||||
import rikka.shizuku.Shizuku
|
||||
|
||||
|
||||
class InstallerFragment : BaseFragment() {
|
||||
|
||||
@@ -24,11 +24,11 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import com.aurora.extensions.load
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.SheetAppPeekBinding
|
||||
import com.aurora.store.util.CommonUtil
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
class AppPeekDialogSheet : BaseBottomSheet() {
|
||||
|
||||
@@ -48,7 +48,7 @@ class AppPeekDialogSheet : BaseBottomSheet() {
|
||||
override fun onContentViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
B.txtLine1.text = args.app.displayName
|
||||
B.imgIcon.load(args.app.iconArtwork.url) {
|
||||
transform(RoundedCorners(25))
|
||||
transformations(RoundedCornersTransformation(25F))
|
||||
}
|
||||
B.txtLine2.text = args.app.developerName
|
||||
B.txtLine3.text = String.format(
|
||||
|
||||
@@ -25,11 +25,11 @@ import android.provider.Settings
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import com.aurora.extensions.load
|
||||
import coil.load
|
||||
import coil.transform.CircleCropTransformation
|
||||
import com.aurora.extensions.toast
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.SheetDeviceMiuiBinding
|
||||
import com.bumptech.glide.load.resource.bitmap.CircleCrop
|
||||
|
||||
class DeviceMiuiSheet : BaseBottomSheet() {
|
||||
|
||||
@@ -54,7 +54,7 @@ class DeviceMiuiSheet : BaseBottomSheet() {
|
||||
|
||||
private fun inflateData() {
|
||||
B.imgIcon.load(R.drawable.ic_xiaomi_logo) {
|
||||
transform(CircleCrop())
|
||||
transformations(CircleCropTransformation())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,12 +24,12 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import coil.load
|
||||
import coil.transform.CircleCropTransformation
|
||||
import com.aurora.extensions.copyToClipBoard
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.extensions.toast
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.SheetInstallErrorBinding
|
||||
import com.bumptech.glide.load.resource.bitmap.CircleCrop
|
||||
|
||||
class InstallErrorDialogSheet : BaseBottomSheet() {
|
||||
|
||||
@@ -55,7 +55,7 @@ class InstallErrorDialogSheet : BaseBottomSheet() {
|
||||
|
||||
private fun inflateData() {
|
||||
B.imgIcon.load(args.app.iconArtwork.url) {
|
||||
transform(CircleCrop())
|
||||
transformations(CircleCropTransformation())
|
||||
}
|
||||
|
||||
B.txtLine1.text = args.app.displayName
|
||||
|
||||
@@ -27,12 +27,12 @@ import android.view.ViewGroup
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.fragment.navArgs
|
||||
import com.aurora.extensions.load
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.aurora.extensions.toast
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.databinding.SheetManualDownloadBinding
|
||||
import com.aurora.store.viewmodel.sheets.SheetsViewModel
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
@@ -78,7 +78,7 @@ class ManualDownloadSheet : BaseBottomSheet() {
|
||||
private fun inflateData() {
|
||||
B.imgIcon.load(args.app.iconArtwork.url) {
|
||||
placeholder(R.drawable.bg_placeholder)
|
||||
transform(RoundedCorners(32))
|
||||
transformations(RoundedCornersTransformation(32F))
|
||||
}
|
||||
|
||||
B.txtLine1.text = args.app.displayName
|
||||
|
||||
@@ -24,8 +24,9 @@ import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
import com.aurora.extensions.hide
|
||||
import com.aurora.extensions.load
|
||||
import com.aurora.extensions.show
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.AuthState
|
||||
@@ -34,7 +35,6 @@ import com.aurora.store.util.Preferences
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_DEFAULT_SELECTED_TAB
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_INTRO
|
||||
import com.aurora.store.viewmodel.auth.AuthViewModel
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||
|
||||
class SplashFragment : Fragment(R.layout.fragment_splash) {
|
||||
|
||||
@@ -49,7 +49,7 @@ class SplashFragment : Fragment(R.layout.fragment_splash) {
|
||||
_binding = FragmentSplashBinding.bind(view)
|
||||
|
||||
binding.imgIcon.load(R.mipmap.ic_launcher) {
|
||||
transform(RoundedCorners(32))
|
||||
transformations(RoundedCornersTransformation(32F))
|
||||
}
|
||||
|
||||
// Toolbar
|
||||
|
||||
@@ -35,8 +35,8 @@ import com.aurora.store.databinding.FragmentGenericRecyclerBinding
|
||||
import com.aurora.store.view.epoxy.views.preference.DeviceViewModel_
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
import com.aurora.store.viewmodel.spoof.SpoofViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.Properties
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
|
||||
class DeviceSpoofFragment : BaseFragment() {
|
||||
|
||||
Reference in New Issue
Block a user