Skip to content

Instantly share code, notes, and snippets.

View guavabot's full-sized avatar

Ivan Soriano guavabot

View GitHub Profile
@guavabot
guavabot / emulator
Created November 18, 2016 16:36
Select an emulator and add local IP as http proxy
#!/bin/bash
emulator () {
EMULATORS=$(~/Library/Android/sdk/tools/emulator -list-avds)
LOCAL_PROXY_IP=`ipconfig getifaddr en0`
echo "Enter the number of the emulator you want to launch:"
PS3="Your choice: "
select EMULATOR in $EMULATORS;
@guavabot
guavabot / draw_behind_status_bar.md
Created September 30, 2016 11:43
Draw behind status bar
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

    getWindow().setStatusBarColor(ContextCompat.getColor(this, android.R.color.transparent));
}
@guavabot
guavabot / CorrectAbsolutRecyclerViewScroll.java
Last active September 30, 2016 09:08
Fix absolute RecyclerView scroll when items change size and scroll callback is not received
recyclerView.addOnScrollListener(new RecyclerScrollListener());
private static class RecyclerScrollListener extends RecyclerView.OnScrollListener {
private int overallYScroll;
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
overallYScroll += dy;
import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Request;
import com.squareup.picasso.RequestHandler;
/**
* Proves that we can put a condition in the parameter of a synchronized block.
*
* <p>Ex.
* <br>{@code synchronized (first ? mLock1 : mLock2)}
*/
public class ConditionSynchronizedBlock {
public static void main(String [ ] a) {
ConditionSynchronizedBlock tested = new ConditionSynchronizedBlock();