Skip to content

Instantly share code, notes, and snippets.

View ShinichiroFunatsu's full-sized avatar

Shinichiro Funatsu ShinichiroFunatsu

  • Freelance Android Dev
  • Tokyo
View GitHub Profile
@ShinichiroFunatsu
ShinichiroFunatsu / image_text_via_cardview.xml
Created October 3, 2018 01:53
image_text_via_cardview
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.CardView
android:id="@+id/cardView"
xmlns:android="http://schemas.android.com/apk/res/android"
@ShinichiroFunatsu
ShinichiroFunatsu / file0.txt
Last active September 14, 2020 06:47
[Android] Using Koin in MVP-Repository Pattern for DI ref: https://qiita.com/ShinichiroFunatsu/items/67ed52b779dfb3c21e9e
// add a class inherited Application for setup koin
class MyApp: Application() {
override fun onCreate() {
super.onCreate()
}
}
// presentation layer
object GreetContract {
@ShinichiroFunatsu
ShinichiroFunatsu / file0.groovy
Last active October 29, 2018 15:29
[Android] How To Change "ActionBar" Title Text Color when applied "Theme.MaterialComponents.Light.DarkActionBar" to AppTheme ref: https://qiita.com/ShinichiroFunatsu/items/938e07d44b032fad7318
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.actionbartextcolor"
@ShinichiroFunatsu
ShinichiroFunatsu / InputConfirmViewModel.kt
Created November 11, 2018 15:38
Reactive Sample with Live Data
class InputConfirmViewModel : ViewModel() {
// inputs
val inputStream = MutableLiveData<String>()
val inputClickBtn = MutableLiveData<Unit?>().apply { observeForever {
errorEventStream.value =
if(inputStream.value.isIntNum()) null else "not num"
} }
// outputs
val btnEnableStream = MediatorLiveData<Boolean>().apply { value = false }.also { enable ->
enable.addSource(inputStream) { ins: String ->
@ShinichiroFunatsu
ShinichiroFunatsu / ExplodeFadeOut.kt
Last active December 5, 2018 00:18
FragmentTransaction setCustomAnimations
class ExplodeFadeOut : Explode() {
init {
propagation = null
}
override fun onAppear(sceneRoot: ViewGroup?, view: View?, startValues: TransitionValues?,
endValues: TransitionValues?): Animator {
val explodeAnimator = super.onAppear(sceneRoot, view, startValues, endValues)
val fadeInAnimator = ObjectAnimator.ofFloat(view, View.ALPHA, 0f, 1f)
@ShinichiroFunatsu
ShinichiroFunatsu / KotlinCoroutinesMVVM.kt
Last active April 1, 2019 16:08
ViewModel + LiveData + Kotlin Coroutines
class MainActivity : AppCompatActivity() {
val mainViewModel: MainViewModel by lazy {
ViewModelProviders.of(this).get(MainViewModel::class.java)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
private fun getRootWindowPackageName(): String? =
InstrumentationRegistry
.getInstrumentation()
.uiAutomation
.rootInActiveWindow
?.packageName
?.toString()
@ShinichiroFunatsu
ShinichiroFunatsu / get event
Created August 26, 2019 06:55
Touch Event Logging command.
adb shell getevent -lt 2>&1 | tee "$(date +"%Y_%m_%d_%I_%M_%p").log"
# .config/fish/conf.d/omf.fish
# Path to Oh My Fish install.
set -q XDG_DATA_HOME
and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
or set -gx OMF_PATH "$HOME/.local/share/omf"
# Load Oh My Fish configuration.
source $OMF_PATH/init.fish
# set up java with jenv
@ShinichiroFunatsu
ShinichiroFunatsu / .zshrc
Last active December 28, 2019 15:11
.zshrc settings (open with vscode `$code ~/.zshrc`)
.zshrc