Skip to content

Instantly share code, notes, and snippets.

View dinorahtovar's full-sized avatar

Dinorah Tovar dinorahtovar

View GitHub Profile
@dinorahtovar
dinorahtovar / RecyclerView, RecyclerViewAdapter y RecyclerViewHolder
Last active December 20, 2017 18:32
RecyclerView implementation with different holders and different files
/**
* Created by Dinorah Tovar on 12/20/17.
* RecyclerView Implementation inside Activity/Fragment
*/
//...
RecyclerViewAdapter adapter = new RecyclerViewAdapter();
final LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);
@dinorahtovar
dinorahtovar / ViewPager without drag event
Last active December 20, 2017 18:34
Custome ViewPager without Scroller (disable paging)
/**
* Created by Dinorah Tovar on 12/20/17.
* ViewPager
*/
public class CustomViewPager extends ViewPager {
public CustomViewPager(Context context) {
super(context);
setMyScroller();
@dinorahtovar
dinorahtovar / Adding Headers as parameters.kt
Last active July 19, 2018 17:07
Adding Headers Request Retrofit
@Headers("Content-Type:application/json; charset=UTF-8")
@GET("yourwebsite/{someParam}/login")
fun logout(@Header(UUID.randomUUID().toString()) authToken: String?, @Path("someParam") someParam: String?): Observable<LoginResponseViewModel>
@Provides
@Singleton
fun getUnsafeOkHttpClient(): OkHttpClient {
val interceptor = HttpLoggingInterceptor()
interceptor.level = HttpLoggingInterceptor.Level.BODY
val builder = OkHttpClient.Builder()
builder.addInterceptor(interceptor)
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.followRedirects(true)
/**
* Created by Dinorah Tovar on 04/04/18.
* Secondary helper interceptor to skip interceptor headers over Data Module
*/
class SupportInterceptor: Interceptor {
/**
* Interceptor class for setting of the headers for every request
/**
* Created by Dinorah Tovar on 04/04/18.
* Secondary helper interceptor to skip interceptor headers over Data Module
*/
class SupportInterceptor: Interceptor, Authenticator {
/**
* Interceptor class for setting of the headers for every request
*/
/**
* OkHttpClient
*/
@Provides
@Singleton
fun getUnsafeOkHttpClient(): OkHttpClient {
val interceptor = HttpLoggingInterceptor()
interceptor.level = HttpLoggingInterceptor.Level.HEADERS
interceptor.level = HttpLoggingInterceptor.Level.BODY
val builder = OkHttpClient.Builder()
@Headers("Content-Type:application/json; charset=UTF-8")
@GET("yourwebsite/{someParam}/login")
fun logout(@Path("someParam") someParam: String?): Observable<LoginResponseViewModel>
@dinorahtovar
dinorahtovar / Two observables with FlatMap.kt
Last active July 20, 2018 22:44
Flat map of observables with a Retrofit Request.
/**
* Returns an observable from a function that decrypts stored user data
*/
fun currentUserObservable(): Observable<UserViewModel> {
return Observable.create(ObservableOnSubscribe<UserViewModel> { subscriber ->
val user = currentUser()
if (user != null)
subscriber.onNext(user)
else
subscriber.onError(Throwable("User is null"))
@dinorahtovar
dinorahtovar / TextInputLayoutNoPaddingHintWithDrawable.kt
Created July 20, 2018 23:06
TextInputLayout with a drawable, but without the padding in the Hint
import android.content.Context
import android.graphics.Rect
import android.support.design.widget.TextInputLayout
import android.util.AttributeSet
import java.lang.reflect.InvocationTargetException
import java.lang.reflect.Method
/**
* Created by Dinorah Tovar on 6/19/18
* Password with