Skip to content

Instantly share code, notes, and snippets.

View keima's full-sized avatar
🐔
WINNER WINNER CHICKEN DINNER!

Kouta Imanaka keima

🐔
WINNER WINNER CHICKEN DINNER!
View GitHub Profile
import net.yslibrary.licenseadapter.Library
import net.yslibrary.licenseadapter.Licenses
fun licenseList(setup: LicenseListBuilder.() -> Unit) =
LicenseListBuilder().let {
it.setup()
it.build()
}
class LicenseListBuilder {
@keima
keima / HowToUseActivity.kt
Last active March 31, 2024 21:58
LifecycleOwner implemented RecyclerView ViewHolder & Adapter (concept design)
import android.os.Bundle
import android.util.Log
import android.view.ViewGroup
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.OnLifecycleEvent
import app.keima.android.recyclerviewsandbox.databinding.ActivityMainBinding
@keima
keima / GLVideoTextureView.kt
Created March 23, 2018 14:19
ExoPlayer + GLTextureView
import android.content.Context
import android.graphics.Matrix
import android.util.AttributeSet
import com.google.android.apps.muzei.render.GLTextureView
import com.google.android.exoplayer2.SimpleExoPlayer
import timber.log.Timber
class GLVideoTextureView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null
) : GLTextureView(context, attrs), SimpleExoPlayer.VideoListener {
// Package X
class Foo {
interface FooInterface {
void fnFoo();
}
}
public class Bar {
public void prepareFoo(VisibleFooInterface foo) {
foo.fnFoo();
@keima
keima / settings.gradle
Created June 12, 2017 03:15
android project example for using git submodule
// libraries/cameraview and libraries/transcoder are submodule project
include ':CameraView'
project(':CameraView').projectDir = new File(rootDir, 'libraries/cameraview/library')
include ':Transcoder'
project(':Transcoder').projectDir = new File(rootDir, 'libraries/transcoder/lib')
include ':app'
@keima
keima / CountDownTimerLiveData.java
Created May 18, 2017 12:43
Demonstration of LiveData.
package net.pside.android.example.sunaba.livedata;
import android.arch.lifecycle.LiveData;
import android.os.CountDownTimer;
import android.util.Log;
import java.util.concurrent.atomic.AtomicBoolean;
public class CountDownTimerLiveData extends LiveData<Long> {
#!/bin/sh
if [ $# -ne 3 ]; then
echo "How to use:" 1>&2
echo "$0 keyfile.key "iv_hex_32_length" encripted.ts" 1>&2
exit 1
fi
openssl aes-128-cbc -d -in $3 -out decripted_$3 -p -nosalt -iv $2 -K $(cat $1 | hexdump -e '16/1 "%02x"')
TestSubscriber<List<String>> testSubscriber = new TestSubscriber<>();
long startTime = new Date().getTime(), endTime = 0;
System.out.println("Start.");
Observable.merge(
asyncObservable("uno", 4).map(new Func1<String, Pair<Integer, String>>() {
@Override
public Pair<Integer, String> call(String s) {
return Pair.create(0, s);
#!/bin/sh
CNT=1
for url in `cat images.txt`
do
curl -o `printf %03d $CNT`.jpg $url
CNT=$(( CNT + 1 ))
done
import android.content.ContentResolver;
import android.content.Context;
import android.os.Build;
import android.provider.Settings;
import android.util.Log;
import com.google.android.gms.ads.AdRequest;
import java.math.BigInteger;
import java.security.MessageDigest;