(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
import java.security.InvalidKeyException; | |
import java.security.NoSuchAlgorithmException; | |
import java.security.SignatureException; | |
import java.util.Formatter; | |
import javax.crypto.Mac; | |
import javax.crypto.spec.SecretKeySpec; | |
/** |
package com.raulete.dev.stretchvideoview.utils; | |
import android.content.Context; | |
import android.util.AttributeSet; | |
import android.widget.VideoView; | |
public class StretchVideoView extends VideoView { | |
public StretchVideoView(Context context) { | |
super(context); | |
} |
import java.util.concurrent.Callable; | |
import java.util.concurrent.ExecutorService; | |
import java.util.concurrent.Future; | |
import java.util.concurrent.LinkedBlockingQueue; | |
import java.util.concurrent.ThreadPoolExecutor; | |
import java.util.concurrent.TimeUnit; | |
public class FuturesA { | |
public static void run() throws Exception { |
import java.util.ArrayList; | |
import java.util.Iterator; | |
import java.util.List; | |
import java.util.concurrent.Callable; | |
import java.util.concurrent.ExecutorService; | |
import java.util.concurrent.Future; | |
import java.util.concurrent.LinkedBlockingQueue; | |
import java.util.concurrent.ThreadPoolExecutor; | |
import java.util.concurrent.TimeUnit; |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
import android.content.Context; | |
import android.support.v7.widget.RecyclerView; | |
import android.util.AttributeSet; | |
import android.view.View; | |
/** | |
* {@link GridLayoutManager} extension which introduces workaround for focus finding bug when | |
* navigating with dpad. | |
* | |
* @see <a href="http://stackoverflow.com/questions/31596801/recyclerview-focus-scrolling">http://stackoverflow.com/questions/31596801/recyclerview-focus-scrolling</a> |
android { | |
// omitting... | |
signingConfigs { | |
release { | |
readKeystoreProperties() | |
} | |
} |
import android.content.pm.PackageManager; | |
import android.os.Build; | |
/** | |
* {@link PermissionHandler} provides a simple API to request Android permissions | |
* at runtime. The class exposes one static method: {@link #request} which the | |
* requesting activity should call to request or check for permission. The requesting | |
* activity must implement {@link PermissionActivity}. | |
*/ | |
public class PermissionHandler { |