diff --git a/androidTest-shared/build.gradle b/androidTest-shared/build.gradle index 07a3023a30..a375cdbd88 100644 --- a/androidTest-shared/build.gradle +++ b/androidTest-shared/build.gradle @@ -35,7 +35,7 @@ android { } dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$rootProject.kotlinVersion" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$rootProject.kotlinVersion" // Architecture Components implementation "androidx.lifecycle:lifecycle-extensions:$rootProject.lifecycleVersion" diff --git a/ar/build.gradle b/ar/build.gradle index 3f75818070..1f30858fa5 100644 --- a/ar/build.gradle +++ b/ar/build.gradle @@ -59,5 +59,5 @@ dependencies { implementation "androidx.appcompat:appcompat:$rootProject.appcompatVersion" implementation "com.google.ar:core:$rootProject.arcoreVersion" implementation "com.google.android.gms:play-services-vision:$rootProject.googlePlayServicesVisionVersion" - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$rootProject.kotlinVersion" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$rootProject.kotlinVersion" } diff --git a/build.gradle b/build.gradle index 32a6588f56..2a873c2ad9 100644 --- a/build.gradle +++ b/build.gradle @@ -33,11 +33,11 @@ buildscript { // App dependencies androidGradlePluginVersion = '3.4.1' - appcompatVersion = '1.1.0-beta01' - activityVersion = '1.0.0-beta01' + appcompatVersion = '1.1.0' + activityVersion = '1.0.0' cardviewVersion = '1.0.0' archTestingVersion = '2.0.0' - arcoreVersion = '1.7.0' + arcoreVersion = '1.12.0' browserVersion = '1.0.0' constraintLayoutVersion = '1.1.3' coreVersion = '1.2.0-alpha02' @@ -47,28 +47,28 @@ buildscript { drawerLayoutVersion = '1.1.0-alpha02' espressoVersion = '3.1.1' fabricVersion = '1.25.4' - firebaseAuthVersion = '18.1.0' - firebaseConfigVersion = '18.0.0' - firebaseCoreVersion = '17.0.1' - firebaseFirestoreVersion = '20.2.0' - firebaseFunctionsVersion = '18.1.0' - firebaseMessagingVersion = '19.0.1' + firebaseAuthVersion = '19.1.0' + firebaseConfigVersion = '19.0.2' + firebaseCoreVersion = '17.2.0' + firebaseFirestoreVersion = '21.1.1' + firebaseFunctionsVersion = '19.0.1' + firebaseMessagingVersion = '20.0.0' firebaseUiVersion = "4.0.0" flexboxVersion = "1.1.0" fragmentVersion = "1.1.0-beta01" glideVersion = "4.6.1" googleMapUtilsVersion = "0.5" - googlePlayServicesMapsVersion = '16.0.0' - googlePlayServicesVisionVersion = '17.0.2' + googlePlayServicesMapsVersion = '17.0.0' + googlePlayServicesVisionVersion = '18.0.0' googleServicesVersion = "3.2.0" gsonVersion = "2.8.1" hamcrestVersion = '1.3' junitVersion = '4.12' - kotlinVersion = '1.3.41' - ktxVersion = "1.0.0" + kotlinVersion = '1.3.50' + ktxVersion = "1.1.0" leanbackVersion = '1.0.0' legacySupportVersion = '1.0.0' - lifecycleVersion = '2.1.0-beta01' + lifecycleVersion = '2.2.0-alpha05' lottieVersion = "3.0.0" materialVersion = '1.1.0-alpha07' mockitoVersion = "2.8.9" diff --git a/mobile/build.gradle b/mobile/build.gradle index 550662b0f5..0655ad614e 100644 --- a/mobile/build.gradle +++ b/mobile/build.gradle @@ -176,7 +176,7 @@ dependencies { implementation "androidx.core:core-ktx:$rootProject.ktxVersion" // Kotlin - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$rootProject.kotlinVersion" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$rootProject.kotlinVersion" // Instrumentation tests androidTestImplementation "androidx.test.espresso:espresso-core:$rootProject.espressoVersion" diff --git a/mobile/src/main/java/com/google/samples/apps/iosched/ui/schedule/ScheduleFragment.kt b/mobile/src/main/java/com/google/samples/apps/iosched/ui/schedule/ScheduleFragment.kt index e6e7ccc3de..78bbdd2ac6 100644 --- a/mobile/src/main/java/com/google/samples/apps/iosched/ui/schedule/ScheduleFragment.kt +++ b/mobile/src/main/java/com/google/samples/apps/iosched/ui/schedule/ScheduleFragment.kt @@ -178,7 +178,7 @@ class ScheduleFragment : MainNavigationFragment() { // Filters sheet configuration bottomSheetBehavior = BottomSheetBehavior.from(view.findViewById(R.id.filter_sheet)) filtersFab.setOnClickListener { - bottomSheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED + bottomSheetBehavior.state = STATE_EXPANDED } bottomSheetBehavior.addBottomSheetCallback(object : BottomSheetCallback { override fun onStateChanged(bottomSheet: View, newState: Int) { diff --git a/mobile/src/main/java/com/google/samples/apps/iosched/widget/BottomSheetBehavior.kt b/mobile/src/main/java/com/google/samples/apps/iosched/widget/BottomSheetBehavior.kt index 4932fb4cfa..2edf96004c 100644 --- a/mobile/src/main/java/com/google/samples/apps/iosched/widget/BottomSheetBehavior.kt +++ b/mobile/src/main/java/com/google/samples/apps/iosched/widget/BottomSheetBehavior.kt @@ -245,8 +245,6 @@ class BottomSheetBehavior : Behavior { private val callbacks: MutableSet = mutableSetOf() - constructor() : super() - @SuppressLint("PrivateResource") constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) { // Re-use BottomSheetBehavior's attrs @@ -289,7 +287,7 @@ class BottomSheetBehavior : Behavior { isDraggable = ss.isDraggable peekHeight = ss.peekHeight isFitToContents = ss.isFitToContents - isHideable = ss.isHideable + isHideable = ss.isHidden skipCollapsed = ss.skipCollapsed // Set state last. Intermediate states are restored as collapsed state. @@ -827,7 +825,7 @@ class BottomSheetBehavior : Behavior { @State internal val state: Int internal val peekHeight: Int internal val isFitToContents: Boolean - internal val isHideable: Boolean + internal val isHidden: Boolean internal val skipCollapsed: Boolean internal val isDraggable: Boolean @@ -837,7 +835,7 @@ class BottomSheetBehavior : Behavior { state = source.readInt() peekHeight = source.readInt() isFitToContents = source.readBooleanUsingCompat() - isHideable = source.readBooleanUsingCompat() + isHidden = source.readBooleanUsingCompat() skipCollapsed = source.readBooleanUsingCompat() isDraggable = source.readBooleanUsingCompat() } @@ -854,7 +852,7 @@ class BottomSheetBehavior : Behavior { this.state = state this.peekHeight = peekHeight this.isFitToContents = isFitToContents - this.isHideable = isHideable + this.isHidden = isHideable this.skipCollapsed = skipCollapsed this.isDraggable = isDraggable } @@ -865,7 +863,7 @@ class BottomSheetBehavior : Behavior { writeInt(state) writeInt(peekHeight) writeBooleanUsingCompat(isFitToContents) - writeBooleanUsingCompat(isHideable) + writeBooleanUsingCompat(isHidden) writeBooleanUsingCompat(skipCollapsed) writeBooleanUsingCompat(isDraggable) } diff --git a/mobile/src/main/res/values-vi/strings.xml b/mobile/src/main/res/values-vi/strings.xml index a56c6ab07c..15ed011b6a 100644 --- a/mobile/src/main/res/values-vi/strings.xml +++ b/mobile/src/main/res/values-vi/strings.xml @@ -269,4 +269,6 @@ Trang web của Lớp học mã Thời lượng: %1$d phút Bắt đầu lớp học mã + Hỏi Đáp + Phiên bản %s diff --git a/model/build.gradle b/model/build.gradle index bbc73b86ea..a14a17ab1f 100644 --- a/model/build.gradle +++ b/model/build.gradle @@ -24,7 +24,7 @@ dependencies { api "org.threeten:threetenbp:$rootProject.threetenbpVersion:no-tzdb" implementation "androidx.core:core-ktx:$rootProject.ktxVersion" - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$rootProject.kotlinVersion" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$rootProject.kotlinVersion" } sourceCompatibility = "1.7" diff --git a/shared/build.gradle b/shared/build.gradle index e088fe55b8..33f923af6f 100644 --- a/shared/build.gradle +++ b/shared/build.gradle @@ -115,7 +115,7 @@ dependencies { implementation "com.squareup.okhttp3:logging-interceptor:$rootProject.okhttpVersion" // Kotlin - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$rootProject.kotlinVersion" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$rootProject.kotlinVersion" // Dagger implementation "com.google.dagger:dagger-android:$rootProject.dagger" diff --git a/shared/src/main/java/com/google/samples/apps/iosched/shared/domain/sessions/LoadSessionUseCase.kt b/shared/src/main/java/com/google/samples/apps/iosched/shared/domain/sessions/LoadSessionUseCase.kt index 1b984d9365..2fa0a33119 100644 --- a/shared/src/main/java/com/google/samples/apps/iosched/shared/domain/sessions/LoadSessionUseCase.kt +++ b/shared/src/main/java/com/google/samples/apps/iosched/shared/domain/sessions/LoadSessionUseCase.kt @@ -27,7 +27,7 @@ open class LoadSessionUseCase @Inject constructor(private val repository: Sessio MediatorUseCase() { override fun execute(parameters: SessionId) { - val session = repository.getSessions().firstOrNull { it -> it.id == parameters } + val session = repository.getSessions().firstOrNull { it.id == parameters } if (session == null) { result.postValue(Result.Error(SessionNotFoundException())) diff --git a/shared/src/main/java/com/google/samples/apps/iosched/shared/fcm/IoschedFirebaseMessagingService.kt b/shared/src/main/java/com/google/samples/apps/iosched/shared/fcm/IoschedFirebaseMessagingService.kt index fe70674ac6..78d1dbe09d 100644 --- a/shared/src/main/java/com/google/samples/apps/iosched/shared/fcm/IoschedFirebaseMessagingService.kt +++ b/shared/src/main/java/com/google/samples/apps/iosched/shared/fcm/IoschedFirebaseMessagingService.kt @@ -32,15 +32,15 @@ import java.util.concurrent.TimeUnit */ class IoschedFirebaseMessagingService : DaggerFirebaseMessagingService() { - override fun onNewToken(token: String?) { + override fun onNewToken(token: String) { super.onNewToken(token) Timber.d("New firebase token: $token") // Nothing to do, we update the user's firebase token via FirebaseAuthStateUserDataSource } - override fun onMessageReceived(remoteMessage: RemoteMessage?) { - Timber.d("Message data payload: ${remoteMessage?.data}") - val data = remoteMessage?.data ?: return + override fun onMessageReceived(remoteMessage: RemoteMessage) { + Timber.d("Message data payload: ${remoteMessage.data}") + val data = remoteMessage.data if (data[TRIGGER_EVENT_DATA_SYNC_key] == TRIGGER_EVENT_DATA_SYNC) { // Schedule job on JobScheduler when FCM message with action `TRIGGER_EVENT_DATA_SYNC` // is received. diff --git a/shared/src/test/java/com/google/samples/apps/iosched/shared/data/ConferenceDataRepositoryTest.kt b/shared/src/test/java/com/google/samples/apps/iosched/shared/data/ConferenceDataRepositoryTest.kt index 4f7c9a567d..e844157e3d 100644 --- a/shared/src/test/java/com/google/samples/apps/iosched/shared/data/ConferenceDataRepositoryTest.kt +++ b/shared/src/test/java/com/google/samples/apps/iosched/shared/data/ConferenceDataRepositoryTest.kt @@ -161,7 +161,7 @@ class TestConfDataSourceSession0 : ConferenceDataSource { private class TestConfDataSourceSession1 : ConferenceDataSource { override fun getRemoteConferenceData(): ConferenceData? { return ConferenceData( - sessions = listOf(TestData.session1), + sessions = listOf(session1), speakers = listOf(TestData.speaker1), rooms = emptyList(), codelabs = emptyList(), @@ -172,7 +172,7 @@ private class TestConfDataSourceSession1 : ConferenceDataSource { override fun getOfflineConferenceData(): ConferenceData? { return ConferenceData( - sessions = listOf(TestData.session1), + sessions = listOf(session1), speakers = listOf(TestData.speaker1), rooms = emptyList(), codelabs = emptyList(), @@ -189,7 +189,7 @@ class BootstrapDataSourceSession3 : ConferenceDataSource { override fun getOfflineConferenceData(): ConferenceData? { return ConferenceData( - sessions = listOf(TestData.session3), + sessions = listOf(session3), speakers = listOf(TestData.speaker1), rooms = emptyList(), codelabs = emptyList(), @@ -206,7 +206,7 @@ private class TestConfDataSourceOnlyCachedSession1 : ConferenceDataSource { override fun getOfflineConferenceData(): ConferenceData? { return ConferenceData( - sessions = listOf(TestData.session1), + sessions = listOf(session1), speakers = listOf(TestData.speaker1), rooms = emptyList(), codelabs = emptyList(), diff --git a/shared/src/test/java/com/google/samples/apps/iosched/shared/data/userevent/CompareOldAndNewUserEventsTest.kt b/shared/src/test/java/com/google/samples/apps/iosched/shared/data/userevent/CompareOldAndNewUserEventsTest.kt index 27d1c2ea22..ea970064a7 100644 --- a/shared/src/test/java/com/google/samples/apps/iosched/shared/data/userevent/CompareOldAndNewUserEventsTest.kt +++ b/shared/src/test/java/com/google/samples/apps/iosched/shared/data/userevent/CompareOldAndNewUserEventsTest.kt @@ -284,7 +284,7 @@ class CompareOldAndNewUserEventsTest { } private fun createReservationResult( - requestResult: ReservationRequestResult.ReservationRequestStatus? = null, + requestResult: ReservationRequestStatus? = null, requestId: String = "213", timestamp: Long = -1 ): ReservationRequestResult { diff --git a/shared/src/test/java/com/google/samples/apps/iosched/shared/domain/codelabs/LoadCodelabsUseCaseTest.kt b/shared/src/test/java/com/google/samples/apps/iosched/shared/domain/codelabs/LoadCodelabsUseCaseTest.kt index d1eac5e4c2..e60274a273 100644 --- a/shared/src/test/java/com/google/samples/apps/iosched/shared/domain/codelabs/LoadCodelabsUseCaseTest.kt +++ b/shared/src/test/java/com/google/samples/apps/iosched/shared/domain/codelabs/LoadCodelabsUseCaseTest.kt @@ -32,7 +32,7 @@ class LoadCodelabsUseCaseTest { @Test fun loadCodelabsList() { val loadCodelabsUseCase = LoadCodelabsUseCase(CodelabsRepository(TestDataRepository)) - val codelabs: Result.Success> = + val codelabs: Success> = loadCodelabsUseCase.executeNow(Unit) as Success> assertThat(codelabs.data, `is`(equalTo(TestData.codelabsSorted))) } diff --git a/shared/src/test/java/com/google/samples/apps/iosched/shared/domain/tags/LoadTagsUseCaseTest.kt b/shared/src/test/java/com/google/samples/apps/iosched/shared/domain/tags/LoadTagsUseCaseTest.kt index c42fc69469..324f21adaa 100644 --- a/shared/src/test/java/com/google/samples/apps/iosched/shared/domain/tags/LoadTagsUseCaseTest.kt +++ b/shared/src/test/java/com/google/samples/apps/iosched/shared/domain/tags/LoadTagsUseCaseTest.kt @@ -32,7 +32,7 @@ class LoadTagsUseCaseTest { @Test fun returnsListOfTags() { val loadTagsUseCase = LoadTagsUseCase(TagRepository(TestDataRepository)) - val tags: Result.Success> = + val tags: Success> = loadTagsUseCase.executeNow(Unit) as Success> assertEquals(tags.data, TagRepository(TestDataRepository).getTags()) diff --git a/shared/src/test/java/com/google/samples/apps/iosched/shared/model/SessionTest.kt b/shared/src/test/java/com/google/samples/apps/iosched/shared/model/SessionTest.kt index f1650ab818..73a378c7dd 100644 --- a/shared/src/test/java/com/google/samples/apps/iosched/shared/model/SessionTest.kt +++ b/shared/src/test/java/com/google/samples/apps/iosched/shared/model/SessionTest.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.google.samples.apps.iosched.model +package com.google.samples.apps.iosched.shared.model import com.google.samples.apps.iosched.model.SessionType.CODELAB import com.google.samples.apps.iosched.model.SessionType.SESSION diff --git a/shared/src/test/java/com/google/samples/apps/iosched/shared/model/TagTest.kt b/shared/src/test/java/com/google/samples/apps/iosched/shared/model/TagTest.kt index a7e8be273c..5a91d18108 100644 --- a/shared/src/test/java/com/google/samples/apps/iosched/shared/model/TagTest.kt +++ b/shared/src/test/java/com/google/samples/apps/iosched/shared/model/TagTest.kt @@ -14,8 +14,9 @@ * limitations under the License. */ -package com.google.samples.apps.iosched.model +package com.google.samples.apps.iosched.shared.model +import com.google.samples.apps.iosched.model.Tag import org.hamcrest.CoreMatchers.equalTo import org.hamcrest.CoreMatchers.not import org.junit.Assert.assertThat diff --git a/test-shared/build.gradle b/test-shared/build.gradle index 853e68d262..dd6f11b661 100644 --- a/test-shared/build.gradle +++ b/test-shared/build.gradle @@ -21,7 +21,7 @@ dependencies { implementation project(":model") // Kotlin - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$rootProject.kotlinVersion" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$rootProject.kotlinVersion" // ThreeTenBP for the shared module only. Date and time API for Java. testImplementation "org.threeten:threetenbp:$rootProject.threetenbpVersion"