Skip to content

Commit 52a8cf8

Browse files
sjuddglide-copybara-robot
authored andcommittedJan 6, 2022
Change asset uri data fetcher to return AssetFileDescriptor rather than ParcelFileDescriptor.
PiperOrigin-RevId: 419944523
1 parent a6d84a8 commit 52a8cf8

File tree

5 files changed

+20
-31
lines changed

5 files changed

+20
-31
lines changed
 

‎instrumentation/src/androidTest/java/com/bumptech/glide/LoadAssetUriTest.java

-6
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import java.io.IOException;
1515
import java.util.concurrent.TimeUnit;
1616
import org.junit.Before;
17-
import org.junit.Ignore;
1817
import org.junit.Rule;
1918
import org.junit.Test;
2019
import org.junit.runner.RunWith;
@@ -40,7 +39,6 @@ public void setUp() throws IOException {
4039
}
4140

4241
@Test
43-
@Ignore("b/213227559")
4442
public void loadVideoAssetUri_decodesFrame() {
4543
Uri uri = Uri.parse(assetNameToUri(VIDEO_ASSET_NAME));
4644

@@ -50,7 +48,6 @@ public void loadVideoAssetUri_decodesFrame() {
5048
}
5149

5250
@Test
53-
@Ignore("b/213227559")
5451
public void loadVideoAssetUri_asBitmap_decodesFrame() {
5552
Uri uri = Uri.parse(assetNameToUri(VIDEO_ASSET_NAME));
5653

@@ -60,7 +57,6 @@ public void loadVideoAssetUri_asBitmap_decodesFrame() {
6057
}
6158

6259
@Test
63-
@Ignore("b/213227559")
6460
public void loadVideoAssetUri_withFrame_decodesFrame() {
6561
Uri uri = Uri.parse(assetNameToUri(VIDEO_ASSET_NAME));
6662

@@ -76,7 +72,6 @@ public void loadVideoAssetUri_withFrame_decodesFrame() {
7672
}
7773

7874
@Test
79-
@Ignore("b/213227559")
8075
public void loadVideoAssetUriString_decodesFrame() {
8176
Uri uri = Uri.parse(assetNameToUri(VIDEO_ASSET_NAME));
8277

@@ -86,7 +81,6 @@ public void loadVideoAssetUriString_decodesFrame() {
8681
}
8782

8883
@Test
89-
@Ignore("b/213227559")
9084
public void loadVideoAssetUriString_withFrame_decodesFrame() {
9185
Uri uri = Uri.parse(assetNameToUri(VIDEO_ASSET_NAME));
9286

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@ Uri.class, Bitmap.class, new ResourceBitmapDecoder(resourceDrawableDecoder, bitm
542542
.append(Uri.class, InputStream.class, new AssetUriLoader.StreamFactory(context.getAssets()))
543543
.append(
544544
Uri.class,
545-
ParcelFileDescriptor.class,
545+
AssetFileDescriptor.class,
546546
new AssetUriLoader.FileDescriptorFactory(context.getAssets()))
547547
.append(Uri.class, InputStream.class, new MediaStoreImageThumbLoader.Factory(context))
548548
.append(Uri.class, InputStream.class, new MediaStoreVideoThumbLoader.Factory(context));
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
package com.bumptech.glide.load.data;
22

3+
import android.content.res.AssetFileDescriptor;
34
import android.content.res.AssetManager;
4-
import android.os.ParcelFileDescriptor;
55
import androidx.annotation.NonNull;
66
import java.io.IOException;
77

8-
/** Fetches an {@link android.os.ParcelFileDescriptor} for an asset path. */
9-
public class FileDescriptorAssetPathFetcher extends AssetPathFetcher<ParcelFileDescriptor> {
8+
/** Fetches an {@link android.content.res.AssetFileDescriptor} for an asset path. */
9+
public class FileDescriptorAssetPathFetcher extends AssetPathFetcher<AssetFileDescriptor> {
1010
public FileDescriptorAssetPathFetcher(AssetManager assetManager, String assetPath) {
1111
super(assetManager, assetPath);
1212
}
1313

1414
@Override
15-
protected ParcelFileDescriptor loadResource(AssetManager assetManager, String path)
15+
protected AssetFileDescriptor loadResource(AssetManager assetManager, String path)
1616
throws IOException {
17-
return assetManager.openFd(path).getParcelFileDescriptor();
17+
return assetManager.openFd(path);
1818
}
1919

2020
@Override
21-
protected void close(ParcelFileDescriptor data) throws IOException {
21+
protected void close(AssetFileDescriptor data) throws IOException {
2222
data.close();
2323
}
2424

2525
@NonNull
2626
@Override
27-
public Class<ParcelFileDescriptor> getDataClass() {
28-
return ParcelFileDescriptor.class;
27+
public Class<AssetFileDescriptor> getDataClass() {
28+
return AssetFileDescriptor.class;
2929
}
3030
}

‎library/src/main/java/com/bumptech/glide/load/model/AssetUriLoader.java

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

33
import android.content.ContentResolver;
4+
import android.content.res.AssetFileDescriptor;
45
import android.content.res.AssetManager;
56
import android.net.Uri;
6-
import android.os.ParcelFileDescriptor;
77
import androidx.annotation.NonNull;
88
import com.bumptech.glide.load.Options;
99
import com.bumptech.glide.load.data.DataFetcher;
@@ -83,10 +83,10 @@ public DataFetcher<InputStream> buildFetcher(AssetManager assetManager, String a
8383
}
8484
}
8585

86-
/** Factory for loading {@link ParcelFileDescriptor}s from asset manager Uris. */
86+
/** Factory for loading {@link AssetFileDescriptor}s from asset manager Uris. */
8787
public static class FileDescriptorFactory
88-
implements ModelLoaderFactory<Uri, ParcelFileDescriptor>,
89-
AssetFetcherFactory<ParcelFileDescriptor> {
88+
implements ModelLoaderFactory<Uri, AssetFileDescriptor>,
89+
AssetFetcherFactory<AssetFileDescriptor> {
9090

9191
private final AssetManager assetManager;
9292

@@ -96,7 +96,7 @@ public FileDescriptorFactory(AssetManager assetManager) {
9696

9797
@NonNull
9898
@Override
99-
public ModelLoader<Uri, ParcelFileDescriptor> build(MultiModelLoaderFactory multiFactory) {
99+
public ModelLoader<Uri, AssetFileDescriptor> build(MultiModelLoaderFactory multiFactory) {
100100
return new AssetUriLoader<>(assetManager, this);
101101
}
102102

@@ -106,7 +106,7 @@ public void teardown() {
106106
}
107107

108108
@Override
109-
public DataFetcher<ParcelFileDescriptor> buildFetcher(
109+
public DataFetcher<AssetFileDescriptor> buildFetcher(
110110
AssetManager assetManager, String assetPath) {
111111
return new FileDescriptorAssetPathFetcher(assetManager, assetPath);
112112
}
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
package com.bumptech.glide.load.data;
22

33
import static org.mockito.ArgumentMatchers.eq;
4-
import static org.mockito.Mockito.mock;
54
import static org.mockito.Mockito.never;
65
import static org.mockito.Mockito.verify;
76
import static org.mockito.Mockito.when;
87

98
import android.content.res.AssetFileDescriptor;
109
import android.content.res.AssetManager;
11-
import android.os.ParcelFileDescriptor;
1210
import com.bumptech.glide.Priority;
1311
import java.io.IOException;
1412
import org.junit.Before;
@@ -25,45 +23,42 @@ public class FileDescriptorAssetPathFetcherTest {
2523

2624
@Mock private AssetManager assetManager;
2725
@Mock private AssetFileDescriptor assetFileDescriptor;
28-
@Mock private DataFetcher.DataCallback<ParcelFileDescriptor> callback;
26+
@Mock private DataFetcher.DataCallback<AssetFileDescriptor> callback;
2927

3028
private FileDescriptorAssetPathFetcher fetcher;
31-
private ParcelFileDescriptor expected;
3229

3330
@Before
3431
public void setUp() throws IOException {
3532
MockitoAnnotations.initMocks(this);
3633
String assetPath = "/some/asset/path";
3734
fetcher = new FileDescriptorAssetPathFetcher(assetManager, assetPath);
38-
expected = mock(ParcelFileDescriptor.class);
39-
when(assetFileDescriptor.getParcelFileDescriptor()).thenReturn(expected);
4035
when(assetManager.openFd(eq(assetPath))).thenReturn(assetFileDescriptor);
4136
}
4237

4338
@Test
4439
public void testOpensInputStreamForPathWithAssetManager() throws Exception {
4540
fetcher.loadData(Priority.NORMAL, callback);
46-
verify(callback).onDataReady(eq(expected));
41+
verify(callback).onDataReady(eq(assetFileDescriptor));
4742
}
4843

4944
@Test
5045
public void testClosesOpenedInputStreamOnCleanup() throws Exception {
5146
fetcher.loadData(Priority.NORMAL, callback);
5247
fetcher.cleanup();
5348

54-
verify(expected).close();
49+
verify(assetFileDescriptor).close();
5550
}
5651

5752
@Test
5853
public void testDoesNothingOnCleanupIfNoDataLoaded() throws IOException {
5954
fetcher.cleanup();
60-
verify(expected, never()).close();
55+
verify(assetFileDescriptor, never()).close();
6156
}
6257

6358
@Test
6459
public void testDoesNothingOnCancel() throws Exception {
6560
fetcher.loadData(Priority.NORMAL, callback);
6661
fetcher.cancel();
67-
verify(expected, never()).close();
62+
verify(assetFileDescriptor, never()).close();
6863
}
6964
}

0 commit comments

Comments
 (0)
Please sign in to comment.