Skip to content

Instantly share code, notes, and snippets.

:octocat:

JPARDOGO jpardogo

:octocat:
Block or report user

Report or block jpardogo

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@jpardogo
jpardogo / ViewModelBinder.kt
Last active Aug 20, 2018
ViewModelBinder utility class for Kodein DI
View ViewModelBinder.kt
inline fun <reified ViewModelT : ViewModel> BindActivity.viewModelBinder() = lazy {
activitybBinder<ViewModelT>(bindActivity = this)
}
inline fun <reified ViewModelT : ViewModel> BindFragment.viewModelBinder() = lazy {
ViewModelProviders
.of(this,
getFactory<ViewModelT>(kodein))
.get(ViewModelT::class.java)
}
@jpardogo
jpardogo / build.gradle
Created Apr 11, 2018
Gradle DependecyResolution
View build.gradle
subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
boolean isMultidex = details.requested.name.contains('multidex')
if (details.requested.group == 'com.android.support' && !isMultidex){
details.useVersion lib_versions.support
}else if(isMultidex){
details.useVersion lib_versions.multidex
}
}
View RecyclerItemClickListener.java
public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener {
private OnItemClickListener mListener;
private GestureDetector mGestureDetector;
public interface OnItemClickListener {
void onItemClick(View view, int position);
}
public RecyclerItemClickListener(Context context, OnItemClickListener listener) {
mListener = listener;
@jpardogo
jpardogo / BaseAllAdapters.java
Last active Jun 14, 2018
Java classes to create a common base adapter strategy that acts as base for common adapters and multiple view types adapters in an android app
View BaseAllAdapters.java
public abstract class BaseAllAdapters<T> extends BaseAdapter {
protected Context mContext;
protected LongSparseArray<DelegateAdapter> mDelegateAdapterSparseArray;
private int mViewLayoutId = 0;
private List<ListItem<T>> mItems;
/*Constructor if we dont use mutiple view types in the list*/
public BaseAllAdapters(Context context, int viewLayoutId) {
mContext = context;
@jpardogo
jpardogo / AutoScrollListActivity.java
Created May 28, 2014
Demostration of the implementation of an auto-scroll ListView in Android. This gist is a reference for the blog post How to autoscroll a ListView at http://blog.jpardogo.com/autoscroll-a-listview-with-listviewautoscrollhelper/
View AutoScrollListActivity.java
package com.jpardogo.android.myapplication.app;
import android.app.ListActivity;
import android.support.v4.widget.AutoScrollHelper;
import android.support.v4.widget.ListViewAutoScrollHelper;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
@jpardogo
jpardogo / RediWebViewLoad.java
Last active Aug 29, 2015
Method to load a WebView that will receive the real 100% progress of the WebView avoiding fake 100% progress due redirections
View RediWebViewLoad.java
private void loadPage() {
WebSettings seetings = mWebView.getSettings();
seetings.setJavaScriptEnabled(true);
seetings.setBuiltInZoomControls(false);
seetings.setSupportZoom(true);
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
mLoadingCount++;
return super.shouldOverrideUrlLoading(view, url);
@jpardogo
jpardogo / ScaleToFitWHTransformation.java
Last active Dec 19, 2018
Resize a bitmap respecting the aspect radio. I use a custom transformations with Picasso library. This transformation calculate the new dimension of the bitmap scaling it to fit a specific width or height that we pass as a parameter (usually the biggest size of the imageView where we wanna set the bitmap).
View ScaleToFitWHTransformation.java
public class ScaleToFitWidthHeightTransform implements Transformation {
private int mSize;
private boolean isHeightScale;
public ScaleToFitWidthHeightTransform(int size, boolean isHeightScale){
mSize =size;
this.isHeightScale = isHeightScale;
}
You can’t perform that action at this time.