Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade AGP & dependencies #15

Merged
merged 3 commits into from May 14, 2022
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions app/build.gradle.kts
Expand Up @@ -8,6 +8,7 @@ plugins {
android {
compileSdk = ConfigData.TARGET_SDK
buildToolsVersion = ConfigData.BUILD_TOOLS
namespace = "dev.mslalith.focuslauncher"

defaultConfig {
applicationId = "dev.mslalith.focuslauncher"
Expand Down
3 changes: 1 addition & 2 deletions app/src/main/AndroidManifest.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="dev.mslalith.focuslauncher">
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Expand Down
5 changes: 2 additions & 3 deletions build.gradle.kts
Expand Up @@ -19,11 +19,10 @@ buildscript {
apply(from = "./buildScripts/install-git-hooks.gradle.kts")
apply(plugin = "kover")

// ktlint-gradle
plugins {
id("org.jlleitschuh.gradle.ktlint") version "10.2.1"
id("org.jlleitschuh.gradle.ktlint") version "10.3.0"
id("com.github.ben-manes.versions") version "0.42.0"
id("org.jetbrains.kotlinx.kover") version "0.5.0"
id("org.jetbrains.kotlinx.kover") version "0.5.1"
}

allprojects {
Expand Down
9 changes: 7 additions & 2 deletions buildSrc/src/main/kotlin/Libs.kt
Expand Up @@ -5,13 +5,16 @@ object Libs {
const val buildToolsKotlinGradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.KOTLIN}"
const val buildToolsHiltAndroidGradlePlugin = "com.google.dagger:hilt-android-gradle-plugin:${Versions.HILT}"
const val buildToolsKotlinxKover = "org.jetbrains.kotlinx:kover:${Versions.KOTLINX_KOVER}"
const val buildToolsKotlinSerialization = "org.jetbrains.kotlin:kotlin-serialization:${Versions.KOTLIN_SERIALIZATION}"
const val buildToolsKotlinSerialization = "org.jetbrains.kotlin:kotlin-serialization:${Versions.KOTLIN}"

const val coreKtx = "androidx.core:core-ktx:${Versions.KOTLIN_CORE_KTX}"
const val kotlinxDateTime = "org.jetbrains.kotlinx:kotlinx-datetime:${Versions.KOTLINX_DATETIME}"
const val kotlinxCoroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.KOTLIN_COROUTINES}"

const val ktorClientCore = "io.ktor:ktor-client-core:${Versions.KTOR_CLIENT}"
const val ktorClientAndroid = "io.ktor:ktor-client-android:${Versions.KTOR_CLIENT}"
const val ktorClientSerialization = "io.ktor:ktor-client-serialization:${Versions.KTOR_CLIENT}"
const val ktorClientSerialization = "io.ktor:ktor-serialization-kotlinx-json:${Versions.KTOR_CLIENT}"
const val ktorClientContentNegotiation = "io.ktor:ktor-client-content-negotiation:${Versions.KTOR_CLIENT}"

const val googleMaterial = "com.google.android.material:material:${Versions.GOOGLE_MATERIAL}"
const val googlePlayAppUpdate = "com.google.android.play:app-update:${Versions.GOOGLE_PLAY_APP_UPDATE}"
Expand Down Expand Up @@ -67,8 +70,10 @@ fun DependencyHandler.kotlin() {
}

fun DependencyHandler.ktorClient() {
implementation(Libs.ktorClientCore)
implementation(Libs.ktorClientAndroid)
implementation(Libs.ktorClientSerialization)
implementation(Libs.ktorClientContentNegotiation)
}

fun DependencyHandler.compose() {
Expand Down
35 changes: 17 additions & 18 deletions buildSrc/src/main/kotlin/Versions.kt
@@ -1,42 +1,41 @@
object Versions {
const val KOTLIN = "1.6.10"
const val GRADLE = "7.1.3"
const val KOTLINX_KOVER = "0.5.0"
const val KOTLIN = "1.6.21"
const val GRADLE = "7.2.0"
const val KOTLINX_KOVER = "0.5.1"

const val KOTLIN_CORE_KTX = "1.8.0-alpha07"
const val KOTLINX_DATETIME = "0.3.2"
const val KOTLIN_CORE_KTX = "1.9.0-alpha03"
const val KOTLINX_DATETIME = "0.3.3"
const val KOTLIN_COROUTINES = "1.6.1"
const val KOTLIN_SERIALIZATION = "1.6.10"
const val KTOR_CLIENT = "1.6.4"
const val KTOR_CLIENT = "2.0.1"

const val GOOGLE_MATERIAL = "1.7.0-alpha01"
const val GOOGLE_PLAY_APP_UPDATE = "2.0.0"
const val PALETTE_KTX = "1.0.0"

const val COMPOSE = "1.2.0-alpha07"
const val LIFECYCLE_RUNTIME_KTX = "2.5.0-alpha06"
const val ACTIVITY_COMPOSE = "1.5.0-alpha05"
const val COMPOSE = "1.2.0-beta01"
const val LIFECYCLE_RUNTIME_KTX = "2.5.0-rc01"
const val ACTIVITY_COMPOSE = "1.6.0-alpha03"
const val CONSTRAINT_LAYOUT_COMPOSE = "1.0.0"
const val NAVIGATION_COMPOSE = "2.5.0-alpha04"
const val LIFECYCLE_VIEWMODEL_COMPOSE = "2.5.0-alpha06"
const val NAVIGATION_COMPOSE = "2.5.0-rc01"
const val LIFECYCLE_VIEWMODEL_COMPOSE = "2.5.0-rc01"

const val HILT = "2.41"
const val HILT = "2.42"
const val HILT_COMPILER = "1.0.0"
const val HILT_NAVIGATION_COMPOSE = "1.0.0"

const val DATASTORE = "1.0.0"
const val ROOM = "2.5.0-alpha01"
const val ACCOMPANIST = "0.24.6-alpha"
const val ACCOMPANIST = "0.24.8-beta"

const val THIRD_SUNCALC = "3.5"

const val TEST_JUNIT = "4.13.2"
const val TEST_TRUTH = "1.1.3"
const val TEST_ANDROIDX_JUNIT = "1.1.4-alpha05"
const val TEST_ANDROIDX_JUNIT = "1.1.4-alpha06"
const val TEST_ANDROIDX_ESPRESSO = "3.5.0-alpha05"
const val TEST_KOTLIN_COROUTINES = "1.6.1"
const val TEST_TURBINE = "0.7.0"
const val TEST_ROBOLECTRIC = "4.8"
const val TEST_ANDROIDX_CORE_KTX = "1.4.0"
const val TEST_TURBINE = "0.8.0"
const val TEST_ROBOLECTRIC = "4.8.1"
const val TEST_ANDROIDX_CORE_KTX = "1.4.1-alpha06"
const val TEST_ANDROIDX_CORE_TESTING = "2.1.0"
}
Expand Up @@ -8,9 +8,9 @@ import dev.mslalith.focuslauncher.data.network.api.QuotesApi
import dev.mslalith.focuslauncher.data.network.api.QuotesApiKtorImpl
import io.ktor.client.HttpClient
import io.ktor.client.engine.android.Android
import io.ktor.client.features.HttpTimeout
import io.ktor.client.features.json.JsonFeature
import io.ktor.client.features.json.serializer.KotlinxSerializer
import io.ktor.client.plugins.HttpTimeout
import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
import io.ktor.serialization.kotlinx.json.json
import kotlinx.serialization.json.Json
import javax.inject.Singleton

Expand All @@ -21,9 +21,9 @@ object NetworkModule {
@Provides
@Singleton
fun provideKtorClient(): HttpClient = HttpClient(Android) {
install(JsonFeature) {
serializer = KotlinxSerializer(
Json {
install(ContentNegotiation) {
json(
json = Json {
ignoreUnknownKeys = true
isLenient = true
encodeDefaults = false
Expand Down
Expand Up @@ -3,8 +3,9 @@ package dev.mslalith.focuslauncher.data.network.api
import dev.mslalith.focuslauncher.data.network.entities.QuotesApiResponse
import dev.mslalith.focuslauncher.data.utils.Constants
import io.ktor.client.HttpClient
import io.ktor.client.call.body
import io.ktor.client.request.get
import io.ktor.client.request.url
import io.ktor.client.request.parameter
import javax.inject.Inject

interface QuotesApi {
Expand All @@ -21,8 +22,9 @@ internal class QuotesApiKtorImpl @Inject constructor(
private val baseUrl = "https://api.quotable.io"

override suspend fun getQuotes(page: Int, limit: Int): QuotesApiResponse {
return httpClient.get {
url("$baseUrl/quotes?page=$page&limit=$limit")
}
return httpClient.get("$baseUrl/quotes") {
parameter("page", page)
parameter("limit", limit)
}.body()
}
}
Expand Up @@ -31,7 +31,7 @@ class LunarPhaseDetailsRepoTest {
private fun getConsecutiveInstants(max: Int): List<Instant> = buildList {
val instant = Clock.System.now()
add(instant)
(1..max).forEach { index ->
(1 until max).forEach { index ->
val duration = index.seconds
add(instant.plus(duration))
}
Expand Down Expand Up @@ -62,7 +62,7 @@ class LunarPhaseDetailsRepoTest {

@Test
fun getUpcomingLunarPhaseStateFlow() = runTest {
val instants = getConsecutiveInstants(max = 6)
val instants = getConsecutiveInstants(max = 1)

val job = launch {
lunarPhaseDetailsRepo.upcomingLunarPhaseStateFlow.test {
Expand Down