[components] Close https://github.com/mozilla-mobile/android-components/issues/8040: Move ImageLoader to support-base

The `ImageLoader` API is public and we should have it in a better place.
This commit is contained in:
Jonathan Almeida
2020-10-05 20:21:33 -04:00
committed by mergify[bot]
parent 9afa3a75f7
commit ac73bae091
18 changed files with 27 additions and 22 deletions

View File

@@ -44,6 +44,7 @@ tasks.register("updateBuiltInExtensionVersion", Copy) { task ->
} }
dependencies { dependencies {
implementation project(':concept-base')
implementation project(':concept-engine') implementation project(':concept-engine')
implementation project(':concept-fetch') implementation project(':concept-fetch')
implementation project(':browser-state') implementation project(':browser-state')

View File

@@ -31,7 +31,7 @@ dependencies {
implementation project(':ui-icons') implementation project(':ui-icons')
implementation project(':ui-colors') implementation project(':ui-colors')
implementation project(':support-base') implementation project(':concept-base')
implementation project(':support-images') implementation project(':support-images')
implementation project(':support-ktx') implementation project(':support-ktx')

View File

@@ -16,8 +16,8 @@ import mozilla.components.browser.tabstray.thumbnail.TabThumbnailView
import mozilla.components.concept.tabstray.Tab import mozilla.components.concept.tabstray.Tab
import mozilla.components.concept.tabstray.TabsTray import mozilla.components.concept.tabstray.TabsTray
import mozilla.components.support.base.observer.Observable import mozilla.components.support.base.observer.Observable
import mozilla.components.support.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import mozilla.components.support.images.loader.ImageLoader import mozilla.components.concept.base.images.ImageLoader
import mozilla.components.support.ktx.android.util.dpToPx import mozilla.components.support.ktx.android.util.dpToPx
import mozilla.components.support.ktx.kotlin.tryGetHostFromUrl import mozilla.components.support.ktx.kotlin.tryGetHostFromUrl
@@ -99,7 +99,8 @@ class DefaultTabViewHolder(
val thumbnailSize = THUMBNAIL_SIZE.dpToPx(thumbnailView.context.resources.displayMetrics) val thumbnailSize = THUMBNAIL_SIZE.dpToPx(thumbnailView.context.resources.displayMetrics)
thumbnailLoader.loadIntoView( thumbnailLoader.loadIntoView(
thumbnailView, thumbnailView,
ImageLoadRequest(id = tab.id, size = thumbnailSize)) ImageLoadRequest(id = tab.id, size = thumbnailSize)
)
} else if (tab.thumbnail != null) { } else if (tab.thumbnail != null) {
thumbnailView.setImageBitmap(tab.thumbnail) thumbnailView.setImageBitmap(tab.thumbnail)
} }

View File

@@ -11,7 +11,7 @@ import mozilla.components.concept.tabstray.Tabs
import mozilla.components.concept.tabstray.TabsTray import mozilla.components.concept.tabstray.TabsTray
import mozilla.components.support.base.observer.Observable import mozilla.components.support.base.observer.Observable
import mozilla.components.support.base.observer.ObserverRegistry import mozilla.components.support.base.observer.ObserverRegistry
import mozilla.components.support.images.loader.ImageLoader import mozilla.components.concept.base.images.ImageLoader
/** /**
* Function responsible for creating a `TabViewHolder` in the `TabsAdapter`. * Function responsible for creating a `TabViewHolder` in the `TabsAdapter`.

View File

@@ -13,8 +13,8 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import mozilla.components.concept.tabstray.Tab import mozilla.components.concept.tabstray.Tab
import mozilla.components.concept.tabstray.TabsTray import mozilla.components.concept.tabstray.TabsTray
import mozilla.components.support.base.observer.ObserverRegistry import mozilla.components.support.base.observer.ObserverRegistry
import mozilla.components.support.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import mozilla.components.support.images.loader.ImageLoader import mozilla.components.concept.base.images.ImageLoader
import mozilla.components.support.test.any import mozilla.components.support.test.any
import mozilla.components.support.test.eq import mozilla.components.support.test.eq
import mozilla.components.support.test.mock import mozilla.components.support.test.mock

View File

@@ -35,8 +35,9 @@ tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
dependencies { dependencies {
implementation project(':browser-state') implementation project(':browser-state')
implementation project(':concept-engine') implementation project(':concept-engine')
implementation project(':support-images') implementation project(':concept-base')
implementation project(':support-ktx') implementation project(':support-ktx')
implementation project(':support-images')
implementation Dependencies.androidx_annotation implementation Dependencies.androidx_annotation
implementation Dependencies.androidx_core_ktx implementation Dependencies.androidx_core_ktx

View File

@@ -15,8 +15,8 @@ import kotlinx.coroutines.launch
import mozilla.components.browser.thumbnails.R import mozilla.components.browser.thumbnails.R
import mozilla.components.browser.thumbnails.storage.ThumbnailStorage import mozilla.components.browser.thumbnails.storage.ThumbnailStorage
import mozilla.components.support.images.CancelOnDetach import mozilla.components.support.images.CancelOnDetach
import mozilla.components.support.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import mozilla.components.support.images.loader.ImageLoader import mozilla.components.concept.base.images.ImageLoader
import java.lang.ref.WeakReference import java.lang.ref.WeakReference
/** /**

View File

@@ -18,8 +18,8 @@ import mozilla.components.browser.thumbnails.R
import mozilla.components.browser.thumbnails.utils.ThumbnailDiskCache import mozilla.components.browser.thumbnails.utils.ThumbnailDiskCache
import mozilla.components.support.base.log.logger.Logger import mozilla.components.support.base.log.logger.Logger
import mozilla.components.support.images.DesiredSize import mozilla.components.support.images.DesiredSize
import mozilla.components.support.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import mozilla.components.support.images.ImageSaveRequest import mozilla.components.concept.base.images.ImageSaveRequest
import mozilla.components.support.images.decoder.AndroidImageDecoder import mozilla.components.support.images.decoder.AndroidImageDecoder
import java.util.concurrent.Executors import java.util.concurrent.Executors

View File

@@ -8,8 +8,8 @@ import android.content.Context
import android.graphics.Bitmap import android.graphics.Bitmap
import com.jakewharton.disklrucache.DiskLruCache import com.jakewharton.disklrucache.DiskLruCache
import mozilla.components.support.base.log.logger.Logger import mozilla.components.support.base.log.logger.Logger
import mozilla.components.support.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import mozilla.components.support.images.ImageSaveRequest import mozilla.components.concept.base.images.ImageSaveRequest
import java.io.File import java.io.File
import java.io.IOException import java.io.IOException

View File

@@ -16,7 +16,7 @@ import kotlinx.coroutines.test.resetMain
import kotlinx.coroutines.test.setMain import kotlinx.coroutines.test.setMain
import mozilla.components.browser.thumbnails.R import mozilla.components.browser.thumbnails.R
import mozilla.components.browser.thumbnails.storage.ThumbnailStorage import mozilla.components.browser.thumbnails.storage.ThumbnailStorage
import mozilla.components.support.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import mozilla.components.support.test.any import mozilla.components.support.test.any
import mozilla.components.support.test.eq import mozilla.components.support.test.eq
import mozilla.components.support.test.mock import mozilla.components.support.test.mock

View File

@@ -8,7 +8,7 @@ import android.graphics.Bitmap
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import mozilla.components.support.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import mozilla.components.support.test.ext.joinBlocking import mozilla.components.support.test.ext.joinBlocking
import mozilla.components.support.test.mock import mozilla.components.support.test.mock
import mozilla.components.support.test.robolectric.testContext import mozilla.components.support.test.robolectric.testContext

View File

@@ -6,7 +6,7 @@ package mozilla.components.browser.thumbnails.utils
import android.graphics.Bitmap import android.graphics.Bitmap
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import mozilla.components.support.images.ImageLoadRequest import mozilla.components.concept.base.images.ImageLoadRequest
import mozilla.components.support.test.any import mozilla.components.support.test.any
import mozilla.components.support.test.mock import mozilla.components.support.test.mock
import mozilla.components.support.test.robolectric.testContext import mozilla.components.support.test.robolectric.testContext

View File

@@ -27,6 +27,7 @@ android {
dependencies { dependencies {
implementation Dependencies.kotlin_stdlib implementation Dependencies.kotlin_stdlib
implementation Dependencies.kotlin_coroutines implementation Dependencies.kotlin_coroutines
implementation Dependencies.androidx_annotation
testImplementation Dependencies.androidx_test_junit testImplementation Dependencies.androidx_test_junit
testImplementation Dependencies.testing_robolectric testImplementation Dependencies.testing_robolectric

View File

@@ -2,12 +2,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package mozilla.components.support.images.loader package mozilla.components.concept.base.images
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.widget.ImageView import android.widget.ImageView
import androidx.annotation.MainThread import androidx.annotation.MainThread
import mozilla.components.support.images.ImageLoadRequest
/** /**
* A loader that can load an image from an ID directly into an [ImageView]. * A loader that can load an image from an ID directly into an [ImageView].

View File

@@ -2,7 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package mozilla.components.support.images package mozilla.components.concept.base.images
import androidx.annotation.Px import androidx.annotation.Px

View File

@@ -37,7 +37,6 @@ android {
dependencies { dependencies {
implementation project(':support-base') implementation project(':support-base')
implementation Dependencies.androidx_annotation
implementation Dependencies.kotlin_stdlib implementation Dependencies.kotlin_stdlib
implementation Dependencies.kotlin_coroutines implementation Dependencies.kotlin_coroutines

View File

@@ -28,6 +28,9 @@ permalink: /changelog/
* **feature-customtabs** * **feature-customtabs**
* The drawable for the Action button icon in custom tabs is now scaled to 24dp width an 24dp height. * The drawable for the Action button icon in custom tabs is now scaled to 24dp width an 24dp height.
* **support-images**
* ⚠️ **This is a breaking change**: `ImageLoader` and `ImageRequest` have moved to the `concept-base` component.
# 61.0.0 # 61.0.0
* [Commits](https://github.com/mozilla-mobile/android-components/compare/v60.0.0...v61.0.0) * [Commits](https://github.com/mozilla-mobile/android-components/compare/v60.0.0...v61.0.0)

View File

@@ -72,6 +72,7 @@ dependencies {
implementation project(':concept-tabstray') implementation project(':concept-tabstray')
implementation project(':concept-toolbar') implementation project(':concept-toolbar')
implementation project(':concept-storage') implementation project(':concept-storage')
implementation project(':concept-base')
implementation project(':browser-awesomebar') implementation project(':browser-awesomebar')
implementation project(':browser-engine-system') implementation project(':browser-engine-system')
@@ -123,7 +124,6 @@ dependencies {
implementation project(':support-utils') implementation project(':support-utils')
implementation project(':feature-downloads') implementation project(':feature-downloads')
implementation project(':support-images')
implementation project(':support-ktx') implementation project(':support-ktx')
implementation project(':support-webextensions') implementation project(':support-webextensions')
implementation project(':support-rustlog') implementation project(':support-rustlog')