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 .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Large diffs are not rendered by default.

1,211 changes: 702 additions & 509 deletions app/versions/dependencies/debugRuntimeClasspathDependencies.txt

Large diffs are not rendered by default.

1,243 changes: 718 additions & 525 deletions app/versions/dependencies/debugUnitTestRuntimeClasspathDependencies.txt

Large diffs are not rendered by default.

1,141 changes: 667 additions & 474 deletions app/versions/dependencies/releaseRuntimeClasspathDependencies.txt

Large diffs are not rendered by default.

1,173 changes: 683 additions & 490 deletions app/versions/dependencies/releaseUnitTestRuntimeClasspathDependencies.txt

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
android:name="com.jarroyo.composeapp.debug.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"
android:protectionLevel="signature" />

<uses-permission android:name="com.jarroyo.composeapp.debug.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" /> <!-- To store the heap dumps and leak analysis results. -->
<uses-permission android:name="com.jarroyo.composeapp.debug.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <!-- To store the heap dumps and leak analysis results. -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- To allow posting notifications on Android 13 -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
Expand Down Expand Up @@ -64,6 +65,12 @@
<meta-data
android:name="com.google.firebase.components:com.google.firebase.firestore.FirestoreRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
android:name="com.google.firebase.components:com.google.firebase.auth.ktx.FirebaseAuthLegacyRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
android:name="com.google.firebase.components:com.google.firebase.auth.FirebaseAuthRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
android:name="com.google.firebase.components:com.google.firebase.ktx.FirebaseCommonLegacyRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
Expand All @@ -72,6 +79,75 @@
android:value="com.google.firebase.components.ComponentRegistrar" />
</service>

<activity
android:name="com.google.firebase.auth.internal.GenericIdpActivity"
android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data
android:host="firebase.auth"
android:path="/"
android:scheme="genericidp" />
</intent-filter>
</activity>
<activity
android:name="com.google.firebase.auth.internal.RecaptchaActivity"
android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data
android:host="firebase.auth"
android:path="/"
android:scheme="recaptcha" />
</intent-filter>
</activity>

<service
android:name="androidx.credentials.playservices.CredentialProviderMetadataHolder"
android:enabled="true"
android:exported="false" >
<meta-data
android:name="androidx.credentials.CREDENTIAL_PROVIDER_KEY"
android:value="androidx.credentials.playservices.CredentialProviderPlayServicesImpl" />
</service>

<activity
android:name="androidx.credentials.playservices.HiddenActivity"
android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
android:enabled="true"
android:exported="false"
android:fitsSystemWindows="true"
android:theme="@style/Theme.Hidden" >
</activity>
<activity
android:name="com.google.android.gms.auth.api.signin.internal.SignInHubActivity"
android:excludeFromRecents="true"
android:exported="false"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<!--
Service handling Google Sign-In user revocation. For apps that do not integrate with
Google Sign-In, this service will never be started.
-->
<service
android:name="com.google.android.gms.auth.api.signin.RevocationBoundService"
android:exported="true"
android:permission="com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION"
android:visibleToInstantApps="true" />

<activity
android:name="com.google.android.gms.common.api.GoogleApiActivity"
android:exported="false"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
android:protectionLevel="signature" />

<uses-permission android:name="com.jarroyo.composeapp.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

<application
android:name="com.jarroyo.composeapp.ComposeApp"
Expand Down Expand Up @@ -58,6 +59,12 @@
<meta-data
android:name="com.google.firebase.components:com.google.firebase.firestore.FirestoreRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
android:name="com.google.firebase.components:com.google.firebase.auth.ktx.FirebaseAuthLegacyRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
android:name="com.google.firebase.components:com.google.firebase.auth.FirebaseAuthRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
<meta-data
android:name="com.google.firebase.components:com.google.firebase.ktx.FirebaseCommonLegacyRegistrar"
android:value="com.google.firebase.components.ComponentRegistrar" />
Expand All @@ -66,6 +73,75 @@
android:value="com.google.firebase.components.ComponentRegistrar" />
</service>

<activity
android:name="com.google.firebase.auth.internal.GenericIdpActivity"
android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data
android:host="firebase.auth"
android:path="/"
android:scheme="genericidp" />
</intent-filter>
</activity>
<activity
android:name="com.google.firebase.auth.internal.RecaptchaActivity"
android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data
android:host="firebase.auth"
android:path="/"
android:scheme="recaptcha" />
</intent-filter>
</activity>

<service
android:name="androidx.credentials.playservices.CredentialProviderMetadataHolder"
android:enabled="true"
android:exported="false" >
<meta-data
android:name="androidx.credentials.CREDENTIAL_PROVIDER_KEY"
android:value="androidx.credentials.playservices.CredentialProviderPlayServicesImpl" />
</service>

<activity
android:name="androidx.credentials.playservices.HiddenActivity"
android:configChanges="orientation|screenSize|screenLayout|keyboardHidden"
android:enabled="true"
android:exported="false"
android:fitsSystemWindows="true"
android:theme="@style/Theme.Hidden" >
</activity>
<activity
android:name="com.google.android.gms.auth.api.signin.internal.SignInHubActivity"
android:excludeFromRecents="true"
android:exported="false"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<!--
Service handling Google Sign-In user revocation. For apps that do not integrate with
Google Sign-In, this service will never be started.
-->
<service
android:name="com.google.android.gms.auth.api.signin.RevocationBoundService"
android:exported="true"
android:permission="com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION"
android:visibleToInstantApps="true" />

<activity
android:name="com.google.android.gms.common.api.GoogleApiActivity"
android:exported="false"
Expand Down
Binary file modified build-conventions/build/libs/build-conventions.jar
Binary file not shown.
1 change: 1 addition & 0 deletions desktop/src/jvmMain/kotlin/com/jarroyo/composeapp/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ fun initializeFirebase() {

val options: FirebaseOptions = FirebaseOptions.Builder()
.setProjectId("virtualgym-684f7")
.setApiKey("AIzaSyDvyfQtz9i3vIGKygPYo7x0Y3UVnT3pG3Q")
.setApplicationId("1:129903346150:android:bf4d3697156f8e7009d627")
.build()

Expand Down
1 change: 1 addition & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,4 @@ kotlin.native.cacheKind.iosSimulatorArm64=none
kotlin.mpp.enableCInteropCommonization=true
org.jetbrains.compose.experimental.uikit.enabled=true
kotlin.native.cacheKind=none
compose.desktop.packaging.checkJdkVendor=false
9 changes: 5 additions & 4 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
aboutlibraries = "11.4.0"
agp = "8.1.4"
androidCompileSdk = "34"
androidx-compose = "1.8.1"
apollo = "4.2.0"
androidx-compose = "1.8.2"
apollo = "4.3.0"
coil3 = "3.0.4"
coroutines = "1.10.1"
detekt = "1.23.7"
Expand All @@ -17,12 +17,12 @@ jetbrains-lifecycle = "2.9.0-beta01"
jetbrains-navigation = "2.9.0-beta01"
koin = "4.0.0"
koin-ksp = "1.4.0"
kotlin = "2.1.20"
kotlin = "2.1.21"
kotlinpoet = "2.0.0"
kotlin-multiplatform = "1.8.0"
kotlin-result = "2.0.1"
kotlinx-datetime="0.6.0"
ksp = "2.1.20-2.0.0"
ksp = "2.1.21-2.0.1"
ktlint = "0.43.0"
ktor = "3.0.1"
material3 = "1.8.0"
Expand Down Expand Up @@ -63,6 +63,7 @@ desugar = { module = "com.android.tools:desugar_jdk_libs", version = "2.1.5" }
detekt = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" }
detekt-rules-compose = { module = "ru.kode:detekt-rules-compose", version = "1.4.0" }
detekt-twitter-compose-rules = { module = "com.twitter.compose.rules:detekt", version = "0.0.26" }
gitlive-firebase-auth = { module = "dev.gitlive:firebase-auth", version.ref = "gitlive" }
gitlive-firebase-firestore = { module = "dev.gitlive:firebase-firestore", version.ref = "gitlive" }
gitlive-firebase-common = { module = "dev.gitlive:firebase-common", version.ref = "gitlive" }
gitlive-firebase-java = { module = "dev.gitlive:firebase-java-sdk", version = "0.4.6" }
Expand Down
7 changes: 7 additions & 0 deletions iosApp/iosApp.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
0457A8652DAADE5400408A38 /* FirebaseDatabase in Frameworks */ = {isa = PBXBuildFile; productRef = 0457A8642DAADE5400408A38 /* FirebaseDatabase */; };
0457A8672DAADEA700408A38 /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 0457A8662DAADEA700408A38 /* libsqlite3.tbd */; };
0457A8692DAADF5700408A38 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 0457A8682DAADF5700408A38 /* GoogleService-Info.plist */; };
048D4A842DE8ADDD00724956 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 048D4A832DE8ADDD00724956 /* FirebaseAuth */; };
04965E412B8BAEC700395EB9 /* iosAppApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04965E402B8BAEC700395EB9 /* iosAppApp.swift */; };
04965E432B8BAEC700395EB9 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04965E422B8BAEC700395EB9 /* ContentView.swift */; };
04965E452B8BAEC800395EB9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 04965E442B8BAEC800395EB9 /* Assets.xcassets */; };
Expand Down Expand Up @@ -44,6 +45,7 @@
buildActionMask = 2147483647;
files = (
0457A8672DAADEA700408A38 /* libsqlite3.tbd in Frameworks */,
048D4A842DE8ADDD00724956 /* FirebaseAuth in Frameworks */,
0457A8652DAADE5400408A38 /* FirebaseDatabase in Frameworks */,
0457A8612DAADD5B00408A38 /* FirebaseCore in Frameworks */,
0457A8632DAADD9500408A38 /* FirebaseFirestore in Frameworks */,
Expand Down Expand Up @@ -454,6 +456,11 @@
package = 0457A85F2DAADD5B00408A38 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
productName = FirebaseDatabase;
};
048D4A832DE8ADDD00724956 /* FirebaseAuth */ = {
isa = XCSwiftPackageProductDependency;
package = 0457A85F2DAADD5B00408A38 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */;
productName = FirebaseAuth;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 04965E352B8BAEC700395EB9 /* Project object */;
Expand Down
Binary file not shown.
1 change: 1 addition & 0 deletions modules/feature-account-api/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
23 changes: 23 additions & 0 deletions modules/feature-account-api/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
plugins {
id("composeapp.multiplatform-library-conventions")
alias(libs.plugins.kotlinx.serialization)
}

android {
namespace = "com.jarroyo.feature.account.api"
resourcePrefix = "account_api_"
defaultConfig {
consumerProguardFiles("$projectDir/proguard-home-api-consumer-rules.pro")
}
}

kotlin {
sourceSets {
commonMain.dependencies {
api(libs.jetbrains.kotlinx.serialization)

implementation(projects.modules.libraryNavigationApi)
implementation(projects.modules.libraryNetworkApi)
}
}
}
Empty file.
21 changes: 21 additions & 0 deletions modules/feature-account-api/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.jarroyo.feature.account.api.interactor

import com.github.michaelbull.result.Result

interface AddAccountInteractor {
suspend operator fun invoke(
username: String,
uuid: String,
): Result<Boolean, Exception>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.jarroyo.feature.account.api.interactor

import com.github.michaelbull.result.Result

interface GetAccountInteractor {
suspend operator fun invoke(): Result<AccountModel, Exception>
}

data class AccountModel(
val username: String,
val uuid: String,
)
1 change: 1 addition & 0 deletions modules/feature-account/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
Loading
Loading