package com.think.uiloader.data.datasource; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.text.TextUtils; import com.think.uiloader.data.net.ApiConnection; import com.think.uiloader.data.store.internal.Store; import com.think.uiloader.data.store.internal.TStore; import io.reactivex.Observable; import io.reactivex.ObservableSource; import io.reactivex.functions.Function; /** * Created by borney on 2/17/17. */ abstract class AbstractStore { private final String TAG = getClass().getSimpleName(); Context context; ApiConnection api; Store store; AbstractStore(Context context, ApiConnection api) { this.context = context; this.api = api; this.store = TStore.get(context); } boolean isThereInternetConnection() { boolean isConnected; ConnectivityManager connectivityManager = (ConnectivityManager) this.context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); isConnected = (networkInfo != null && networkInfo.isConnectedOrConnecting()); return isConnected; } <T> Function<Throwable, ObservableSource<T>> errorResumeNext () { return new Function<Throwable, ObservableSource<T>>() { @Override public ObservableSource<T> apply( Throwable throwable) throws Exception { return (ObservableSource<T>) Observable.empty(); } }; } boolean isEmpty(String s) { return TextUtils.isEmpty(s); } }