Skip to content

Commit 50ebdbf

Browse files
Merge pull request #4352 from dlew:dlew/deduplicate-http-uri-loaders
PiperOrigin-RevId: 333128445
2 parents a3a3a65 + 8ab09c1 commit 50ebdbf

File tree

3 files changed

+21
-47
lines changed

3 files changed

+21
-47
lines changed

library/src/main/java/com/bumptech/glide/Glide.java

-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
import com.bumptech.glide.load.model.UriLoader;
5151
import com.bumptech.glide.load.model.UrlUriLoader;
5252
import com.bumptech.glide.load.model.stream.HttpGlideUrlLoader;
53-
import com.bumptech.glide.load.model.stream.HttpUriLoader;
5453
import com.bumptech.glide.load.model.stream.MediaStoreImageThumbLoader;
5554
import com.bumptech.glide.load.model.stream.MediaStoreVideoThumbLoader;
5655
import com.bumptech.glide.load.model.stream.QMediaStoreUriLoader;
@@ -540,7 +539,6 @@ Uri.class, Bitmap.class, new ResourceBitmapDecoder(resourceDrawableDecoder, bitm
540539
.append(String.class, ParcelFileDescriptor.class, new StringLoader.FileDescriptorFactory())
541540
.append(
542541
String.class, AssetFileDescriptor.class, new StringLoader.AssetFileDescriptorFactory())
543-
.append(Uri.class, InputStream.class, new HttpUriLoader.Factory())
544542
.append(Uri.class, InputStream.class, new AssetUriLoader.StreamFactory(context.getAssets()))
545543
.append(
546544
Uri.class,
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,32 @@
11
package com.bumptech.glide.load.model.stream;
22

33
import android.net.Uri;
4-
import androidx.annotation.NonNull;
5-
import com.bumptech.glide.load.Options;
64
import com.bumptech.glide.load.model.GlideUrl;
75
import com.bumptech.glide.load.model.ModelLoader;
8-
import com.bumptech.glide.load.model.ModelLoaderFactory;
9-
import com.bumptech.glide.load.model.MultiModelLoaderFactory;
6+
import com.bumptech.glide.load.model.UrlUriLoader;
107
import java.io.InputStream;
11-
import java.util.Arrays;
12-
import java.util.Collections;
13-
import java.util.HashSet;
14-
import java.util.Set;
158

16-
/** Loads {@link InputStream}s from http or https {@link Uri}s. */
17-
public class HttpUriLoader implements ModelLoader<Uri, InputStream> {
18-
private static final Set<String> SCHEMES =
19-
Collections.unmodifiableSet(new HashSet<>(Arrays.asList("http", "https")));
20-
21-
private final ModelLoader<GlideUrl, InputStream> urlLoader;
9+
/**
10+
* Loads {@link InputStream}s from http or https {@link Uri}s.
11+
*
12+
* @deprecated Use {@link UrlUriLoader} instead
13+
*/
14+
@Deprecated
15+
public class HttpUriLoader extends UrlUriLoader<InputStream> {
2216

2317
// Public API.
2418
@SuppressWarnings("WeakerAccess")
2519
public HttpUriLoader(ModelLoader<GlideUrl, InputStream> urlLoader) {
26-
this.urlLoader = urlLoader;
27-
}
28-
29-
@Override
30-
public LoadData<InputStream> buildLoadData(
31-
@NonNull Uri model, int width, int height, @NonNull Options options) {
32-
return urlLoader.buildLoadData(new GlideUrl(model.toString()), width, height, options);
20+
super(urlLoader);
3321
}
3422

35-
@Override
36-
public boolean handles(@NonNull Uri model) {
37-
return SCHEMES.contains(model.getScheme());
38-
}
39-
40-
/** Factory for loading {@link InputStream}s from http/https {@link Uri}s. */
41-
public static class Factory implements ModelLoaderFactory<Uri, InputStream> {
42-
43-
@NonNull
44-
@Override
45-
public ModelLoader<Uri, InputStream> build(MultiModelLoaderFactory multiFactory) {
46-
return new HttpUriLoader(multiFactory.build(GlideUrl.class, InputStream.class));
47-
}
48-
49-
@Override
50-
public void teardown() {
51-
// Do nothing.
52-
}
23+
/**
24+
* Factory for loading {@link InputStream}s from http/https {@link Uri}s.
25+
*
26+
* @deprecated Use {@link UrlUriLoader.StreamFactory} instead
27+
*/
28+
@Deprecated
29+
public static class Factory extends StreamFactory {
30+
// Defer to StreamFactory's implementation
5331
}
5432
}

library/test/src/test/java/com/bumptech/glide/load/model/stream/HttpUriLoaderTest.java renamed to library/test/src/test/java/com/bumptech/glide/load/model/UrlUriLoaderTest.java

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
package com.bumptech.glide.load.model.stream;
1+
package com.bumptech.glide.load.model;
22

33
import static org.junit.Assert.assertTrue;
44
import static org.mockito.ArgumentMatchers.eq;
55
import static org.mockito.Mockito.verify;
66

77
import android.net.Uri;
88
import com.bumptech.glide.load.Options;
9-
import com.bumptech.glide.load.model.GlideUrl;
10-
import com.bumptech.glide.load.model.ModelLoader;
119
import java.io.InputStream;
1210
import java.net.MalformedURLException;
1311
import org.junit.Before;
@@ -20,18 +18,18 @@
2018

2119
@RunWith(RobolectricTestRunner.class)
2220
@Config(sdk = 18)
23-
public class HttpUriLoaderTest {
21+
public class UrlUriLoaderTest {
2422
private static final int IMAGE_SIDE = 100;
2523
private static final Options OPTIONS = new Options();
2624

2725
@Mock private ModelLoader<GlideUrl, InputStream> urlLoader;
28-
private HttpUriLoader loader;
26+
private UrlUriLoader<InputStream> loader;
2927

3028
@Before
3129
public void setUp() {
3230
MockitoAnnotations.initMocks(this);
3331

34-
loader = new HttpUriLoader(urlLoader);
32+
loader = new UrlUriLoader<>(urlLoader);
3533
}
3634

3735
@Test

0 commit comments

Comments
 (0)