Skip to content

Instantly share code, notes, and snippets.

View rohans-doordash's full-sized avatar

Rohan Shanbhag rohans-doordash

View GitHub Profile
@rohans-doordash
rohans-doordash / RestaurantDataSource.java
Last active June 29, 2017 20:07
Fetch restaurants with their Yelp rating and review count
public Single<Pair<List<Restaurant>, Boolean>> getRestaurantList(int userId) {
Single<List<Restaurant>> restaurantListSingle =
ddApi.getUserInfo(userId).flatMap(user -> {
return ddApi.getAvailableRestaurant(user.defaultAddress.lat, user.defaultAddress.lng);
});
Single<Boolean> showPhotoExperimentSingle =
ddApi.getShowPhotosExperiment(userId);
return restaurantListSingle.zipWith(showPhotoExperimentSingle, Pair::new);
@rohans-doordash
rohans-doordash / RestaurantDataSource.java
Last active July 16, 2021 02:12
Fetch restaurants at a user's address by using RxJava
public Single<List<Restaurant>> getRestaurants(int userId) {
return ddApi.getUserInfo(userId).flapMap(user -> {
return ddApi.getAvailableRestaurants(user.defaultAddress.lat, user.defaultAddress.lng);
});
}
@rohans-doordash
rohans-doordash / RestaurantDataSource.java
Last active June 29, 2017 20:07
Fetch restaurant list at a user's default address using Retrofit
/**
* Fetch the current user's default address
*/
public void getUserInfo(int userId) {
ddApi.getUserInfo(userId, new Callback<User>() {
@Override
public void onResponse(@NonNull Call<User> call,
@NonNull Response<User> response) {
if (response.isSuccessful() && response.body() != null) {
User user = response.body();
@rohans-doordash
rohans-doordash / RestaurantDataSource.java
Last active June 29, 2017 20:07
Fetch restaurant list using Retrofit
public void getRestaurants(double lat, double lng) {
ddApi.getRestaurants(lat, lng, new Callback<List<Restaurant>>() {
@Override
public void onResponse(@NonNull Call<List<Restaurant>> call,
@NonNull Response<List<Restaurant>> response) {
if (response.isSuccessful() && response.body() != null) {
// update adapter with restaurants
} else {
// display the error message contained in response.errorBody()
}
package com.dd.doordash;
import android.app.Activity;
import android.support.test.InstrumentationRegistry;
import android.support.test.espresso.IdlingResource;
import com.dd.doordash.activities.main.DashboardActivity;
public class LoginIdlingResource implements IdlingResource {
package com.doordash.mvpexample.data;
import android.support.annotation.NonNull;
import android.support.annotation.VisibleForTesting;
import com.doordash.mvpexample.api.AuthenticationApi;
import com.doordash.mvpexample.helpers.SharedPreferencesHelper;
import com.doordash.mvpexample.models.Token;
import javax.inject.Inject;