Skip to content

Commit 1c7049a

Browse files
committed
Changes :
Segregated production and development databases
1 parent ddc43b5 commit 1c7049a

9 files changed

+71
-62
lines changed

Diff for: .gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
.externalNativeBuild
1414
.cxx
1515
local.properties
16-
/app/google-services.json
16+
/app/src/debug/google-services.json
17+
/app/src/release/google-services.json
1718
.idea
1819

Diff for: app/build.gradle

+20-5
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ android {
2525
applicationId "com.ncs.o2"
2626
minSdk 26
2727
targetSdkVersion 34
28-
versionCode 12
29-
versionName "24.2.10"
28+
versionCode 13
29+
versionName "24.2.11"
3030
multiDexEnabled true
3131

3232

@@ -56,14 +56,24 @@ android {
5656
//Gemini, FCM
5757
buildConfigField("String", "FCM_BASE_URL", "\"https://fcm.googleapis.com/\"")
5858
buildConfigField("String", "FCM_SERVER_KEY", "\"AAAAmReJ314:APA91bGdEcp1FOt43szF1N7xbG-Pdjuct_0gZzhuDP5GvpSt_ECeXV3mQhKq3Gqq1Rgqa6FGcUwTlCyJYqbo0f89Flb5Y6X44nNMVkqW5Q1XsXZZXwE-77N3bORGbEdQ1TbM24Cb90Dw\"")
59-
buildConfigField("String","GEMINI_API_KEY","\"AIzaSyDvQi6ElnqLNPIXEsCTY0Q_KepvmlwKwrE\"")
59+
buildConfigField("String","GEMINI_API_KEY","\"AIzaSyCx0JV3MwiYZJQbkYbod4-kabJ76jnauio\"")
6060
}
6161

6262
release {
63-
minifyEnabled true
64-
shrinkResources true
63+
64+
//Mail Server
65+
buildConfigField("String", "MAIL_SERVER_URL", "\"https://o2gitman.vercel.app/\"")
66+
67+
//Gemini, FCM
68+
buildConfigField("String", "FCM_BASE_URL", "\"https://fcm.googleapis.com/\"")
69+
buildConfigField("String", "FCM_SERVER_KEY", "\"AAAAmReJ314:APA91bGdEcp1FOt43szF1N7xbG-Pdjuct_0gZzhuDP5GvpSt_ECeXV3mQhKq3Gqq1Rgqa6FGcUwTlCyJYqbo0f89Flb5Y6X44nNMVkqW5Q1XsXZZXwE-77N3bORGbEdQ1TbM24Cb90Dw\"")
70+
buildConfigField("String","GEMINI_API_KEY","\"AIzaSyCx0JV3MwiYZJQbkYbod4-kabJ76jnauio\"")
71+
72+
minifyEnabled false
73+
shrinkResources false
6574
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
6675
signingConfig signingConfigs.debug
76+
6777
}
6878
}
6979
compileOptions {
@@ -84,6 +94,11 @@ android {
8494
}
8595
}
8696

97+
lintOptions {
98+
checkReleaseBuilds false
99+
abortOnError false
100+
}
101+
87102
}
88103

89104
dependencies {

Diff for: app/proguard-rules.pro

+1-3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,4 @@
2020
# hide the original source file name.
2121
#-renamesourcefileattribute SourceFile
2222

23-
-keep class com.ncs.o2.Domain.Models.* {
24-
*;
25-
}
23+
-dontobfuscate

Diff for: app/src/main/AndroidManifest.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
android:name=".UI.UIComponents.BottomSheets.sectionDisplayBottomSheet"
8080
android:exported="false" />
8181
<activity
82-
android:name=".UI.StartScreen.MaintainingScreen"
82+
android:name=".UI.StartScreen.MaintainanceScreen"
8383
android:exported="false" />
8484
<activity
8585
android:name=".UI.EditProfile.EditProfileActivity"

Diff for: app/src/main/java/com/ncs/o2/UI/StartScreen/MaintainingScreen.kt renamed to app/src/main/java/com/ncs/o2/UI/StartScreen/MaintainanceScreen.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import com.ncs.o2.Domain.Utility.Codes
88
import com.ncs.o2.Domain.Utility.ExtensionsUtil.setOnClickThrottleBounceListener
99
import com.ncs.o2.databinding.ActivityMaintainingScreenBinding
1010

11-
class MaintainingScreen : AppCompatActivity() {
11+
class MaintainanceScreen : AppCompatActivity() {
1212

1313
private lateinit var binding: ActivityMaintainingScreenBinding
1414
override fun onCreate(savedInstanceState: Bundle?) {

Diff for: app/src/main/java/com/ncs/o2/UI/StartScreen/StartScreen.kt

+41-43
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import android.widget.Toast
2020
import androidx.activity.result.contract.ActivityResultContracts
2121
import androidx.activity.viewModels
2222
import androidx.appcompat.app.AppCompatActivity
23-
import androidx.compose.animation.core.updateTransition
2423
import androidx.core.content.ContextCompat
2524
import com.google.firebase.FirebaseNetworkException
2625
import com.google.firebase.Timestamp
@@ -31,26 +30,21 @@ import com.google.firebase.firestore.FirebaseFirestore
3130
import com.google.firebase.firestore.Source
3231
import com.google.firebase.messaging.FirebaseMessaging
3332
import com.ncs.o2.Constants.Errors
34-
import com.ncs.o2.Constants.Pref
3533
import com.ncs.o2.Constants.TestingConfig
36-
import com.ncs.o2.Data.Room.NotificationRepository.NotificationDatabase
3734
import com.ncs.o2.Data.Room.TasksRepository.TasksDatabase
3835
import com.ncs.o2.Domain.Interfaces.Repository
39-
import com.ncs.o2.Domain.Models.CurrentUser
4036
import com.ncs.o2.Domain.Models.ServerResult
41-
import com.ncs.o2.Domain.Models.Task
37+
import com.ncs.o2.Domain.Models.Update
4238
import com.ncs.o2.Domain.Utility.ExtensionsUtil.isNull
4339
import com.ncs.o2.Domain.Utility.Codes
4440
import com.ncs.o2.Domain.Utility.ExtensionsUtil.animFadein
45-
import com.ncs.o2.Domain.Utility.ExtensionsUtil.blink
4641
import com.ncs.o2.Domain.Utility.ExtensionsUtil.blinkinfi
4742
import com.ncs.o2.Domain.Utility.ExtensionsUtil.deleteDownloadedFile
4843
import com.ncs.o2.Domain.Utility.ExtensionsUtil.getVersionName
4944
import com.ncs.o2.Domain.Utility.ExtensionsUtil.gone
5045
import com.ncs.o2.Domain.Utility.ExtensionsUtil.isGreaterThanVersion
5146
import com.ncs.o2.Domain.Utility.ExtensionsUtil.performHapticFeedback
5247
import com.ncs.o2.Domain.Utility.ExtensionsUtil.performShakeHapticFeedback
53-
import com.ncs.o2.Domain.Utility.ExtensionsUtil.popInfinity
5448
import com.ncs.o2.Domain.Utility.ExtensionsUtil.rotateInfinity
5549
import com.ncs.o2.Domain.Utility.ExtensionsUtil.setOnClickThrottleBounceListener
5650
import com.ncs.o2.Domain.Utility.ExtensionsUtil.visible
@@ -60,7 +54,6 @@ import com.ncs.o2.HelperClasses.NetworkChangeReceiver
6054
import com.ncs.o2.HelperClasses.PrefManager
6155
import com.ncs.o2.HelperClasses.ShakeDetector
6256
import com.ncs.o2.R
63-
import com.ncs.o2.Services.Updater.UpdateDownloaderService
6457
import com.ncs.o2.UI.Auth.AuthScreenActivity
6558
import com.ncs.o2.UI.Auth.SignupScreen.SignUpScreenFragment
6659
import com.ncs.o2.UI.MainActivity
@@ -73,11 +66,9 @@ import com.ncs.o2.UI.UpdateScreen.UpdaterActivity
7366
import com.ncs.o2.databinding.ActivitySplashScreenBinding
7467
import com.ncs.versa.Constants.Endpoints
7568
import dagger.hilt.android.AndroidEntryPoint
76-
import io.reactivex.internal.util.HalfSerializer.onComplete
7769
import kotlinx.coroutines.CoroutineScope
7870
import kotlinx.coroutines.Dispatchers
7971
import kotlinx.coroutines.launch
80-
import kotlinx.coroutines.tasks.await
8172
import kotlinx.coroutines.withContext
8273
import timber.log.Timber
8374
import java.io.File
@@ -126,7 +117,6 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
126117
PrefManager.setOfflineDialogShown(false)
127118
PrefManager.setAppMode(Endpoints.ONLINE_MODE)
128119
binding.fragLogoContainer.blinkinfi(this)
129-
130120
binding.fragLogoContainer.visible()
131121

132122
if (PrefManager.getAppMode()==Endpoints.ONLINE_MODE){
@@ -138,39 +128,50 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
138128

139129
}
140130

131+
132+
141133
private fun initialise() {
142134

143135
binding.fragContainer.gone()
144136

145137
//Check for updates
146138
viewModel.getUpdateDocumentLiveData().observe(this) { update ->
147139
val currentVersion = getVersionName(this)
148-
149140
currentVersion?.let {
141+
142+
//New Update
150143
if (update.VERSION_CODE.isGreaterThanVersion(currentVersion)) {
151-
util.singleBtnDialog(
152-
getString(R.string.new_update),
153-
getString(R.string.a_new_version_of_o2_has_been_released_proceed_to_install),
154-
"Proceed"
155-
) {
156-
val intent = Intent(this, UpdaterActivity::class.java)
157-
intent.putExtra("UPDATE", update)
158-
startActivity(intent)
159-
finishAffinity()
160-
}
144+
startUpdateProcess(update)
161145
return@let
162-
163-
} else {
164-
165-
binding.fragContainer.clearAnimation()
166-
167-
removeRedundantUpdatePackages()
168-
askNotificationPermission()
146+
}
147+
//Current is latest
148+
else {
149+
startScreenProcess()
169150
}
170151
}
171152
}
172153
}
173154

155+
156+
private fun startUpdateProcess(update: Update){
157+
util.singleBtnDialog(
158+
getString(R.string.new_update),
159+
getString(R.string.a_new_version_of_o2_has_been_released_proceed_to_install),
160+
"Proceed"
161+
) {
162+
val intent = Intent(this, UpdaterActivity::class.java)
163+
intent.putExtra("UPDATE", update)
164+
startActivity(intent)
165+
finishAffinity()
166+
}
167+
}
168+
private fun startScreenProcess(){
169+
binding.fragContainer.clearAnimation()
170+
removeRedundantUpdatePackages()
171+
setUpViews()
172+
}
173+
174+
174175
private fun removeRedundantUpdatePackages() {
175176
if (PrefManager.getDownloadID()!= -1L){
176177
val downloadID = PrefManager.getDownloadID()
@@ -203,8 +204,10 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
203204
}
204205
}
205206

206-
private fun askNotificationPermission() {
207+
private fun setUpViews() {
208+
207209

210+
//Check for Notification permission for android 12
208211
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
209212
if (ContextCompat.checkSelfPermission(
210213
this,
@@ -231,8 +234,10 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
231234
requestPermissionLauncher.launch(android.Manifest.permission.POST_NOTIFICATIONS)
232235
}
233236
} else {
237+
234238
setBallAnimator()
235239
setUpViews(TestingConfig.isTesting)
240+
236241
}
237242
}
238243

@@ -325,14 +330,17 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
325330

326331
viewModel.checkMaintenanceThroughRepository().observe(this) {
327332

328-
if (Codes.STRINGS.isMaintaining != null) {
333+
if (Codes.STRINGS.isMaintaining != "") {
329334
if (Codes.STRINGS.isMaintaining == "true") {
330-
Log.d("maintainenceCheck", "maintaining")
331-
val intent = Intent(this, MaintainingScreen::class.java)
335+
336+
Timber.tag("maintainenceCheck").d("maintaining")
337+
val intent = Intent(this, MaintainanceScreen::class.java)
332338
startActivity(intent)
333339
finishAffinity()
340+
334341
} else {
335342
if (PrefManager.getPopUpVisibility()){
343+
336344
val intent = Intent(this, NewChanges::class.java)
337345
intent.putExtra("type","popup")
338346
startActivity(intent)
@@ -447,8 +455,6 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
447455

448456
}
449457
}
450-
451-
452458
}
453459

454460
private fun setUpProcesses() {
@@ -468,7 +474,6 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
468474
}
469475

470476
val document = task.result
471-
472477
if (!document.exists()) {
473478
showBallError(Errors.AccountErrors.ACCOUNT_FIELDS_NULL, task.exception!!)
474479
return@addOnCompleteListener
@@ -548,8 +553,6 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
548553

549554
}
550555

551-
552-
553556
}
554557
else{
555558
val intent = Intent(this, AuthScreenActivity::class.java)
@@ -862,8 +865,6 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
862865

863866
}
864867

865-
866-
867868
private fun setUpFCMTokenIfRequired(document: DocumentSnapshot) {
868869

869870
val fcmToken = document.getString(Endpoints.User.FCM_TOKEN) ?: ""
@@ -961,7 +962,6 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
961962
}
962963

963964
private var receiverRegistered = false
964-
965965
private val intentFilter by lazy{
966966
IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)
967967
}
@@ -1008,7 +1008,6 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
10081008
}
10091009
}
10101010
}
1011-
10121011
fun takeScreenshot(activity: Activity) {
10131012
Log.e("takeScreenshot", activity.localClassName)
10141013
val rootView = activity.window.decorView.rootView
@@ -1036,7 +1035,6 @@ class StartScreen @Inject constructor() : AppCompatActivity(), NetworkChangeRece
10361035
intent.putExtra("type","report")
10371036
startActivity(intent)
10381037
}
1039-
10401038
fun moveToShakeSettings() {
10411039
val intent = Intent(this, ShakeDetectedActivity::class.java)
10421040
intent.putExtra("type","settings")

Diff for: app/src/main/res/layout/activity_maintaining_screen.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
android:layout_width="match_parent"
77
android:layout_height="match_parent"
88
android:background="@color/better_white"
9-
tools:context=".UI.StartScreen.MaintainingScreen">
9+
tools:context=".UI.StartScreen.MaintainanceScreen">
1010

1111
<LinearLayout
1212
android:layout_width="match_parent"

Diff for: app/src/main/res/layout/project_list_item.xml

+3-6
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,11 @@
22
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
android:layout_width="match_parent"
44
android:layout_height="wrap_content"
5+
xmlns:app="http://schemas.android.com/apk/res-auto"
56
android:id="@+id/layout"
67
android:background="@color/primary_bg"
78
android:orientation="horizontal"
89
android:weightSum="10"
9-
10-
11-
12-
1310
>
1411

1512
<de.hdodenhof.circleimageview.CircleImageView
@@ -21,7 +18,7 @@
2118
android:layout_marginTop="5dp"
2219
android:layout_marginBottom="5dp"
2320
android:gravity="center"
24-
android:src="@drawable/sampleprojectdp"
21+
android:src="@drawable/placeholder_image"
2522
android:scaleType="centerCrop"
2623
/>
2724

@@ -32,7 +29,7 @@
3229
android:fontFamily="@font/sf_pro_display_regular"
3330
android:gravity="center_vertical"
3431
android:paddingStart="10dp"
35-
android:text="Versa"
32+
android:text="Project"
3633
android:textColor="@color/better_white"
3734
android:layout_weight="8.5"
3835
android:textSize="16dp" />

Diff for: gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ kotlin.code.style=official
2222
# thereby reducing the size of the R class for that library
2323
android.nonTransitiveRClass=true
2424
android.enableJetifier=true
25-
org.gradle.unsafe.configuration-cache=true
25+
org.gradle.unsafe.configuration-cache=true

0 commit comments

Comments
 (0)