Android Open Source - ponyville-live-android Net Module From Project Back to project page ponyville-live-android .
License The source code is released under:
Apache License
If you think the Android project ponyville-live-android 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.ponyvillelive.app.net;
/ * f r o m w w w . j a v a 2 s . c o m * /
import android.app.Application;
import android.net.http.HttpResponseCache;
import com.ponyvillelive.app.BuildConfig;
import com.ponyvillelive.app.ui.BottomDrawerFragment;
import com.ponyvillelive.app.ui.StationAdapter;
import com.ponyvillelive.app.ui.StationFragment;
import com.squareup.okhttp.Cache;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.picasso.OkHttpDownloader;
import com.squareup.picasso.Picasso;
import java.io.File;
import java.io.IOException;
import javax.inject.Singleton;
import dagger.Module;
import dagger.Provides;
import retrofit.Endpoint;
import retrofit.Endpoints;
import retrofit.RestAdapter;
import retrofit.client.Client;
import retrofit.client.OkClient;
import timber.log.Timber;
/**
* This module provides all the network-related injections
*/
@Module(
injects = {
StationAdapter.class,
BottomDrawerFragment.class
},
complete = false,
library = true
)
public class NetModule {
public static final String PRODUCTION_API_URL = "https://ponyvillelive.com/api" ;
public static final int CACHE_SIZE = 50 * 1024 * 1024; // 50MB
@Provides
@Singleton
Endpoint provideEndpoint() {
return Endpoints.newFixedEndpoint(PRODUCTION_API_URL);
}
@Provides
@Singleton
OkHttpClient provideOkHttpClient(Application app) {
return createOkHttpClient(app);
}
@Provides
@Singleton
Client provideClient(OkHttpClient client) {
return new OkClient(client);
}
@Provides
@Singleton
RestAdapter provideRestAdapter(Endpoint endpoint, Client client) {
return new RestAdapter.Builder()
.setClient(client)
.setEndpoint(endpoint)
.setRequestInterceptor((requestFacade) ->
requestFacade.addHeader("User-Agent" , BuildConfig.PACKAGE_NAME + "/" + BuildConfig.VERSION_NAME))
.build();
}
@Provides
@Singleton
API provideAPI(RestAdapter restAdapter) {
return restAdapter.create(API.class);
}
@Provides
@Singleton
Picasso providePicasso(Application app, OkHttpClient client) {
Picasso.Builder builder = new Picasso.Builder(app);
builder.downloader(new OkHttpDownloader(client));
return builder.build();
}
public static OkHttpClient createOkHttpClient(Application app) {
OkHttpClient client = new OkHttpClient();
// Install an HTTP cache in the application cache directory.
try {
File cacheDir = new File (app.getCacheDir(), "http" );
Cache cache = new Cache(cacheDir, CACHE_SIZE);
client.setCache(cache);
} catch (IOException e) {
Timber.e(e, "Unable to install disk cache." );
}
return client;
}
}
Java Source Code List com.ponyvillelive.app.DebugPvlModule.java com.ponyvillelive.app.Modules.java com.ponyvillelive.app.Modules.java com.ponyvillelive.app.PvlApp.java com.ponyvillelive.app.PvlModule.java com.ponyvillelive.app.model.ArrayResponse.java com.ponyvillelive.app.model.DebugData.java com.ponyvillelive.app.model.Entity.java com.ponyvillelive.app.model.MapResponse.java com.ponyvillelive.app.model.NowPlayingMeta.java com.ponyvillelive.app.model.ObjectResponse.java com.ponyvillelive.app.model.Show.java com.ponyvillelive.app.model.SongWrapper.java com.ponyvillelive.app.model.Song.java com.ponyvillelive.app.model.StationMeta.java com.ponyvillelive.app.model.Station.java com.ponyvillelive.app.net.API.java com.ponyvillelive.app.net.DebugNetModule.java com.ponyvillelive.app.net.MockAPI.java com.ponyvillelive.app.net.NetModule.java com.ponyvillelive.app.prefs.AnimationSpeed.java com.ponyvillelive.app.prefs.ApiEndpoint.java com.ponyvillelive.app.prefs.ApiEndpoints.java com.ponyvillelive.app.prefs.BooleanPreference.java com.ponyvillelive.app.prefs.Endpoint.java com.ponyvillelive.app.prefs.Endpoints.java com.ponyvillelive.app.prefs.IntPreference.java com.ponyvillelive.app.prefs.IsMockMode.java com.ponyvillelive.app.prefs.MockDownloader.java com.ponyvillelive.app.prefs.NetworkProxy.java com.ponyvillelive.app.prefs.ObjectPreference.java com.ponyvillelive.app.prefs.PicassoDebugging.java com.ponyvillelive.app.prefs.PixelGridEnabled.java com.ponyvillelive.app.prefs.PixelRatioEnabled.java com.ponyvillelive.app.prefs.ScalpelEnabled.java com.ponyvillelive.app.prefs.ScalpelWireframeEnabled.java com.ponyvillelive.app.prefs.SeenDebugDrawer.java com.ponyvillelive.app.prefs.StringPreference.java com.ponyvillelive.app.ui.ActionbarHideSlidePanelListener.java com.ponyvillelive.app.ui.ActivityHierarchyServer.java com.ponyvillelive.app.ui.AnimationSpeedAdapter.java com.ponyvillelive.app.ui.AppContainer.java com.ponyvillelive.app.ui.BindableAdapter.java com.ponyvillelive.app.ui.BottomDrawerFragment.java com.ponyvillelive.app.ui.DebugAppContainer.java com.ponyvillelive.app.ui.DebugUiModule.java com.ponyvillelive.app.ui.EnumAdapter.java com.ponyvillelive.app.ui.HierarchyTreeChangeListener.java com.ponyvillelive.app.ui.MainActivity.java com.ponyvillelive.app.ui.NetworkDelayAdapter.java com.ponyvillelive.app.ui.NetworkErrorAdapter.java com.ponyvillelive.app.ui.NetworkVarianceAdapter.java com.ponyvillelive.app.ui.ProxyAdapter.java com.ponyvillelive.app.ui.ServerEndpointAdapter.java com.ponyvillelive.app.ui.SocketActivityHierarchyServer.java com.ponyvillelive.app.ui.StationAdapter.java com.ponyvillelive.app.ui.StationFragment.java com.ponyvillelive.app.ui.TrackListAdapter.java com.ponyvillelive.app.ui.UiModule.java com.ponyvillelive.app.util.Strings.java