Skip to content

Commit 9a09bde

Browse files
committed
simplify
Signed-off-by: alperozturk <[email protected]>
1 parent ab3b4b2 commit 9a09bde

File tree

2 files changed

+47
-77
lines changed

2 files changed

+47
-77
lines changed

app/src/main/java/com/nextcloud/utils/GlideHelper.kt

Lines changed: 46 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
package com.nextcloud.utils
99

10+
import android.annotation.SuppressLint
1011
import android.content.Context
1112
import android.graphics.Bitmap
1213
import android.graphics.drawable.Drawable
@@ -72,6 +73,7 @@ object GlideHelper {
7273
private fun <T> RequestBuilder<T>.withLogging(methodName: String, identifier: String): RequestBuilder<T> =
7374
listener(GlideLogger(methodName, identifier))
7475

76+
@SuppressLint("CheckResult")
7577
private fun createSvgRequestBuilder(
7678
context: Context,
7779
uri: Uri,
@@ -96,63 +98,8 @@ object GlideHelper {
9698
.centerCrop()
9799
}
98100

99-
fun loadIntoImageView(
100-
context: Context,
101-
client: NextcloudClient,
102-
url: String?,
103-
imageView: ImageView,
104-
@DrawableRes placeholderRes: Int,
105-
circleCrop: Boolean = false
106-
) {
107-
val validatedUrl = validateAndGetURL(url) ?: return
108-
109-
if (isSVG(validatedUrl)) {
110-
val uri = validateAndGetURI(validatedUrl) ?: return
111-
val requestBuilder = createSvgRequestBuilder(context, uri, placeholderRes)
112-
.withLogging("loadIntoImageView", validatedUrl)
113-
if (circleCrop) {
114-
requestBuilder.circleCrop().into(imageView)
115-
} else {
116-
requestBuilder.into(imageView)
117-
}
118-
} else {
119-
val requestBuilder = createUrlRequestBuilder(context, client, validatedUrl)
120-
.placeholder(placeholderRes)
121-
.error(placeholderRes)
122-
.withLogging("loadIntoImageView", validatedUrl)
123-
if (circleCrop) {
124-
requestBuilder.circleCrop().into(imageView)
125-
} else {
126-
requestBuilder.into(imageView)
127-
}
128-
}
129-
}
130-
131-
@Suppress("TooGenericExceptionCaught", "ReturnCount")
132-
fun getDrawable(context: Context, client: NextcloudClient, urlString: String?): Drawable? {
133-
val validatedUrl = validateAndGetURL(urlString) ?: return null
134-
135-
return try {
136-
if (isSVG(validatedUrl)) {
137-
val uri = validateAndGetURI(validatedUrl) ?: return null
138-
createSvgRequestBuilder(context, uri)
139-
.withLogging("getDrawable", validatedUrl)
140-
.submit()
141-
.get()
142-
} else {
143-
createUrlRequestBuilder(context, client, validatedUrl)
144-
.withLogging("getDrawable", validatedUrl)
145-
.submit()
146-
.get()
147-
}
148-
} catch (e: Exception) {
149-
Log_OC.e(TAG, "Error getting drawable: $e")
150-
null
151-
}
152-
}
153-
154101
@Suppress("TooGenericExceptionCaught")
155-
fun downloadImageSynchronous(context: Context, url: String?): Bitmap? {
102+
fun getBitmap(context: Context, url: String?): Bitmap? {
156103
val validatedUrl = validateAndGetURL(url) ?: return null
157104

158105
return try {
@@ -188,31 +135,55 @@ object GlideHelper {
188135
})
189136
}
190137

191-
@Suppress("UNCHECKED_CAST", "TooGenericExceptionCaught")
138+
@Suppress("UNCHECKED_CAST", "TooGenericExceptionCaught", "ReturnCount")
139+
private fun <T> createRequestBuilder(context: Context, client: NextcloudClient, url: String?): RequestBuilder<T>? {
140+
val validatedUrl = validateAndGetURL(url) ?: return null
141+
142+
return try {
143+
val isSVG = isSVG(validatedUrl)
144+
145+
return if (isSVG) {
146+
val uri = validateAndGetURI(validatedUrl) ?: return null
147+
createSvgRequestBuilder(context, uri)
148+
} else {
149+
createUrlRequestBuilder(context, client, validatedUrl)
150+
}
151+
.withLogging("createRequestBuilder", validatedUrl) as RequestBuilder<T>?
152+
} catch (e: Exception) {
153+
Log_OC.e(TAG, "Error createRequestBuilder: $e")
154+
null
155+
}
156+
}
157+
158+
@SuppressLint("CheckResult")
159+
fun loadIntoImageView(
160+
context: Context,
161+
client: NextcloudClient,
162+
url: String?,
163+
imageView: ImageView,
164+
@DrawableRes placeholder: Int,
165+
circleCrop: Boolean = false
166+
) {
167+
createRequestBuilder<Drawable>(context, client, url)
168+
?.placeholder(placeholder)
169+
?.error(placeholder)
170+
?.apply { if (circleCrop) circleCrop() }
171+
?.into(imageView)
172+
}
173+
174+
fun getDrawable(context: Context, client: NextcloudClient, urlString: String?): Drawable? =
175+
createRequestBuilder<Drawable>(context, client, urlString)?.submit()?.get()
176+
192177
fun <T> loadIntoTarget(
193178
context: Context,
194179
client: NextcloudClient,
195180
url: String,
196181
target: Target<T>,
197182
@DrawableRes placeholder: Int
198183
) {
199-
try {
200-
val validatedUrl = validateAndGetURL(url) ?: return
201-
202-
if (isSVG(validatedUrl)) {
203-
val uri = validateAndGetURI(validatedUrl) ?: return
204-
val requestBuilder = createSvgRequestBuilder(context, uri, placeholder)
205-
.withLogging("loadIntoTarget", validatedUrl) as RequestBuilder<T>
206-
requestBuilder.into(target)
207-
} else {
208-
val requestBuilder = createUrlRequestBuilder(context, client, validatedUrl)
209-
.placeholder(placeholder)
210-
.error(placeholder)
211-
.withLogging("loadIntoTarget", validatedUrl) as RequestBuilder<T>
212-
requestBuilder.into(target)
213-
}
214-
} catch (e: Exception) {
215-
Log_OC.e(TAG, "Failed to load into target: $e")
216-
}
184+
createRequestBuilder<T>(context, client, url)
185+
?.placeholder(placeholder)
186+
?.error(placeholder)
187+
?.into(target)
217188
}
218189
}

app/src/main/java/third_parties/ezvcard_android/ContactOperations.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
import com.nextcloud.utils.GlideHelper;
1616
import com.owncloud.android.lib.common.utils.Log_OC;
17-
import com.owncloud.android.utils.DisplayUtils;
1817

1918
import java.io.ByteArrayOutputStream;
2019
import java.time.ZoneId;
@@ -519,7 +518,7 @@ private void convertPhotos(List<NonEmptyContentValues> contentValues, VCard vcar
519518

520519
private void downloadPhoto(Photo photo) {
521520
String url = photo.getUrl();
522-
Bitmap bitmap = GlideHelper.INSTANCE.downloadImageSynchronous(context, url);
521+
Bitmap bitmap = GlideHelper.INSTANCE.getBitmap(context, url);
523522
if (bitmap != null) {
524523
ByteArrayOutputStream stream = new ByteArrayOutputStream();
525524
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);

0 commit comments

Comments
 (0)