Skip to content

Instantly share code, notes, and snippets.

View jpardogo's full-sized avatar
:octocat:

JPARDOGO jpardogo

:octocat:
View GitHub Profile
@jpardogo
jpardogo / pre-push
Created October 3, 2019 15:59
Pre-Push Git Hook for ktlint formatting
#!/bin/sh
# Place this hook in the repo .git/hooks folder.
# make sure you chmod a+x this hook in terminal.
# Otherwise, you'll tear your hair out when you think it should run but it doesn't.
# Video Pre-Push Git Hook for ktlint Formatting With Plugin: https://www.youtube.com/watch?v=eysVDO2_X0s
# Ktlint Plugin: org.jlleitschuh.gradle:ktlint-gradle
echo "Checking code formatting"

Keybase proof

I hereby claim:

  • I am jpardogo on github.
  • I am jpardogo (https://keybase.io/jpardogo) on keybase.
  • I have a public key ASDtOzg1GMCRFyMm0Ox8Nlkl0Yfod1WMvW4GtZe0AVViiQo

To claim this, I am signing this object:

@jpardogo
jpardogo / ViewModelBinder.kt
Last active August 20, 2018 19:56
ViewModelBinder utility class for Kodein DI
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 April 11, 2018 12:18
Gradle DependecyResolution
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
}
}
@jpardogo
jpardogo / RecyclerItemClickListener.java
Created October 19, 2016 13:44
RecyclerItemClickListener
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 June 14, 2018 08:40
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
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 16:30
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/
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 August 29, 2015 14:00
Method to load a WebView that will receive the real 100% progress of the WebView avoiding fake 100% progress due redirections
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 June 11, 2020 08:09
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).
public class ScaleToFitWidthHeightTransform implements Transformation {
private int mSize;
private boolean isHeightScale;
public ScaleToFitWidthHeightTransform(int size, boolean isHeightScale){
mSize =size;
this.isHeightScale = isHeightScale;
}