Skip to content

Commit b5d5431

Browse files
release 1.1.1 to development
1 parent 1c85c09 commit b5d5431

35 files changed

+249
-217
lines changed

app/build.gradle

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ext {
1010
ankoVersion = '0.10.6'
1111
room_version = "2.2.5"
1212
koin_version = "2.1.5"
13-
markwon_version = "4.4.0"
13+
markwon_version = '4.5.1'
1414
ankoLibs = [
1515
// commons
1616
'commons',
@@ -38,13 +38,13 @@ android {
3838
applicationId "com.codingblocks.cbonlineapp"
3939
minSdkVersion 21
4040
targetSdkVersion 30
41-
versionCode 101010001
41+
versionCode 101010100
4242
// 1 (versioning scheme)
43-
// 00 (major version)
44-
// 00 (minor version)
43+
// 01 (major version)
44+
// 01 (minor version)
4545
// 01 (patch version)
46-
// 01 spare for betas/RCs
47-
versionName "1.1.0"
46+
// 00 spare for betas/RCs
47+
versionName "1.1.1"
4848
signingConfig signingConfigs.debug
4949
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
5050
multiDexEnabled true
@@ -107,33 +107,33 @@ dependencies {
107107
implementation fileTree(include: ['*.jar'], dir: 'libs')
108108
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
109109
// Android Support
110-
implementation 'androidx.appcompat:appcompat:1.1.0'
111-
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
110+
implementation 'androidx.appcompat:appcompat:1.2.0'
111+
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
112112
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
113113
// Kotlin
114114
implementation 'androidx.activity:activity-ktx:1.2.0-alpha04'
115-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7'
116-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.7'
117-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.3.5-native-mt'
115+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9-native-mt'
116+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9-native-mt'
117+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.3.9-native-mt'
118118

119119
implementation 'androidx.browser:browser:1.2.0'
120120
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
121-
implementation 'com.google.android.play:core:1.7.3'
122-
implementation 'androidx.core:core-ktx:1.3.0'
121+
implementation 'com.google.android.play:core-ktx:1.8.1'
122+
implementation 'androidx.core:core-ktx:1.3.1'
123123
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0"
124124
implementation "android.arch.work:work-runtime-ktx:1.0.1"
125125
implementation "androidx.fragment:fragment-ktx:1.2.5"
126126
implementation 'androidx.recyclerview:recyclerview-selection:1.0.0'
127-
implementation 'com.google.android.gms:play-services-auth:18.0.0'
127+
implementation 'com.google.android.gms:play-services-auth:18.1.0'
128128
implementation 'com.google.android.gms:play-services-auth-api-phone:17.4.0'
129-
implementation 'androidx.drawerlayout:drawerlayout:1.1.0'
129+
implementation 'androidx.drawerlayout:drawerlayout:1.1.1'
130130
implementation 'androidx.lifecycle:lifecycle-viewmodel-savedstate:2.2.0'
131-
implementation 'com.google.android.material:material:1.3.0-alpha01'
131+
implementation 'com.google.android.material:material:1.3.0-alpha02'
132132

133133

134134
// 3rd party libs
135135
implementation 'es.voghdev.pdfviewpager:library:1.0.3'
136-
implementation 'com.onesignal:OneSignal:3.15.1'
136+
implementation 'com.onesignal:OneSignal:3.15.3'
137137
implementation 'com.facebook.shimmer:shimmer:0.5.0'
138138
implementation 'org.ocpsoft.prettytime:prettytime:4.0.5.Final'
139139
implementation "com.github.skydoves:progressview:1.0.5"
@@ -145,7 +145,7 @@ dependencies {
145145
implementation "io.noties.markwon:ext-strikethrough:$markwon_version"
146146
implementation "io.noties.markwon:html:$markwon_version"
147147
implementation "io.noties.markwon:linkify:$markwon_version"
148-
implementation 'com.airbnb.android:lottie:3.4.0'
148+
implementation 'com.airbnb.android:lottie:3.4.2'
149149
implementation 'com.github.bumptech.glide:glide:4.11.0'
150150
implementation 'androidx.paging:paging-runtime-ktx:2.1.2'
151151
kapt 'com.github.bumptech.glide:compiler:4.11.0'
@@ -155,7 +155,7 @@ dependencies {
155155
// Image view libraries
156156
implementation 'de.hdodenhof:circleimageview:3.1.0'
157157
implementation 'com.caverock:androidsvg-aar:1.4'
158-
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.20'
158+
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.21'
159159

160160
//database
161161
implementation "androidx.room:room-runtime:$room_version"
@@ -165,7 +165,7 @@ dependencies {
165165

166166

167167
//VideoCipher library
168-
implementation 'com.vdocipher.aegis:vdocipher-android:1.6.0'
168+
implementation 'com.vdocipher.aegis:vdocipher-android:1.7.0'
169169
implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:10.0.5'
170170

171171

@@ -183,12 +183,13 @@ dependencies {
183183
implementation "org.jetbrains.anko:anko-$name:$ankoVersion"
184184
}
185185
//Firebase
186-
implementation 'com.google.firebase:firebase-common-ktx:19.3.0'
187-
implementation 'com.google.firebase:firebase-core:17.4.3'
188-
implementation 'com.google.firebase:firebase-messaging:20.2.1'
189-
implementation 'com.google.firebase:firebase-crashlytics:17.1.0'
190-
implementation 'com.google.firebase:firebase-firestore-ktx:21.4.3'
191-
implementation 'com.google.firebase:firebase-inappmessaging-display:19.0.7'
186+
implementation 'com.google.firebase:firebase-common-ktx:19.3.1'
187+
implementation 'com.google.firebase:firebase-core:17.5.0'
188+
implementation 'com.google.firebase:firebase-messaging:20.2.4'
189+
implementation 'com.google.firebase:firebase-analytics-ktx:17.5.0'
190+
implementation 'com.google.firebase:firebase-crashlytics-ktx:17.2.1'
191+
implementation 'com.google.firebase:firebase-firestore-ktx:21.6.0'
192+
implementation 'com.google.firebase:firebase-inappmessaging-display:19.1.1'
192193
implementation 'com.google.guava:guava:27.0.1-android'
193194

194195

@@ -198,6 +199,6 @@ dependencies {
198199

199200
// Test Dependencies
200201
testImplementation 'junit:junit:4.13'
201-
androidTestImplementation 'androidx.test:runner:1.2.0'
202-
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
202+
androidTestImplementation 'androidx.test:runner:1.3.0'
203+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
203204
}

app/google-services.json

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@
88
"client": [
99
{
1010
"client_info": {
11-
"mobilesdk_app_id": "1:912821849090:android:852f124c24875449",
11+
"mobilesdk_app_id": "1:912821849090:android:6406e36ae5d2ae0f95eb1b",
1212
"android_client_info": {
1313
"package_name": "com.codingblocks.cbonlineapp"
1414
}
1515
},
1616
"oauth_client": [
1717
{
18-
"client_id": "912821849090-j7kh51085gq4o8uejnjk7uohl8u75qme.apps.googleusercontent.com",
18+
"client_id": "912821849090-u4a47j0cs3n1qucp4kre0u4sidfvddvq.apps.googleusercontent.com",
1919
"client_type": 1,
2020
"android_info": {
2121
"package_name": "com.codingblocks.cbonlineapp",
22-
"certificate_hash": "36a155889435b9499a0b97fd8e85a3bb840d5e16"
22+
"certificate_hash": "0269fd357b25a600d5a51672a9cf1dbff413ad58"
2323
}
2424
},
2525
{
@@ -37,33 +37,36 @@
3737
"status": 1
3838
},
3939
"appinvite_service": {
40-
"status": 2,
4140
"other_platform_oauth_client": [
4241
{
4342
"client_id": "912821849090-he1ntblsaol42hitupoage5g3kbu8eq0.apps.googleusercontent.com",
4443
"client_type": 3
44+
},
45+
{
46+
"client_id": "912821849090-ppt7uio5taa0f9381mchjkp1do2is9vn.apps.googleusercontent.com",
47+
"client_type": 2,
48+
"ios_info": {
49+
"bundle_id": "com.hellofirebase"
50+
}
4551
}
4652
]
47-
},
48-
"ads_service": {
49-
"status": 2
5053
}
5154
}
5255
},
5356
{
5457
"client_info": {
55-
"mobilesdk_app_id": "1:912821849090:android:852f124c24875449",
58+
"mobilesdk_app_id": "1:912821849090:android:6406e36ae5d2ae0f95eb1b",
5659
"android_client_info": {
5760
"package_name": "com.codingblocks.cbonlineapp.debug"
5861
}
5962
},
6063
"oauth_client": [
6164
{
62-
"client_id": "912821849090-j7kh51085gq4o8uejnjk7uohl8u75qme.apps.googleusercontent.com",
65+
"client_id": "912821849090-u4a47j0cs3n1qucp4kre0u4sidfvddvq.apps.googleusercontent.com",
6366
"client_type": 1,
6467
"android_info": {
65-
"package_name": "com.codingblocks.cbonlineapp.debug",
66-
"certificate_hash": "36a155889435b9499a0b97fd8e85a3bb840d5e16"
68+
"package_name": "com.codingblocks.cbonlineapp",
69+
"certificate_hash": "0269fd357b25a600d5a51672a9cf1dbff413ad58"
6770
}
6871
},
6972
{
@@ -81,16 +84,19 @@
8184
"status": 1
8285
},
8386
"appinvite_service": {
84-
"status": 2,
8587
"other_platform_oauth_client": [
8688
{
8789
"client_id": "912821849090-he1ntblsaol42hitupoage5g3kbu8eq0.apps.googleusercontent.com",
8890
"client_type": 3
91+
},
92+
{
93+
"client_id": "912821849090-ppt7uio5taa0f9381mchjkp1do2is9vn.apps.googleusercontent.com",
94+
"client_type": 2,
95+
"ios_info": {
96+
"bundle_id": "com.hellofirebase"
97+
}
8998
}
9099
]
91-
},
92-
"ads_service": {
93-
"status": 2
94100
}
95101
}
96102
}

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
android:supportsRtl="true"
2626
android:theme="@style/NewAppTheme"
2727
android:usesCleartextTraffic="true"
28+
tools:replace="android:fullBackupContent"
2829
tools:targetApi="q">
2930
<activity
3031
android:name=".campaign.CampaignActivity"

app/src/main/java/com/codingblocks/cbonlineapp/dashboard/DashboardViewModel.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,12 +270,12 @@ class DashboardViewModel(
270270
emitSource(homeRepo.getRecentlyPlayed())
271271
}
272272

273-
fun fetchBanner() = liveData{
273+
fun fetchBanner() = liveData {
274274
when (val response = homeRepo.fetchBanner()) {
275275
is ResultWrapper.GenericError -> setError(response.error)
276276
is ResultWrapper.Success -> with(response.value) {
277277
if (isSuccessful) {
278-
emit(body())
278+
emit(body()?.firstOrNull())
279279
} else {
280280
setError(fetchError(code()))
281281
}

app/src/main/java/com/codingblocks/cbonlineapp/dashboard/explore/DashboardExploreFragment.kt

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,10 @@ import com.codingblocks.cbonlineapp.util.extensions.hideAndStop
3333
import com.codingblocks.cbonlineapp.util.extensions.openChrome
3434
import com.codingblocks.cbonlineapp.util.extensions.setRv
3535
import com.codingblocks.cbonlineapp.util.extensions.showSnackbar
36-
import com.codingblocks.cbonlineapp.util.glide.loadImage
3736
import com.codingblocks.cbonlineapp.util.livedata.observer
3837
import kotlinx.android.synthetic.main.activity_course.courseSuggestedRv
3938
import kotlinx.android.synthetic.main.app_bar_dashboard.*
4039
import kotlinx.android.synthetic.main.fragment_dashboard_explore.*
41-
import kotlinx.android.synthetic.main.fragment_dashboard_home.*
4240
import kotlinx.coroutines.Dispatchers
4341
import kotlinx.coroutines.GlobalScope
4442
import kotlinx.coroutines.delay
@@ -120,8 +118,18 @@ class DashboardExploreFragment : BaseCBFragment() {
120118
// campaignView.setOnClickListener {
121119
// startActivity(CampaignActivity.createCampaignActivityIntent(requireContext()))
122120
// }
123-
dashboardPopularRv.setRv(requireContext(), coursePopularListAdapter, orientation = RecyclerView.HORIZONTAL, space = 28f)
124-
courseSuggestedRv.setRv(requireContext(), courseCardListAdapter, orientation = RecyclerView.HORIZONTAL, space = 28f)
121+
dashboardPopularRv.setRv(
122+
requireContext(),
123+
coursePopularListAdapter,
124+
orientation = RecyclerView.HORIZONTAL,
125+
space = 28f
126+
)
127+
courseSuggestedRv.setRv(
128+
requireContext(),
129+
courseCardListAdapter,
130+
orientation = RecyclerView.HORIZONTAL,
131+
space = 28f
132+
)
125133
dashboardTracksRv.setRv(requireContext(), tracksListAdapter, orientation = RecyclerView.HORIZONTAL, space = 28f)
126134

127135
vm.suggestedCourses.observe(thisLifecycleOwner) { courses ->
@@ -149,12 +157,11 @@ class DashboardExploreFragment : BaseCBFragment() {
149157
swipeToRefresh.showSnackbar(it, anchorView = activity?.dashboardBottomNav, action = false)
150158
}
151159

152-
vm.fetchBanner().observer(viewLifecycleOwner){
153-
bannerHolder.isVisible = it?.size?:0 > 0
154-
if (it?.size?:0 > 0){
155-
val bannerItem = it?.get(0)
156-
bannerUrl = bannerItem?.link?:""
157-
banner.loadImage(bannerItem?.mobileImageUrl?:"")
160+
vm.fetchBanner().observer(viewLifecycleOwner) {
161+
it?.let {
162+
bannerUrl = it.link
163+
bannerHolder.isVisible = true
164+
Glide.with(requireContext()).load(it.mobileImageUrl).into(banner)
158165
}
159166
}
160167

app/src/main/java/com/codingblocks/cbonlineapp/database/LibraryDao.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ interface LibraryDao {
2222
)
2323
fun getBookmarks(id: String): LiveData<List<BookmarkModel>>
2424

25-
@Query("SELECT documentPdfLink, documentName, attempt_id FROM ContentModel WHERE ccid = :contentId")
25+
@Query("SELECT documentPdfLink, documentName, attempt_id, title FROM ContentModel WHERE ccid = :contentId")
2626
suspend fun getPDF(contentId: String): PdfModel
2727

2828
@Query(

app/src/main/java/com/codingblocks/cbonlineapp/database/models/DbModels.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@ data class CodeModel(
176176
data class PdfModel(
177177
val documentPdfLink: String,
178178
val documentName: String,
179-
val attempt_id: String
179+
val attempt_id: String,
180+
val title:String
180181
)
181182

182183
@Entity

app/src/main/java/com/codingblocks/cbonlineapp/di/Modules.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ import com.codingblocks.cbonlineapp.mycourse.MyCourseRepository
3030
import com.codingblocks.cbonlineapp.mycourse.MyCourseViewModel
3131
import com.codingblocks.cbonlineapp.mycourse.content.codechallenge.CodeChallengeRepository
3232
import com.codingblocks.cbonlineapp.mycourse.content.codechallenge.CodeChallengeViewModel
33+
import com.codingblocks.cbonlineapp.mycourse.content.document.PdfActivityRepository
34+
import com.codingblocks.cbonlineapp.mycourse.content.document.PdfViewModel
3335
import com.codingblocks.cbonlineapp.mycourse.content.player.VideoPlayerRepository
3436
import com.codingblocks.cbonlineapp.mycourse.content.player.VideoPlayerViewModel
3537
import com.codingblocks.cbonlineapp.mycourse.content.quiz.QuizRepository
3638
import com.codingblocks.cbonlineapp.mycourse.content.quiz.QuizViewModel
37-
import com.codingblocks.cbonlineapp.mycourse.content.document.PdfActivityRepository
38-
import com.codingblocks.cbonlineapp.mycourse.content.document.PdfViewModel
3939
import com.codingblocks.cbonlineapp.notifications.NotificationViewModel
4040
import com.codingblocks.cbonlineapp.profile.ProfileRepository
4141
import com.codingblocks.cbonlineapp.profile.ProfileViewModel

app/src/main/java/com/codingblocks/cbonlineapp/library/LibraryViewFragment.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ import com.codingblocks.cbonlineapp.database.models.ContentLecture
1919
import com.codingblocks.cbonlineapp.database.models.LibraryTypes
2020
import com.codingblocks.cbonlineapp.database.models.NotesModel
2121
import com.codingblocks.cbonlineapp.mycourse.MyCourseActivity
22-
import com.codingblocks.cbonlineapp.mycourse.content.document.PdfActivity
2322
import com.codingblocks.cbonlineapp.mycourse.content.codechallenge.CodeChallengeActivity
23+
import com.codingblocks.cbonlineapp.mycourse.content.document.PdfActivity
2424
import com.codingblocks.cbonlineapp.mycourse.content.player.VideoPlayerActivity.Companion.createVideoPlayerActivityIntent
2525
import com.codingblocks.cbonlineapp.mycourse.content.quiz.QuizActivity
2626
import com.codingblocks.cbonlineapp.util.*
@@ -79,11 +79,11 @@ class LibraryViewFragment : BaseCBFragment() {
7979
)
8080
CODE ->
8181
startActivity(
82-
intentFor<CodeChallengeActivity>(
83-
CONTENT_ID to item.contentId,
84-
SECTION_ID to item.sectionId
82+
intentFor<CodeChallengeActivity>(
83+
CONTENT_ID to item.contentId,
84+
SECTION_ID to item.sectionId
85+
)
8586
)
86-
)
8787
}
8888
}
8989
is NotesModel -> updateNotes(item)

app/src/main/java/com/codingblocks/cbonlineapp/mycourse/MyCourseRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ import com.codingblocks.cbonlineapp.util.extensions.sameAndEqual
2525
import com.codingblocks.onlineapi.CBOnlineLib
2626
import com.codingblocks.onlineapi.ResultWrapper
2727
import com.codingblocks.onlineapi.models.LectureContent
28-
import com.codingblocks.onlineapi.models.SendFeedback
2928
import com.codingblocks.onlineapi.models.PerformanceResponse
3029
import com.codingblocks.onlineapi.models.RankResponse
3130
import com.codingblocks.onlineapi.models.ResetRunAttempt
3231
import com.codingblocks.onlineapi.models.RunAttempts
32+
import com.codingblocks.onlineapi.models.SendFeedback
3333
import com.codingblocks.onlineapi.safeApiCall
3434
import kotlinx.coroutines.Dispatchers
3535
import kotlinx.coroutines.withContext

0 commit comments

Comments
 (0)