/** * Fixes internal dependencies to android.database.Observable so that a RecyclerView.Adapter can be tested using regular unit tests while * observing changes to the data setIsTypingRepository. */ public static RecyclerView.AdapterDataObserver fixAdapterForTesting(RecyclerView.Adapter adapter) throws NoSuchFieldException, IllegalAccessException { // Observables are not mocked by default so we need to hook the adapter up to an observer so we can track changes Field observableField = RecyclerView.Adapter.class.getDeclaredField("mObservable"); observableField.setAccessible(true); Object observable = observableField.get(adapter); Field observersField = Observable.class.getDeclaredField("mObservers"); observersField.setAccessible(true); final ArrayList<Object> observers = new ArrayList<>(); RecyclerView.AdapterDataObserver dataObserver = mock(RecyclerView.AdapterDataObserver.class); observers.add(dataObserver); observersField.set(observable, observers); return dataObserver; }
@GET() Observable<String> Obget(@HeaderMap Map<String, String> headers, @Url String url, @QueryMap Map<String, String> params);
@FormUrlEncoded @POST() Observable<String> Obpost(@HeaderMap Map<String, String> headers, @Url String url, @FieldMap Map<String, String> params);
@Streaming @GET() Observable<ResponseBody> Obdownload(@HeaderMap Map<String, String> headers, @Url String url, @QueryMap Map<String, String> params);
@Headers("Authorization :" + AUTHORIZATION) @POST(CAPTURE) Observable<CaptureItem> capture(@Body JSONObject payload);
@Headers("Authorization :" + AUTHORIZATION) @GET(GET_ENROLL) Observable<List<EnrollItem>> getEnroll(@Query("item_pos") String item_pos);
@Headers("Authorization :" + AUTHORIZATION) @GET(GET_CAPTURE) Observable<List<CaptureItem>> getCapture(@Query("item_pos") String item_pos);
@GET("index.php/3/Wallpaper/picLatest/start/{start}/limit/{limit}/") Observable<NewestData> fetchNewestData(@Path("start") int start,@Path("limit") int limit);
/** * 获取指定城市的实时天气 * <p> * API地址:http://service.envicloud.cn:8082/v2/weatherlive/YMFYB256AGFUZZE0ODQ3MZM1MZE2NTU=/101020100 * * @param cityId 城市id * @return Observable */ @GET("/v2/weatherlive/YMFYB256AGFUZZE0ODQ3MZM1MZE2NTU=/{cityId}") Observable<EnvironmentCloudWeatherLive> getWeatherLive(@Path("cityId") String cityId);
/** * 获取指定城市7日天气预报 * <p> * API地址:http://service.envicloud.cn:8082/v2/weatherforecast/YMFYB256AGFUZZE0ODQ3MZM1MZE2NTU=/101020100 * * @param cityId 城市id * @return Observable */ @GET("/v2/weatherforecast/YMFYB256AGFUZZE0ODQ3MZM1MZE2NTU=/{cityId}") Observable<EnvironmentCloudForecast> getWeatherForecast(@Path("cityId") String cityId);
/** * 获取指定城市的实时空气质量 * <p> * API地址:http://service.envicloud.cn:8082/v2/cityairlive/YMFYB256AGFUZZE0ODQ3MZM1MZE2NTU=/101020100 * * @param cityId 城市id * @return Observable */ @GET("/v2/cityairlive/YMFYB256AGFUZZE0ODQ3MZM1MZE2NTU=/{cityId}") Observable<EnvironmentCloudCityAirLive> getAirLive(@Path("cityId") String cityId);
/** * 获取指定城市的五日空气质量预报 * <p> * API地址:http://service.envicloud.cn:8082/v2/cityairforecast/YMFYB256AGFUZZE0ODQ3MZM1MZE2NTU=/101020100 * * @param cityId 城市id * @return Observable */ @GET("/v2/cityairforecast/YMFYB256AGFUZZE0ODQ3MZM1MZE2NTU=/{cityId}") Observable<EnvironmentCloudCityAirLive> getAirForecast(@Path("cityId") String cityId);
/** * 获取新闻列表 * @param cacheControl * @param type * @param key * @return */ @GET("toutiao/index") Observable<Result<ResultBean<ArrayList<NewsBean>>>> getNewsList( @Header("Cache-Control") String cacheControl, @Query("type") String type, @Query("key") String key);
public abstract Observable<Data<T>> getPageAt(int page);