Android Open Source - u2020 Mock Image Loader From Project Back to project page u2020 .
License The source code is released under:
Apache License
If you think the Android project u2020 listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.jakewharton.u2020.data.api.model;
/ / w w w . j a v a 2 s . c o m
import android.app.Application;
import android.content.res.AssetManager;
import android.graphics.BitmapFactory;
import javax.inject.Inject;
import javax.inject.Singleton;
@Singleton
public final class MockImageLoader {
private final AssetManager assetManager;
@Inject MockImageLoader(Application application) {
assetManager = application.getAssets();
}
/** A filename like {@code abc123.jpg} inside the {@code mock/images/} asset folder. */
public ImageBuilder newImage(String filename) {
String path = "mock/images/" + filename;
int width;
int height;
try {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(assetManager.open(path), null, options);
width = options.outWidth;
height = options.outHeight;
} catch (Exception e) {
throw new RuntimeException("Unable to load " + filename, e);
}
String id = filename.substring(0, filename.lastIndexOf('.' ));
String link = "mock:///" + path;
return new ImageBuilder(id, link, id /* default title == id */ , width, height);
}
public static class ImageBuilder {
private final String id;
private final String link;
private final int width;
private final int height;
private String title;
private long datetime = System.currentTimeMillis();
private int views;
private boolean isAlbum;
private ImageBuilder(String id, String link, String title, int width, int height) {
this.id = id;
this.link = link;
this.title = title;
this.width = width;
this.height = height;
}
public ImageBuilder title(String title) {
this.title = title;
return this ;
}
public ImageBuilder datetime(int datetime) {
this.datetime = datetime;
return this ;
}
public ImageBuilder views(int views) {
this.views = views;
return this ;
}
public ImageBuilder isAlbum(boolean isAlbum) {
this.isAlbum = isAlbum;
return this ;
}
public Image build() {
return new Image(id, link, title, width, height, datetime, views, isAlbum);
}
}
}
Java Source Code List com.jakewharton.u2020.DebugU2020Module.java com.jakewharton.u2020.Modules.java com.jakewharton.u2020.Modules.java com.jakewharton.u2020.U2020App.java com.jakewharton.u2020.U2020Module.java com.jakewharton.u2020.data.AnimationSpeed.java com.jakewharton.u2020.data.ApiEndpoint.java com.jakewharton.u2020.data.ApiEndpoints.java com.jakewharton.u2020.data.DataModule.java com.jakewharton.u2020.data.DebugDataModule.java com.jakewharton.u2020.data.GalleryDatabase.java com.jakewharton.u2020.data.IsMockMode.java com.jakewharton.u2020.data.MockRequestHandler.java com.jakewharton.u2020.data.NetworkProxy.java com.jakewharton.u2020.data.PicassoDebugging.java com.jakewharton.u2020.data.PixelGridEnabled.java com.jakewharton.u2020.data.PixelRatioEnabled.java com.jakewharton.u2020.data.ScalpelEnabled.java com.jakewharton.u2020.data.ScalpelWireframeEnabled.java com.jakewharton.u2020.data.SeenDebugDrawer.java com.jakewharton.u2020.data.api.ApiHeaders.java com.jakewharton.u2020.data.api.ApiModule.java com.jakewharton.u2020.data.api.ClientId.java com.jakewharton.u2020.data.api.DebugApiModule.java com.jakewharton.u2020.data.api.GalleryService.java com.jakewharton.u2020.data.api.MockGalleryService.java com.jakewharton.u2020.data.api.Section.java com.jakewharton.u2020.data.api.ServerDatabase.java com.jakewharton.u2020.data.api.SortUtil.java com.jakewharton.u2020.data.api.Sort.java com.jakewharton.u2020.data.api.model.Gallery.java com.jakewharton.u2020.data.api.model.Image.java com.jakewharton.u2020.data.api.model.ImgurResponse.java com.jakewharton.u2020.data.api.model.MockImageLoader.java com.jakewharton.u2020.data.api.transforms.GalleryToImageList.java com.jakewharton.u2020.data.prefs.BooleanPreference.java com.jakewharton.u2020.data.prefs.IntPreference.java com.jakewharton.u2020.data.prefs.StringPreference.java com.jakewharton.u2020.data.rx.EndObserver.java com.jakewharton.u2020.data.rx.EndlessObserver.java com.jakewharton.u2020.ui.ActivityHierarchyServer.java com.jakewharton.u2020.ui.AppContainer.java com.jakewharton.u2020.ui.DebugUiModule.java com.jakewharton.u2020.ui.MainActivity.java com.jakewharton.u2020.ui.UiModule.java com.jakewharton.u2020.ui.debug.AnimationSpeedAdapter.java com.jakewharton.u2020.ui.debug.ContextualDebugActions.java com.jakewharton.u2020.ui.debug.DebugAppContainer.java com.jakewharton.u2020.ui.debug.EnumAdapter.java com.jakewharton.u2020.ui.debug.HierarchyTreeChangeListener.java com.jakewharton.u2020.ui.debug.NetworkDelayAdapter.java com.jakewharton.u2020.ui.debug.NetworkErrorAdapter.java com.jakewharton.u2020.ui.debug.NetworkVarianceAdapter.java com.jakewharton.u2020.ui.debug.ProxyAdapter.java com.jakewharton.u2020.ui.debug.SocketActivityHierarchyServer.java com.jakewharton.u2020.ui.gallery.GalleryAdapter.java com.jakewharton.u2020.ui.gallery.GalleryItemView.java com.jakewharton.u2020.ui.gallery.GalleryView.java com.jakewharton.u2020.ui.misc.BetterViewAnimator.java com.jakewharton.u2020.ui.misc.BindableAdapter.java com.jakewharton.u2020.ui.misc.ForegroundImageView.java com.jakewharton.u2020.util.Strings.java