Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.comarch.tripplanner.api.rest.tripplanner;import android.app.ProgressDialog;import android.content.Context;import android.util.Log;import android.widget.Toast;import com.comarch.tripplanner.api.model.Credentials;import com.comarch.tripplanner.api.model.RouteItem;import com.comarch.tripplanner.api.model.StopAndLinesNearby;import com.comarch.tripplanner.api.model.bicycle.BicycleStation;import com.comarch.tripplanner.api.model.plan.PlanResponse;import com.comarch.tripplanner.api.model.timetables.Timetable;import com.comarch.tripplanner.api.model.TripProfile;import com.comarch.tripplanner.api.model.Version;import com.comarch.tripplanner.api.model.graph.Graph;import com.comarch.tripplanner.api.model.routes.Pattern;import com.comarch.tripplanner.api.model.routes.Transport;import com.google.android.gms.maps.model.LatLng;import java.util.List;import rx.Observable;import rx.Subscriber;import rx.android.schedulers.AndroidSchedulers;import rx.schedulers.Schedulers;public class TripPlannerDataLoader { private static final String USERNAME = "admin"; private static final String PASSWORD = "nimda"; private Context context; private TripPlannerRestService service = TripPlannerRestServiceFactory.create(TripPlannerRestService.class, new Credentials(USERNAME, PASSWORD)); private ProgressDialog progressDialog; public TripPlannerDataLoader(Context context) { this.context = context; } public void loadTripPlanData(String cityName, LatLng from, LatLng to, String modes, boolean wheelchair, final OnDataLoadedListener listener) { Observable response = service.getPlan(cityName, from.latitude + "," + from.longitude,//"45.488298185683945,9.180906414985657", to.latitude + "," + to.longitude,//"45.465668959946484,9.181249737739563", wheelchair, 1478120949000l, modes, false, new TripProfile[]{TripProfile.PREFER_MIN_TRANSFERS}, null); progressDialog = ProgressDialog.show(context, "Create Path", "Please Wait", true); response.observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Subscriber() { @Override public void onCompleted() { Log.e("OnCompleted", ""); progressDialog.dismiss(); } @Override public void onError(Throwable e) { progressDialog.dismiss(); e.printStackTrace(); Toast.makeText(context, "Something bad happend", Toast.LENGTH_LONG).show(); } @Override public void onNext(PlanResponse planResponse) { listener.onDataLoaded(planResponse); } }); } public void loadVersion(final OnDataLoadedListener listener) { Observable response = service.getVersion(); response.observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Subscriber() { @Override public void onCompleted() { Log.e("OnCompleted", ""); } @Override public void onError(Throwable e) { e.printStackTrace(); } @Override public void onNext(Version version) { listener.onDataLoaded(version); } }); } public void loadDetailInformationForRoutes(String cityName, final OnDataLoadedListener listener) { TripPlannerRestService service = TripPlannerRestServiceFactory.create(TripPlannerRestService.class, new Credentials("admin", "nimda")); Observable> response = service.getDetailInformationForRoutes(cityName); response.observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Subscriber>() { @Override public void onCompleted() { Log.e("OnCompleted", ""); } @Override public void onError(Throwable e) { e.printStackTrace(); } @Override public void onNext(List transports) { listener.onDataLoaded(transports); } }); } public void loadAllRoutes(String cityName, final OnDataLoadedListener listener) { TripPlannerRestService service = TripPlannerRestServiceFactory.create(TripPlannerRestService.class, new Credentials("admin", "nimda")); Observable> response = service.getRoutes(cityName); response.observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Subscriber>() { @Override public void onCompleted() { Log.e("OnCompleted", ""); } @Override public void onError(Throwable e) { e.printStackTrace(); } @Override public void onNext(List transports) { listener.onDataLoaded(transports); } }); } public void loadBicycleStations(String cityName, final OnDataLoadedListener listener) { TripPlannerRestService service = TripPlannerRestServiceFactory.create(TripPlannerRestService.class, new Credentials("admin", "nimda")); Observable> response = service.getBicycleStations(cityName); response.observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Subscriber>() { @Override public void onCompleted() { Log.e("OnCompleted", ""); } @Override public void onError(Throwable e) { e.printStackTrace(); } @Override public void onNext(List transports) { listener.onDataLoaded(transports); } }); } public void loadPatternDetailsForRoute(String cityName, String routeId, final OnDataLoadedListener listener) { TripPlannerRestService service = TripPlannerRestServiceFactory.create(TripPlannerRestService.class, new Credentials("admin", "nimda")); Observable> response = service.getPatternDetailsForRoute(cityName, routeId); response.observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Subscriber>() { @Override public void onCompleted() { Log.e("OnCompleted", ""); } @Override public void onError(Throwable e) { e.printStackTrace(); } @Override public void onNext(List patterns) { listener.onDataLoaded(patterns); } }); } public void..From:Artur Miksapublic class TripPlannerRestServiceFactory {public static final String BASE_URL = "https://milan.smartcity.comarch.com/tripplanner/";//public static final String BASE_URL = "http://dev-logic.lodz.comarch:8080/tripplanner/";private static Retrofit.Builder builder = new Retrofit.Builder().baseUrl(BASE_URL).addCallAdapterFactory(RxJavaCallAdapterFactory.create()).addConverterFactory(GsonConverterFactory.create());public static T create(Class serviceClass) {return create(serviceClass, null);}public static T create(Class serviceClass, Credentials credentials) {if (credentials != null) {builder.client(getOkHttpClient(credentials));}Retrofit retrofit = builder.build();return retrofit.create(serviceClass);}private static OkHttpClient getOkHttpClient(final Credentials credentials) {OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder().addInterceptor(new Interceptor() {@Overridepublic Response intercept(Chain chain) throws IOException {Request original = chain.request();String basic = getBasicEncodedString(credentials.getUsername(), credentials.getPassword());Request.Builder requestBuilder = original.newBuilder().header("Authorization", basic).header("Accept", "application/json").method(original.method(), original.body());Request request = requestBuilder.build();return chain.proceed(request);}});return httpClientBuilder.build();}private static String getBasicEncodedString(String username, String password) {String credentials = username + ":" + password;return "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP);}}Sent on:1:55 pmFrom:Artur Miksapackage com.comarch.tripplanner.api.rest.tripplanner;import com.comarch.tripplanner.api.model.bicycle.BicycleStation;import com.comarch.tripplanner.api.model.graph.Graph;import com.comarch.tripplanner.api.model.LineDetails;import com.comarch.tripplanner.api.model.NearbyDepartures;import com.comarch.tripplanner.api.model.routes.Pattern;import com.comarch.tripplanner.api.model.PatternItem;import com.comarch.tripplanner.api.model.plan.PlanResponse;import com.comarch.tripplanner.api.model.RouteItem;import com.comarch.tripplanner.api.model.StopAndLinesNearby;import com.comarch.tripplanner.api.model.routes.StopTime;import com.comarch.tripplanner.api.model.timetables.Timetable;import com.comarch.tripplanner.api.model.Geometry;import com.comarch.tripplanner.api.model.routes.Transport;import com.comarch.tripplanner.api.model.TripProfile;import com.comarch.tripplanner.api.model.Version;import java.util.List;import java.util.Set;import retrofit2.http.GET;import retrofit2.http.Path;import retrofit2.http.Query;import rx.Observable;public interface TripPlannerRestService { @GET("cities/{cityName}/plan") Observable getPlan(@Path("cityName") String cityName, @Query("fromPlace") String fromPlace, @Query("toPlace") String toPlace, @Query("wheelchair") boolean wheelchair, @Query("time") long time, @Query("mode") String mode, @Query("arriveBy") boolean arriveBy, @Query("profiles") TripProfile[] profiles, @Query("numItineraries") Integer numItineraries); @GET("cities/{cityName}/nextPassingTimes") Observable> getNextPassingTimes(@Path("cityName") String cityName, @Query("lat") double lat, @Query("lon") double lon, @Query("radius") int radius, @Query("time") long time, @Query("minutes") int minutes); @GET("cities/{cityName}/nearbyDepartures") Observable> getNearbyDepartures(@Path("cityName") String cityNam, @Query("lat") double lat, @Query("lon") double lone); @GET("cities/{cityName}/line/{lineId}/details") Observable> getStopsDetailsForLine(@Path("cityName") String cityName, @Path("lineId") String lineId); @GET("cities/{cityName}/routes") Observable> getRoutes(@Path("cityName") String cityName); @GET("cities/{cityName}/transits") Observable> getAvailableTransitModes(@Path("cityName") String cityName); @GET("cities/{cityName}/routes/details") Observable> getDetailInformationForRoutes(@Path("cityName") String cityName); @GET("cities/{cityName}/stops") Observable> getStops(@Path("cityName") String cityName); @GET("cities/{cityName}/stops/nearby") Observable> getStopAndLinesNearby(@Path("cityName") String cityName, @Query("lat") double lat, @Query("lon") double lon, @Query("radius") int radius); @GET("cities/{cityName}/stops/{stopId}/timetable") Observable> getTimetablesForStops(@Path("cityName") String cityName, @Path("stopId") String stopId);// Observable> getTimetablesForStops(@Path("cityName") String cityName, @Path("timetable") String timetable, @Query("routeId") String routeId); @GET("cities/{cityName}/stops/{stopId}/timetable/{date}") Observable getTimetablesForStopsAndDate(@Path("cityName") String cityName, @Path("stopId") String stopId, @Path("date") String date, @Query("routeId") String routeId); @GET("cities/{cityName}/stops/{stopId}/stoptime") Observable> getStopTimes(@Path("cityName") String cityName, @Path("stopId") String stopId); @GET("cities/{cityName}/stops/{stopId}/stoptimes/{date}") Observable> getStopTimes(@Path("cityName") String cityName, @Path("stopId") String stopId, @Path("date") String date); @GET("cities/{cityName}/routes/allerts") Observable getAllertsForAllRoutes(@Path("cityName") String cityName); @GET("cities/{cityName}/routes/{routeTag}/allerts") Observable getAllertsForRoute(@Path("cityName") String cityName, @Path("routeTag") String routeTag); @GET("cities/{cityName}/routes/buses") Observable getAllBusLocations(@Path("cityName") String cityName); @GET("cities/{cityName}/routes/{routeTag}/buses") Observable getBusLocationsForRoute(@Path("cityName") String cityName, @Path("routeTag") String routeTag); @GET("version") Observable getVersion(); @GET("cities/{cityName}/patterns/{patternId}") Observable getPattern(@Path("cityName") String cityName, @Path("patternId") String patternId); @GET("cities/{cityName}/patterns/{patternId}/geometry") Observable getGeometryForPattern(@Path("cityName") String cityName, @Path("patternId") String patternId); @GET("cities/{cityName}/routes/{routeId}/patterns") Observable> getPatternForRoute(@Path("cityName") String cityName, @Path("routeId") String routeId); @GET("cities/{cityName}/routes/{routeId}/patterns/details") Observable> getPatternDetailsForRoute(@Path("cityName") String cityName, @Path("routeId") String routeId); @GET("cities/{cityName}/timetables") Observable> getTimetablesForCity(@Path("cityName") String cityName); @GET("cities/{cityName}/bicycles") Observable> getBicycleStations(@Path("cityName") String cityName); @GET("graphs") Observable> getGraphs();}From:Artur Miksaw tych 2 klasach i interfejsie masz wszystko chyba co CI potrzebe no brak tylko modeli danych
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement