Skip to content

Commit

Permalink
Merge pull request #15 from flipkart-incubator/adRenderer
Browse files Browse the repository at this point in the history
capability to override ad renderer layout
  • Loading branch information
anirudhramanan committed Jun 16, 2020
2 parents e6ab7bf + 7b9eab7 commit b819616
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,13 @@ import com.flipkart.madman.renderer.callback.ViewClickListener
import com.flipkart.madman.renderer.player.AdPlayer
import com.flipkart.madman.renderer.settings.DefaultRenderingSettings
import com.flipkart.madman.renderer.settings.RenderingSettings
import com.flipkart.mediaads.sdk.R
import java.util.concurrent.TimeUnit

/**
* Default implementation of [AdRenderer]
*/
open class DefaultAdRenderer private constructor(
open class DefaultAdRenderer constructor(
builder: Builder,
private val viewBinder: AdViewBinder
) : AdRenderer {
Expand Down Expand Up @@ -278,7 +279,14 @@ open class DefaultAdRenderer private constructor(
}

fun build(viewBinder: AdViewBinder?): DefaultAdRenderer {
return DefaultAdRenderer(this, viewBinder ?: AdViewBinder.Builder().build())
return DefaultAdRenderer(
this,
viewBinder ?: AdViewBinder.Builder()
.setSkipViewId(R.id.skip_view)
.setAdCountDownViewId(R.id.ad_count_down)
.setClickThroughViewId(R.id.click_through)
.build(R.layout.ad_layout)
)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@
*/
package com.flipkart.madman.renderer.binder

import com.flipkart.mediaads.sdk.R

/**
* View Binder class to specify ids for the UI elements.
*
* Pass this in the builder of DefaultAdRenderer
*/
class AdViewBinder private constructor(builder: Builder) {

class AdViewBinder private constructor(
builder: Builder,
layoutId: Int
) {
/** layout id **/
val layoutToInflateId: Int
val layoutToInflateId: Int = layoutId

/** skip view button id **/
var skipViewId: Int? = null
Expand All @@ -37,22 +37,15 @@ class AdViewBinder private constructor(builder: Builder) {
var adCountDownViewId: Int? = null

init {
layoutToInflateId = builder.layoutToInflateId
skipViewId = builder.skipViewId
adCountDownViewId = builder.adCountDownViewId
clickThroughViewId = builder.clickThroughViewId
}

class Builder {
internal var skipViewId: Int = R.id.skip_view
internal var clickThroughViewId: Int = R.id.click_through
internal var layoutToInflateId: Int = R.layout.ad_layout
internal var adCountDownViewId: Int = R.id.ad_count_down

fun setLayoutId(id: Int): Builder {
this.layoutToInflateId = id
return this
}
internal var skipViewId: Int? = null
internal var clickThroughViewId: Int? = null
internal var adCountDownViewId: Int? = null

fun setSkipViewId(id: Int): Builder {
this.skipViewId = id
Expand All @@ -64,8 +57,13 @@ class AdViewBinder private constructor(builder: Builder) {
return this
}

fun build(): AdViewBinder {
return AdViewBinder(this)
fun setAdCountDownViewId(id: Int): Builder {
this.adCountDownViewId = id
return this
}

fun build(layoutId: Int): AdViewBinder {
return AdViewBinder(this, layoutId)
}
}
}

0 comments on commit b819616

Please sign in to comment.