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 .  ja  va  2  s .  c  om
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