Skip to content

Instantly share code, notes, and snippets.

View mig35's full-sized avatar

Mikhail Gurevich mig35

View GitHub Profile
@mig35
mig35 / ExerciseEditInteractor.kt
Created October 28, 2017 13:44
Kotlin and Rx sample
package com.mig35.training.business.exercises.details
import com.mig35.training.business.common.BaseProfileLoadingInteractor
import com.mig35.training.data.model.exercise.Exercise
import com.mig35.training.data.model.rights.Rights
import com.mig35.training.data.model.user.PublicProfile
import com.mig35.training.data.repository.IAuthRepository
import com.mig35.training.data.repository.IExerciseRepository
import com.mig35.training.data.repository.IRightsRepository
import io.reactivex.Completable
android_sdk_repository(
name = "androidsdk",
path = "/path/to/sdk",
api_level = 29,
build_tools_version = "29.0.2"
)
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_android",
urls = ["https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip"],
sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806",
strip_prefix = "rules_android-0.1.1",
)
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
rules_kotlin_version = "legacy-1.3.0-rc1"
rules_kotlin_sha = "9de078258235ea48021830b1669bbbb678d7c3bdffd3435f4c0817c921a88e42"
http_archive(
name = "io_bazel_rules_kotlin",
urls = ["https://github.com/bazelbuild/rules_kotlin/archive/%s.zip" % rules_kotlin_version],
type = "zip",
strip_prefix = "rules_kotlin-%s" % rules_kotlin_version,
sha256 = rules_kotlin_sha
RULES_JVM_EXTERNAL_TAG = "2.2"
RULES_JVM_EXTERNAL_SHA = "f1203ce04e232ab6fdd81897cf0ff76f2c04c0741424d192f28e65ae752ce2d6"
http_archive(
name = "rules_jvm_external",
strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
sha256 = RULES_JVM_EXTERNAL_SHA,
url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG,
)
android_sdk_repository(
name = "androidsdk",
api_level = 29,
build_tools_version = "29.0.2"
)
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
kotlin_version = "1.3.61"
kotlin_release_sha = "3901151ad5d94798a268d1771c6c0b7e305a608c2889fc98a674802500597b1c"
rules_kotlin_compiler_release = {
"urls": [
"https://github.com/JetBrains/kotlin/releases/download/v{v}/kotlin-compiler-{v}.zip".format(v = kotlin_version),
],
"sha256": kotlin_release_sha,
}
bazel build //app/src/main:bazel
open fun onCommandWasAdded(dataState: DataState): DataState = dataState
open fun onExecuteStarting(dataState: DataState): DataState = dataState
abstract suspend fun executeCommand(dataState: DataState): CommandResult
open fun onExecuteSuccess(dataState: DataState, result: CommandResult): DataState = dataState
open fun onExecuteFail(dataState: DataState, error: Throwable): DataState = dataState
open fun onExecuteFinished(dataState: DataState): DataState = dataState
abstract fun shouldAddToPendingActions(
dataState: DataState,
pendingActionCommands: RemoveOnlyList<ActionCommand<*, *>>,
runningActionCommands: List<ActionCommand<*, *>>
): Boolean
abstract fun shouldBlockOtherTask(pendingActionCommand: ActionCommand<*, *>): Boolean
abstract fun shouldExecuteAction(