Skip to content

Commit 9051b73

Browse files
committed
criacao de fallback de erro
2 parents ad8c2e8 + 8b773f4 commit 9051b73

File tree

39 files changed

+485
-452
lines changed

39 files changed

+485
-452
lines changed

app/build.gradle.kts

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,26 @@
11
@file:Suppress("UnstableApiUsage")
2-
android {
3-
namespace = "${Config.packageName}app"
42

5-
buildFeatures {
6-
compose = true
7-
}
8-
9-
composeOptions {
10-
kotlinCompilerExtensionVersion = Versions.compose_compiler_version
11-
}
3+
plugins {
4+
id("com.streamplayer.application")
125
}
6+
137
dependencies {
14-
implementation(project(Dependencies.Module.feature_list_streams))
15-
implementation(project(Dependencies.Module.core_networking))
16-
implementation(project(Dependencies.Module.core_shared_ui))
17-
implementation(project(Dependencies.Module.core_navigation))
18-
implementation(project(Dependencies.Module.core_shared))
198

20-
implementation(Dependencies.Koin.koin)
21-
Dependencies.Kotlin.list.forEach { implementation(it) }
22-
Dependencies.Support.list.forEach { implementation(it) }
23-
Dependencies.UnitTest.list.forEach { testImplementation(it) }
24-
Dependencies.AndroidTest.list.forEach { androidTestImplementation(it) }
9+
implementation(projects.featureListStreams)
10+
implementation(projects.coreShared)
11+
implementation(projects.coreSharedUi)
12+
implementation(projects.coreNavigation)
13+
implementation(projects.coreNetworking)
14+
15+
implementation(platform(libs.compose.bom))
16+
androidTestImplementation(platform(libs.compose.bom))
17+
18+
implementation(libs.bundles.koin)
19+
implementation(libs.bundles.androidSupport)
20+
implementation(libs.bundles.compose)
21+
implementation(libs.bundles.kotlin)
2522

26-
val composeBom = platform(Dependencies.Compose.composeBomVersion)
27-
implementation(composeBom)
28-
Dependencies.Compose.list.forEach { implementation(it) }
29-
implementation(Dependencies.lottie)
23+
implementation(libs.lottie)
24+
implementation(libs.lottie)
25+
testImplementation(libs.bundles.test)
3026
}

app/src/main/java/com/codandotv/streamplayerapp/splah/presentation/screens/SplashScreen.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import com.airbnb.lottie.compose.LottieAnimation
1414
import com.airbnb.lottie.compose.LottieCompositionSpec
1515
import com.airbnb.lottie.compose.animateLottieCompositionAsState
1616
import com.airbnb.lottie.compose.rememberLottieComposition
17-
import com.codandotv.streamplayerapp.core_shared_ui.R
17+
import com.codandotv.streamplayerapp.core.shared.ui.R as SharedUiR
1818

1919
@Composable
2020
fun SplashScreen(
@@ -29,7 +29,7 @@ fun SplashScreen(
2929
.fillMaxSize()
3030
.background(Color.Black)
3131
) {
32-
val composition by rememberLottieComposition(LottieCompositionSpec.RawRes(R.raw.logo))
32+
val composition by rememberLottieComposition(LottieCompositionSpec.RawRes(SharedUiR.raw.logo))
3333
val logoAnimationState = animateLottieCompositionAsState(composition = composition)
3434
LottieAnimation(composition = composition, progress = { logoAnimationState.progress })
3535
if (logoAnimationState.isAtEnd && logoAnimationState.isPlaying) {

build-logic/build.gradle.kts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import org.gradle.kotlin.dsl.`kotlin-dsl`
2+
3+
plugins {
4+
`kotlin-dsl`
5+
`kotlin-dsl-precompiled-script-plugins`
6+
}
7+
8+
repositories {
9+
mavenCentral()
10+
google()
11+
}
12+
13+
dependencies {
14+
implementation(libs.android.gradle.plugin)
15+
implementation(libs.kotlin.gradle.plugin)
16+
}

build-logic/settings.gradle.kts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
dependencyResolutionManagement {
2+
repositories {
3+
mavenCentral()
4+
}
5+
versionCatalogs {
6+
create("libs") {
7+
from(files("../gradle/libs.versions.toml"))
8+
}
9+
}
10+
}
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
object Config {
22
const val applicationId = "com.codandotv.streamplayerapp"
3-
const val buildToolsVersion = "33.0.1"
43
const val compileSdkVersion = 33
54
const val minSdkVersion = 24
65
const val targetSdkVersion = 33
76
const val versionName = "1.0"
87
const val versionCode = 1
9-
const val packageName = "com.codandotv.streamplayerapp."
8+
const val testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
109

1110
object BuildField {
1211
const val host_debug = "\"https://api.themoviedb.org/3/\""
1312
const val host_release = "\"https://api.themoviedb.org/3/\""
1413

1514
private const val tmdb_token_name_debug = "TMDB_BEARER_TOKEN_DEBUG"
1615
private const val tmdb_token_name_release = "TMDB_BEARER_TOKEN_RELEASE"
17-
val api_bearer_debug = "\"Bearer ${System.getenv(tmdb_token_name_debug) ?: ""}\""
18-
val api_bearer_release = "\"Bearer ${System.getenv(tmdb_token_name_release) ?: ""}\""
16+
17+
private const val bearear_without_environment = "eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJiNDg2NWM4YTAzNzhmM2I4NjI0OWU1ZjNiYWFiMjU2NyIsInN1YiI6IjY0Mjk4YTg5YTNlNGJhMWM0NDgzM2U4OCIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.9cIxv29vkaZ2yW88DIFRUFK_nXbK2b6KS8t96kA8WAE"
18+
19+
val api_bearer_debug = "\"Bearer ${System.getenv(tmdb_token_name_debug) ?: bearear_without_environment}\""
20+
val api_bearer_release = "\"Bearer ${System.getenv(tmdb_token_name_release) ?: bearear_without_environment}\""
1921
}
2022
}

build-logic/src/main/java/Keys.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
object Keys {
2+
private const val default_tmdb_token = "eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJiNDg2NWM4YTAzNzhmM2I4NjI0OWU1ZjNiYWFiMjU2NyIsInN1YiI6IjY0Mjk4YTg5YTNlNGJhMWM0NDgzM2U4OCIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.9cIxv29vkaZ2yW88DIFRUFK_nXbK2b6KS8t96kA8WAE"
3+
private const val tmdb_token_name_debug = "TMDB_BEARER_TOKEN_DEBUG"
4+
private const val tmdb_token_name_release = "TMDB_BEARER_TOKEN_RELEASE"
5+
6+
object BuildField {
7+
val api_bearer_debug =
8+
"\"Bearer ${System.getenv(tmdb_token_name_debug) ?: default_tmdb_token}\""
9+
val api_bearer_release =
10+
"\"Bearer ${System.getenv(tmdb_token_name_release) ?: default_tmdb_token}\""
11+
}
12+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
@file:Suppress("UnstableApiUsage")
2+
3+
import extensions.setupAndroidDefaultConfig
4+
import extensions.setupCompileOptions
5+
import extensions.setupNameSpace
6+
import extensions.setupPackingOptions
7+
8+
plugins {
9+
id("com.android.library")
10+
id("kotlin-android")
11+
id("kotlin-kapt")
12+
id("kotlin-parcelize")
13+
}
14+
15+
android {
16+
setupNameSpace(project)
17+
18+
setupCompileOptions()
19+
20+
setupPackingOptions()
21+
22+
setupAndroidDefaultConfig()
23+
defaultConfig.targetSdk = Config.targetSdkVersion
24+
25+
buildTypes {
26+
getByName("release") {
27+
isMinifyEnabled = true
28+
proguardFiles("proguard-android.txt", "proguard-rules.pro")
29+
consumerProguardFiles("proguard-rules.pro")
30+
}
31+
32+
getByName("debug") {
33+
isMinifyEnabled = false
34+
}
35+
}
36+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
@file:Suppress("UnstableApiUsage")
2+
3+
import extensions.setupAndroidDefaultConfig
4+
import extensions.setupCompileOptions
5+
import extensions.setupCompose
6+
import extensions.setupPackingOptions
7+
8+
plugins {
9+
id("com.android.application")
10+
id("kotlin-android")
11+
id("kotlin-kapt")
12+
id("kotlin-parcelize")
13+
}
14+
val catalog: VersionCatalog = extensions.getByType<VersionCatalogsExtension>().named("libs")
15+
16+
17+
android {
18+
namespace = Config.applicationId
19+
20+
setupCompileOptions()
21+
setupPackingOptions()
22+
setupAndroidDefaultConfig()
23+
setupCompose(catalog)
24+
25+
defaultConfig {
26+
applicationId = Config.applicationId
27+
minSdk = Config.minSdkVersion
28+
targetSdk = Config.targetSdkVersion
29+
versionCode = Config.versionCode
30+
versionName = Config.versionName
31+
multiDexEnabled = true
32+
}
33+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
@file:Suppress("UnstableApiUsage")
2+
import extensions.getBundle
3+
import extensions.getLibrary
4+
import extensions.setupCompose
5+
6+
plugins {
7+
id("com.streamplayer.android-library")
8+
}
9+
10+
val libs: VersionCatalog = extensions.getByType<VersionCatalogsExtension>().named("libs")
11+
12+
android {
13+
setupCompose(libs)
14+
}
15+
16+
dependencies {
17+
implementation(platform(libs.getLibrary("compose.bom")))
18+
androidTestImplementation(platform(libs.getLibrary("compose.bom")))
19+
20+
implementation(libs.getBundle("compose"))
21+
debugImplementation(libs.getLibrary("compose.ui.tooling"))
22+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
@file:Suppress("UnstableApiUsage")
2+
3+
package extensions
4+
5+
import Config
6+
import com.android.build.api.dsl.CommonExtension
7+
import org.gradle.api.JavaVersion
8+
import org.gradle.api.Project
9+
import org.gradle.api.artifacts.VersionCatalog
10+
import org.gradle.api.plugins.ExtensionAware
11+
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions
12+
13+
internal fun CommonExtension<*, *, *, *>.setupPackingOptions() {
14+
packagingOptions {
15+
with(resources) {
16+
with(pickFirsts) {
17+
add("META-INF/library_release.kotlin_module")
18+
add("META-INF/LICENSE.md")
19+
add("META-INF/LICENSE-notice.md")
20+
}
21+
with(excludes) {
22+
add("META-INF/AL2.0")
23+
add("META-INF/LGPL2.1")
24+
}
25+
}
26+
}
27+
}
28+
29+
internal fun CommonExtension<*, *, *, *>.setupAndroidDefaultConfig() {
30+
defaultConfig {
31+
compileSdk = Config.compileSdkVersion
32+
minSdk = Config.minSdkVersion
33+
vectorDrawables.useSupportLibrary = true
34+
35+
testInstrumentationRunner = Config.testInstrumentationRunner
36+
}
37+
}
38+
39+
internal fun CommonExtension<*, *, *, *>.setupCompileOptions() {
40+
compileOptions {
41+
sourceCompatibility = JavaVersion.VERSION_11
42+
targetCompatibility = JavaVersion.VERSION_11
43+
}
44+
45+
kotlinOptions {
46+
jvmTarget = "11"
47+
}
48+
}
49+
50+
fun CommonExtension<*, *, *, *>.setupCompose(catalog: VersionCatalog) {
51+
buildFeatures {
52+
compose = true
53+
}
54+
55+
composeOptions {
56+
kotlinCompilerExtensionVersion = "${catalog.getVersion("compose")}"
57+
}
58+
59+
packagingOptions {
60+
resources.excludes.apply {
61+
add("META-INF/AL2.0")
62+
add("META-INF/LGPL2.1")
63+
}
64+
}
65+
}
66+
67+
68+
internal fun CommonExtension<*, *, *, *>.setupNameSpace(project: Project) {
69+
val moduleName = project.displayName
70+
.removePrefix("project ")
71+
.replace(":", ".")
72+
.replace("'", "")
73+
.replace("-", ".")
74+
75+
namespace = "${Config.applicationId}$moduleName"
76+
}
77+
78+
private fun CommonExtension<*, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) {
79+
(this as ExtensionAware).extensions.configure("kotlinOptions", block)
80+
}

0 commit comments

Comments
 (0)