Android Open Source - u2020 Server Database






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;
//w  w w. java 2s.co m
import com.jakewharton.u2020.data.api.model.Image;
import com.jakewharton.u2020.data.api.model.MockImageLoader;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicLong;
import javax.inject.Inject;
import javax.inject.Singleton;
import timber.log.Timber;

@Singleton
public final class ServerDatabase {
  private static final AtomicLong NEXT_ID = new AtomicLong();

  public static long nextId() {
    return NEXT_ID.getAndIncrement();
  }

  public static String nextStringId() {
    return Long.toHexString(nextId());
  }

  private final MockImageLoader mockImageLoader;

  // TODO maybe id->image map and section->id multimap so we can re-use images?
  private final Map<Section, List<Image>> imagesBySection = new LinkedHashMap<>();

  private boolean initialized;

  @Inject public ServerDatabase(MockImageLoader mockImageLoader) {
    this.mockImageLoader = mockImageLoader;
  }

  private synchronized void initializeMockData() {
    if (initialized) return;
    initialized = true;
    Timber.d("Initializing mock data...");

    List<Image> hotImages = new ArrayList<>();
    imagesBySection.put(Section.HOT, hotImages);

    hotImages.add(mockImageLoader.newImage("0y3uACw.jpg") //
        .title("Much Dagger") //
        .views(4000) //
        .build()); //
    hotImages.add(mockImageLoader.newImage("9PcLf86.jpg") //
        .title("Nice Picasso") //
        .views(854) //
        .build());
    hotImages.add(mockImageLoader.newImage("DgKWqio.jpg") //
        .title("Omg Scalpel") //
        .build());
    hotImages.add(mockImageLoader.newImage("e3LxhEC.jpg") //
        .title("Open Source Amaze") //
        .build());
    hotImages.add(mockImageLoader.newImage("p3jUQjI.jpg") //
        .title("So RxJava") //
        .views(2000) //
        .build());
    hotImages.add(mockImageLoader.newImage("P8hx3pg.jpg") //
        .title("Madge Amaze") //
        .build());
    hotImages.add(mockImageLoader.newImage("vSxLdXJ.jpg") //
        .title("Very ButterKnife") //
        .views(3040) //
        .build());
    hotImages.add(mockImageLoader.newImage("DOGE-6.jpg") //
        .title("Good AOSP") //
        .build());
    hotImages.add(mockImageLoader.newImage("DOGE-10.jpg") //
        .title("Many OkHttp") //
        .views(1500) //
        .build());
    hotImages.add(mockImageLoader.newImage("DOGE-16.jpg") //
        .title("Wow Retrofit") //
        .views(3000) //
        .build());
  }

  public List<Image> getImagesForSection(Section section) {
    initializeMockData();
    return imagesBySection.get(section);
  }
}




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