This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
./gradlew installAndRunDebug | |
./gradlew installAndRunRelease |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import kotlin.properties.ReadOnlyProperty | |
import kotlin.reflect.KProperty | |
interface Memoized { | |
fun <T> memoized(factory: () -> T): Memoizable<T> | |
} | |
class DefaultMemoized : Memoized { | |
override fun <T> memoized(factory: () -> T): Memoizable<T> { | |
return MemoizableAdapter(factory) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public interface ImageManager { | |
void loadImage(String imageUrl, ImageView target, Context context); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:tools="http://schemas.android.com/tools" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
tools:context="com.rozkmin.flavorshowcase.MainActivity"> | |
<ImageView | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
picassoDebugCompile 'com.squareup.picasso:picasso:2.5.2' | |
picassoReleaseCompile 'com.squareup.picasso:picasso:2.5.2' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
picassoCompile 'com.squareup.picasso:picasso:2.5.2' | |
glideCompile 'com.github.bumptech.glide:glide:4.1.1' | |
compile 'com.google.dagger:dagger:2.2' | |
annotationProcessor 'com.google.dagger:dagger-compiler:2.2' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
android { | |
/**/ | |
flavorDimensions "default" | |
productFlavors { | |
glide { | |
versionName defaultConfig.versionName + ".glide." + defaultConfig.versionCode | |
applicationId "com.rozkmin.flavorshowcaseglide" | |
dimension "default" | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class PromotionListViewRobot(presenter: PromotionListContract.Presenter) { | |
private val initSubject = BehaviorSubject.create<Any>() | |
private val renderedViewStates: MutableList<PromotionListContract.ViewState> = mutableListOf() | |
private val view: PromotionListContract.View = object : PromotionListContract.View { | |
override fun listInit(): Observable<Any> = initSubject | |
override fun render(viewState: PromotionListContract.ViewState) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class PromotionListPresenterTest : Spek({ | |
describe("promotion presenter") { | |
//mock interactor methods | |
on("view attach") { | |
//attach presenter | |
it("should display promotion list") { | |
//assertion | |
} | |
} | |
on("load more click") { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
interface PromotionListContract { | |
interface View : MvpView { | |
fun listInit(): Observable<Any> | |
fun render(viewState: ViewState) | |
} | |
abstract class Presenter : MviBasePresenter<View, ViewState>() | |
data class ViewState( | |
val promotionList: List<PromotionViewModel> = emptyList(), |
NewerOlder