Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions packages/interactive_media_ads/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 0.2.2+8

* Adds remaining methods for internal wrapper of the iOS native `IMAAdsRenderingSettings`.

## 0.2.2+7

* Updates Java compatibility version to 11.
Expand Down
8 changes: 4 additions & 4 deletions packages/interactive_media_ads/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,10 @@ iOS:

```yaml
pigeon:
git:
url: [email protected]:bparrishMines/packages.git
ref: pigeon_wrapper_swift
path: packages/pigeon
git:
url: [email protected]:bparrishMines/packages.git
ref: pigeon_wrapper_swift
path: packages/pigeon
```

##### 3. Uncomment the multiline comments in the pigeon file
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class AdsRequestProxyApi(override val pigeonRegistrar: ProxyApiRegistrar) :
*
* This must match the version in pubspec.yaml.
*/
const val pluginVersion = "0.2.2+7"
const val pluginVersion = "0.2.2+8"
}

override fun setAdTagUrl(pigeon_instance: AdsRequest, adTagUrl: String) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,87 @@ final class AdsRenderingSettingsTests: XCTestCase {

XCTAssertTrue(instance != nil)
}

func testSetMimeTypes() {
let registrar = TestProxyApiRegistrar()
let api = registrar.apiDelegate.pigeonApiIMAAdsRenderingSettings(registrar)

let instance = IMAAdsRenderingSettings()
let types = ["myString"]
try? api.pigeonDelegate.setMimeTypes(pigeonApi: api, pigeonInstance: instance, types: types)

XCTAssertEqual(instance.mimeTypes, types)
}

func testSetBitrate() {
let registrar = TestProxyApiRegistrar()
let api = registrar.apiDelegate.pigeonApiIMAAdsRenderingSettings(registrar)

let instance = IMAAdsRenderingSettings()
let bitrate = 0
try? api.pigeonDelegate.setBitrate(
pigeonApi: api, pigeonInstance: instance, bitrate: Int64(bitrate))

XCTAssertEqual(instance.bitrate, bitrate)
}

func testSetLoadVideoTimeout() {
let registrar = TestProxyApiRegistrar()
let api = registrar.apiDelegate.pigeonApiIMAAdsRenderingSettings(registrar)

let instance = IMAAdsRenderingSettings()
let seconds = 1.0
try? api.pigeonDelegate.setLoadVideoTimeout(
pigeonApi: api, pigeonInstance: instance, seconds: seconds)

XCTAssertEqual(instance.loadVideoTimeout, seconds)
}

func testSetPlayAdsAfterTime() {
let registrar = TestProxyApiRegistrar()
let api = registrar.apiDelegate.pigeonApiIMAAdsRenderingSettings(registrar)

let instance = IMAAdsRenderingSettings()
let seconds = 1.0
try? api.pigeonDelegate.setPlayAdsAfterTime(
pigeonApi: api, pigeonInstance: instance, seconds: seconds)

XCTAssertEqual(instance.playAdsAfterTime, seconds)
}

func testSetUIElements() {
let registrar = TestProxyApiRegistrar()
let api = registrar.apiDelegate.pigeonApiIMAAdsRenderingSettings(registrar)

let instance = IMAAdsRenderingSettings()
let types = [UIElementType.adAttribution]
try? api.pigeonDelegate.setUIElements(pigeonApi: api, pigeonInstance: instance, types: types)

XCTAssertEqual(
instance.uiElements, [IMAUiElementType.elements_AD_ATTRIBUTION.rawValue as NSNumber])
}

func testSetEnablePreloading() {
let registrar = TestProxyApiRegistrar()
let api = registrar.apiDelegate.pigeonApiIMAAdsRenderingSettings(registrar)

let instance = IMAAdsRenderingSettings()
let enable = true
try? api.pigeonDelegate.setEnablePreloading(
pigeonApi: api, pigeonInstance: instance, enable: enable)

XCTAssertTrue(instance.enablePreloading)
}

func testSetLinkOpenerPresentingController() {
let registrar = TestProxyApiRegistrar()
let api = registrar.apiDelegate.pigeonApiIMAAdsRenderingSettings(registrar)

let instance = IMAAdsRenderingSettings()
let controller = UIViewController()
try? api.pigeonDelegate.setLinkOpenerPresentingController(
pigeonApi: api, pigeonInstance: instance, controller: controller)

XCTAssertEqual(instance.linkOpenerPresentingController, controller)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,65 @@ class AdsRenderingSettingsProxyAPIDelegate: PigeonApiDelegateIMAAdsRenderingSett
{
return IMAAdsRenderingSettings()
}

func setMimeTypes(
pigeonApi: PigeonApiIMAAdsRenderingSettings, pigeonInstance: IMAAdsRenderingSettings,
types: [String]?
) throws {
pigeonInstance.mimeTypes = types
}

func setBitrate(
pigeonApi: PigeonApiIMAAdsRenderingSettings, pigeonInstance: IMAAdsRenderingSettings,
bitrate: Int64
) throws {
pigeonInstance.bitrate = Int(bitrate)
}

func setLoadVideoTimeout(
pigeonApi: PigeonApiIMAAdsRenderingSettings, pigeonInstance: IMAAdsRenderingSettings,
seconds: Double
) throws {
pigeonInstance.loadVideoTimeout = seconds
}

func setPlayAdsAfterTime(
pigeonApi: PigeonApiIMAAdsRenderingSettings, pigeonInstance: IMAAdsRenderingSettings,
seconds: Double
) throws {
pigeonInstance.playAdsAfterTime = seconds
}

func setUIElements(
pigeonApi: PigeonApiIMAAdsRenderingSettings, pigeonInstance: IMAAdsRenderingSettings,
types: [UIElementType]?
) throws {
let nativeUiElementTypes: [NSNumber]? = try types?.map { type in
switch type {
case .adAttribution:
return IMAUiElementType.elements_AD_ATTRIBUTION.rawValue as NSNumber
case .countdown:
return IMAUiElementType.elements_COUNTDOWN.rawValue as NSNumber
case .unknown:
throw (pigeonApi.pigeonRegistrar.apiDelegate as! ProxyApiDelegate).createUnknownEnumError(
withEnum: type)
}
}

pigeonInstance.uiElements = nativeUiElementTypes
}

func setEnablePreloading(
pigeonApi: PigeonApiIMAAdsRenderingSettings, pigeonInstance: IMAAdsRenderingSettings,
enable: Bool
) throws {
pigeonInstance.enablePreloading = enable
}

func setLinkOpenerPresentingController(
pigeonApi: PigeonApiIMAAdsRenderingSettings, pigeonInstance: IMAAdsRenderingSettings,
controller: UIViewController
) throws {
pigeonInstance.linkOpenerPresentingController = controller
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class AdsRequestProxyAPIDelegate: PigeonApiDelegateIMAAdsRequest {
/// The current version of the `interactive_media_ads` plugin.
///
/// This must match the version in pubspec.yaml.
static let pluginVersion = "0.2.2+7"
static let pluginVersion = "0.2.2+8"

func pigeonDefaultConstructor(
pigeonApi: PigeonApiIMAAdsRequest, adTagUrl: String, adDisplayContainer: IMAAdDisplayContainer,
Expand Down
Loading