-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Migrate to [moshi](https://github.com/square/moshi) instead of gson to have better compatibility with kotlin.
- Loading branch information
Showing
89 changed files
with
762 additions
and
763 deletions.
There are no files selected for viewing
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
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
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
2 changes: 1 addition & 1 deletion
2
data/src/androidTest/java/ch/srg/dataProvider/integrationlayer/data/BlockReasonGsonTest.kt
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
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
19 changes: 19 additions & 0 deletions
19
data/src/main/java/ch/srg/dataProvider/integrationlayer/data/DataProviderMoshi.kt
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package ch.srg.dataProvider.integrationlayer.data | ||
|
||
import ch.srg.dataProvider.integrationlayer.data.adapter.AspectRatioAdapter | ||
import ch.srg.dataProvider.integrationlayer.data.adapter.BlockReasonAdapter | ||
import ch.srg.dataProvider.integrationlayer.data.adapter.ImageUrlAdapter | ||
import com.squareup.moshi.Moshi | ||
import com.squareup.moshi.adapters.Rfc3339DateJsonAdapter | ||
import com.squareup.moshi.addAdapter | ||
|
||
object DataProviderMoshi { | ||
|
||
@OptIn(ExperimentalStdlibApi::class) | ||
val moshi: Moshi = Moshi.Builder() | ||
.add(BlockReasonAdapter()) | ||
.add(AspectRatioAdapter()) | ||
.add(ImageUrlAdapter()) | ||
.addAdapter(Rfc3339DateJsonAdapter()) | ||
.build() | ||
} |
45 changes: 0 additions & 45 deletions
45
data/src/main/java/ch/srg/dataProvider/integrationlayer/data/ISO8601DateParser.kt
This file was deleted.
Oops, something went wrong.
88 changes: 0 additions & 88 deletions
88
data/src/main/java/ch/srg/dataProvider/integrationlayer/data/IlImage.java
This file was deleted.
Oops, something went wrong.
40 changes: 40 additions & 0 deletions
40
data/src/main/java/ch/srg/dataProvider/integrationlayer/data/IlImage.kt
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
package ch.srg.dataProvider.integrationlayer.data | ||
|
||
/** | ||
* Copyright (c) SRG SSR. All rights reserved. | ||
* | ||
* | ||
* License information is available from the LICENSE file. | ||
*/ | ||
data class IlImage @JvmOverloads constructor(val url: String, val scaling: Scaling = Scaling.Default) { | ||
enum class Scaling { | ||
Default, PreserveAspectRatio | ||
} | ||
|
||
@Suppress("MagicNumber") | ||
enum class Size(val sizePixels: Int) { | ||
W240(240), W320(320), W480(480), W960(960), W1920(1920); | ||
|
||
companion object { | ||
fun getClosest(pixels: Int): Size { | ||
if (pixels >= W1920.sizePixels) { | ||
return W1920 | ||
} | ||
if (pixels <= W240.sizePixels) { | ||
return W240 | ||
} | ||
val sizes = values() | ||
var closestSize = 0 | ||
var minDist = Int.MAX_VALUE | ||
for (i in sizes.indices) { | ||
val dist = Math.abs(sizes[i].sizePixels - pixels) | ||
if (dist <= minDist) { | ||
minDist = dist | ||
closestSize = i | ||
} | ||
} | ||
return sizes[closestSize] | ||
} | ||
} | ||
} | ||
} |
56 changes: 0 additions & 56 deletions
56
data/src/main/java/ch/srg/dataProvider/integrationlayer/data/ImageUrl.java
This file was deleted.
Oops, something went wrong.
32 changes: 32 additions & 0 deletions
32
data/src/main/java/ch/srg/dataProvider/integrationlayer/data/ImageUrl.kt
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
@file:Suppress("MemberVisibilityCanBePrivate") | ||
|
||
package ch.srg.dataProvider.integrationlayer.data | ||
|
||
import ch.srg.dataProvider.integrationlayer.data.IlImage.Scaling | ||
import java.io.Serializable | ||
|
||
/** | ||
* Copyright (c) SRG SSR. All rights reserved. | ||
* | ||
* | ||
* License information is available from the LICENSE file. | ||
*/ | ||
@Suppress("SerialVersionUIDInSerializableClass") | ||
data class ImageUrl( | ||
/** | ||
* Only for internal use! | ||
* | ||
* @return the undecorated url | ||
*/ | ||
val rawUrl: String | ||
) : Serializable { | ||
|
||
@JvmOverloads | ||
fun getIlImage(scaling: Scaling = Scaling.Default): IlImage { | ||
return IlImage(rawUrl, scaling) | ||
} | ||
|
||
override fun toString(): String { | ||
return rawUrl | ||
} | ||
} |
18 changes: 18 additions & 0 deletions
18
data/src/main/java/ch/srg/dataProvider/integrationlayer/data/adapter/AspectRatioAdapter.kt
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
package ch.srg.dataProvider.integrationlayer.data.adapter | ||
|
||
import ch.srg.dataProvider.integrationlayer.data.remote.AspectRatio | ||
import com.squareup.moshi.FromJson | ||
import com.squareup.moshi.ToJson | ||
|
||
class AspectRatioAdapter { | ||
|
||
@ToJson | ||
fun toJson(aspectRatio: AspectRatio): String { | ||
return aspectRatio.toString() | ||
} | ||
|
||
@FromJson | ||
fun fromJson(json: String): AspectRatio { | ||
return AspectRatio.parse(json) | ||
} | ||
} |
16 changes: 16 additions & 0 deletions
16
data/src/main/java/ch/srg/dataProvider/integrationlayer/data/adapter/BlockReasonAdapter.kt
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
package ch.srg.dataProvider.integrationlayer.data.adapter | ||
|
||
import ch.srg.dataProvider.integrationlayer.data.remote.BlockReason | ||
import com.squareup.moshi.FromJson | ||
import com.squareup.moshi.ToJson | ||
|
||
class BlockReasonAdapter { | ||
|
||
@FromJson fun fromJson(json: String): BlockReason { | ||
return BlockReason.parseValue(json) | ||
} | ||
|
||
@ToJson fun toJson(blockReason: BlockReason): String { | ||
return blockReason.toString() | ||
} | ||
} |
Oops, something went wrong.