https://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner.html
-e timeout_msec 5000
https://cloud.google.com/sdk/gcloud/reference/firebase/test/android/run
--environment-variables key=value
Command
| import com.android.build.api.dsl.CommonExtension | |
| import java.io.File | |
| import javax.xml.parsers.DocumentBuilderFactory | |
| import javax.xml.transform.TransformerFactory | |
| import javax.xml.transform.dom.DOMSource | |
| import javax.xml.transform.stream.StreamResult | |
| import org.gradle.api.Plugin | |
| import org.gradle.api.Project | |
| import org.gradle.configurationcache.extensions.capitalized | |
| import org.gradle.kotlin.dsl.getByName |
| import java.net.URI | |
| import org.gradle.api.Project | |
| import org.gradle.api.artifacts.dsl.RepositoryHandler | |
| import org.gradle.api.artifacts.repositories.MavenArtifactRepository | |
| import org.gradle.kotlin.dsl.provideDelegate | |
| val RepositoryHandler.github: Project.(repo: String) -> MavenArtifactRepository get() = { repo -> | |
| maven { | |
| url = URI("https://maven.pkg.github.com/$repo") | |
| credentials { |
| val LifecycleOwner.disposeOn: Disposable.(Lifecycle.Event) -> Unit | |
| get() = { disposeEvent -> disposeOn(lifecycle, disposeEvent) } | |
| val LifecycleOwner.autoDispose: Disposable.() -> Unit | |
| get() = { autoDispose(lifecycle) } |
https://developer.android.com/reference/android/support/test/runner/AndroidJUnitRunner.html
-e timeout_msec 5000
https://cloud.google.com/sdk/gcloud/reference/firebase/test/android/run
--environment-variables key=value
Command
| import android.content.Context | |
| import android.graphics.Canvas | |
| import android.graphics.Paint | |
| import android.graphics.PorterDuff | |
| import android.graphics.PorterDuffXfermode | |
| import android.graphics.drawable.Drawable | |
| import android.support.v7.widget.AppCompatTextView | |
| import android.util.AttributeSet |
| import android.content.Context | |
| import android.support.design.widget.CoordinatorLayout | |
| import android.support.v4.view.NestedScrollingChild2 | |
| import android.support.v4.view.NestedScrollingChildHelper | |
| import android.util.AttributeSet | |
| import android.view.View | |
| class NestedScrollCoordinatorLayout @JvmOverloads constructor( | |
| context: Context, | |
| attrs: AttributeSet? = null |
| import android.arch.core.executor.testing.InstantTaskExecutorRule | |
| import android.arch.lifecycle.LiveData | |
| import android.arch.lifecycle.MediatorLiveData | |
| import android.arch.lifecycle.MutableLiveData | |
| import io.reactivex.subjects.SingleSubject | |
| import org.junit.Before | |
| import org.junit.Rule | |
| import org.junit.Test | |
| import kotlin.test.assertEquals |
| android { | |
| buildTypes { | |
| release { | |
| multiDexKeepProguard 'multidex-config.pro' | |
| ... | |
| } | |
| } | |
| } |
| // こっちだとTextView!!になるので | |
| val text26_1 = findViewById<TextView>(android.R.id.text2) | |
| // 型を明示するほうが良さそう | |
| val text26_2: TextView = findViewById(android.R.id.text2) |
| interface Diffable { | |
| // otherと同じIDを持つかどうか | |
| fun isTheSame(other: Diffable): Boolean = equals(other) | |
| // otherと完全一致するかどうか | |
| fun isContentsTheSame(other: Diffable): Boolean = equals(other) | |
| } | |
| private class Callback( | |
| val old: List<Diffable>, | |
| val new: List<Diffable> |