From 481ccdf8220b4c3b86d43e7dc67fc028b87940e2 Mon Sep 17 00:00:00 2001 From: minseonglove Date: Mon, 14 Nov 2022 17:11:15 +0900 Subject: [PATCH 01/11] =?UTF-8?q?feat=20:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=20=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/drawable/ic_logo.xml | 9 +++++ .../src/main/res/layout/activity_login.xml | 38 ++++++++++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 presentation/src/main/res/drawable/ic_logo.xml diff --git a/presentation/src/main/res/drawable/ic_logo.xml b/presentation/src/main/res/drawable/ic_logo.xml new file mode 100644 index 00000000..2e96ac45 --- /dev/null +++ b/presentation/src/main/res/drawable/ic_logo.xml @@ -0,0 +1,9 @@ + + + diff --git a/presentation/src/main/res/layout/activity_login.xml b/presentation/src/main/res/layout/activity_login.xml index de4edd1e..3837bd4d 100644 --- a/presentation/src/main/res/layout/activity_login.xml +++ b/presentation/src/main/res/layout/activity_login.xml @@ -6,4 +6,40 @@ android:layout_height="match_parent" tools:context=".ui.LoginActivity"> - \ No newline at end of file + + + + + + + + From a48997ad8961bff1bb1134f803675dedc77a3a47 Mon Sep 17 00:00:00 2001 From: minseonglove Date: Mon, 14 Nov 2022 17:11:35 +0900 Subject: [PATCH 02/11] =?UTF-8?q?build=20:=20=EA=B5=AC=EA=B8=80=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EC=BB=A4=EC=8A=A4=ED=85=80=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=EB=9F=AC?= =?UTF-8?q?=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- presentation/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/presentation/build.gradle b/presentation/build.gradle index 8a541505..6986be08 100644 --- a/presentation/build.gradle +++ b/presentation/build.gradle @@ -43,6 +43,7 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.5.1' implementation 'com.google.android.material:material:1.7.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'com.shobhitpuri.custombuttons:google-signin:1.1.0' // Test testImplementation 'junit:junit:4.13.2' From 844080f80bf7bed9518ce338fd45034ab17fb53b Mon Sep 17 00:00:00 2001 From: minseonglove Date: Mon, 14 Nov 2022 22:29:36 +0900 Subject: [PATCH 03/11] =?UTF-8?q?chore=20:=20Secrets.kt=20gitignore=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .../com/gta/presentation/ui/LoginActivity.kt | 20 ----- .../presentation/ui/login/LoginActivity.kt | 73 +++++++++++++++++++ .../presentation/ui/login/LoginViewModel.kt | 42 +++++++++++ 4 files changed, 116 insertions(+), 20 deletions(-) delete mode 100644 presentation/src/main/java/com/gta/presentation/ui/LoginActivity.kt create mode 100644 presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt create mode 100644 presentation/src/main/java/com/gta/presentation/ui/login/LoginViewModel.kt diff --git a/.gitignore b/.gitignore index 90c042b3..01ee1747 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,4 @@ lint/tmp/ # Mac *.DS_Store +/presentation/src/main/java/com/gta/presentation/secret/Secrets.kt diff --git a/presentation/src/main/java/com/gta/presentation/ui/LoginActivity.kt b/presentation/src/main/java/com/gta/presentation/ui/LoginActivity.kt deleted file mode 100644 index 128bd1bd..00000000 --- a/presentation/src/main/java/com/gta/presentation/ui/LoginActivity.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.gta.presentation.ui - -import android.content.Intent -import android.os.Bundle -import com.gta.presentation.databinding.ActivityLoginBinding -import com.gta.presentation.ui.base.BaseActivity - -class LoginActivity : BaseActivity(ActivityLoginBinding::inflate) { - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - startMainActivity() - } - - private fun startMainActivity() { - val intent = Intent(this, MainActivity::class.java) - startActivity(intent) - finish() - } -} diff --git a/presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt b/presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt new file mode 100644 index 00000000..b0dfa2b7 --- /dev/null +++ b/presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt @@ -0,0 +1,73 @@ +package com.gta.presentation.ui.login + +import android.content.Intent +import android.os.Bundle +import androidx.activity.result.contract.ActivityResultContracts +import androidx.activity.viewModels +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.repeatOnLifecycle +import com.google.android.gms.auth.api.Auth +import com.google.android.gms.auth.api.signin.GoogleSignInClient +import com.google.android.gms.auth.api.signin.GoogleSignInOptions +import com.gta.presentation.databinding.ActivityLoginBinding +import com.gta.presentation.ui.MainActivity +import com.gta.presentation.ui.base.BaseActivity +import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.flow.collectLatest +import kotlinx.coroutines.launch +import timber.log.Timber +import javax.inject.Inject + +@AndroidEntryPoint +class LoginActivity : BaseActivity(ActivityLoginBinding::inflate) { + + @Inject + lateinit var googleSignInOptions: GoogleSignInOptions + + @Inject + lateinit var googleSignInClient: GoogleSignInClient + + private val viewModel: LoginViewModel by viewModels() + + private val requestActivity = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { + if (it.resultCode == RESULT_OK) { + val authIntent = it.data ?: return@registerForActivityResult + val account = Auth.GoogleSignInApi.getSignInResultFromIntent(authIntent)?.signInAccount + viewModel.signinWithToken(account?.idToken) + } + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + initCollector() + binding.btnLoginGoogle.setOnClickListener { + googleLogin() + } + } + + override fun onResume() { + super.onResume() + viewModel.checkLoginState() + } + + private fun initCollector() { + lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.STARTED) { + viewModel.loginEvent.collectLatest { state -> + Timber.tag("Login").i("결과 $state") + } + } + } + } + + private fun startMainActivity() { + val intent = Intent(this, MainActivity::class.java) + startActivity(intent) + finish() + } + + private fun googleLogin() { + requestActivity.launch(googleSignInClient.signInIntent) + } +} diff --git a/presentation/src/main/java/com/gta/presentation/ui/login/LoginViewModel.kt b/presentation/src/main/java/com/gta/presentation/ui/login/LoginViewModel.kt new file mode 100644 index 00000000..f5c8baea --- /dev/null +++ b/presentation/src/main/java/com/gta/presentation/ui/login/LoginViewModel.kt @@ -0,0 +1,42 @@ +package com.gta.presentation.ui.login + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.google.firebase.auth.FirebaseAuth +import com.google.firebase.auth.GoogleAuthProvider +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.SharedFlow +import kotlinx.coroutines.launch +import timber.log.Timber +import javax.inject.Inject + +@HiltViewModel +class LoginViewModel @Inject constructor( + private val auth: FirebaseAuth +) : ViewModel() { + + private val _loginEvent = MutableSharedFlow() + val loginEvent: SharedFlow get() = _loginEvent + + fun checkLoginState() { + emitLoginEvent(auth.currentUser != null) + } + + fun signinWithToken(token: String?) { + token ?: return + val credential = GoogleAuthProvider.getCredential(token, null) + auth.signInWithCredential(credential).addOnCompleteListener { task -> + emitLoginEvent(task.isSuccessful) + if (task.isCanceled) { + Timber.e(task.exception) + } + } + } + + private fun emitLoginEvent(state: Boolean) { + viewModelScope.launch { + _loginEvent.emit(state) + } + } +} From 68fb7be6d9a6cfc90f6545d738b7d886bf22586a Mon Sep 17 00:00:00 2001 From: minseonglove Date: Mon, 14 Nov 2022 22:31:30 +0900 Subject: [PATCH 04/11] =?UTF-8?q?chore=20:=20data=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=EC=95=88=EB=93=9C=EB=A1=9C=EC=9D=B4=EB=93=9C=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=ED=8C=8C=EC=9D=BC=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gta/data/ExampleInstrumentedTest.kt | 22 ------------------- 1 file changed, 22 deletions(-) delete mode 100644 data/src/androidTest/java/com/gta/data/ExampleInstrumentedTest.kt diff --git a/data/src/androidTest/java/com/gta/data/ExampleInstrumentedTest.kt b/data/src/androidTest/java/com/gta/data/ExampleInstrumentedTest.kt deleted file mode 100644 index cc0b4f0e..00000000 --- a/data/src/androidTest/java/com/gta/data/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.gta.data - -import androidx.test.ext.junit.runners.AndroidJUnit4 -import androidx.test.platform.app.InstrumentationRegistry -import org.junit.Assert.assertEquals -import org.junit.Test -import org.junit.runner.RunWith - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("com.gta.data.test", appContext.packageName) - } -} From a2e62450ca8d005dedd85161a2974ba88a2af189 Mon Sep 17 00:00:00 2001 From: minseonglove Date: Mon, 14 Nov 2022 22:32:39 +0900 Subject: [PATCH 05/11] =?UTF-8?q?feat=20:=20firebase=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20=EA=B4=80=EB=A0=A8=20=EC=9D=98=EC=A1=B4=EC=84=B1=20?= =?UTF-8?q?=EC=A3=BC=EC=9E=85=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gta/presentation/di/FirebaseAuthModule.kt | 20 ++++++++++++++ .../presentation/di/FirebaseSigninModule.kt | 26 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 presentation/src/main/java/com/gta/presentation/di/FirebaseAuthModule.kt create mode 100644 presentation/src/main/java/com/gta/presentation/di/FirebaseSigninModule.kt diff --git a/presentation/src/main/java/com/gta/presentation/di/FirebaseAuthModule.kt b/presentation/src/main/java/com/gta/presentation/di/FirebaseAuthModule.kt new file mode 100644 index 00000000..3906a535 --- /dev/null +++ b/presentation/src/main/java/com/gta/presentation/di/FirebaseAuthModule.kt @@ -0,0 +1,20 @@ +package com.gta.presentation.di + +import com.google.firebase.auth.FirebaseAuth +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import java.util.Locale +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +object FirebaseAuthModule { + + @Singleton + @Provides + fun provideFirebaseAuth() = FirebaseAuth.getInstance().apply { + setLanguageCode(Locale.getDefault().language) + } +} diff --git a/presentation/src/main/java/com/gta/presentation/di/FirebaseSigninModule.kt b/presentation/src/main/java/com/gta/presentation/di/FirebaseSigninModule.kt new file mode 100644 index 00000000..46b79ea8 --- /dev/null +++ b/presentation/src/main/java/com/gta/presentation/di/FirebaseSigninModule.kt @@ -0,0 +1,26 @@ +package com.gta.presentation.di + +import android.content.Context +import com.google.android.gms.auth.api.signin.GoogleSignIn +import com.google.android.gms.auth.api.signin.GoogleSignInOptions +import com.gta.presentation.secret.FIREBASE_CLIENT_ID +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.android.components.ActivityComponent +import dagger.hilt.android.qualifiers.ActivityContext + +@Module +@InstallIn(ActivityComponent::class) +class FirebaseSigninModule { + @Provides + fun provideGoogleSignInOptions() = GoogleSignInOptions + .Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) + .requestIdToken(FIREBASE_CLIENT_ID) + .requestEmail() + .build() + + @Provides + fun provideGoogleSignInClient(@ActivityContext context: Context, options: GoogleSignInOptions) = + GoogleSignIn.getClient(context, options) +} From 58851a38f905313ceec4b22d754780c3dbdcf158 Mon Sep 17 00:00:00 2001 From: minseonglove Date: Mon, 14 Nov 2022 22:32:59 +0900 Subject: [PATCH 06/11] =?UTF-8?q?build=20:=20presentation=20=EB=AA=A8?= =?UTF-8?q?=EB=93=88=EC=97=90=20firebase=20auth=20=EB=9D=BC=EC=9D=B4?= =?UTF-8?q?=EB=B8=8C=EB=9F=AC=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- presentation/build.gradle | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/presentation/build.gradle b/presentation/build.gradle index 6986be08..ee46fc8a 100644 --- a/presentation/build.gradle +++ b/presentation/build.gradle @@ -45,6 +45,10 @@ dependencies { implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'com.shobhitpuri.custombuttons:google-signin:1.1.0' + implementation platform('com.google.firebase:firebase-bom:31.0.2') + implementation 'com.google.firebase:firebase-auth-ktx' + implementation 'com.google.android.gms:play-services-auth:20.3.0' + // Test testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.4' From 313566e56a9019209af9ff362a5f7c43be7f0925 Mon Sep 17 00:00:00 2001 From: minseonglove Date: Mon, 14 Nov 2022 22:33:21 +0900 Subject: [PATCH 07/11] =?UTF-8?q?design=20:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?= =?UTF-8?q?=20=ED=99=94=EB=A9=B4=20=EB=A1=9C=EA=B3=A0=EB=A5=BC=20=EC=82=B4?= =?UTF-8?q?=EC=A7=9D=20=EC=9C=84=EB=A1=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- presentation/src/main/res/layout/activity_login.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/presentation/src/main/res/layout/activity_login.xml b/presentation/src/main/res/layout/activity_login.xml index 3837bd4d..2de709a1 100644 --- a/presentation/src/main/res/layout/activity_login.xml +++ b/presentation/src/main/res/layout/activity_login.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".ui.LoginActivity"> + tools:context=".ui.login.LoginActivity"> From 85984f1cb894d3845c1b5514eb0a80a6fd90bff1 Mon Sep 17 00:00:00 2001 From: minseonglove Date: Mon, 14 Nov 2022 22:47:02 +0900 Subject: [PATCH 08/11] =?UTF-8?q?chore=20:=20manifest=EC=9D=98=20login=20a?= =?UTF-8?q?ctivity=20=EA=B2=BD=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- presentation/src/main/AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/presentation/src/main/AndroidManifest.xml b/presentation/src/main/AndroidManifest.xml index c67e4368..731daca2 100644 --- a/presentation/src/main/AndroidManifest.xml +++ b/presentation/src/main/AndroidManifest.xml @@ -3,7 +3,7 @@ @@ -22,4 +22,4 @@ - \ No newline at end of file + From dc3a8abb5d9a0a83314075556e212f35c33d301e Mon Sep 17 00:00:00 2001 From: minseonglove Date: Mon, 14 Nov 2022 22:56:59 +0900 Subject: [PATCH 09/11] =?UTF-8?q?feat=20:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=EC=84=B1=EA=B3=B5=20=EC=8B=9C=20=EB=A9=94=EC=9D=B8=20=ED=99=94?= =?UTF-8?q?=EB=A9=B4=EC=9C=BC=EB=A1=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gta/presentation/ui/login/LoginActivity.kt | 11 +++++++++-- .../com/gta/presentation/ui/login/LoginViewModel.kt | 5 +++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt b/presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt index b0dfa2b7..51ca739d 100644 --- a/presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt +++ b/presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt @@ -16,7 +16,6 @@ import com.gta.presentation.ui.base.BaseActivity import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch -import timber.log.Timber import javax.inject.Inject @AndroidEntryPoint @@ -55,7 +54,15 @@ class LoginActivity : BaseActivity(ActivityLoginBinding::i lifecycleScope.launch { repeatOnLifecycle(Lifecycle.State.STARTED) { viewModel.loginEvent.collectLatest { state -> - Timber.tag("Login").i("결과 $state") + /* + 로그인에 성공 했다면 + 1. real time db에 회원정보가 저장되어있는지 확인 + 2. 있으면 바로 화면 전환 + 3. 없으면 db에 회원정보 생성 후 화면 전환 + */ + if (state) { + startMainActivity() + } } } } diff --git a/presentation/src/main/java/com/gta/presentation/ui/login/LoginViewModel.kt b/presentation/src/main/java/com/gta/presentation/ui/login/LoginViewModel.kt index f5c8baea..fe1400da 100644 --- a/presentation/src/main/java/com/gta/presentation/ui/login/LoginViewModel.kt +++ b/presentation/src/main/java/com/gta/presentation/ui/login/LoginViewModel.kt @@ -27,8 +27,9 @@ class LoginViewModel @Inject constructor( token ?: return val credential = GoogleAuthProvider.getCredential(token, null) auth.signInWithCredential(credential).addOnCompleteListener { task -> - emitLoginEvent(task.isSuccessful) - if (task.isCanceled) { + if (task.isSuccessful) { + emitLoginEvent(true) + } else { Timber.e(task.exception) } } From 0af2bd26234ef42377094908aa2402fed6dbdb8e Mon Sep 17 00:00:00 2001 From: minseonglove Date: Mon, 14 Nov 2022 23:12:26 +0900 Subject: [PATCH 10/11] =?UTF-8?q?refactor=20:=20LoginActivity=EC=97=90=20?= =?UTF-8?q?=EB=B6=88=ED=95=84=EC=9A=94=ED=95=9C=20googleSignInOptions=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gta/presentation/ui/login/LoginActivity.kt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt b/presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt index 51ca739d..ca54f4bd 100644 --- a/presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt +++ b/presentation/src/main/java/com/gta/presentation/ui/login/LoginActivity.kt @@ -9,7 +9,6 @@ import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle import com.google.android.gms.auth.api.Auth import com.google.android.gms.auth.api.signin.GoogleSignInClient -import com.google.android.gms.auth.api.signin.GoogleSignInOptions import com.gta.presentation.databinding.ActivityLoginBinding import com.gta.presentation.ui.MainActivity import com.gta.presentation.ui.base.BaseActivity @@ -21,9 +20,6 @@ import javax.inject.Inject @AndroidEntryPoint class LoginActivity : BaseActivity(ActivityLoginBinding::inflate) { - @Inject - lateinit var googleSignInOptions: GoogleSignInOptions - @Inject lateinit var googleSignInClient: GoogleSignInClient From 9db96824bc3128a1dbb7148ce08cdda338e68498 Mon Sep 17 00:00:00 2001 From: minseonglove Date: Tue, 15 Nov 2022 10:05:37 +0900 Subject: [PATCH 11/11] =?UTF-8?q?deploy=20:=20Secrets=20=EC=83=9D=EC=84=B1?= =?UTF-8?q?=EA=B3=BC=EC=A0=95=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ucmcCI.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ucmcCI.yml b/.github/workflows/ucmcCI.yml index c07316de..3f1c4afe 100644 --- a/.github/workflows/ucmcCI.yml +++ b/.github/workflows/ucmcCI.yml @@ -22,6 +22,10 @@ jobs: run: chmod +x gradlew - name: Create google-service run: echo '${{ secrets.GOOGLE_SERVICES_JSON }}' > ./data/google-services.json + - name: Create data dir + run: mkdir ./presentation/src/main/java/com/gta/presentation/secret + - name: Create Secrets + run: echo '${{ secrets.CONSTANTS }}' > ./presentation/src/main/java/com/gta/presentation/secret/Secrets.kt - name: Build with Gradle run: ./gradlew build - name: Build Signed APK