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> |