From d6752ab46b9e324a4ecf653f5b413e8325a3b4c9 Mon Sep 17 00:00:00 2001 From: "mikhail.erkhov" Date: Tue, 15 Jun 2021 09:44:46 +0400 Subject: [PATCH 01/29] Prepare client to work with back-end api * added back-end DTOs * added retrofit * added repositories * added corresponding domain models * used kotlin serialization (haven't verified it yet, in hackathon app we used moshi) --- app/build.gradle.kts | 5 + .../academy/android/data/network/ServerApi.kt | 56 +++++++++ .../data/network/TokenAuthenticator.kt | 36 ++++++ .../network/models/AdditionalMaterialDTO.kt | 13 +++ .../android/data/network/models/CourseDTO.kt | 27 +++++ .../android/data/network/models/LectureDTO.kt | 32 ++++++ .../data/network/models/LoginRequestDTO.kt | 9 ++ .../data/network/models/LoginResponseDTO.kt | 18 +++ .../data/network/models/RegisterRequestDTO.kt | 12 ++ .../network/models/UpdateCourseRequestDTO.kt | 14 +++ .../network/models/UpdateLectureRequestDTO.kt | 17 +++ .../android/data/network/models/UserDTO.kt | 10 ++ .../data/repositories/AuthRepositoryImpl.kt | 96 ++++++++++++++++ .../data/repositories/CourseRepositoryImpl.kt | 108 ++++++++++++++++++ .../repositories/LecturesRepositoryImpl.kt | 16 +++ .../com/academy/android/di/NetworkModule.kt | 52 +++++++++ .../academy/android/domain/OperationResult.kt | 9 ++ .../domain/models/AdditionalMaterial.kt | 6 + .../academy/android/domain/models/Course.kt | 11 ++ .../academy/android/domain/models/Lecture.kt | 14 +++ .../com/academy/android/domain/models/User.kt | 8 ++ .../domain/repositories/AuthRepository.kt | 27 +++++ .../domain/repositories/CourseRepository.kt | 19 +++ .../domain/repositories/LecturesRepository.kt | 8 ++ 24 files changed, 623 insertions(+) create mode 100644 app/src/main/java/com/academy/android/data/network/ServerApi.kt create mode 100644 app/src/main/java/com/academy/android/data/network/TokenAuthenticator.kt create mode 100644 app/src/main/java/com/academy/android/data/network/models/AdditionalMaterialDTO.kt create mode 100644 app/src/main/java/com/academy/android/data/network/models/CourseDTO.kt create mode 100644 app/src/main/java/com/academy/android/data/network/models/LectureDTO.kt create mode 100644 app/src/main/java/com/academy/android/data/network/models/LoginRequestDTO.kt create mode 100644 app/src/main/java/com/academy/android/data/network/models/LoginResponseDTO.kt create mode 100644 app/src/main/java/com/academy/android/data/network/models/RegisterRequestDTO.kt create mode 100644 app/src/main/java/com/academy/android/data/network/models/UpdateCourseRequestDTO.kt create mode 100644 app/src/main/java/com/academy/android/data/network/models/UpdateLectureRequestDTO.kt create mode 100644 app/src/main/java/com/academy/android/data/network/models/UserDTO.kt create mode 100644 app/src/main/java/com/academy/android/data/repositories/AuthRepositoryImpl.kt create mode 100644 app/src/main/java/com/academy/android/data/repositories/CourseRepositoryImpl.kt create mode 100644 app/src/main/java/com/academy/android/data/repositories/LecturesRepositoryImpl.kt create mode 100644 app/src/main/java/com/academy/android/di/NetworkModule.kt create mode 100644 app/src/main/java/com/academy/android/domain/OperationResult.kt create mode 100644 app/src/main/java/com/academy/android/domain/models/AdditionalMaterial.kt create mode 100644 app/src/main/java/com/academy/android/domain/models/Course.kt create mode 100644 app/src/main/java/com/academy/android/domain/models/Lecture.kt create mode 100644 app/src/main/java/com/academy/android/domain/models/User.kt create mode 100644 app/src/main/java/com/academy/android/domain/repositories/AuthRepository.kt create mode 100644 app/src/main/java/com/academy/android/domain/repositories/CourseRepository.kt create mode 100644 app/src/main/java/com/academy/android/domain/repositories/LecturesRepository.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2d8ca71..877dc26 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -62,6 +62,7 @@ dependencies { // Serialization implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.0.1") + implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0") // Navigation implementation("androidx.navigation:navigation-fragment-ktx:${rootProject.extra["navigationVersion"]}") @@ -73,6 +74,10 @@ dependencies { implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion") implementation("androidx.lifecycle:lifecycle-common-java8:$lifecycleVersion") + // Network + implementation("com.squareup.retrofit2:retrofit:2.9.0") + implementation("com.squareup.okhttp3:logging-interceptor:4.9.1") + // DI val daggerVersion = "2.33" implementation("com.google.dagger:dagger:$daggerVersion") diff --git a/app/src/main/java/com/academy/android/data/network/ServerApi.kt b/app/src/main/java/com/academy/android/data/network/ServerApi.kt new file mode 100644 index 0000000..d8862f3 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/network/ServerApi.kt @@ -0,0 +1,56 @@ +package com.academy.android.data.network + +import com.academy.android.data.network.models.CourseDTO +import com.academy.android.data.network.models.LectureDTO +import com.academy.android.data.network.models.LoginRequestDTO +import com.academy.android.data.network.models.LoginResponseDTO +import com.academy.android.data.network.models.RegisterRequestDTO +import com.academy.android.data.network.models.UpdateCourseRequestDTO +import com.academy.android.data.network.models.UpdateLectureRequestDTO +import retrofit2.http.Body +import retrofit2.http.GET +import retrofit2.http.POST +import retrofit2.http.Query + +interface ServerApi { + @POST("login") + suspend fun login( + @Body loginRequest: LoginRequestDTO + ): LoginResponseDTO + + @POST("register") + suspend fun register( + @Body registerRequestDTO: RegisterRequestDTO + ): LoginResponseDTO + + @GET("courses/favorite") + suspend fun getFavouriteCourses(): List + + @GET("courses/all") + suspend fun getAllCourses(): List + + @POST("courses/update") + suspend fun updateCourse( + @Body updateCourseRequestDTO: UpdateCourseRequestDTO + ) + + @POST("lectures/update") + suspend fun updateLecture( + @Body updateLectureRequestDTO: UpdateLectureRequestDTO + ) + + @GET("lectures/all") + suspend fun getAllLectures( + @Query(value = "courseId") courseId: Long + ): List + + @GET("lectures/by-id") + suspend fun getLectureById( + @Query(value = "lectureId") lectureId: Long + ): LectureDTO + + @POST("user/update-fcm-token") + suspend fun updateFcmToken( + @Body fcmToken: String + ) +} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/data/network/TokenAuthenticator.kt b/app/src/main/java/com/academy/android/data/network/TokenAuthenticator.kt new file mode 100644 index 0000000..4592308 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/network/TokenAuthenticator.kt @@ -0,0 +1,36 @@ +package com.academy.android.data.network + +import okhttp3.Authenticator +import okhttp3.Request +import okhttp3.Response +import okhttp3.Route +import javax.inject.Inject + +// fixme: fix user auth +class TokenAuthenticator @Inject constructor( +// private val prefsStorage: PrefsStorage +) : Authenticator { + override fun authenticate(route: Route?, response: Response): Request? = + if (responseCount(response) < MAX_ATTEMPTS) { + response.request + .newBuilder() +// .header(AUTH_HEADER, prefsStorage.loadUser()?.token.orEmpty()) + .build() + } else { + null + } + + private fun responseCount(response: Response): Int { + var result = 1 + var r: Response? = response + while (true) { + r = r?.priorResponse ?: return result + result++ + } + } + + companion object { + const val MAX_ATTEMPTS = 3 + const val AUTH_HEADER = "Token" + } +} diff --git a/app/src/main/java/com/academy/android/data/network/models/AdditionalMaterialDTO.kt b/app/src/main/java/com/academy/android/data/network/models/AdditionalMaterialDTO.kt new file mode 100644 index 0000000..72f5a51 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/network/models/AdditionalMaterialDTO.kt @@ -0,0 +1,13 @@ +package com.academy.android.data.network.models + +import com.academy.android.domain.models.AdditionalMaterial +import kotlinx.serialization.Serializable + +@Serializable +data class AdditionalMaterialDTO( + val topicName: String, + val url: String +) + +fun AdditionalMaterialDTO.toAdditionalMaterial(): AdditionalMaterial = + AdditionalMaterial(topicName = topicName, url = url) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/data/network/models/CourseDTO.kt b/app/src/main/java/com/academy/android/data/network/models/CourseDTO.kt new file mode 100644 index 0000000..ee82200 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/network/models/CourseDTO.kt @@ -0,0 +1,27 @@ +package com.academy.android.data.network.models + +import com.academy.android.domain.models.Course +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class CourseDTO( + val id: Long, + val title: String, + val shortDescription: String? = null, + val fullDescription: String? = null, + val imgUrl: String? = null, + val tags: List, + @SerialName("subscribed") val isSubscribed: Boolean = false +) + +fun CourseDTO.toCourse(): Course = + Course( + id = id, + title = title, + shortDescription = shortDescription, + fullDescription = fullDescription, + imgUrl = imgUrl, + tags = tags, + isSubscribed = isSubscribed + ) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/data/network/models/LectureDTO.kt b/app/src/main/java/com/academy/android/data/network/models/LectureDTO.kt new file mode 100644 index 0000000..dd71af9 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/network/models/LectureDTO.kt @@ -0,0 +1,32 @@ +package com.academy.android.data.network.models + +import com.academy.android.domain.models.Lecture +import kotlinx.serialization.Serializable + +@Serializable +data class LectureDTO( + val id: Long, + val title: String, + val youtubeUrl: String = "", + val githubRepoUrl: String = "", + val telegramChannel: String = "", + val additionalMaterials: List, + val imgUrl: String? = null, + val tags: List, + val courseId: Long, + val startTimestamp : Long +) + +fun LectureDTO.toLecture(): Lecture = + Lecture( + id = id, + title = title, + youtubeUrl = youtubeUrl, + githubRepoUrl = githubRepoUrl, + telegramChannel = telegramChannel, + additionalMaterials = additionalMaterials.map(AdditionalMaterialDTO::toAdditionalMaterial), + imgUrl = imgUrl, + tags = tags, + courseId = courseId, + startTimestamp = startTimestamp + ) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/data/network/models/LoginRequestDTO.kt b/app/src/main/java/com/academy/android/data/network/models/LoginRequestDTO.kt new file mode 100644 index 0000000..05ab248 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/network/models/LoginRequestDTO.kt @@ -0,0 +1,9 @@ +package com.academy.android.data.network.models + +import kotlinx.serialization.Serializable + +@Serializable +data class LoginRequestDTO( + val username: String, + val pwd: String +) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/data/network/models/LoginResponseDTO.kt b/app/src/main/java/com/academy/android/data/network/models/LoginResponseDTO.kt new file mode 100644 index 0000000..b081e59 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/network/models/LoginResponseDTO.kt @@ -0,0 +1,18 @@ +package com.academy.android.data.network.models + +import com.academy.android.domain.models.User +import kotlinx.serialization.Serializable + +@Serializable +data class LoginResponseDTO( + val userProfile: UserDTO, + val token: String +) + +fun LoginResponseDTO.toUser(): User = + User( + username = userProfile.username, + name = userProfile.name, + isMentor = userProfile.mentor, + token = token + ) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/data/network/models/RegisterRequestDTO.kt b/app/src/main/java/com/academy/android/data/network/models/RegisterRequestDTO.kt new file mode 100644 index 0000000..34a95d2 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/network/models/RegisterRequestDTO.kt @@ -0,0 +1,12 @@ +package com.academy.android.data.network.models + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class RegisterRequestDTO( + val username: String, + val pwd: String, + val name: String, + @SerialName("mentor") val isMentor: Boolean +) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/data/network/models/UpdateCourseRequestDTO.kt b/app/src/main/java/com/academy/android/data/network/models/UpdateCourseRequestDTO.kt new file mode 100644 index 0000000..406fa25 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/network/models/UpdateCourseRequestDTO.kt @@ -0,0 +1,14 @@ +package com.academy.android.data.network.models + +import kotlinx.serialization.Serializable + +@Serializable +data class UpdateCourseRequestDTO( + val id: Long? = null, + val title: String, + val shortDescription: String? = null, + val fullDescription: String? = null, + val imgUrl: String? = null, + val tags: List, + val subscribed: Boolean +) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/data/network/models/UpdateLectureRequestDTO.kt b/app/src/main/java/com/academy/android/data/network/models/UpdateLectureRequestDTO.kt new file mode 100644 index 0000000..2f82254 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/network/models/UpdateLectureRequestDTO.kt @@ -0,0 +1,17 @@ +package com.academy.android.data.network.models + +import kotlinx.serialization.Serializable + +@Serializable +data class UpdateLectureRequestDTO( + val id: Long? = null, + val title: String, + val youtubeUrl: String = "", + val githubRepoUrl: String = "", + val telegramChannel: String = "", + val additionalMaterials: List, + val imgUrl: String? = null, + val tags: List, + val courseId: Long, + val startTimestamp : Long +) diff --git a/app/src/main/java/com/academy/android/data/network/models/UserDTO.kt b/app/src/main/java/com/academy/android/data/network/models/UserDTO.kt new file mode 100644 index 0000000..2fa4277 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/network/models/UserDTO.kt @@ -0,0 +1,10 @@ +package com.academy.android.data.network.models + +import kotlinx.serialization.Serializable + +@Serializable +data class UserDTO( + val username: String, + val name: String, + val mentor: Boolean +) diff --git a/app/src/main/java/com/academy/android/data/repositories/AuthRepositoryImpl.kt b/app/src/main/java/com/academy/android/data/repositories/AuthRepositoryImpl.kt new file mode 100644 index 0000000..970e7de --- /dev/null +++ b/app/src/main/java/com/academy/android/data/repositories/AuthRepositoryImpl.kt @@ -0,0 +1,96 @@ +package com.academy.android.data.repositories + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import com.academy.android.data.network.ServerApi +import com.academy.android.data.network.models.LoginRequestDTO +import com.academy.android.data.network.models.RegisterRequestDTO +import com.academy.android.data.network.models.toUser +import com.academy.android.domain.OperationResult +import com.academy.android.domain.models.User +import com.academy.android.domain.repositories.AuthRepository +import com.academy.android.domain.repositories.MyOptional +import javax.inject.Inject + +// fixme: handle auth properly +class AuthRepositoryImpl @Inject constructor( +// private val prefsStorage: PrefsStorage, + private val serverApi: ServerApi +) : AuthRepository { + + + override fun loadUser(): User? { +// prefsStorage.loadUser() + return null + } + + override fun observeUser(): LiveData> { +// prefsStorage.observeUser() + return MutableLiveData() + } + + override suspend fun login( + username: String, + password: String + ): OperationResult = + try { + val user = serverApi.login( + LoginRequestDTO( + username = username, + pwd = password + ) + ).toUser() + +// prefsStorage.saveToSharedPref(user) + sendFcmTokenToBackend() + + OperationResult.Success(Unit) + + } catch (e: Exception) { + OperationResult.Error(e.message) + } + + + override suspend fun register( + username: String, + password: String, + name: String, + isMentor: Boolean + ): OperationResult = + try { + val user = serverApi.register( + RegisterRequestDTO( + username = username, + pwd = password, + name = name, + isMentor = isMentor + ) + ).toUser() + +// prefsStorage.saveToSharedPref(user) + sendFcmTokenToBackend() + + OperationResult.Success(Unit) + + } catch (e: Exception) { + OperationResult.Error(e.message) + } + + private fun sendFcmTokenToBackend() { +// FirebaseMessaging.getInstance().token +// .addOnSuccessListener { fcmToken -> +// GlobalScope.launch { +// println("fcm_token:$fcmToken") +// serverApi.updateFcmToken(fcmToken) +// } +// } +// .addOnFailureListener { +// Timber.e(it, "Cannot get FCM token") +// } + } + + override fun logOut() { +// prefsStorage.saveToSharedPref(null) + } +} + diff --git a/app/src/main/java/com/academy/android/data/repositories/CourseRepositoryImpl.kt b/app/src/main/java/com/academy/android/data/repositories/CourseRepositoryImpl.kt new file mode 100644 index 0000000..766616d --- /dev/null +++ b/app/src/main/java/com/academy/android/data/repositories/CourseRepositoryImpl.kt @@ -0,0 +1,108 @@ +package com.academy.android.data.repositories + +import com.academy.android.data.network.ServerApi +import com.academy.android.data.network.models.AdditionalMaterialDTO +import com.academy.android.data.network.models.UpdateCourseRequestDTO +import com.academy.android.data.network.models.UpdateLectureRequestDTO +import com.academy.android.data.network.models.toLecture +import com.academy.android.domain.OperationResult +import com.academy.android.domain.models.Course +import com.academy.android.domain.models.Lecture +import com.academy.android.domain.repositories.CourseRepository +import javax.inject.Inject + +class CourseRepositoryImpl @Inject constructor( + private val serverApi: ServerApi +) : CourseRepository { + + override suspend fun getAllCourses(): OperationResult, String?> = + try { + val courses = serverApi.getAllCourses().map { + Course( + id = it.id, + title = it.title, + shortDescription = it.shortDescription, + fullDescription = it.fullDescription, + imgUrl = it.imgUrl, + isSubscribed = it.isSubscribed, + tags = it.tags + ) + } + OperationResult.Success(courses) + } catch (e: Throwable) { + OperationResult.Error(e.message) + } + + override suspend fun getFavouriteCourses(username: String): OperationResult, String?> = + try { + val courses = serverApi.getFavouriteCourses().map { + Course( + id = it.id, + title = it.title, + shortDescription = it.shortDescription, + fullDescription = it.fullDescription, + imgUrl = it.imgUrl, + isSubscribed = it.isSubscribed, + tags = it.tags + ) + }.filter { it.isSubscribed } // TODO: remove filter + OperationResult.Success(courses) + } catch (e: Throwable) { + OperationResult.Error(e.message) + } + + override suspend fun updateCourse(course: Course): OperationResult = + try { + serverApi.updateCourse( + UpdateCourseRequestDTO( + id = course.id, + title = course.title, + shortDescription = course.shortDescription, + fullDescription = course.fullDescription, + imgUrl = course.imgUrl, + subscribed = course.isSubscribed, + tags = course.tags + ) + ) + OperationResult.Success(Unit) + } catch (e: Throwable) { + OperationResult.Error(e.message) + } + + + override suspend fun getAllLectures(courseId: Long): OperationResult, String?> = + try { + val lectures = serverApi.getAllLectures(courseId).map { + it.toLecture() + } + OperationResult.Success(lectures) + } catch (e: Throwable) { + OperationResult.Error(e.message) + } + + override suspend fun updateLecture(lecture: Lecture): OperationResult = + try { + serverApi.updateLecture( + UpdateLectureRequestDTO( + id = lecture.id, + title = lecture.title, + youtubeUrl = lecture.youtubeUrl, + githubRepoUrl = lecture.githubRepoUrl, + telegramChannel = lecture.telegramChannel, + additionalMaterials = lecture.additionalMaterials.map { + AdditionalMaterialDTO( + topicName = it.topicName, + url = it.url + ) + }, + imgUrl = lecture.imgUrl, + tags = lecture.tags, + courseId = lecture.courseId, + startTimestamp = lecture.startTimestamp + ) + ) + OperationResult.Success(Unit) + } catch (e: Throwable) { + OperationResult.Error(e.message) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/data/repositories/LecturesRepositoryImpl.kt b/app/src/main/java/com/academy/android/data/repositories/LecturesRepositoryImpl.kt new file mode 100644 index 0000000..ff290e9 --- /dev/null +++ b/app/src/main/java/com/academy/android/data/repositories/LecturesRepositoryImpl.kt @@ -0,0 +1,16 @@ +package com.academy.android.data.repositories + +import com.academy.android.data.network.ServerApi +import com.academy.android.data.network.models.toLecture +import com.academy.android.domain.models.Lecture +import com.academy.android.domain.repositories.LecturesRepository +import javax.inject.Inject + +class LecturesRepositoryImpl @Inject constructor( + private val serverApi: ServerApi +) : LecturesRepository { + + override suspend fun getLecture(id: Long): Lecture = + serverApi.getLectureById(lectureId = id) + .toLecture() +} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/di/NetworkModule.kt b/app/src/main/java/com/academy/android/di/NetworkModule.kt new file mode 100644 index 0000000..d247f6d --- /dev/null +++ b/app/src/main/java/com/academy/android/di/NetworkModule.kt @@ -0,0 +1,52 @@ +package com.academy.android.di + +import com.academy.android.data.network.TokenAuthenticator +import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import kotlinx.serialization.json.Json +import okhttp3.Authenticator +import okhttp3.MediaType.Companion.toMediaType +import okhttp3.OkHttpClient +import okhttp3.logging.HttpLoggingInterceptor +import retrofit2.Retrofit +import javax.inject.Singleton + +@InstallIn(SingletonComponent::class) +@Module +internal class NetworkModule { + @Provides + @Singleton + fun provideAuthenticator(tokenAuthenticator: TokenAuthenticator): Authenticator = + tokenAuthenticator + + @Provides + @Singleton + fun provideOkHttpClient( + authenticator: Authenticator + ): OkHttpClient { + val loggingInterceptor = HttpLoggingInterceptor().apply { + level = HttpLoggingInterceptor.Level.BODY + } + return OkHttpClient().newBuilder() + .authenticator(authenticator) + .addInterceptor(loggingInterceptor) + .addNetworkInterceptor(loggingInterceptor) +// .addInterceptor(AuthInterceptor()) + .build() + } + + @Provides + @Singleton + fun provideRetrofit( + okHttpClient: OkHttpClient, + ): Retrofit { + return Retrofit.Builder() + .client(okHttpClient) + .baseUrl("http://10.0.2.2:8080/") // fixme: replace onto real back-end url and move to properties + .addConverterFactory(Json.asConverterFactory("application/json".toMediaType())) + .build() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/domain/OperationResult.kt b/app/src/main/java/com/academy/android/domain/OperationResult.kt new file mode 100644 index 0000000..57c64a3 --- /dev/null +++ b/app/src/main/java/com/academy/android/domain/OperationResult.kt @@ -0,0 +1,9 @@ +package com.academy.android.domain + + +sealed class OperationResult { + + data class Success(val data: S) : OperationResult() + + data class Error(val data: E) : OperationResult() +} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/domain/models/AdditionalMaterial.kt b/app/src/main/java/com/academy/android/domain/models/AdditionalMaterial.kt new file mode 100644 index 0000000..f6f0d1b --- /dev/null +++ b/app/src/main/java/com/academy/android/domain/models/AdditionalMaterial.kt @@ -0,0 +1,6 @@ +package com.academy.android.domain.models + +data class AdditionalMaterial( + val topicName: String, + val url: String +) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/domain/models/Course.kt b/app/src/main/java/com/academy/android/domain/models/Course.kt new file mode 100644 index 0000000..b3d5d63 --- /dev/null +++ b/app/src/main/java/com/academy/android/domain/models/Course.kt @@ -0,0 +1,11 @@ +package com.academy.android.domain.models + +data class Course( + val id: Long? = null, + val title: String, + val shortDescription: String? = null, + val fullDescription: String? = null, + val imgUrl: String? = null, + val tags: List, + val isSubscribed: Boolean = false +) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/domain/models/Lecture.kt b/app/src/main/java/com/academy/android/domain/models/Lecture.kt new file mode 100644 index 0000000..19fe59d --- /dev/null +++ b/app/src/main/java/com/academy/android/domain/models/Lecture.kt @@ -0,0 +1,14 @@ +package com.academy.android.domain.models + +data class Lecture( + val id: Long? = null, + val title: String, + val youtubeUrl: String = "", + val githubRepoUrl: String = "", + val telegramChannel: String = "", + val additionalMaterials: List, + val imgUrl: String? = null, + val tags: List, + val courseId: Long, + val startTimestamp : Long +) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/domain/models/User.kt b/app/src/main/java/com/academy/android/domain/models/User.kt new file mode 100644 index 0000000..c4d9365 --- /dev/null +++ b/app/src/main/java/com/academy/android/domain/models/User.kt @@ -0,0 +1,8 @@ +package com.academy.android.domain.models + +data class User( + val username : String, + val name : String, + val isMentor : Boolean, + val token : String +) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/domain/repositories/AuthRepository.kt b/app/src/main/java/com/academy/android/domain/repositories/AuthRepository.kt new file mode 100644 index 0000000..f4865ae --- /dev/null +++ b/app/src/main/java/com/academy/android/domain/repositories/AuthRepository.kt @@ -0,0 +1,27 @@ +package com.academy.android.domain.repositories + +import androidx.lifecycle.LiveData +import com.academy.android.domain.OperationResult +import com.academy.android.domain.models.User + +interface AuthRepository { + fun loadUser(): User? + + suspend fun login(username: String, password: String): OperationResult + + suspend fun register( + username: String, + password: String, + name: String, + isMentor: Boolean + ): OperationResult + + fun observeUser(): LiveData> + + fun logOut() + +} + +data class MyOptional( + val value: T? +) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/domain/repositories/CourseRepository.kt b/app/src/main/java/com/academy/android/domain/repositories/CourseRepository.kt new file mode 100644 index 0000000..19a3b56 --- /dev/null +++ b/app/src/main/java/com/academy/android/domain/repositories/CourseRepository.kt @@ -0,0 +1,19 @@ +package com.academy.android.domain.repositories + +import com.academy.android.domain.OperationResult +import com.academy.android.domain.models.Course +import com.academy.android.domain.models.Lecture + + +interface CourseRepository { + + suspend fun getAllCourses(): OperationResult, String?> + + suspend fun getFavouriteCourses(username: String): OperationResult, String?> + + suspend fun updateCourse(course: Course) : OperationResult + + suspend fun getAllLectures(courseId: Long) : OperationResult, String?> + + suspend fun updateLecture(lecture: Lecture) : OperationResult +} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/domain/repositories/LecturesRepository.kt b/app/src/main/java/com/academy/android/domain/repositories/LecturesRepository.kt new file mode 100644 index 0000000..042fd6f --- /dev/null +++ b/app/src/main/java/com/academy/android/domain/repositories/LecturesRepository.kt @@ -0,0 +1,8 @@ +package com.academy.android.domain.repositories + +import com.academy.android.domain.models.Lecture + + +interface LecturesRepository { + suspend fun getLecture(id: Long): Lecture +} \ No newline at end of file From 8525fa24f1d4d7d9ede0a6c71bfb88a0ae9312c7 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Sun, 29 Aug 2021 09:50:05 +0400 Subject: [PATCH 02/29] Fix broken CI * fixed broken gradlew * upgraded gradle to 7.2 --- gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 282 ++++++++++++++--------- gradlew.bat | 43 ++-- 3 files changed, 197 insertions(+), 131 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index fce77c7..ffed3a2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Sat Mar 20 17:14:37 MSK 2021 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip diff --git a/gradlew b/gradlew index cccdd3d..1b6c787 100755 --- a/gradlew +++ b/gradlew @@ -1,78 +1,129 @@ -#!/usr/bin/env sh +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -81,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -89,84 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=$((i+1)) + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=$(save "$@") - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index f955316..107acd3 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -13,15 +29,18 @@ if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -35,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -45,28 +64,14 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell From ad0aa619f7c4ded43d00e03b531bda3740a1187e Mon Sep 17 00:00:00 2001 From: Mikhail Date: Fri, 29 Oct 2021 09:42:08 +0400 Subject: [PATCH 03/29] Remove fragments --- .../academy/android/ui/news/NewsFragment.kt | 116 ------------ .../android/ui/profile/EditProfileFragment.kt | 178 ------------------ .../android/ui/profile/ProfileFragment.kt | 49 ----- .../android/ui/videos/VideosFragment.kt | 81 -------- app/src/main/res/layout/activity_main.xml | 3 +- .../main/res/layout/fragment_edit_profile.xml | 7 +- app/src/main/res/layout/fragment_news.xml | 3 +- app/src/main/res/layout/fragment_profile.xml | 3 +- app/src/main/res/layout/fragment_videos.xml | 3 +- .../main/res/navigation/mobile_navigation.xml | 59 ------ 10 files changed, 6 insertions(+), 496 deletions(-) delete mode 100644 app/src/main/java/com/academy/android/ui/news/NewsFragment.kt delete mode 100644 app/src/main/java/com/academy/android/ui/profile/EditProfileFragment.kt delete mode 100644 app/src/main/java/com/academy/android/ui/profile/ProfileFragment.kt delete mode 100644 app/src/main/java/com/academy/android/ui/videos/VideosFragment.kt delete mode 100644 app/src/main/res/navigation/mobile_navigation.xml diff --git a/app/src/main/java/com/academy/android/ui/news/NewsFragment.kt b/app/src/main/java/com/academy/android/ui/news/NewsFragment.kt deleted file mode 100644 index 1d56795..0000000 --- a/app/src/main/java/com/academy/android/ui/news/NewsFragment.kt +++ /dev/null @@ -1,116 +0,0 @@ -package com.academy.android.ui.news - -import android.os.Bundle -import android.view.View -import android.widget.Toast -import androidx.core.content.res.ResourcesCompat -import androidx.fragment.app.Fragment -import androidx.fragment.app.viewModels -import androidx.lifecycle.lifecycleScope -import by.kirich1409.viewbindingdelegate.viewBinding -import coil.load -import com.academy.android.R -import com.academy.android.databinding.FragmentNewsBinding -import com.academy.android.databinding.FragmentNewsItemBinding -import com.academy.android.ui.base.BaseRVAdapter -import com.google.android.material.tabs.TabLayout -import dagger.hilt.android.AndroidEntryPoint -import kotlinx.coroutines.flow.collectLatest - -@AndroidEntryPoint -class NewsFragment : Fragment(R.layout.fragment_news) { - - private val viewModel: NewsViewModel by viewModels() - private val vb by viewBinding(FragmentNewsBinding::bind) - private val newsAdapter by lazy(::setupRecyclerViewAdapter) - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - setupViews() - } - - private fun setupViews() { - setupTabView() - setupRecyclerView() - } - - private fun setupRecyclerView() { - vb.rvNewsList.adapter = newsAdapter - - lifecycleScope.launchWhenResumed { - viewModel.newsList.collectLatest { - newsAdapter.updateData(it) - } - } - } - - private fun setupTabView() { - vb.tabLayout.apply { - background = ResourcesCompat.getDrawable(resources, R.color.transparent, null) - - addTab( - newTab().apply { text = resources.getString(R.string.news__tab_title_featured) }, - viewModel.getIsFilterStateNew() - ) - addTab( - newTab().apply { text = resources.getString(R.string.news__tab_title_passed) }, - !viewModel.getIsFilterStateNew(), - ) - - addOnTabSelectedListener(object : - TabLayout.OnTabSelectedListener { - override fun onTabSelected(tab: TabLayout.Tab) { - if (tab.text == resources.getString(R.string.news__tab_title_featured)) { - viewModel.applyFilterNew() - } else { - viewModel.applyFilterOld() - } - } - - override fun onTabUnselected(tab: TabLayout.Tab?) = Unit - override fun onTabReselected(tab: TabLayout.Tab?) = Unit - }) - } - } - - private fun setupRecyclerViewAdapter() = - BaseRVAdapter( - viewHolderInflater = { layoutInflater, parent, attachToParent -> - FragmentNewsItemBinding.inflate(layoutInflater, parent, attachToParent) - }, - viewHolderBinder = { holder, itemData -> - with(holder) { - tvText.text = itemData.text - tvLink.text = itemData.link - ivPicture.load(itemData.picture) - - icLike.isChecked = viewModel.getIsLiked(itemData.id) - icLike.setOnClickListener { - icLike.isChecked = viewModel.handleLike(itemData.id, !icLike.isChecked) - } - - lifecycleScope.launchWhenResumed { - viewModel.getLikesCount(itemData.chatId).collectLatest { - tvLikes.text = it.toString() - } - } - - icChat.setOnClickListener { - Toast.makeText(requireContext(), "Chat is clicked", Toast.LENGTH_SHORT) - .show() - } - - lifecycleScope.launchWhenResumed { - viewModel.getChatMessagesCount(itemData.chatId).collectLatest { - tvChatMessages.text = it.toString() - } - } - - icShare.setOnClickListener { - Toast.makeText(requireContext(), "Share is clicked", Toast.LENGTH_SHORT) - .show() - } - } - }, - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/profile/EditProfileFragment.kt b/app/src/main/java/com/academy/android/ui/profile/EditProfileFragment.kt deleted file mode 100644 index 0bc5018..0000000 --- a/app/src/main/java/com/academy/android/ui/profile/EditProfileFragment.kt +++ /dev/null @@ -1,178 +0,0 @@ -package com.academy.android.ui.profile - - -import android.content.ContentValues -import android.content.Intent -import android.net.Uri -import android.os.Bundle -import android.provider.MediaStore -import android.text.TextUtils -import android.util.Patterns -import android.view.View -import android.view.animation.AnimationUtils -import androidx.activity.result.contract.ActivityResultContracts -import androidx.core.view.isVisible -import androidx.fragment.app.Fragment -import androidx.fragment.app.viewModels -import androidx.lifecycle.lifecycleScope -import androidx.navigation.Navigation -import by.kirich1409.viewbindingdelegate.viewBinding -import coil.load -import com.academy.android.R -import com.academy.android.databinding.FragmentEditProfileBinding -import com.academy.android.model.Profile -import com.academy.android.util.ImageGalleryPicker -import dagger.hilt.android.AndroidEntryPoint -import kotlinx.coroutines.flow.collectLatest - -@AndroidEntryPoint -class EditProfileFragment: Fragment(R.layout.fragment_edit_profile), ImagePickerDialog.ImageSelectInterface { - - private val editProfViewModel: ProfileViewModel by viewModels() - private val vb by viewBinding(FragmentEditProfileBinding::bind) - private var profPicture: String? = null - - private val capturePictureFromCamera = - registerForActivityResult(ActivityResultContracts.TakePicture()){ success -> - if (success){ - setCameraPicture(profPicture) - } else { - //if failed to capture picture from camera suggest another way of choosing avatar - showImagePickDialog() - } - } - - private val selectPictureFromGallery = - registerForActivityResult(ImageGalleryPicker()){ galleryImage -> - val takeFlags: Int = (Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION) - requireContext().contentResolver.takePersistableUriPermission(galleryImage, takeFlags) - setGalleryPicture(galleryImage) - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - lifecycleScope.launchWhenStarted { - //filling profile with all the necessary data - editProfViewModel.profileData.collectLatest { profile -> - //avatar - profPicture = profile.profPic - vb.profilePicture.load(profPicture) - //name - vb.fieldEditName.setText(profile.name) - //surname - vb.fieldEditSurname.setText(profile.surname) - //phone number - vb.fieldEditPhone.setText(profile.phoneNumber) - //email - vb.fieldEditEmail.setText(profile.email) - //status - vb.fieldEditStatus.setText(profile.status) - } - } - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - setupNestedScrollListener() - setupListeners() - } - - private fun setupNestedScrollListener() { - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { - vb.fieldsScroll.setOnScrollChangeListener { _, _, scrollY, _, oldScrollY -> - if ((scrollY > oldScrollY) && vb.btnSaveProfile.isVisible){ - vb.btnSaveProfile.startAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_out)) - vb.btnSaveProfile.isVisible = false - } else if ((scrollY < oldScrollY) && !vb.btnSaveProfile.isVisible){ - vb.btnSaveProfile.startAnimation(AnimationUtils.loadAnimation(context, R.anim.fade_in)) - vb.btnSaveProfile.isVisible = true - } - } - } - } - - private fun setupListeners() { - //select profile picture button - vb.selectPic.setOnClickListener { - showImagePickDialog() - } - //save profile button - vb.btnSaveProfile.setOnClickListener { - when { - TextUtils.isEmpty(vb.fieldEditName.text) -> { - vb.fieldEditName.error = getString(R.string.field_name_error) - } - TextUtils.isEmpty(vb.fieldEditSurname.text) -> { - vb.fieldEditSurname.error = getString(R.string.field_surname_error) - } - (TextUtils.isEmpty(vb.fieldEditEmail.text)) || (!Patterns.EMAIL_ADDRESS - .matcher(vb.fieldEditEmail.text) - .matches()) -> { - vb.fieldEditEmail.error = getString(R.string.field_email_error) - } - TextUtils.isEmpty(vb.fieldEditStatus.text) -> { - vb.fieldEditStatus.error = getString(R.string.field_status_error) - } - else -> { - //forming Profile object's properties - val name = vb.fieldEditName.text.toString() - val surname = vb.fieldEditSurname.text.toString() - val phoneNumber = vb.fieldEditPhone.text.toString() - val email = vb.fieldEditEmail.text.toString() - val status = vb.fieldEditStatus.text.toString() - //sending newly formed object to viewModel - editProfViewModel.updateProfile( - Profile( - profPicture, - name, - surname, - phoneNumber, - email, - status - ) - ) - //going back to Profile - Navigation.findNavController(it).navigate(R.id.action_back_to_profile) - } - } - } - } - - private fun showImagePickDialog() { - //showing dialog suggesting a way of getting a picture for avatar - ImagePickerDialog(this).show(parentFragmentManager, "picPictureFrag") - } - - override fun getImageFromCamera() { - val uri = getUriForCameraPicture() - profPicture = uri.toString() - capturePictureFromCamera.launch(uri) - } - - private fun getUriForCameraPicture(): Uri? { - val resolver = requireContext().contentResolver - val contentValues = ContentValues().apply { - put(MediaStore.MediaColumns.DISPLAY_NAME, "ProfileAvatar") - put(MediaStore.MediaColumns.MIME_TYPE, "image/jpeg") - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) { - put(MediaStore.MediaColumns.RELATIVE_PATH, "DCIM/ProfilePictures") - } - } - return resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues) - } - - private fun setCameraPicture(cameraImage: String?) { - val profileUri = Uri.parse(cameraImage) - vb.profilePicture.load(profileUri) - } - - override fun getImageFromGallery() { - selectPictureFromGallery.launch(Unit) - } - - private fun setGalleryPicture(galleryImage: Uri) { - profPicture = galleryImage.toString() - vb.profilePicture.load(galleryImage) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/profile/ProfileFragment.kt b/app/src/main/java/com/academy/android/ui/profile/ProfileFragment.kt deleted file mode 100644 index dfc0fde..0000000 --- a/app/src/main/java/com/academy/android/ui/profile/ProfileFragment.kt +++ /dev/null @@ -1,49 +0,0 @@ -package com.academy.android.ui.profile - - -import android.os.Bundle -import android.view.View -import androidx.fragment.app.Fragment -import androidx.fragment.app.viewModels -import androidx.lifecycle.lifecycleScope -import androidx.navigation.Navigation -import by.kirich1409.viewbindingdelegate.viewBinding -import coil.load -import com.academy.android.R -import com.academy.android.databinding.FragmentProfileBinding -import dagger.hilt.android.AndroidEntryPoint -import kotlinx.coroutines.flow.collectLatest - - -@AndroidEntryPoint -class ProfileFragment : Fragment(R.layout.fragment_profile) { - - private val profileViewModel: ProfileViewModel by viewModels() - private val vb by viewBinding(FragmentProfileBinding::bind) - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - setupViews() - setupListeners() - } - - private fun setupViews() { - lifecycleScope.launchWhenResumed { - profileViewModel.profileData.collectLatest { profile -> - vb.profileCard.load(profile.profPic) - vb.textUserEmail.text = profile.email - } - } - } - - private fun setupListeners() { - //setting "become speaker button" - vb.arrowBecomeSpeaker.setOnClickListener { - Navigation.findNavController(it).navigate(R.id.action_become_speaker) - } - //setting edit profile button - vb.btnProfEdit.setOnClickListener { - Navigation.findNavController(it).navigate(R.id.action_edit_profile) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/videos/VideosFragment.kt b/app/src/main/java/com/academy/android/ui/videos/VideosFragment.kt deleted file mode 100644 index e4859fa..0000000 --- a/app/src/main/java/com/academy/android/ui/videos/VideosFragment.kt +++ /dev/null @@ -1,81 +0,0 @@ -package com.academy.android.ui.videos - -import android.os.Bundle -import android.view.View -import android.widget.ArrayAdapter -import androidx.fragment.app.Fragment -import androidx.fragment.app.viewModels -import androidx.lifecycle.lifecycleScope -import by.kirich1409.viewbindingdelegate.viewBinding -import coil.load -import com.academy.android.R -import com.academy.android.databinding.FragmentVideosBinding -import com.academy.android.databinding.FragmentVideosItemBinding -import com.academy.android.ui.base.BaseRVAdapter -import dagger.hilt.android.AndroidEntryPoint -import kotlinx.coroutines.flow.collectLatest - -@AndroidEntryPoint -class VideosFragment : Fragment(R.layout.fragment_videos) { - - private val viewModel: VideosViewModel by viewModels() - private val vb by viewBinding(FragmentVideosBinding::bind) - private val videosAdapter by lazy(::setupRecyclerViewAdapter) - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - setupViews() - } - - private fun setupViews() { - setupFilterView() - setupRecyclerView() - } - - private fun setupRecyclerView() { - vb.rvVideosList.adapter = videosAdapter - - lifecycleScope.launchWhenResumed { - viewModel.videosList.collectLatest { - videosAdapter.updateData(it) - } - } - } - - private fun setupFilterView() { - val citiesAdapter = ArrayAdapter(requireContext(), R.layout.support_simple_spinner_dropdown_item, viewModel.filterParameters.cities) - vb.cityDropdown.setAdapter(citiesAdapter) - vb.cityDropdown.setOnItemClickListener { _, _, _, _ -> - viewModel.handleCityFilterUpdated(vb.cityDropdown.text.toString()) - } - vb.cityDropdown.setText(viewModel.initialFilterState.city, false) - - val levelsAdapter = ArrayAdapter(requireContext(), R.layout.support_simple_spinner_dropdown_item, viewModel.filterParameters.levels) - vb.levelDropdown.setAdapter(levelsAdapter) - vb.levelDropdown.setOnItemClickListener { _, _, _, _ -> - viewModel.handleLevelFilterUpdated(vb.levelDropdown.text.toString()) - } - vb.levelDropdown.setText(viewModel.initialFilterState.level, false) - - val yearAdapter = ArrayAdapter(requireContext(), R.layout.support_simple_spinner_dropdown_item, viewModel.filterParameters.years) - vb.yearDropdown.setAdapter(yearAdapter) - vb.yearDropdown.setOnItemClickListener { _, _, _, _ -> - viewModel.handleYearFilterUpdated(vb.yearDropdown.text.toString()) - } - vb.yearDropdown.setText(viewModel.initialFilterState.year, false) - } - - private fun setupRecyclerViewAdapter() = - BaseRVAdapter( - viewHolderInflater = { layoutInflater, parent, attachToParent -> - FragmentVideosItemBinding.inflate(layoutInflater, parent, attachToParent) - }, - viewHolderBinder = { holder, itemData -> - with(holder) { - tvVideoName.text = itemData.name - tvVideoDate.text = itemData.date - ivVideoThumbnail.load(itemData.picture) - } - } - ) -} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index d38ada2..e7f9ee5 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -44,7 +44,6 @@ app:layout_constraintBottom_toTopOf="@id/nav_view" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:navGraph="@navigation/mobile_navigation" /> + app:layout_constraintTop_toTopOf="parent" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_edit_profile.xml b/app/src/main/res/layout/fragment_edit_profile.xml index b2c295f..eeb058d 100644 --- a/app/src/main/res/layout/fragment_edit_profile.xml +++ b/app/src/main/res/layout/fragment_edit_profile.xml @@ -1,11 +1,8 @@ - + android:layout_height="match_parent"> + android:layout_height="match_parent"> + android:layout_height="wrap_content"> + android:layout_height="match_parent"> - - - - - - - - - - - - - - - - - - \ No newline at end of file From 05548a3bc99028aa1be693a99b09e04a9b24274b Mon Sep 17 00:00:00 2001 From: Mikhail Date: Fri, 29 Oct 2021 09:47:44 +0400 Subject: [PATCH 04/29] Extracted dependencies declaration into buildSrc/Config --- app/build.gradle.kts | 56 ++++++++++++++++++++--------- build.gradle.kts | 39 +++++++++----------- buildSrc/build.gradle.kts | 8 +++++ buildSrc/src/main/java/Config.kt | 61 ++++++++++++++++++++++++++++++++ 4 files changed, 125 insertions(+), 39 deletions(-) create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/src/main/java/Config.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 877dc26..c63abc9 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,20 +1,25 @@ +import Config.androidBuildTools +import Config.androidCompileSdk +import Config.androidMinSdk +import Config.androidTargetSdk + plugins { - id("com.android.application") - kotlin("android") - kotlin("plugin.serialization") - kotlin("kapt") - id("dagger.hilt.android.plugin") - id("androidx.navigation.safeargs.kotlin") + id(Plugins.appPlugin) + kotlin(Plugins.androidPlugin) + kotlin(Plugins.serializationPlugin) + kotlin(Plugins.kapt) + id(Plugins.hiltPlugin) + id(Plugins.navigationSafeArgsPlugin) } android { - compileSdkVersion(30) - buildToolsVersion = "30.0.3" + compileSdk = androidCompileSdk + buildToolsVersion = androidBuildTools defaultConfig { applicationId = "com.academy.android" - minSdkVersion(21) - targetSdkVersion(30) + minSdk = androidMinSdk + targetSdk = androidTargetSdk versionCode = 1 versionName = "1.0" testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner" @@ -35,11 +40,16 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } + composeOptions { + kotlinCompilerVersion = Versions.kotlin + kotlinCompilerExtensionVersion = Versions.compose + } kotlinOptions { jvmTarget = "1.8" } buildFeatures { viewBinding = true + compose = true } } @@ -79,15 +89,16 @@ dependencies { implementation("com.squareup.okhttp3:logging-interceptor:4.9.1") // DI - val daggerVersion = "2.33" - implementation("com.google.dagger:dagger:$daggerVersion") - kapt("com.google.dagger:dagger-compiler:$daggerVersion") - implementation("com.google.dagger:hilt-android:${rootProject.extra["hiltVersion"]}") - kapt("com.google.dagger:hilt-compiler:${rootProject.extra["hiltVersion"]}") + implementation(Libs.dagger) + kapt(Libs.daggerCompiler) + + implementation(Libs.hilt) + kapt(Libs.hiltCompiler) + implementation(Libs.hiltNavigationCompose) val androidxHilt = "1.0.0-alpha03" implementation("androidx.hilt:hilt-lifecycle-viewmodel:$androidxHilt") - kapt("androidx.hilt:hilt-compiler:$androidxHilt") - implementation("androidx.hilt:hilt-work:$androidxHilt") + kapt("androidx.hilt:hilt-compiler:1.0.0") + implementation("androidx.hilt:hilt-work:1.0.0") // Concurrency val coroutinesVersion = "1.4.3" @@ -118,6 +129,17 @@ dependencies { // ViewBindingPropertyDelegate implementation("com.github.kirich1409:viewbindingpropertydelegate-noreflection:1.4.4") + // compose + implementation(Libs.activityCompose) + implementation(Libs.vmCompose) + implementation(Libs.composeCompiler) + implementation(Libs.composeFoundation) + implementation(Libs.composeMaterial) + implementation(Libs.composeUI) + implementation(Libs.composeTooling) + implementation(Libs.coil) + implementation(Libs.glideComposeVersion) + // Testing testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.2") diff --git a/build.gradle.kts b/build.gradle.kts index 91a1d9b..55b5c1c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,31 +1,26 @@ buildscript { - val kotlinVersion by extra("1.4.31") - val hiltVersion by extra("2.33-beta") - val navigationVersion by extra("2.3.4") - val kotlin_version by extra("1.4.31") + val navigationVersion by extra("2.3.4") repositories { - mavenCentral() - google() - jcenter() - } - dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}") - classpath("org.jetbrains.kotlin:kotlin-serialization:${kotlinVersion}") - classpath("com.android.tools.build:gradle:4.1.3") - classpath ("com.google.dagger:hilt-android-gradle-plugin:${hiltVersion}") - classpath ("androidx.navigation:navigation-safe-args-gradle-plugin:${navigationVersion}") - - } + google() + mavenCentral() + maven(url = "https://maven.pkg.jetbrains.space/public/p/compose/dev/") + } + dependencies { + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}") + classpath("org.jetbrains.kotlin:kotlin-serialization:${Versions.kotlin}") + classpath("com.android.tools.build:gradle:${Versions.androidToolsPlugin}") + classpath ("com.google.dagger:hilt-android-gradle-plugin:${Versions.daggerVersion}") + classpath("androidx.navigation:navigation-safe-args-gradle-plugin:${navigationVersion}") + } } allprojects { - repositories { - mavenCentral() - google() - jcenter() - } + repositories { + google() + mavenCentral() + } } task("clean") { - delete(rootProject.buildDir) + delete(rootProject.buildDir) } \ No newline at end of file diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 0000000..2dc2d3d --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,8 @@ +plugins { + `kotlin-dsl` +} + +// Required since Gradle 4.10+. +repositories { + mavenCentral() +} diff --git a/buildSrc/src/main/java/Config.kt b/buildSrc/src/main/java/Config.kt new file mode 100644 index 0000000..eaaa057 --- /dev/null +++ b/buildSrc/src/main/java/Config.kt @@ -0,0 +1,61 @@ +object Config { + // Android config + const val androidBuildTools = "31.0.0" + const val androidMinSdk = 21 + const val androidTargetSdk = 31 + const val androidCompileSdk = 31 + const val applicationId = "com.github.mik629.android.fundamentals" + const val versionCode = 1 + const val versionName = "1.0" +} + +object Versions { + const val kotlin = "1.5.31" + const val activityCompose = "1.3.1" + const val compose = "1.0.4" + const val vmCompose = "2.4.0-rc01" + const val navigationCompose = "2.4.0-alpha10" + const val hiltNavigationCompose = "1.0.0-alpha03" + + //Plugins + const val androidToolsPlugin = "7.0.1" + + // Android libraries + + + // third party libs + const val coilVersion = "1.3.2" + const val glideComposeVersion = "1.3.6" + + const val daggerVersion = "2.39.1" + + // testing +} + +object Plugins { + const val androidPlugin = "android" + const val appPlugin = "com.android.application" + const val kapt = "kapt" + const val hiltPlugin = "dagger.hilt.android.plugin" + const val navigationSafeArgsPlugin = "androidx.navigation.safeargs.kotlin" + const val serializationPlugin = "plugin.serialization" +} + +object Libs { + const val activityCompose = "androidx.activity:activity-compose:${Versions.activityCompose}" + const val composeCompiler = "androidx.compose.compiler:compiler:${Versions.compose}" + const val composeUI = "androidx.compose.ui:ui:${Versions.compose}" + const val composeMaterial = "androidx.compose.material:material:${Versions.compose}" + const val composeFoundation = "androidx.compose.foundation:foundation:${Versions.compose}" + const val composeTooling = "androidx.compose.ui:ui-tooling:${Versions.compose}" + const val vmCompose = "androidx.lifecycle:lifecycle-viewmodel-compose:${Versions.vmCompose}" + + const val dagger = "com.google.dagger:dagger:${Versions.daggerVersion}" + const val daggerCompiler = "com.google.dagger:dagger-compiler:${Versions.daggerVersion}" + const val hilt = "com.google.dagger:hilt-android:${Versions.daggerVersion}" + const val hiltCompiler = "com.google.dagger:hilt-compiler:${Versions.daggerVersion}" + const val hiltNavigationCompose = "androidx.hilt:hilt-navigation-compose:${Versions.hiltNavigationCompose}" + + const val coil = "io.coil-kt:coil-compose:${Versions.coilVersion}" + const val glideComposeVersion = "com.github.skydoves:landscapist-glide:${Versions.glideComposeVersion}" +} \ No newline at end of file From 65f88b28a7a61ad25e79b931b3199b27e55fd442 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Fri, 29 Oct 2021 09:47:57 +0400 Subject: [PATCH 05/29] Added gradlew --- gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59536 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..7454180f2ae8848c63b8b4dea2cb829da983f2fa GIT binary patch literal 59536 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 QuEJmfE|#`Dqx|px0L@K;Y5)KL literal 0 HcmV?d00001 From e963a03d38f98fbd0125eefc2fe9f6d84854ee3b Mon Sep 17 00:00:00 2001 From: Mikhail Date: Fri, 29 Oct 2021 10:01:48 +0400 Subject: [PATCH 06/29] NewsScreen re-written in compose --- app/src/main/AndroidManifest.xml | 2 +- .../java/com/academy/android/MainActivity.kt | 35 ++------ .../data/repositories/NewsRepository.kt | 24 ++--- .../academy/android/di/RepositoriesModule.kt | 11 ++- .../java/com/academy/android/model/News.kt | 2 + .../java/com/academy/android/ui/HomeScreen.kt | 78 ++++++++++++++++ .../java/com/academy/android/ui/Screens.kt | 11 +++ .../main/java/com/academy/android/ui/Theme.kt | 2 + .../com/academy/android/ui/news/NewsItem.kt | 90 +++++++++++++++++++ .../academy/android/ui/news/NewsItemData.kt | 4 + .../com/academy/android/ui/news/NewsList.kt | 30 +++++++ .../com/academy/android/ui/news/NewsScreen.kt | 47 ++++++++++ app/src/main/res/color/selector_black_red.xml | 6 ++ app/src/main/res/drawable/ic_like.xml | 2 +- app/src/main/res/drawable/ic_like_pressed.xml | 2 +- app/src/main/res/drawable/image_error.xml | 10 +++ .../main/res/drawable/image_placeholder.xml | 10 +++ app/src/main/res/values-ru-rRU/strings.xml | 5 ++ app/src/main/res/values/colors.xml | 6 +- app/src/main/res/values/dimens.xml | 4 +- app/src/main/res/values/strings.xml | 6 ++ 21 files changed, 338 insertions(+), 49 deletions(-) create mode 100644 app/src/main/java/com/academy/android/ui/HomeScreen.kt create mode 100644 app/src/main/java/com/academy/android/ui/Screens.kt create mode 100644 app/src/main/java/com/academy/android/ui/Theme.kt create mode 100644 app/src/main/java/com/academy/android/ui/news/NewsItem.kt create mode 100644 app/src/main/java/com/academy/android/ui/news/NewsList.kt create mode 100644 app/src/main/java/com/academy/android/ui/news/NewsScreen.kt create mode 100644 app/src/main/res/color/selector_black_red.xml create mode 100644 app/src/main/res/drawable/image_error.xml create mode 100644 app/src/main/res/drawable/image_placeholder.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d276c77..a168533 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -16,7 +16,7 @@ android:theme="@style/Theme.AndroidAcademy"> + android:exported="true"> diff --git a/app/src/main/java/com/academy/android/MainActivity.kt b/app/src/main/java/com/academy/android/MainActivity.kt index 62692e6..cd6156e 100644 --- a/app/src/main/java/com/academy/android/MainActivity.kt +++ b/app/src/main/java/com/academy/android/MainActivity.kt @@ -1,39 +1,18 @@ package com.academy.android import android.os.Bundle -import androidx.appcompat.app.AppCompatActivity -import androidx.navigation.NavController -import androidx.navigation.findNavController -import androidx.navigation.ui.AppBarConfiguration -import androidx.navigation.ui.NavigationUI -import androidx.navigation.ui.setupActionBarWithNavController -import androidx.navigation.ui.setupWithNavController -import com.google.android.material.bottomnavigation.BottomNavigationView +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import com.academy.android.ui.HomeScreen import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint -class MainActivity : AppCompatActivity() { - - private val navController: NavController by lazy { - findNavController(R.id.nav_host_fragment) - } +class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) - val navView: BottomNavigationView = findViewById(R.id.nav_view) - // Passing each menu ID as a set of Ids because each - // menu should be considered as top level destinations. - val appBarConfiguration = AppBarConfiguration( - setOf( - R.id.navigation_videos, R.id.navigation_news, R.id.navigation_profile - ) - ) - setupActionBarWithNavController(navController, appBarConfiguration) - navView.setupWithNavController(navController) - } - - override fun onSupportNavigateUp(): Boolean { - return NavigationUI.navigateUp(navController, null) + setContent { + HomeScreen() + } } } \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/data/repositories/NewsRepository.kt b/app/src/main/java/com/academy/android/data/repositories/NewsRepository.kt index f676101..dea907a 100644 --- a/app/src/main/java/com/academy/android/data/repositories/NewsRepository.kt +++ b/app/src/main/java/com/academy/android/data/repositories/NewsRepository.kt @@ -1,28 +1,28 @@ package com.academy.android.data.repositories import com.academy.android.model.News -import kotlinx.coroutines.flow.* +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.filter +import kotlinx.coroutines.flow.map import java.util.* import javax.inject.Inject -import javax.inject.Singleton -interface NewsRepositorySource{ +interface NewsRepositorySource { val newsList: StateFlow> fun updateLiked(id: Long, isLiked: Boolean): Boolean fun getIsLikedState(id: Long): Boolean fun getLikesCountForId(chatId: Long): Flow } - -class NewsRepository @Inject constructor( - -):NewsRepositorySource { - private val _newsList = MutableStateFlow>(provideMokkNews()) - override val newsList: StateFlow> = _newsList +class NewsRepository @Inject constructor() : NewsRepositorySource { + private val _newsList = MutableStateFlow(provideMokkNews()) + override val newsList: StateFlow> = _newsList private val likedNews = mutableSetOf() - private val likesCountState = MutableStateFlow>(provideMokkLikes()) + private val likesCountState = MutableStateFlow(provideMokkLikes()) override fun updateLiked(id: Long, isLiked: Boolean): Boolean { @@ -36,7 +36,7 @@ class NewsRepository @Inject constructor( return isLiked } - override fun getIsLikedState(id: Long): Boolean = + override fun getIsLikedState(id: Long): Boolean = id in likedNews override fun getLikesCountForId(chatId: Long): Flow = @@ -69,7 +69,7 @@ class NewsRepository @Inject constructor( id = 1, text = """В понедельник было не просто! Артур поведал много всего про реактивные подходы и саму библиотеку RxJava. Хоть домашки к этой лекции не будет, но скучать не придется. Ведь есть RxRiddles.""", link = "https://developer.android.com", - picture = "https://multi-thread.com/wp-content/uploads/2019/05/hqdefault.jpg", + picture = "https://miro.medium.com/max/1200/1*26WzvNZ6aQJFSG5A0MoTnA.png", date = getFutureDate() ), News( diff --git a/app/src/main/java/com/academy/android/di/RepositoriesModule.kt b/app/src/main/java/com/academy/android/di/RepositoriesModule.kt index f1852bc..80be01a 100644 --- a/app/src/main/java/com/academy/android/di/RepositoriesModule.kt +++ b/app/src/main/java/com/academy/android/di/RepositoriesModule.kt @@ -1,6 +1,13 @@ package com.academy.android.di -import com.academy.android.data.repositories.* +import com.academy.android.data.repositories.ChatsRepository +import com.academy.android.data.repositories.ChatsRepositorySource +import com.academy.android.data.repositories.NewsRepository +import com.academy.android.data.repositories.NewsRepositorySource +import com.academy.android.data.repositories.ProfileRepository +import com.academy.android.data.repositories.ProfileRepositorySource +import com.academy.android.data.repositories.VideosRepository +import com.academy.android.data.repositories.VideosRepositorySource import dagger.Binds import dagger.Module import dagger.hilt.InstallIn @@ -9,7 +16,7 @@ import javax.inject.Singleton @InstallIn(SingletonComponent::class) @Module -abstract class RepositoriesModule { +internal abstract class RepositoriesModule { @Binds @Singleton abstract fun bindChatsRepository( diff --git a/app/src/main/java/com/academy/android/model/News.kt b/app/src/main/java/com/academy/android/model/News.kt index d405bf0..7e38d41 100644 --- a/app/src/main/java/com/academy/android/model/News.kt +++ b/app/src/main/java/com/academy/android/model/News.kt @@ -9,4 +9,6 @@ data class News( val picture: String = "", val date: Date = Date(), val chatId: Long = id, + val likesCount: Int = 0, + val commentsCount: Int = 0 ) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/HomeScreen.kt b/app/src/main/java/com/academy/android/ui/HomeScreen.kt new file mode 100644 index 0000000..21e3f70 --- /dev/null +++ b/app/src/main/java/com/academy/android/ui/HomeScreen.kt @@ -0,0 +1,78 @@ +package com.academy.android.ui + +import androidx.compose.foundation.layout.padding +import androidx.compose.material.BottomNavigation +import androidx.compose.material.BottomNavigationItem +import androidx.compose.material.Icon +import androidx.compose.material.Scaffold +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.lifecycle.viewmodel.compose.viewModel +import androidx.navigation.NavDestination.Companion.hierarchy +import androidx.navigation.NavGraph.Companion.findStartDestination +import androidx.navigation.NavHostController +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.currentBackStackEntryAsState +import androidx.navigation.compose.rememberNavController +import com.academy.android.ui.news.NewsScreen +import com.academy.android.ui.news.NewsViewModel + +@Composable +fun HomeScreen() { + AppBottomNavigation(navController = rememberNavController()) +} + +@Composable +private fun AppBottomNavigation( + navController: NavHostController, + vm: NewsViewModel = viewModel() +) { + val items = listOf( + Screen.News, + Screen.Videos, + Screen.Profile, + ) + Scaffold( + bottomBar = { + BottomNavigation { + val navBackStackEntry by navController.currentBackStackEntryAsState() + val currentDestination = navBackStackEntry?.destination + items.forEach { screen -> + BottomNavigationItem( + icon = { Icon(painter = painterResource(id = screen.iconResId), contentDescription = null) }, + label = { Text(stringResource(screen.resourceId)) }, + selected = currentDestination?.hierarchy?.any { it.route == screen.route } == true, + onClick = { + navController.navigate(screen.route) { + // Pop up to the start destination of the graph to + // avoid building up a large stack of destinations + // on the back stack as users select items + popUpTo(navController.graph.findStartDestination().id) { + saveState = true + } + // Avoid multiple copies of the same destination when + // reselecting the same item + launchSingleTop = true + // Restore state when reselecting a previously selected item + restoreState = true + } + } + ) + } + } + } + ) { innerPadding -> + NavHost( + navController = navController, + startDestination = Screen.News.route, + modifier = Modifier.padding(innerPadding) + ) { + composable(Screen.News.route) { NewsScreen(vm = vm) } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/Screens.kt b/app/src/main/java/com/academy/android/ui/Screens.kt new file mode 100644 index 0000000..d0588bf --- /dev/null +++ b/app/src/main/java/com/academy/android/ui/Screens.kt @@ -0,0 +1,11 @@ +package com.academy.android.ui + +import androidx.annotation.DrawableRes +import androidx.annotation.StringRes +import com.academy.android.R + +sealed class Screen(val route: String, @StringRes val resourceId: Int, @DrawableRes val iconResId: Int) { + object News : Screen(route = "news", resourceId = R.string.title_news, iconResId = R.drawable.ic_news) + object Videos : Screen(route = "videos", resourceId = R.string.title_videos, iconResId = R.drawable.ic_videos) + object Profile : Screen(route = "profile", resourceId = R.string.title_profile, iconResId = R.drawable.ic_profile) +} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/Theme.kt b/app/src/main/java/com/academy/android/ui/Theme.kt new file mode 100644 index 0000000..47e4385 --- /dev/null +++ b/app/src/main/java/com/academy/android/ui/Theme.kt @@ -0,0 +1,2 @@ +package com.academy.android.ui + diff --git a/app/src/main/java/com/academy/android/ui/news/NewsItem.kt b/app/src/main/java/com/academy/android/ui/news/NewsItem.kt new file mode 100644 index 0000000..68b4c13 --- /dev/null +++ b/app/src/main/java/com/academy/android/ui/news/NewsItem.kt @@ -0,0 +1,90 @@ +package com.academy.android.ui.news + +import androidx.annotation.DrawableRes +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.Card +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.dimensionResource +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp +import com.academy.android.R +import com.skydoves.landscapist.glide.GlideImage + +@Composable +fun NewsItem(shortText: String, likesCount: Int, commentsCount: Int, thumbnailUrl: String) { + CardLayout(shortText = shortText, likesCount = likesCount, commentsCount = commentsCount, thumbnailUrl = thumbnailUrl) +} + +//@Preview +//@Composable +//fun NewsCardPreview() { +// CardLayout( +// shortText = """В понедельник было не просто! Артур поведал много всего про реактивные подходы и саму библиотеку RxJava. Хоть домашки к этой лекции не будет, но скучать не придется. Ведь есть RxRiddles.""", +// thumbnailUrl = painterResource(R.drawable.lecture_image_sample) +// ) +//} + +@Composable +private fun CardLayout( + shortText: String, + likesCount: Int, + commentsCount: Int, + thumbnailUrl: String +) { + Card( + shape = RoundedCornerShape(dimensionResource(id = R.dimen.news__card_corner_radius)), + elevation = dimensionResource(id = R.dimen.news__card_elevation) + ) { + Column( + modifier = Modifier.padding(all = dimensionResource(id = R.dimen.spacing_16)) + ) { + Text(text = shortText) + GlideImage( + imageModel = thumbnailUrl, + contentScale = ContentScale.Crop, + contentDescription = stringResource(id = R.string.lecture_image_desc), + placeHolder = painterResource(R.drawable.image_placeholder), + error = painterResource(R.drawable.image_error), + modifier = Modifier.padding(bottom = dimensionResource(id = R.dimen.spacing_16)) + .height(dimensionResource(id = R.dimen.news__item_picture_height)) + ) + Row { + IconCounterBlock(count = likesCount, iconResId = R.drawable.ic_like, imageDescResId = R.string.like_image_desc) + IconCounterBlock(count = commentsCount, iconResId = R.drawable.ic_discuss, imageDescResId = R.string.comment_image_desc) + Spacer( + modifier = Modifier + .width(0.dp) + .weight(0.7f) + ) + Image( + painter = painterResource(id = R.drawable.ic_share), + contentDescription = stringResource(id = R.string.share_image_desc) + ) + } + } + } +} + +@Composable +private fun IconCounterBlock(count: Int, @DrawableRes iconResId: Int, imageDescResId: Int) { + Image( + painter = painterResource(id = iconResId), + contentDescription = stringResource(id = imageDescResId), + modifier = Modifier.padding(end = dimensionResource(id = R.dimen.spacing_8)) + ) + Text( + text = count.toString(), + modifier = Modifier.padding(end = dimensionResource(id = R.dimen.spacing_16)) + ) +} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/news/NewsItemData.kt b/app/src/main/java/com/academy/android/ui/news/NewsItemData.kt index 4de70c4..de3a80b 100644 --- a/app/src/main/java/com/academy/android/ui/news/NewsItemData.kt +++ b/app/src/main/java/com/academy/android/ui/news/NewsItemData.kt @@ -11,6 +11,8 @@ data class NewsItemData( val picture: String = "", val date: Date = Date(), val chatId: Long = 0, + val likesCount: Int = 0, + val commentsCount: Int = 0 ) : RvItemData fun News.toNewsItemData() = NewsItemData( @@ -20,4 +22,6 @@ fun News.toNewsItemData() = NewsItemData( picture = picture, date = date, chatId = chatId, + likesCount = likesCount, + commentsCount = commentsCount ) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/news/NewsList.kt b/app/src/main/java/com/academy/android/ui/news/NewsList.kt new file mode 100644 index 0000000..fea38d2 --- /dev/null +++ b/app/src/main/java/com/academy/android/ui/news/NewsList.kt @@ -0,0 +1,30 @@ +package com.academy.android.ui.news + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.dimensionResource +import com.academy.android.R + +@Composable +fun NewsList(newsList: List) { + val standardMargin = dimensionResource(id = R.dimen.spacing_16) + LazyColumn( + modifier = Modifier.padding(horizontal = standardMargin), + contentPadding = PaddingValues(vertical = standardMargin), + verticalArrangement = Arrangement.spacedBy(standardMargin) + ) { + items(newsList) { newsItem -> + NewsItem( + shortText = newsItem.text, + likesCount = newsItem.likesCount, + commentsCount = newsItem.commentsCount, + thumbnailUrl = newsItem.picture + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/news/NewsScreen.kt b/app/src/main/java/com/academy/android/ui/news/NewsScreen.kt new file mode 100644 index 0000000..19e2468 --- /dev/null +++ b/app/src/main/java/com/academy/android/ui/news/NewsScreen.kt @@ -0,0 +1,47 @@ +package com.academy.android.ui.news + +import androidx.compose.foundation.layout.Column +import androidx.compose.material.Tab +import androidx.compose.material.TabRow +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.stringResource +import com.academy.android.R + +@Composable +fun NewsScreen(vm: NewsViewModel) { + val newsList: List by vm.newsList.collectAsState(initial = listOf()) + NewsFeedView(newsList = newsList) +} + +@Composable +private fun NewsFeedView(newsList: List) { + var tabIndex by remember { mutableStateOf(0) } + val tabNames: List = listOf( + stringResource(id = R.string.news__tab_title_featured), + stringResource(id = R.string.news__tab_title_passed) + ) + + Column { + TabRow( + selectedTabIndex = tabIndex, + backgroundColor = Color(R.color.dark_green), + contentColor = Color(R.color.white) + ) { + tabNames.withIndex() + .forEach { tab -> + Tab( + selected = (tabIndex == tab.index), + onClick = { tabIndex = tab.index }, + text = { Text(text = tab.value) }) + } + } + NewsList(newsList = newsList) + } +} \ No newline at end of file diff --git a/app/src/main/res/color/selector_black_red.xml b/app/src/main/res/color/selector_black_red.xml new file mode 100644 index 0000000..7a4f9dd --- /dev/null +++ b/app/src/main/res/color/selector_black_red.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_like.xml b/app/src/main/res/drawable/ic_like.xml index b28f3e2..49af4b4 100644 --- a/app/src/main/res/drawable/ic_like.xml +++ b/app/src/main/res/drawable/ic_like.xml @@ -5,5 +5,5 @@ android:viewportHeight="19"> + android:fillColor="@color/selector_black_red"/> diff --git a/app/src/main/res/drawable/ic_like_pressed.xml b/app/src/main/res/drawable/ic_like_pressed.xml index a7384dc..b9c9817 100644 --- a/app/src/main/res/drawable/ic_like_pressed.xml +++ b/app/src/main/res/drawable/ic_like_pressed.xml @@ -5,5 +5,5 @@ android:viewportHeight="19"> + android:fillColor="@color/red"/> diff --git a/app/src/main/res/drawable/image_error.xml b/app/src/main/res/drawable/image_error.xml new file mode 100644 index 0000000..768643b --- /dev/null +++ b/app/src/main/res/drawable/image_error.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/image_placeholder.xml b/app/src/main/res/drawable/image_placeholder.xml new file mode 100644 index 0000000..d691bef --- /dev/null +++ b/app/src/main/res/drawable/image_placeholder.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index 9f47360..970dcd9 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -34,4 +34,9 @@ Похоже, вы забыли заполнить поле \"Ваша фамилия\" Проверьте правильность введенного Email адреса Пожалуйста укажите свой статус + + Фото лекции + Иконка для лайков + Иконка для комментов + Поделиться \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 03880aa..88477ab 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -8,7 +8,9 @@ #FF000000 #FFFFFFFF #27C12E + #6D6D80 #00FFFFFF - #c7ffd4 - #00cb86 + #C7FFD4 + #00CB86 + #FF1111 \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 959e78a..c153fa4 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -20,8 +20,8 @@ 16sp - 25dp + 24dp 200dp - 16dp + 4dp \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a13f1d8..c650d36 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -33,4 +33,10 @@ Seems like you forgot to set your surname Check that your set correct email Please, set your status + + + Lecture preview + Clickable image + Clickable image + Clickable image \ No newline at end of file From 3e7233a68c26aec2ba58fd353a60f0c485cac913 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Sun, 31 Oct 2021 20:53:42 +0400 Subject: [PATCH 07/29] [NewsScreen] Fixed tabs behaviour --- .../com/academy/android/ui/news/NewsScreen.kt | 29 ++++++++++++------- .../academy/android/ui/news/NewsViewModel.kt | 13 +++++++-- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/academy/android/ui/news/NewsScreen.kt b/app/src/main/java/com/academy/android/ui/news/NewsScreen.kt index 19e2468..8145218 100644 --- a/app/src/main/java/com/academy/android/ui/news/NewsScreen.kt +++ b/app/src/main/java/com/academy/android/ui/news/NewsScreen.kt @@ -14,18 +14,21 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import com.academy.android.R +private const val FEATURED_TAB_INDEX = 0 +private const val PASSED_TAB_INDEX = 1 + @Composable fun NewsScreen(vm: NewsViewModel) { val newsList: List by vm.newsList.collectAsState(initial = listOf()) - NewsFeedView(newsList = newsList) + NewsFeedView(newsList = newsList, vm = vm) } @Composable -private fun NewsFeedView(newsList: List) { +private fun NewsFeedView(newsList: List, vm: NewsViewModel) { var tabIndex by remember { mutableStateOf(0) } - val tabNames: List = listOf( - stringResource(id = R.string.news__tab_title_featured), - stringResource(id = R.string.news__tab_title_passed) + val tabNames: Map = mapOf( + FEATURED_TAB_INDEX to stringResource(id = R.string.news__tab_title_featured), + PASSED_TAB_INDEX to stringResource(id = R.string.news__tab_title_passed) ) Column { @@ -34,12 +37,18 @@ private fun NewsFeedView(newsList: List) { backgroundColor = Color(R.color.dark_green), contentColor = Color(R.color.white) ) { - tabNames.withIndex() - .forEach { tab -> + tabNames.forEach { tab -> Tab( - selected = (tabIndex == tab.index), - onClick = { tabIndex = tab.index }, - text = { Text(text = tab.value) }) + selected = (tabIndex == tab.key), + onClick = { + tabIndex = tab.key + when (tabIndex) { + FEATURED_TAB_INDEX -> vm.applyFilterNew() + PASSED_TAB_INDEX -> vm.applyFilterOld() + } + }, + text = { Text(text = tab.value) } + ) } } NewsList(newsList = newsList) diff --git a/app/src/main/java/com/academy/android/ui/news/NewsViewModel.kt b/app/src/main/java/com/academy/android/ui/news/NewsViewModel.kt index beb7cf3..104b653 100644 --- a/app/src/main/java/com/academy/android/ui/news/NewsViewModel.kt +++ b/app/src/main/java/com/academy/android/ui/news/NewsViewModel.kt @@ -1,7 +1,11 @@ package com.academy.android.ui.news import androidx.lifecycle.ViewModel -import com.academy.android.model.interactors.* +import com.academy.android.model.interactors.GetFeaturedNewsUseCase +import com.academy.android.model.interactors.GetLikesCountForChatIdUseCase +import com.academy.android.model.interactors.GetMessagesCountForChatIdUseCase +import com.academy.android.model.interactors.GetPassedNewsUseCase +import com.academy.android.model.interactors.NewsLikesInteractor import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow @@ -27,8 +31,11 @@ class NewsViewModel @Inject constructor( getPassedNewsUseCase().flowOn(Dispatchers.IO), filterState ) { featuredNews, passedNews, filterState -> - if (filterState) featuredNews.map { it.toNewsItemData() } - else passedNews.map { it.toNewsItemData() } + if (filterState) { + featuredNews.map { it.toNewsItemData() } + } else { + passedNews.map { it.toNewsItemData() } + } } fun getIsLiked(id: Long): Boolean = From 78ff650f371b2b328d2373897d566f1e9a7afbcd Mon Sep 17 00:00:00 2001 From: Mikhail Date: Thu, 11 Nov 2021 09:25:45 +0400 Subject: [PATCH 08/29] Compose Theming --- .../java/com/academy/android/MainActivity.kt | 5 +- .../main/java/com/academy/android/ui/Theme.kt | 100 ++++++++++++++++++ app/src/main/res/font/domine_bold.ttf | Bin 0 -> 65792 bytes app/src/main/res/font/domine_regular.ttf | Bin 0 -> 65708 bytes app/src/main/res/font/montserrat_medium.ttf | Bin 0 -> 243180 bytes app/src/main/res/font/montserrat_regular.ttf | Bin 0 -> 245708 bytes app/src/main/res/font/montserrat_semibold.ttf | Bin 0 -> 243816 bytes 7 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 app/src/main/res/font/domine_bold.ttf create mode 100644 app/src/main/res/font/domine_regular.ttf create mode 100644 app/src/main/res/font/montserrat_medium.ttf create mode 100644 app/src/main/res/font/montserrat_regular.ttf create mode 100644 app/src/main/res/font/montserrat_semibold.ttf diff --git a/app/src/main/java/com/academy/android/MainActivity.kt b/app/src/main/java/com/academy/android/MainActivity.kt index cd6156e..364400f 100644 --- a/app/src/main/java/com/academy/android/MainActivity.kt +++ b/app/src/main/java/com/academy/android/MainActivity.kt @@ -3,6 +3,7 @@ package com.academy.android import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent +import com.academy.android.ui.AcademyTheme import com.academy.android.ui.HomeScreen import dagger.hilt.android.AndroidEntryPoint @@ -12,7 +13,9 @@ class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { - HomeScreen() + AcademyTheme { + HomeScreen() + } } } } \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/Theme.kt b/app/src/main/java/com/academy/android/ui/Theme.kt index 47e4385..136a0fc 100644 --- a/app/src/main/java/com/academy/android/ui/Theme.kt +++ b/app/src/main/java/com/academy/android/ui/Theme.kt @@ -1,2 +1,102 @@ package com.academy.android.ui +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Shapes +import androidx.compose.material.Typography +import androidx.compose.material.lightColors +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.Font +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.academy.android.R + +val Green700 = Color(0xff27c12e) +val Red800 = Color(0xffc62828) + +private val LightColors = lightColors( + primary = Green700 +) + +private val Montserrat = FontFamily( + Font(R.font.montserrat_regular), + Font(R.font.montserrat_medium, FontWeight.W500), + Font(R.font.montserrat_semibold, FontWeight.W600) +) + +private val Domine = FontFamily( + Font(R.font.domine_regular), + Font(R.font.domine_bold, FontWeight.Bold) +) + +val AcademyTypography = Typography( + h4 = TextStyle( + fontFamily = Montserrat, + fontWeight = FontWeight.W600, + fontSize = 30.sp + ), + h5 = TextStyle( + fontFamily = Montserrat, + fontWeight = FontWeight.W600, + fontSize = 24.sp + ), + h6 = TextStyle( + fontFamily = Montserrat, + fontWeight = FontWeight.W600, + fontSize = 20.sp + ), + subtitle1 = TextStyle( + fontFamily = Montserrat, + fontWeight = FontWeight.W600, + fontSize = 16.sp + ), + subtitle2 = TextStyle( + fontFamily = Montserrat, + fontWeight = FontWeight.W500, + fontSize = 14.sp + ), + body1 = TextStyle( + fontFamily = Domine, + fontWeight = FontWeight.Normal, + fontSize = 16.sp + ), + body2 = TextStyle( + fontFamily = Montserrat, + fontSize = 14.sp + ), + button = TextStyle( + fontFamily = Montserrat, + fontWeight = FontWeight.W500, + fontSize = 14.sp + ), + caption = TextStyle( + fontFamily = Montserrat, + fontWeight = FontWeight.Normal, + fontSize = 12.sp + ), + overline = TextStyle( + fontFamily = Montserrat, + fontWeight = FontWeight.W500, + fontSize = 12.sp + ) +) + +val AcademyShapes = Shapes( + small = RoundedCornerShape(8.dp), + medium = RoundedCornerShape(8.dp), + large = RoundedCornerShape(8.dp) +) + +@Composable +fun AcademyTheme(content: @Composable () -> Unit) { + MaterialTheme( + colors = LightColors, + typography = AcademyTypography, + shapes = AcademyShapes, + content = content + ) +} \ No newline at end of file diff --git a/app/src/main/res/font/domine_bold.ttf b/app/src/main/res/font/domine_bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8a91811e64c32d97544ae1b800a37dde845b2f0a GIT binary patch literal 65792 zcmcG%2Y_3})dqU!N?K`~dSCV4wX3?l+1rcPTfFXOjg1R#*x&-jHa+xSLr+KoffVv5 z1V|&HB%uaOcLIcjZw(g`~GR;xD(Kx%dG`KVUYd_zh8^*zO@^V-x+VnoWgP2F}}QW z!{(!>QuhygIBsh#@cG5YshwNMJKVeYjxjjbrm2mqFMIgc_;~7v94GtLmd)FaKko5& z&gHmo{13-fe!6Ar>Md)_&N~Co>3DLE=Q^gU-(uv`;k8S#Fm*R}Q!J z@}@*ucA%xOS0B?>s~MHS6NaZO*^Jg|(Q7K~O0zrYk2E^cnRI6FmI{mBpEU*CK~L0` zw&!yon0$A5%-YdiSnjZBlP--#rFJI+z97d>7a*$+Nfl>;w73qCL}d_^do{sqS|bX{ zD4QWukc=SAvNFCS;Hh7i9&tK`h8}VBC(>h9r>AhXUZsw?T>fg6T2oyWa@EwSRC=Q8 zI6l~sY+udar>ieK6L2`(flXb_gJz4Z#$fHsG%T`NYxGv@e9RC(aFRn7Az+j$Q5onF zln6>ukT?Bmg)v?Teq@GoeGARIC6>I-TiCqzP9arAlRLZCu=Ph zzg%lvx+B+Wvb%%fNPB%le$G*o`?{gI0gSv3+^}*fjvIsK3LMB%W|$1}pg3T_5A`fE zVHTfUF5q|CM^edN`_LmpcPpI3nf!p&86Z3KN>$utPARLa)m6$mo2gc<){^SZZC;n# z6Z>CX{lPX}eZ^?P=XQ9H>u6kHG+Xsn^LVOpfyrVwSgaGAh+8?hQo~_ZcewS3F@bUc zQwmxc^f2Y)%L?Dpt8<~)q%-H;G1<4?rc$1=edAv8)|!d~4TPH;_xMAhNUFQ3!8sT^ z@9Moj;b$;dCJFOmG~N za5bIuRKoJIGJ`?rxl{`U7`aDYZf>__REnxOh4-L$)`@hq$>_8X72X@TucJ*@XR}r( zJ@3&W`0dcOJ8SC=CfBhG9s`8((TQQ}`7gL~&H(BJ$$|(;k$oU?1H@PO$53U^>kS2c zz5w|X`bn}L*SSI=mopSZPt)I>?&RJCtq$L=jJ=M7S$aj2^}5^pOs^iR|zBXtRT)Mu?QmQ_mY`^XEr`m2fq3p`r{o>{=N zd{AD(syxUs$mJ%J!Ap*6I=!A!G4#l7nU5BpeQ);Ddfktbr_At0`ExB;blw*laD{M2 z{FOwX<* zMDfd@4MRULO6^nmaJx!f;X0-<)UK&gmO+wp6p9MB))Lkk4g8$K=ZAiMZ-AVst6!CB zcA6~V`gUiHu6ae@ZIm!7f3r@h(dWW%9pSrxKYt1Ehh{T61^h9W4ntdBCLql)bR5$- z7Sd}dUh?wFfVIvOmO}XiG}28u+iIp=y8D{v=&gEJU>+Tu>Ke6Vag1i-Vxo1W3Ifvs z9T9Dd(I^vE5Vq!tM#Z4#<9@GuS!?Sux7R=Wsc@4r?s6rnU21i8!sUu9T}0V_T)^va zcmv0^w{P{+PyVfM>G7v-ciRH9@L@My;edFh9%PI=*NGn-!DVxDnBAQ*G zT`EU^aj6Ri`Kg8 z9dTIds?>V&TB1#Mpq&pGV!paVma(8K>oi22i8`mtzp=ezN5JDOyqO=ZvDlKPiF|(4 zYO$G(*7;YmH4a?YO%L)DptOcd!&8|tB%+401x3!}5S&>`4khZPslro3LqAZt=BKfw zIlMu4{kmwEooH36q|+I!QfcrhW^+bVO6@u}p&E7dLn%Mjv}0Q#j}CYEvHXa|VzU~o zqqV6;HCDaRY#OE-5dd!MfSZM`w_Vxdg2MEHdPI4;(73a@3>Yt(!lI?m<;ZpRzF2y+ z#))+%yCFMD*WJQXQ(kqfF(J1W6EkZSS%yi zby=qoECWV_v*Ry1qcI~oYHRB}Wz>w7*xy+t5o{ajue6zDRa$D`>GU-XCxaQEJLDnc zsT!Zs)0?@DvV>f&3!gr>zb@>k^Bd)G8QHo{UcpFBn0v5`8MuWBe#Tk~z0a)iMw3GV z#iVkYX##`#L8>R(;Rz4ct~+Y!M!(DD)2pj%y@{kbY7Y&y`r9|oU9lnIGKY=IibOi# zsqvXBszY3F|amjUtpx5d(mRDH=`Cz6m(9;x7)L670h1v!jWz!#%)%^G1 z0bu28%M)wM55MqH!iZqtEE!%Vp_RdeO^c5ZjVJ#Ru$+!Q${?d%MmIpU*!G6GNAzicRSzyTx|Q1eP~CRvE^cn-bSULIQ#y~I(ZAVGC0+^sryuW|sE}2z zJ?7X7Y1RCW1G$UNSiAa+%d-XYMB%}vCUQ~XIQ-qfdJd3vg)8aG#qa_?d=@;YLGPxL zWh#pW469W(pAXXRpIEV^`GtlnZpnYzaLiQm3-#CEQ2!SB)9&50$2*^<3)X3;(a(23 zD)c)&J>AIlRMXuNzMto?M{P**UOdW8g?v%84K_^o@~wO=yvtUu9};505L*ng z^lus|3Fw>h=+qnZit$nqGm-{MDWjZuz|^hC1YnYd4}kIN(=TdY*V@=Hs89H_%^OzF z8MJ$rYBb#z{V_*X=qrNBK@prv*nlBt0X}!NLmQAIy@!GPb3(WasqMnx;^7@!Z zRy{vIveaa%img#NQ==;gky%XI>W-R-XD}Z1+R3u|rl$IAE=P3@7K5zhpWrINd(jgN zQWi*;7k;~ZIceojIrx~NvC+V%@Hg6ru?$t9J#;{9kJd%=>^8{3Mf!XGXXAxu#tRSA zzsE^roMiELv9Cg5rbojYZ_s{uE()E0k$(ZJY#coo-7q?xN>^EN;vKqv@h{e9qC3aO zcZQ?cY%;QaeB{JEvGqozT9q#i+aw%>63GV z)*4&BW`5(gXUL|@kvGUD$G%zk=J@!4+wEE3cfo+)KQLZ<-pKf+sY%95f%E*i7{LVX zgO+IAOa;*$*oQF;>3o{JGhcHy(b*Oryn6X^e*UPvP&ivN|Lx_4>C0XcM6&u+mu*DmWdac7` zsYa=9@VncL8eQSM`-=jzn4FWfb*r55V3s>zjHEKW34h8ojmM^aTf6# z(F-g|hX#VfED!`qr0;ts4&H^C)C=wZ;~k$AXA;%;9;Wer4iiz(c(|)VB0_K}f?x77 zss2-jP)$SxSH{1Xsr4V-I^~P&%o?MiyEZ>zYCf?$k;>G@wvWy~DVj_je8pyst(l7F z^T}1qlX#)m}U?c}*%24#kp}4$s@|@9*rs{`!IbP6P;q z&CF{tGpTPO#C644m=@PkIzt7&$KVYF$gV(_p~mm1F%BfZXP>B>K4-Kp)7d7VCeqp3@Rq^mVL!&LUOEzQHrfJSmwrz7#8}AC z+-xYkKCd=Bp1f#s(bcJF)D>!db7ab4i=5QkeQK=60$We5z$K8Y1<_%aNeLlEaRzxs zAyaE0^J+?Goy0J!wqAaVw>dbxxG8QM?JwMgS+;3igVkPmZ{>b3P3tmt;D zj7F8Ci}waPV=}3FRbTxIld@V+m$bS4{lX^|mCBZow^prGk<1%jWz=SiRl_(D#I9UX z`^0t3Ev{o9yCx6*klavs-!;nD6s88g^>z#2d)2Eg2Y*g~rfpQNKH9^i<@|X>GIsZwr|mfN(P7ef)CJN#<-;Vf^xVC? zM9;`0KP=4WX}5-h(`0{~eJFrun6XR-bgeePU&9b`!swOECLHKm|HcyHU-%+%V!`g* zpBOJZ0(+I=Px61@czlec#>uh7NP8$;{V;vIm+YW#z_Ss$QqRB0CE!i5#APtkFSb$Zmx9u8sA?v zR+|cE!$xavuyJaAef<69i;wk2e3n3GU)`L=ap0f;HGdbR(IKbKEoBx}iXd}tsg6*x z$g1ThTnKKhy#LYlg>Uj}&b(q{;mKvczh^yJ!e3$d3$uZyh?o5AE%~&*4)6}2o zUhf+tzcHG0@tCJsi9SrqMqezhGa1R+->iyxR37`P-yC&mo!z7IMpyl2bcf&NL`1)1 z6rY?fm(#xkl){fE7XlxwhC4LgYzjWH5E0+9*WBJvx$@Y;l>@x9vr?}*cpP=b8E<$G zG$4Xs2!2qeRSNOb=$Yk1g$R<-WzZ|7R}s5;q9D(XEgQ>rwdPyOU7nEJm#tsl*SER7 ze)8za`c3=Z?#xUM_4SP;(haqB?i#x*kSb+nmeOpWL+msO^P=sa#)6 zOP{01>j<}H>RQ_QhTIBgXh}=kvh=D&ZAXPdLzx9D#|jVGda|vpjcG?Bd#Yg|RF{fJ z13gq@W56m6tbzR{9P*IdWuH~P`>?{ZOa89#SROeN$5Ma*dkXapIQ4yN6C@>slATX;F!uWt#p zHg~r+Hp*RKtFNJcZQsbY*2Xp6$XYr1l^3`QS34}01%3TXQr>{s>}$$I2jWe~_H?bv z8;uWBt_G$%$;Z&=x!giVi(KU83@e4zoDMA{ZDyn|@LbRb7MwC0>qk4L7O(>}H%xy> zK2FE-J6A7U=JVS9dS`Xm)6f)XbR;Ko>8Q=RW@_mspU>^mtJNu2GG@=XQ%f2O2PJk( zwbtEPtMI6*l)9GBGb5(Do_UjVoBVNyS>=%#wXvWl;Zd6MgSpH+lcmu=Z*s836L1)` zF1bM$#4eaaW2qnR;;U8F@fvR`RwLDxSBGuZbPjZfr!V6x`SUn0jVHRY@R}(l$V4zr zpHcK6_QLWegd2t+$k8y$2)8HeJMNgF`D=uIr^;xJZ@`iZOyy6juxbMl<%XjxR?j)= z_$yWG*2u>?#H}Zl9=pA=peK^4R~+-c)~X<9t5+<^wE`C(w1Dn=*;yp!rn@0b&cRlm zy2vFMnGjQYp$kb@kqpkKacAw<%M0pqbd5wYmgcbw5(5 zjg1cM^IU^{9^=EK^Q`TdO*AJr#GfhTrY5n9q>K5fJm@_BvZZ*gi*VGJA}<$V`4J)9CfQjge|F((c1Y5**(njId!g_Xn(<-VBiQvomZ=MpX@HJsX5<1bn2Gt)B^wDex)*IEGeg4E$&m-; z<%+1@MzhXr>k7$Jac7~TN;j73?05Pd9yPD4s#ceqiI47On2;gQ3ws%C&qLU3xF1_Y z(L^q64LGz`wY)-8$98fD`F8B!nCVI`?&Jn%@zcO0(qKajz;X~U<|NZF#DeVsq_~&W zvAp*qxuZ6wo$kUp8m%T_v`3Xnold2STN|xjqMN%m&@u2olr@qFnDortw!qq+Y=4c- zVlf)$W%47o8fzjC0ZhLSACuR$C*$^Nz7LGgK(c$&sU!#W-MNv=qbE$ z3~3+Wucw)dbJX(-m&$)~PceNVI@QgUjWmgIE-Cz&+At;jd>*@&DVkxP*|#(m*8;j| z(alTh*p%*G7E=#?@PisKgK}!aRC2zlZh7Bi(B|~2wYEyLOeUAmP0a%h_s%W6J46~o z^^rQ7^sQLE(X8)ph zc5jtg8n(4cwaP6zctzBdQ>SiTvZ==$)Oa#}o5e^P>0Z>m!-dy|7!I3HX-W6EY(~AU zx~jP~CG1ts4leM9jcTRRz^;06qam*;jsZ6krq5)cg$rN<8I5-vw9PZ)Oik@7yEh$3 zWF$t5B}6x@OUVNtHlOmWcX6s=eo+!X0F8}wpKyjsECVxZ^vrsJsq$rdi#U~v?(>#l%Z*sbuy8M{P~Mx0taW&o0{6V zYAV}cxhEA)#|jVL8_h0}7*k*3XAvi+U#&|8&d&ELCi_L7TPd*~i*&)>}8Mp(5hYhNYy)6L+%=}yT;)*e}I)_xCz zho?KGItE96g~BC>645{6YuPsb35@Gz@R+1*23}bLw@HvGMtk4%N0NIO94QF&6DMaD z;nKSqTo^abpCR-!{gG@bgA3!vC73&yNx+B2_1IfIB(5*o-&sFUbY8ND1^h6(14(aN zpvG$Qsw#N1(PJr`{iPJZer9bg38&3pV^iy-FU6lv8Jmvt2bwMIiHQm13d z+Qm+jwNIneHn=;&8l)gl2>_3Q+7isN4wl;zO_&BlYl==VHFqWoVpDbwiO-k@*!VAIm9Wo}zAq9Wfjxoy_= zQ1|G*Ed{@>o^Kl&NhN$~i!IB081AY1H|0&U{axFB596cNr{3SfqCD z0C|(Vi`gcpHo|R?;nhxVFN~Ah$yEy%{$df$=+XStGvF>XZ7iD>vI8^u5`^^z`eJ#B ztT&s^1}{1BI+`!IRB{DPAY6OGb=O@-lL)upPDs^4Vy8SUye{SvUR{`4n5K~Q!df19 zc&GR9QOOvW$L>rQ^#)6JC!s;6?2PXVFM_2JivD3x_zHg$OR6E4qnqVfBpFE8s%*sX z30l>fe2ACwsbx*uRt&XFCd2-kh)!c|>|a@T!rHM~Zy^4TKN1d{x>J@O2>a^-c8gnK zbnzb&LiE{*&L!)mJ5Q9SdP4q$-L4B))RukV?HJB4SR>m>9PzB-Sy>(VML1%8N}2~} z5k*Kb@4!36#IySYZ10k4NqT14B^tUM7E7umo9UK;*1quI)^Cm_v+2ax<@_n)#zEoI zb&d0D@>tymbHXY-nYwg*|1bpF4AR6=eBA77L16|4e32n7#%OW^A6f_?c9jKE7iS8b!FU?EkDw8XAMmC;X z8TL7{21!}SUk~fK=90mPyfm9~rB^7>u(5aBg%4A-OKc(Z*;N08j(t0RNi3guYoLDl%R z{t5{%lSy|KhavOCaU!l{+#43g`Blj{uIYb}mk{O?m!6yCzU z&PPe70CyW&$lI?kTqwXL%S+%Aw*YURzKf3_V~TzzVJn)++kLG4`1Atq`w}{XQJ0$5 zj8EPsx&4cAI)aLy;%-BQ7W5F+d^38eig>+I&=%%@;EP1P-bfhoQt|7^H&|Qjs+G1b zE#6WEJ)Teyn+dNKKk#>YgCUOxai;iA$8}HllanOdX`Xltf;Z)vC4p8eCGOZ2~a6Maa~$1p+2!bK<7kpht-ABVqtxB1JrA9{=l-4OZOKJi;vu?U*g~-cljdi@Eb+tQNw`0-M6J}HIMH{cak|+83BjtrV5<_HX ze7UC~-&U9GX}dbQsdejjmwfLswY_j)?AP!tCo6yZ5FroUSJmG! zu&iRjc=qJ-GtBM~yZx6B20DGd9o!1CzIq6=W;8$w2K?D=KCJUfz>WNu;NpKYtG4NxHEq zg}1pQ=by$)__}&hzbMzJX>QgmSyDD2%QPvxkzi%luwGg{GEyCm`OBNK(t)xiORJ-` z(dyE#nr$lg$HEi|seZVtG8pkHnldtAvV8*pnytZL|kGxf)NBc=9p7 z7&cbLtt7vqpMQu_8!xB}ibqIt)(fV4VYu_H|K#@3ku_OT6dWil=~&EBf0vq z8fy(Lj{Z~#JEfE+>GPl|#|@!|ADio97UWQ>4vX80g{z0q2tteAx{x9{gvMfgS0;Ua zrv9A~D^h&&*4hTEZ%wN=ucmYt%i_IipT`xdR%`XDYQNVNM4cY!jz#L@c=M-niJ2Pt zS@KKRuzI7*nhMOYBCx4rOGcb!wwp}W`5!S>AWj^ahmb(Xh&&FCWZ}^svA+6n zS(l1hNN$lC$x2Xo-DZrc3@Vzv5@|hg-SUXG*}9}I)oWlCvW3LGiD*14lwvE@#s=?4 zUrH5h*_R3x?o4MbcCm7nmwQ*#=0>SrB9>GD<2F>Ojudf*iH4IZ=CWo`K1`4%x`>EU zq>Bk_Uc`P@WX-57_M21wI3=PqE_JAcUFZblM&T5MZwk{&(3|(=j6%{UW1MzHd##=XXmdJ2+f0flS|6%CB*oKhwwUbIs!Vj)V?Fn1l7+doTi%jwvu@uJpi1t@RAXW9to?j(ElS~Sk!*W zt4*gNbNG)#^q%FT_Rvh#48~peqyj6U^~uEYdfkuf4nw=hK`}Q4bw8W{rtNeMZ6}@N zF>)#O%&9-vPA(vw^N}H>^#$J|Pw;hYbw%8sW^ueX>$_#;Ew`*B9i!J@kN=^8EnG8s znxBhyv{Is^r3C%8+_>;Y{7p^8ozxYO4ySgs&hQk1o+l6=FTgP2S{=mm5zB{n3pEu=Aa+5r`qx-D0 zy3ah5{e4;S1HR%H_URk>YxwKwnZ7Pe0Q|>xO%Z&{HRP|MRh_%`?AuPx8b6Bv;lcUD zwtMHcldx4!&p)|1ISG=t5wUVRFh(|Sy7`RcbI;UH{~`HO@_8RxMA0H8wxGxuDJ; z=kNz_50Kyg`q#iXNNywdB5&6stjcUhOZ4}H#Z(GC@+UAUmoKd)GMb73I`Qi(4e^BD zSmRC_G(N2^ABE}jS<0&|PNTu&$yn5GjlR}hW7H?&x+)!jNTOJKZ7RFot+$$_JYV69 znRTvshb_?VcN=t}01nhiO;$X%E8R%6*=ZGcH$1=j}XC4F9rLqkeg zxx#Ft4$qv>!|1b?5QjsW9uGFUzV5$@L^4%sgy zFOexjQ5D64ArERO`iv+LOOaNG!%CTir!B+be@}iiL|c+=!QmjNwBQe@WYp6E1nMbQ zEEaGDjXa&6|I8&%C$&ZvelPc$#Kze zQD=uIn69hI1rl~qbvD$@wqJ0`zn=Vv|kWbIiWb6O`o)4(r9>KWA{dCwmEl3wscoxPLJ?GX1Ed zr~QDjto<(-T&R?%a8wvF_zxLeI9p8N-~%k==D9THIdoJ&2UsKoT;i;6tR1xNatakr zW6&NT4GP^(p~C403dMSX@ix=$ak@Y_UqIoggrlvuQRq8Rg0-yY69wqYv=4@x#3te< z=dR}j+8M7HT;SF9+g*W&VFqU$U~tL-+E0PO84nm-;KB9e8x$_^fWavbX#1B~dnP*u z7i4!m_cVh8e=^MA0(Y)o`(^HwaW^cb&_j6u=$0>23g~(YJsj^FxKoda_YDO290Bhe z=vs(=XzHcD1iu^J{PLJ`?ndrH*81>KZ{)tq;DWS?DD5)trVQ;xpoc=KOaUFDP(h*; zDoFGu@Njla3Kul=rj-;bj7Xt^hTe1{prRBgRM5nmc2MZwK+9GMg$lgBi2|rSBR#P8 zz@Y`{{N5|C92^wdoPah}w9OdS`=HnK_98SGTgab)7FPlffkGqt zW^;`^Fj2%=E}>AS&Ex^@bViFnIfXOI$paf{YiK0S_fn{W>JD1}u7q+5XOxo%c8PsM zV=0tsY#DiAcE&O&(^vFyG3!InSK6BCD|vu`Gc%l`aHg+le*tUHYzpg#+7$G@gpP@k zNGF3b4w45xr+wgTFLZ?VagxyXJrO@%E~x^P(at?`2<;RuNd1vjw6!303KgXO2=`Nl zhcI6$oX*!W?vX*UZ_rMmjCSr3M!PV_D3s1Iv|USOr32(7w&U z1n1@e73|bY+()c+5OAEm0$i{=FL8I_SA2E_9k~f8%NJil7*N# z^u&gjZQ=yI$c3hIWMNxA70mE$^9OpDORA#5V08Yfqd8>7+s9(7f<23Iwx`9BDN`e>D!!Kf4j+!Gjq;x6Yt-5*n16RR)yVzK~x{E0>&nUAJ_#pm{ zj>>`Q9D@ov_t|C&Wje>8!Yuwwv};Vp3@*s{Gwxa@W4glEGq@n*&(Ila$;mTh7yk*Y z9dvOF75B5*_%hR>U#}RduD1Dow(9CX%zPrx#20kwT*07A*R>#C@|jYMzPTT5}uO-z6R%rC2W5J((`}iX<{SkDE#OMCyJW~ z25va=p<>`k@%e5^?apr8E7Xk9sC?-SCUo2!v;!m43B+O=(@a4p3*<1RzUm$m(m^Z- zANd-WnedAS2Mho6H7+#4DShS{P)x&+5Af8%ECmsIlwm)inCzunKmzW?jINtl_I>pY zApF9ip@Sd%$7?|7&Tt!dqr^qA7%Qzhpy3a)m&;tG!WymBMY$Zdj8q<^b4iDLl5jf*GzhsOXvE{(>w*SNtLY6JfKv@B zBae3rc2Q05qX3lo2xu+%;&!wySwG3+;%cidT|d$KJE9h~GIPjr2KHQJBneMyS z&>hA}tZk&2p@s12u3nM1N4$e#k_;~|+(~xM-aj$>>B~1!H1nq(+(Y{RtLrGF0&a+j z1>BndUtp&z37)?mro%G<_Se9fyfqtw!?sjRC$JJ~=oz(1PcTnce_>UX2azl@F_l`K z4LI!%z0sntw3cgz`Xi)1HvXh7qE}W`t0WTps%}ZZ6^cP;{L=|U(^LzXUr7wym7-h| zhsf2?Lv_YCoggm@Ueq+zB*QLhA@#s$8d?O6o@Ax2X|`)jQv)bmKP_LswMP}S*O=7K zDzm2k$z))ly*v=tYYmDDuf<9GbpQ+8+XXDxN>3~VUK-#5z-K+hGGf^&Xl|m^A0!q% zg;GjN{6S(7eQz`1CB7W`o?>k6r5_6pwASk`Zluqt%A?dv2}53vhqh-K`y@xnQ? z*U(@b!SCq=uGH^Qk;lm~{OE5e2CycwN@f||coO7T)gk4J0E;S+x>gnA}+_=FH%Jbki)ojy5c`|WqK!zbaopl$Z> zNq>L;An^2ob1Nm6f&&iVRYsm$L$Rl4cCKYm@B!B6If4j6gulh$s0m|mtl@yeIp#Mq zcuas(Y5~WuB^m}#itRB+0f+ZSPLo_UGwSpIl8L>)$e=FP`gue;6b>Bua~a$t!Y^lV zcEXdv6C(U^3KvdTGB|h(ET89YVsQBVQV)Y;hlavQFN1%K{(r>a8L|D1tbfXzVRG*!274j1ci&-p>TmaPZ7uxaDh7% zE^y~5@)&~)+@WxRJ5P}S>z|#OWO!yps{Y2{lxr&)T+pZ|Q$?yudG@3jg&oebC&e9x z!>M|bU}hfy`zN^v8T@eUpCnru{BZ1_=^pN(B~3*O=@F8~KI0@WBnba2WW1fqu@B zTnKIo+$Zbc(_S zET7?i%X$&GM&SZB&tUDH#fHKKY@VSJI!0AORy!pp0xpcYUq_*o#}y2U*$peQpL>h7 z7I;Qm3)t*Ggl7~kV6(r3XVz zf&y=zm5RLKUuJFH495c^=LLz(^56jX0OJ`bhh?O2!7?7;e$3#Q>sU`HT(FD>w6u3& zRiaRVW2mfRtp&?S;eus6z}>*$htK5~2u2YlsA0Vev*ZBxPX-q(8tq50Xa~5n89WNF z1NTqNjB5~Aw?@EmYJ8@>LCk$oF9o-f01mpLAqG*OsK5_F2n0+xM}-4sGwvu+WkM)QG}=r`oz~>hS?R?DqvACM|E$*Z z;*J8fN~O|h@E89te*lM8%T3kQ2BXg5)gQc&mdA^ytu~e0zf<^_RNRA>^asHFeR{@= ztr&fb15fdg3zZXMAl%XdiUjR=oJ1Mi2RQCJ0i0?Fjg4ScnSQ8w+}i=TFmoO!u3|s* zga_b)ydNj6GyMphObh)GVO%r%FO}cp;#$=Rc&WS}=iV0jfwrE@yc|JN&k>sQlu-Gw z6a5l+_;^C2Q#o~{=|(6brz70s(?a@A{pzcHP@6gOsrxIg^T8Sg?D^MFv9G6kN2?rg zG)}CDm6y@GLb4|DQV;~l?94+F$NNif3p(}Wb!l89l-as%?_Sb5`j(+__RgRW{+0F} zH}BfPruRm{Yaep0CA!SL#PUMn=@h-237lrOk$Xw>jH1Z3mgqR(un$baDSF2d+B16r zxKfl%s#N!9;53(8A{pd~nFWWYq)Igf?J++3w*f9_3bPDo{|1B8eoE#L+6$6z1iVDT zX#XlC$x}&6RNyRb_!ZNR zk_z~-8=WbBZU1jD%;$^d2p-kfMfaP{Mn?_KxK_EG$*+U@JA<~GaAV6_i$-(s@20)8HoJ$yhqhY3CSGE>zh_iiS?KlmzNa@!P{7#Sfa9eU#wEEvCu z^`fEY7yO3cA-6Pj64$bsdzwB+p!(<1tD5LcK|Bgy1o0%DDM2nqPrfLS7?bxtj zx!dgwX|K&*|TA?L_0+b4E7Yv^c%6u{NME4aVjV zHcWNZ&T%@jJzjEO-v4oxq1(3 z7F6b<*T(Y7AYV3rkK28kYiMr2ZCfC)cMku;rnY}pdOVf?Y`dDsJr!?Ocsv#VD7-~< z|Dd1nwSZJJEE)L@S%$G|Y3(Szo4RNwN)irC1!$%e3>NOI3}n5GgL!fF5^iNk3@<6G zDAOpEN?swgtBp0Tyvvx=8I4 zqp}#yE=`3-(;DfhF*p?pvkylYHD%Qble!G28(bzEFb)Ib31Dnw_gWmDd8FEEG|GkB zP3g5{MS4&ogjz zzQyC~)ca6T-s-D&D5_Pa4trFssH`kgMu3N({E^H99@TW8c#P$DDWfov%1ZCnxM$92 za89&yEI23Z@CRM?K#2TtpgGv;V}GTS{y;M6_rpcwxi)eI|19!FVRpXRgR1%2Ylno) zDyu~nZXKfP4oWec|0^}*&bUPuits^{skx(Re>M@bNkd_qPltN%hDaN6AEq?q3a9mi zuupANd)0beCQ)b6pAhlk@&>KOT;~ndc7C-cNw^4V|0Cds4%TQG)qW@&5@sDO#8dLY z6g^`?ONr>zbnrS9UyC$QABb5Ufk>=YREqR^CEV_D^Zc`qsc%?)&iq9et;sj6yKu7m z_=!Y({P-RmP)a05H*`mhDphr5Rm|u~RWvEbJ4bPaZqRLNvRR{sil$b1T}8v{vxbMy zTwPzk`pn_svsO3cYZq*rGiU2WZE^zd$4}IfKe>!qk28zPxn#7jJ5nc%`d_`(P-dUy?Yg3}H&y{eif!PngJ&q0 zQNGr>wWk-CGauL6v$Zp`VaeiSk6pZE!{aiAOd^wY$Q_QME``IP_^HC7EVmj}HXH;j ztF9=o=6P&#b2)Mz8R4Ht)J82%hH)Ibo^&!%>lny0e^l5r5q${irsjN_tgp-KQ|Z0^ zHT8P$Z*k;CRcSzBT$!Rwi=|Uurr>KAhxOV(a8abw5Kx&y3tOC(nktnptGCo?tCdx_ zq8Xtg*F(NRWLW=@vl_!0TdDzYp}g7Cn$;M>n2YmH#uza zP%u_wsFqY#Y4O;m3nr5xN5X5jveC{bevFpG+5(msC}V_0Q<&dhzCP)2B#6uJ>>F-R zG#GVOU1cS2tu{KtK2OAEsJeMak0O}sq;qZ8sP@NV&E6M844W3etKNZ>{7n8dhGftt^X}LKc-=T~%pxXhWW++GO511Z*?pe3AzTJ=9YkON(~# z5FRpvS@b7N!W|iG0Y5`(NyYNb^*y~keW_Z#Rc)%O;0+ZH-%^uCYqBUc7C!0A#}e70 zkp+umH72vRx>7^R6^S-gm&ao9;02mvpxF$5Q6H@+J=|_XO{zi3->J7M&DL1WQbqDj zOVUAprgCa(4D%+Pu}u-v=rVZOX;2Ua1qS$6$ggzhF{O)Y0IY?h2!aI@xQ6K=C?xDM zv1NU(&dywGM~$hzzM<}Pm0D+oKT}zuHsPR7HGfGK=dEjSS3@Z8)q2f=Sm^vphf(9e zjf?I%pT9xT8g%RZz$+!;Ef-=fu+DrUH?B?ig*4?LqRPCI1mHBn56*6{+*?$D>W3kHGE1@J|JqVq^`8s{XpRE|3o<~k6g$3bDSmROrSKhQC}1g4 z_%$|Gke3$r~!r{VxAoM?v_3y^>b^Kpg|1{$s#K_2! zp#N{bLHnoAmx#ZonFsnDc^*9f4pQ|5x#F|P9egjX(pv3D;y@-NcNC5z7Z#o&k+be^ z{N1wCPD86!w0cx%)gjCJ{aG1#6s;m?bs-tJfB9*rE&Cl^UuZ3slYbReCE!Krts2<5 z3LrrsM%7r_0`%TddSd|YEWv%GM&nIw>9(fE_H-K|;^l{XH=ccoy*b(ITBOxgl@DvJ z)hF1`2&JCH-ZFNV2cO0M^UBWEJFmZ_dGp2wS6fi4sVuXpYc!em#^hd_A%!*IU+160 zikoM*&tQQS7B{%;3_|VwLd!Q zZMFLs*Y7&Fdn_Mc&{RJ!GH?8rsv0u%PGMW1z4~sizrS2-$u@+7t_bPVH5?aHYK^*F zi`i%~tY6x?II(bEW?szK9rKx;N-yd)8I&E5FR}{Xei)yZPR~!q=Vem!lRZuGL^FMT^W55f%}x7i-^J@Ze5RTuo-dK2@||g- zcs>Q+uZMp97xmrfLp&vd-`phj!Kw-IUD(4Gt61^n_V(@(1xsGwaQ$M(s0Vh+253AGA$*UN&b`4bR(Jm93_6MB`4BZU97!a zz2oHVV=Grm$gW*2Fhm5r{{Sa+E~Hg@U+08Q;qVhW7QTS$80zJ+{3WdbEeI8$O8z4< ziVPyC?GQ3N#Tw+%HqsOfHu7zg0|S$i+k_(IRTL`~sJ%^cDXmK@tqGpF4Moy5dmBn6 z{|PydwMB(aY3tJ4P%4Y}sJvGEFw+HY_Yp2uf#tIEZ*xyVGXJ(3*`D>|pFauU->zVr zOZZDtAHW|!{?Pp4SNF+x~u93VfosfP@ z`lie++lK$HlRYJSx6D~KPhZ^O+`>KM{%~|cEy9`*7DKvtIFS~ zkXK|YmQ|cm@!g6CEB;j(s2r#~zw%d=Z&anL2CL4hy0z-l>bceDRR5s*9p$mgA1mKb zxl|LXJ*p?vX7zmax79D0R~UY7c+v2tp2gM$IcJA+$hpY5+PTHK+xZRWrOxY}w>f|6 z{EhQr=QGZKIzM$uU20d2E9gqOT3mgu3D=ZsgKLNDRM!Qrt6jIae&o8>^`Ps3>z}R< z-JHA9ZE}0u33r3L%RS${!oAVG+kJ-ndiSmF|8f7?{jmEP_ZJ?8NAGcZqMo}w4|<;S zyy|(|^BG(@jknFa$h*zE*L$w_O7BD7r+gvb8sFKz%X~NbzVExs_gmj%zUTcx|5^SY z`0w#Q;D5sZp8sG#5zqyk0bFk!7!Rxp93MD6@cY11ftLbr1pXD21eHN+Fc3@yTZ8?< z1;LfUO~Dg`X9h10UKhMI_|xEh!AFD72mc;?FZe}B5z>cHPZ+8X%?*u&mWK9)&JA4| z`c~+Np?gCQg`Nt%6nZ1{udpPnLO>e`r^2n_{_ukERCr@}SNM$Z#o_D1w}yWjzAyY} z`1$bP!taDXkH{msh$9k-j74Ml*qqqB*pk@!v8!YM8y|`pC)yR7ccx;Ij>)L`nO)Sqyvb|}3feQWxm443K1Ol7{E z`FrN0YMzoIJNN_p{uuau4R7%e|cYXYSqHCwVTf z$gA__yer?H@6C_o*XK{qUy;8j|4{yw{J-k$^>gaC)Stp;FVAsH=lo&Q3RUw*94|p- z0mnV^;@#~1g~IDUovxo&%N9t^L)$V~BKC*h$93?2&LJ7)ocx;U0`KAcs3#2YF?f?_ za2oy++&wnHIZ15#yF9&zteZ1RUParR@fzj)l3URJBu>Y#LHieADNz|qt3b#`RIi`M znfaw$nPeyKY-xq{UN}9?C%7Ogmks1h&L>H8VcfJB#ePzlzlZa|D-WYzGyf>w&q2Ru zpbehmS(HDB*WG|$ih9QhP9afqW=S2sKR5jWzkm8YX$@*r-asF>!LM7*HS({a&7bi6 zc2wTq2znOca|>6_52K$hypHB#yqa_IIl%F+FY!^lC+P1n?j>9ezZUeJf!8t91!?W{ z`@liTe*>@cIHlx1ydJ>k9h_5o8yAo~hIU)Qm)kg>bc74buEwhYw7rP$__sr3C*w24 z^&-yAp9NmUxOV=1&@sq)rH$~_{sk|zfGocOCt97zp?SGEM8!3b&o~$Pkh73&Tr==# zkzC8Q;9N{I>cYlRA)_K!;nP?B&Ms(xM_`0bh^y4}g|eIS=_B$K$0f$`JJd zIr?JbJ%};y!#zFsL1v%g^%)nZbV*TvBzcKb%FLi~D?Wc8uUi2B3%)C{hx8%()&dvY zQve+6_+O!h6*8xPuyf3jQQ$oa9{a#wAKpL3_rId;698=~-^fwG8Lvae#r$Buh29@BCe`r)PS55|363-P0VgWM;#@1vGul_N&CDF4 z_;(=Bh!+={4wD~FzeP6SjMQPgq4Ns=Lb3n{uQ0xf&1Is#Qw~3$b2DQ6R>3yfNexpzX|%j6uI#Y_`x-lG70#akB(%3l8(G zIdVTI}w@p5>)7iBu{nxOR+-Y&BwzJ!B7(GLMiq zaLeH|{%wprzX*6d#Q#|$l_(@t*!2%de&MKg_#Iu2C61#V8y#mjE_K}P_$7SSzdJr~ ze2R$H>Tk{=Q6u& zE*BfIfsJ^)Yo9pcn0tvhBF#En%AG|AE&PN2E&M6WJ@|TIUIBbB{I2lZ!hMDB7jFIH z?BdfSy}vvuKwm!i%IPmJeffK@B=KMPrH5bM{qlDD7NZG1lIqR zf1m%5|3o5sRW!j=`iC!oS{^(u1D7i#dWlhDmRKb&iHF`mE%AZtG{5+zKN6e7Q35n@ zs|msB)fMC?CqC$N3vzQu<0heBam&cB zai8gx&;s~5oEtfCTB+znhA+;gu@dEB{aw)V5a;Kzs0T}+o+s)5suc!>vL~Ngs)F7m!Y{M61jC+UdAXbv&egv!a7zyAOsAF+^?;0W{r;>6q$sHsk z+`IUv!M{yTAT?wy_X1hLJwxVmAK)Czcgb$zB1^a@aE(+2R=+=z34(JT+`q^+Vk3Us zfH29;gNN}PW@$Bir7Yt`p#i>b#`yX;5QRAO(JwRHxpOV$wljJyJCY!lGBd#}*OUVDz+IhfNQKkKVPPj=( z=tvU*qoP;ZMYRgKDO6NJXpbjDNu0Z-cGJ)Jy6T=EK{KDaK^u4)o8P)iTx7xP|u=PExCk zMzz{F$({2~YOU&^?pGbzlUr!iva|Ij^8c7|oV7%uy2|*gdXjhPK4X-qCyY{d*|&l7 zo7A<&`|2s<1o}yVy3yF79yZ*}4Mpl{qf8|m+toy4H#-&&8TT0v7;BCDd4~5-#vj$^ z>K|&e`ciFCUm3<`Wj^we>lqQ2j>a)TKvx9zw;;=|;L^8jdkCDn!M3-6!#}s}E;zT) zwui#KCvAHe`cOyP9!`6&wCyc$C695{tvNhp8-Y%*Rr4C#0~b1YVy66GNrcZx?E|q zlVfoF^W~DR+nGXJmyt^fHAt$O--Pxh z&16!}Bu5z+$zwFVmqs7mqw`58ECo)J7A@8O;*R2uvsKEX(|RKcO*}={S!yb+o~_4n zrp{rR_LJ*Oa!4UWOyP@V#FTNr#}1QGT1waqUANWPB-JXe5`Up~TO6|ze;I3OyM$&i z`WF8Phooq~7-oa!@?w}Bq9}8fP8B=~QKYm|Nw|#LEUp&srE0!Q$0dB~)KBlTu?HA2hv2ua!t6(9h#>-=y0s zHEPaz{AoEz+s@?v7-}tKN&LCWZ61Ray3NAJ!rjsfE6HE#A!8}!CKxws`!b|I3jbyN z7u!gXL0g2Ug}0=yq|fJL%Gk_C_HQEn`2SU!+o+3!VIn&+Hr%&y_NB~?$oM&a=*tGO z@&@me9F6php&!Rlg9)4iya_4289Drzv6-r8rWVYnw=-K!)ARptIl(F$rq74JJE_6BCQa>~()+}0!>W>~Z2$YJ}8ck<3nl4(K>5gXesPQl_iEhE1AFAZ; z)3eN`Et&lzRV&q6wPD6?$NbxYFM3|UjM!OqQC)db>j`@IW%Q;-fcpYgcr%~_Ev&|kKp-@J#m)&|Y^LG*)Xm_hQ5BSwnqqpnoE0vb(e zKBKzEctG_<4-($^)mW_h8LQE=u4TOt%{}%QMt?54<~_#!=vM=blsnO^)W6;uWRO8Uu zCa8(b*&~cC>LzrWNxZjkvYNtvRGzU=O+`bxRo!Of7zyfjbq9LhZ&($EvS;*Lb(gwZ zO-H|*p_EEhGgX?Jg&sCXrK2y+Gu{-f1s!t%n$mH#2z_x0+D`_W#WFOr6=-!AqI0fP ztJG?B4^L*!Huk{BGt|B4i9Z?#(6raEX8k97YX{j^+pX4eU*rMw#Y~=wJB&8?Ao}LR z>JjxQ+RcZY0DA&7*r1+NPocG(RL`)dm5R>xEIQHiygziWdJ(r9s9r-0eqH?!dwM14yKfpr=<9E(KdZl}zjFHcZ|WURExgBxg!egBut9yOKH?tz zC+btQrO(idKSw*>j2`rbr3b04==sla@8)Z?>_YV|U!}Orcp7c#b>kt{pidc3@{XyU zYM1(6?dDAJ53B_D@_y6(>VW!5{j4(8LEg-Lm=_3Tqap1?e>-B-sT_3_?J!s6sbj1d zE@7P!VSJ_X)p1pz3YA+GsbW>4N>!OU!78tUZ=!fqmGUYdD?UH#%vx2a>Q#d}8NPgB zdUR~uU~LXaOo|XUX8)Mh^JXtiOItWUW#P>9)D~$AXSbMj_bezKnjeb&?sR>fACf*- zr;Zstz%rAPY}3j$CMn)_C))91Y%?}w?2UHNb+(z%V${OfmOXy7Yt-_ki?kzlfQ}Fw z8#9>VXXt`wV4I_DbFj_Twz=5mY1=%VE;=FFHSw15<3o}rN2bnPv@9hxHErRt$h0P_ z#EKa;FfQ_*Ca=iZP1cB&Gt<+Sre&mOge^=-UA`6RIxo6Y7hWU30KSrYv5Rv25w0#dFeHEo`<+L!)CX9>cWxci?Xr0E4vR-`3g*f-w*4N7 z-w|Y=(rgbKYt&%>>Jg zOlaoUgi*S~?5u3o8DK+RY^>!!&>rRiR(Nbog7%M%iH{uBG{9lWFn-E12|?;~45V?O z?bgg0!-GebJ5hrxQfRy5?D&Iqi7}%_+35zwy2gkojHj4ZH#M_w*i_vEuBim-y2K>u z6tOX}(c+GczD}Fb(TNuOM<-fsiB7cSJo-8-e)M&^ZN%4Y!?Ykf`Z`@h+&X=1biAE! zyq*Sd>-;e7{NnBW;_dw6?fl~H{NnBW;;sB*;s!(@Z)xeX=Pa9}YaA0du=TPzOkS2> zMypxrD;#_43;=1N9T1_VAa&7#84-Hy#HRaTKy++`X7nH*U90E;(bmWfh_*msK(sZv z4T!czazL~-;sc_STGP`SUL})uTo$BQ(@%4zv34f0@ok%`(mypNBdu*yeYCT+U?^RE1gu8N;-Fv>&idHReXuq6mAO7-$yl%XS{m*EI3a#%)?0eBEm2uoS!L^Ei3$*SU?6v$`u&>yN z{S&^`a?Er?g?uCF)txQ=GUBedH->*QY{iJXS`-d@F@Ex}eHXv% z8b7?_@U;>W`ugxO!>hu(4VyWnGQ1>yL#wIr*(2MJ3~621V|3D6iTe_LZQ8f1N(yP; zJ9$#awjBp1PU<*1`Q=X2JH6iNc;{Z7mtENX!gUuOPMX_&PLI(&7WeqPXZxO)_Po94 zte(qyzTWHm;cI*Ci+dx{cX4$5x_EQqtcy!7sZ8|sel%_%r%>MOz2)+& z`;6EBxqVh$j-Bil>A4tsI%)mGlpizC|)9&`QkPTo=%@};ja?OF}( zHFPBZX+yUU>osiVuoc5zq&1baiX4Z}C8xE+KN+4qylOHs`ewV zNLrJyIB`<)%Zam+)-XE0r1*qiM;=J%WxGO>CnYRSemN;VahB~r_l$UNCB=^%IPz92 zt;8ZN`6Nz~oDzNwioM3NOL-$n)tsO3L{d;mNplkxC(TXTo^YS8&pQdfTH%S45@#j8 zn6y1Oh@38rxmU_5K-nMnRD{<5nxkFW*&?_h^xDKS>?|1GQ9 zdsua^;h(~u^JDCsJju#=KJQch1Myxm*6I5$>)AgNY*?XD;dM}E&mb35j4 z=pgn(m=&~HaWWzVy23oA`ast}{mgQ8t@*8rHosD_xCcS;_zl5tD1IYwC*V%Pos4@F z?$Nl%VvfU{h~G`vZ-yr0z7_L!%sVmfg6@V=aHo=fCUNKCUVwWs=2A0Pt-!tp`~BD- z#e4$uY5bnW{v7l??iZkS_`S-Qtv7v)T@7Pb1s6s#9=yR;-ajkn_2pY|d<&tTo;}IC z>gwfvnMNOoXAS7xdgEHNfgaAJhjWbqxCfd)7}w!<8}@0KzrkF>4pau?y&4|4m;AHY zwIMHcmD!-K#+3IE%d;xiQmbh52Ni>zyp%ja69>gZgNZwY@S%hc$2}5CfRgY_#&0zC zG0=_BIA}caC*nT|`()@Ah&s`e^=cYKz0_}^6eyKEW)gQ6_Sw)JC>@#$Er1r1*HZJO z%D}!HS^?by-3$GWu=_CYC;S1-2cd_choMKH$DqfdCkTHM^J(b!(DS%ofL_GDj=miL zFBikhrABw&Pj(UZ-ewt3@D%eT)-ihc7(JX%@8#+~P91103Pr^)wCSae4IR$enbO$t@ zJZ4~~;y)8wirlZny$V`w=Fs{wT3AM_%4k)YaTLv}p0D-Q8!l=a%6o6ZFk9ko1+|9S z;cgFgB&-uH?o4fa(ht2rnTsKj=1VXyg)W0GhpvG7K$e6Dw1i)SyPx?Zyy$@!rMC{y zTcz|?CH&~7$Fk_L-SA{FUox$u=RP+kQRZ!gO~daun0HbiL537_pD_bUCEiRZ9Vwp+ z&4ZTUpJ8T$fO*D!*zbp4qMTQtKhuuCK!2nD?~vEK*x!Rb#QqWH$Iz$HM)Ld;zb)9m zg1&*i!@UD@7ql1qKFs~l0qj3v{!E&~$*dsC9Kzt8QbujDH1;ptDb%A)ZlVt?}h+*S#%TSQ25$gjs0mQ8!SRF@y_h-iSGlc;m@u0&yo2 zPY`qx{uYXQ;N}Bx^8s+ctr3;+2MauK_W|(04Ia2P!u}TXF6t#HJKg*deDJ{e2jKil zI6n)FaDx$UFv1N+xWNcF2pj+>Jm5qzC>#JM+~9;8obVte2au8jNXh45h8xUqYjpk{ zaqq+a0Q4aA5cDwg2qdWe80O>9lhD)T^LtDO!C%Dw3bW64#^h^IJM}av3zn?Ta7Gju zaV2yWbT!nU`7Z|P5D6K`yq*L%i9}2%EZr=CS!4WlZgAWd`xxCCM%Bj%a_SCx8vC=D&q3>0)i5Gxg&pYOZuIOBWG;zbU4mAT0Y0t9z5$JK z59etA1pmHH_$H9D5u|Kn3>!eolOSaSNO=mRJOxq)K*|P?vH_$#2~swKl%=dbLs@mU z=B|zbVg^9W0B9KiEd!us0JIE%mI2T*z)T$gA+tco0ODT?#=jriMa*$SI~Cc-(Y@+-ww=O&~E(paPMj_e*19mhYnDm zpD=&M?-1dKDenmG94HUJoW}2{Hz_%NB|j9STAQK**CIP5?v6bzu{ z1VFzZRWj}yu#bUmgvLV?@SlkPBr9*R}g-`~x99l`dRnThlk04e6#0sG01VF0*XcYjh0-#j@vrdV49Cq9#%t& z&=AN428EJ33{&1T$CFr$Jnt`N=57ylB&-uS*4ZpU9wN{nD&h5g@cC9st<=~y)?5#7 zmr{By{JaHz-V!v!p8)SpfOjXTSvfT;r)C~_d<#6j1s?aq<9=!y0iPGa=S9r&mGF5L zd|m{f7sKZfwBkZ|y$W70g4c`S^R^+X1G)@rofY{Fgm$Xrx{PX&F|iaX*+CI}hO2-ywE zzYwWM`p}%~jUM>-g#Hs`>`yui8EYxOo>{TMLP+>^5F;-LITpXukugAxvZ>KAYUDQF zCeGiW_sQ!6!F0^cnE$|U8}{wkcS8qoAH;nK`(fq+ z!G0!!^aG9ho3+e>4d_=jXCX;E;TD?IGAlNqSJgBjN&;btq)oy<8UN9^gVALiZVO>* znJH^D!c4|*3TdW74$9n)-yOJvktPMd8Th4=_e|2B3vCtRVeg^?Jkkw$?hZF4AqRKjUIGebK*B%wU~T|KzQEkWZZ2{IPu9SXeojVMsoBK< zEs}^~rFJk2Y$E6NV3FX~7f9G1=HPNtGZT_SjV|9y`DL1;li=Aq^?rksLlrrANZppy z9#VHAbseeebn4C^*)dYf8s;0$g@kb;#4tvXLlQj0+LV@5(Grib0-j&3cPoBiC&Ghd zwqqUnBP;r!S<&xfMSl<-!-tM>NOq6GvJj{RnuE*S1*U!vrtada8&w)tnd5j~7>S}Z z!PhoOVOyx3xf7h-Nw1WEwcqothU4Jvx70G<=t2*5rGL920T&{l-RawlXm=0uXQXc@ zdS@kiXC-=PC3>ge@>N5@+4^4n3LN`&j zNtAsjc~2*w6w-hxV0a#@v^;dyqhR<^F#IUJQ%&#q>77P;rMUT@R3ztOgL7@>FZdk_2H z>4W!a{|D4>1N&Yd($60e_A&GcX+9;+XP6u5x6g^YiMX4I`w#N^0{fT5-$LB4h_{vS zZTM{`{A)c|>@>c`?>qW-2dKD{e0CAGwm{ys?vc<69$>I0wn= z5b+L^CX3lN8@@Y2yd3B#dF4WR#63n`j?>2l_{*H)rq7E=Q%raX;idFt8Tp+cUOC+7 zrA!}jtBK>szXr1ozk2KqlyMS!BlHXOPvZSbxC!R-$O3cE_j>LLLt?@qYYzJUv^l7q zd0e%JI2|UgpA& zk^OScx^!Sx7s={|*&R+F!sv~F3zEz|aDO@6?YFr*U~_j79C|t2xF61ogPV#q*9f=l z0XedmIkVBh%Hiw=qYb_9qNVLAo!vj96{Y(r{VQF%?D={qSx_f}(|F;OF8Y%oP7S42 zBU1(J;2HFD2ikFzb{r*#3J|6Q?WF?}W7R#2x|edY%^-(^)W0RUyi5H>!;+k8$f<$) z*CCyUn(F^9+_!;siAcoPl>Qy<-C=Sz9uC?=eX_u=Y_Lh%;$J3{MrU?$sTep zxRnQP<O7j~3O^A|EYcZ=4pt1R}p8s7$Z_nYe#}-i6+S z{!ZNYDdPjm*nqbB5q=*-pF$f+`#Is82;WTj7W}?~w&J%9zwP*agZo?DJ1}=a-(%m6 z{~mVK_u<|T{RI6?UYUd)B;6sxkKmUB$w|iJw4nfd5mbV^l=hbq*N3|r@?)=u{)zop z$VAp$?C*uayWvm-c3vxhOg18uxyWQLGMS4^Hgb=_P#0nEMVd>AcZHdU{N*8kxyW8F zvX_U<=UK1op+sl`GzFRp-2u&jRzjAo?KQN$hPKzxPA?}`qo@H-7|GicjjN%4$Tj{{43~( zj!4BZBaza^vfuw(>N}mdDM--_D4m+jh2}v^=)DYbUJZ7w!F?a$_d`$9wr2?Y1L*NA z>0hOt<)F!B=6C7}dc6;H4b&f`yq0G~qajY{szK28_zl556dHj$5qA>yWM~xbvCstk zCgSGJMCxW}3ht@Ut=R9tyc6>-=x%7bc?2}iQmMqB3C+WAF|-oDRnThg4XnZaDD*7! z9Boy!tctU_kzijpbb5KG%0+zh;$GZqnLQtX9)uo()-yiu6aE3=n=m(HZo}M;xf?o& z{San0X@!3jI&cWIj&v9P+q-FUa^QS-)XsM|?aVuAEonm?I_D``CA{rpys8N;d6G3*HGEeb{winvbyUURM;+P8@u@iII>O_j!KAsKcteOclz77l z8wn*4mWY26{>k`{#(e|jjUnttXdLeGq@6&ViG)wWZ!&&Ua8HG9!A;xQwLA$w7pQ62 z=>v9qeC%AFgr5skDtXT&?JWGb>&cFfPo+b1q4~sF04<~p#+#iVA3K{T;rRl1z5t&8 ziFKHd-5(#jKh^C1@RS+!AoLLQF!TuY81y*wB=i*NpN4*q{YA#(ZPpZxAay|N7S>!F zfYXYYYm4EEQ*cFo(<(iRc)@#^y%}v*y-oX=S7K)mjXBxc)9ep|TuUA?=3zMGn7wMx z1f2{x8}{wkzs3GNv>SUS=0W@qVb3N{YfcS_Br~4|m`~+{o&luVk5v1c=2DqM zW!_|$La*-GuVucJeZo_EpOAf9y;s=JJOP&-gUd4EvH)}G>3fFOU6d1W+9|l~7+jXA zSNbD}C;Nv9q));>8UInZN8=uYITpGR8i#v4X(tkX6K>g0ycwE|zpV6cg=A0hcHGWN z|4!VpuXq=9HP2Ge&_cav zp+2-wFH+-0YP@KnKD1CT(&I%7^&vTRXrXmzp+40S^8)-kL0xcn#eETGFWk&6XrDf$ z$%pnSSY3in7Rl%wWOPIu^`VXW7^M>Qv`9wkAX1Zyb}G1Bg5DO%h#h3aL|gSSY9&aE zU~&oiTqKer+N%#K5lk*Yzl%h_i$qcck4w<=BGG7lNQV#U5IinH?~6o2c+!=$^YB}M z-(t+A?A@%uzLM}&&}wK6{`cemDCQHGPZRzu_UEAIalZgCpf1I7~7TjA~6@@-<@p5CbPVkS>A(YnG1(jfZ-lydM|CLflK}1xED^XVV~$YZIT^W4-$HawpAL}Q`aHv zK@3GchtcNY&{qZ=k+o*u@)5yc?d-UDk zG39&X8_4TJ{6E6|G4u&>KPCJ#%#HNx=lE?R-aknH1#!P5?iT#MBFWeiweu}d&Hjw5d_D1Lz=%4ugN*vSNuMF-H zxVZBjW*$ar43o2k?KsOIumWo!#wF>p7bK&naq=3q`U%+%!`!!k#gA)_af<;Xk}isGA~-0 z7pc!gGxH$%70j0&G&3*K???J;*b_R=yy*o6_zodv0&x;CxjzmP)PMw;AVGy1!<%i! zV!x5Fak$5m&jjqUQ+^Zvld#{6Ihn92*r!6bK)2!t-+>SnXl!2QQZE{t7o^B!F7<*I znV>}`tC3s~qXG@i3u5>|j2iZtjx(<|qQ!a9;=E{aUbHwbNRo*r=K)PBm|H#ULmdZI zGTDbZ4zg4*$9mE1ydX>knw=NT&WmPO%6#iZv-5&9nasBy=36g_Q^8)qXlWWU5flkmmQepC!(7(DV4c0KJIcc6dQnrm~im zJ8Ko}9w}rt1Zu%b*9FgnawjDWGn_q?2=E}16O+wYbQml;3>IbESdr~oYTfkhQy(J`>73@j?qtKgy38{Pqn3c#WYu&4+uI$~o{8?dMZEOLWIZm`G= z7P-M9H&|2w7G;A)9gGFwz z$PE^`!J;g%C@Tnya=@Z2u;?&YlnoZ;fJGHxQ4Uy?1s3r=L;CSk!YwSy28*)6q8uBG zD!`%~u!!#!5@#!6+i-u4KK%{uZ*hNzdk5hb799qQvcaMXuqX#C$^whBz@o!oQ8rkV z4Ho5qMHOJtOt2^mEXoSPqHG(BvcaM(u&4qoI&5Q6HdvGo7G>L5lmixJfklVGqHM5; zZzp0lnEwQea=@Y-uqX#C$^wfHgGJe3Q3Y6(4Ho5tMfqS+b`Tb2gGKpZ(P6OYFj$lY z7UhFQ*|5u7 zMINxI94x8;i##?K<$*;WuqY2KDhG=^V37wb@_k3&JANm=0_7$p?M%K_8xDV1*fq77~UT&P*181X}3hMiX+Q z3FUx3IiOE2=;KBc$_0Jgpids?lLz|bgFeM*LWM>zG?j~?DEuzLXhL;pLM5P&AN1j? zhL{P&u{5DtG@&{)p?uKCW1~+#=;H@{05Bm5)A3x~h z2YvEEpK8!Y&S6%AKC-^b2YpIFpDHvVKj`BJedJ80qY0IPK7P>05BlWW`&@p|rwUD| z1oZKPK7P>05Bm5)A3x}m5Bm5)A3x|*g(l<&eX2np59m_@`uIVge9$K!^r=DALMN?GITvMID$Mv&CgUzs4a9cbOUi(61UHJcPz3AlNkN~ zMU4LJ5ht;`(UP6GDt46H;qq}8N>15zVc*@WUO|hKv!ty-wi-~)4+`x<=P6*{OzxNL zM}y0v-bdLZ^Rc((XJ4h7J(XH=9*m|U*J}1m#C|pM6Lym<)pamc2tAB&gpR8FG*NWa_r6h>we}A+8GW?{y;1GaYy26?nqn( zI(DH&4WQlopqdXva!zE|fJU{Tk#!<_19wY5#2tKYbtCRCq2TkY-{E%7u@c)|?aBHK0W;I!Y}lQ431QeKzMrwhvVB zfd+D~JNWc+p*t)Io;gBw~@n&(&ay55BuHqeC;c6-O>sMf|#D5jE z+I*k4Q-t#NiBR4<5w4!cd;yYkukGRQ0dQC^PLcG2k1m3f>Y0NE@EnxfEs+yAb#PEU zcPnCewukTJaSt~HT4!`ua*v@6Ib5uHxs^zV-rtZMF1B-M;3<+Y?z4u%fAyRp2-m5? zbU9Z3a<0&$LnS|{Q4;y}r$+tB?;5*CNmhQ8*Zf3MFKX108bweeo@?Swv64e1@*@0N z3cntJ!y0MF0osv6Ir+$qocr-2H?lt`PcX>cib32%x9*#Z%vethSQ2)En3Z;`g6q4U z`bmqV#1MMt63TB$JWl1Ew{4S=n;PV%2D$MgH}ZsqAGzTS6J$MA;YV&nyYM3~RcH%x zqDh{BC`Ly7$cUd=+i(1hIPZ|pyV&1@KE(bJ=Eu;d&_?J>{I+0z1$_g3hkFO+E@&_I zeVF^9pP-+i!{m7cGY86ptTW$!IQXZ1TMmiLO#&Akc%p0p$h)5g5Rs)^D6kf3LdY5 z$Nlhk6}(&pFIU0K#qh14a}r(Q$!?6{g_MebZ(8FXmN_N$%xmzH23H<0Z z_2@J;+##q&Z;|tUHQXVnHnw8lhFzrLTkPLMyRm0t9>o6;_A=~#s2<`=fRce=nZ$t`$XH}61*1~>ut-}ugF9vWbA?_j%*8O|NEx_&-Emrm3Ith zf7p*e7UbSEXR64pf|{;_Uga+5dgwJsxW6T}lU+@zQMip6r^|F0wW)!Z(Q=Uv>z-qo zp1F9!nddHB^0aa*s5K`~Bp>dWkk@Uxb+bYLCEVf8V8?znv=*Ft0D2I52wG3N3f}Lk zxCa~ptuwCUdBZL|Z+H>U8@ACk>`EyKl+u?{`cleOlw#dE9fQ9h-E8`G39_33Zpj^f zxr@4%6xCq8Q2!66oPe@65#5}2` zMA|B)jXbNgNYd6*T7Z!4r1z3u&Nj=ekW2bn((~j9we3Lq@ux}J7<{Z}Z!1Y*&zyQZ z&j0MKlvhW2)s*)Id^m2dZnl2*~MQe z{ro2hTG+i*&wJoG4~Xj!b;zTZavrBpbB=SGg%fAYs6nR_;C9XNn87?0f$n?8GdIXV z2Cb0$DbBMt=ZM9KWN`9gH7gJ&mOQ_6u9FV+PJTA(SSN-rAohQEYEMq=af%Ji;p|g* zoyhIKKS$S`0Z#!CpGm#XJU?mAOCl!k5m(YPW$@!8pYJHGV z_ySGs1i0xTbqT3u9y;P>yfwtA)%RiXQJ_Fl7V>a2uJXWaJr;X$wPd!SRa<)(2 zX28B3zIA9v1{$Gg6Y?B(AsQj)Oo%lWBwb6`L(GTH2|eo^Kp|ROriw?a8v>@unGEY3 zKp|S3+(&ZG0myx#;Bx?lXmOcnarLad479j<^we6`Tn1|{15J)6$1&w??23LXLD%TV z+!YOmjx|3)|2?FxhZ3O)&=hDYbO$t@`)o5XS3;|x)y($~(7FcnUOA&x4RZV0$F%OE zoPGzTmOaeoJ1Ev&lRA1t?wEKfT~17R>6t3_Eai?#Iog#xVVKJu6E8LM8rEG7ufEH% zgqb!2eh_W&eailTayMaa#@vP}TKR71AofFygY33n$*g`A8i?$&H}9~^^DkBObh(Pb zKX`ZjI^tV9>t1?9o`I=i6v}x+wLDqp3EEYc=U}QBm2zuGov`NJbT7Rq&%l)Hopfs# z-FXJa6SRXa&%k)}4!Z1~TRZ0R3``ZHSI3Due9UT$mOhnidg~4^A7cT^|J|6RzBM>Wz{3AorBm} z=^zhoRyJ-3QC`jeP=k?un@>m{XxUpczmq;WP1H z%D%@++^e9~eCgwU+)qHyLoZO@kaqHRQ=?t&1-*I0s+?Ul%u2H!S#J8#PW?k_4O5&ymb zK*MQ?9j{SL^3ZK4)|^{h@37OK_i=e$wgQGC6Yx)tQB0y@6S2wFT}q7+{gq#l%U5Mo3E)Y^t97r zy9GY;2NQjm*gq0)Pg9QBjNd7Awx*xC$K1<`=ZxRkbtJDmbGt;-9KX{^AiTsc%yAQ5 zMsJiiyDgjao&1{nLA#psk>?5igI{x>I5{>aGPz&N`8$5p;H0$Q`bmvX|Ct{8f$<`y zhd!!gyo#j<=~b`D1EV0Waz{4cj0($6Ob=sSPX2I}Hd>5_7KS>$t01aSC>@KdMv z%9-iUbf3F4YE%#$liB<{B}=SkRBr z(}!X^3}r!<6o}6c+CLkc<}Y#aPnIlVJEk zoxSASgjbHw|B2cC-{*2RPe>X;V(S+?&W@j$!Lx~Z3@MeT)ahR*El5~ETiGW@ZsBh8 z5L$|)YXq?Z;H5RM3F3buqfacmw{mBAUqFO5$BIJ1M31LMyHmj$bMgbpo`$dXR|DE20PM9St;&SrScFsTGqw%e|H}ENA562MF zv8*0Drgec|ntXq1vK^;awJeebSw<3bbh_X+73S$@sE7p%!S zVT``jSHee4_;7A{wbQUO@8}W^uSkg15-p$3Tv2rz4+LogXU_A@84YIU|;wWp0j?es~wx&8;(239HwQ);fk?#h{%^MM?4KU zzbXC#c0%kQZ3t_!%Qy`*F6I8}8NXmOYYwt{N8FACHiw!)!>5Ta>y#uJnL1eNWwBbySn#_uUxGWKJCSL+{DNQa&+i5J5C zBKaPb!FjL_nDPeW_S{+O%5$9Z2IEfLS-O<>S;!lVdvcmYzSJh~F20O=0C7AG$|r$w z%X?1yaqnpoV=Zquy^gndPUFdJdBf=tzT+{E`ycW?(i<7D1s`V`+xk++vl)$c96 zUB9<~ytniNCGRc$SiiUQQ~lo3FZFv%x9azneyuL& zy`?+#drLdhBHmWao+jT*r|!Jdn00?|b^*Fj?{>7c74xHn8MLN7*REQwqOi$Ro4qjQ zTV3-0W`iENh^u^as{`*Zm43P$9&gQ#s$uk?M>?@x!Z}yG}m!FkZ&g`_e zW6BOq7duB85$PKlH5oIj1R0^`9+Nz*a%8L`2y@|%kj$GxT<~RI+?UehUHOZxw?xo9 z&`Q^vcXRPKD7mZV1IbnD7*3jAl;@NvBi~j_iM;tbjIr;*xa;q^!5tmpjJ7sUh`;bd zaJ&|T3D;SE!a1F^y}Qmy_{fQkRokUJ;WDcn$7I)L_(lkSpnRy~XUPUE=OQuSy**p&fF+TBJ*AA>{{iI?l6x;nXBbkB*E`D0OLj zS{#u~$wld&6?+R>-u*NV@5LBevMk}}`bi7rCn>L_*W_zVR(Z|Wv(pI{3Z3g0Lf?h! zJ_*yj6iF|2q4wgE5SQ*j%eRN^FHaL%vBV}ZC0?XXCuLY^1vf-8B&NL2>|#4d8Ic~u zl2MZ}vr3Q=5?|-%)JCu@j4-K@HB&nw5jMKCWyE>c5LbDpz5E;=XpgUpzswq)H6KV? zk-A7?OU`ZSN8v{qc{!C}aYakUz8mA-%p)BLwRl4Og;PZWoOrw$p8Om?;hYO}cvl^x zRa1!AtXNW>aG6z(hFte%y+$$UJTH|@LB=emF8I{=3M0zim<_rHASOWw^SZ~BkW@A!|@Z}e}i-{s#% zzoB2af#+$s@+K6`LGrbNP+Bc#=VW9f=+#cRWv*|-c*wVfWv*|pdApmIhVIN*SK})) zeosB)U&@}Ba(dNz;NGkC0?!KdjNe7>H+SLhl1Uj6lfwX`MDctn4F;AuT~ zzr@^qDPL5TZwdSSL*9} zef=ope$~eHqw8naRJwbE>obI`w=3Iq%r(n3AD<%VKImcBldfl7SEVT z=PiCxC#jE&xwy}WCt*?sq4c@y3uwA!hc~3&OI@pQH}gd>Pe@rpnwQ{_?XI0p{-h~# z#({AQk^0D3${2GMz6s(D%@g9648cR1r=ldL_0#d4uwdR2o;ZW2Bt&&w4x`hoQzO?mx?U8tr52lWLW?iLR zC#}>`>W)0=xRO@#W;LwqYuC*wQ=3j&36uCUAnDJA7U?+4u=6%krO`wU*EsT~Tva!H z72Qs$H?;rX_4Om|lc7V$Yx}p_{<*f(KOol|+McHUZ`VG*=(O)@|F+tGQridWIG5@; z8?;Xw9V#nTWdwBS2im`rws+9}md{n%r;iRz(Dwd1^iA#4N_&^NqIg1|e%$_~4#j^H9 zGiGMI(D|+)?g-YX@}+3~HBQC%ZdfOVk&;o?s|C2ih-z{xzIq_JPSe+?^z~J)5#-*9 zG*SA01+HXf+Ck)`T#UD#b>-Sy`}ER2vSw6D@>ebX5ae@{__$K!3PtiIknKkBH+4Gd zdR=LRB}^L?Wn7;$c`DZ%5^mr+E@2wisR`mUb@Di_tnp3V9?^?r?L^y}d}M7SKH;gU z3l=YwjUxzPRI&+~hIwO7IEMt7e^2Hf^!PKgiT*I}U{AicX7r#jD z2mWA>pnct$Zyz^a=l=!Y6S+NPXvke5YeV+w8oAIqqSy}_P0b|!Lg-dV?3T}+l+ebRaox8lpqQ zSIAoP^uYHX(z=?$p4H(Yq-@KVT;;@Z1YdQP9Gc_I*KtJGlrL6Cv+q2TR*k2(ZiinU z(WzSStrkh$l5eew8Oe@^n60S4n5~V6$+ZRhXrk>u%C#ju$9ItUzKg7v$8&{W_{&L#Z6 zD%vubGKU%?=sy`v8JQ5C`iZo^Gx`Bv8kH}Mek5NT4T>>|82=+*DCOIvZ|U!nzAfJ< z)m$b$*qajM3tOVWORlotBU~VyBq5^1Tev47vM!SmH2CsOZ^l_-wqsw>m3)m&66(@0R7l7casEGELrk3j literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/domine_regular.ttf b/app/src/main/res/font/domine_regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3ee73cb6850657df514edae1c44dac8ae501c633 GIT binary patch literal 65708 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%0D&l4TAP%7}zqFN4Mpg}i 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/montserrat_medium.ttf b/app/src/main/res/font/montserrat_medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6e079f6984098cc53f68a24390936a73a6dcd944 GIT binary patch literal 243180 zcmbrn2Vh;rl|OuE?kj4x)w?CVqF${oA-yHa$QporDBP zNZ9NyA&^QE$dZI?`lkK=n`E7Yl7!em2|acTLYM z9(n3=P5kz~4Uz{GvnC2X}41|E2;>rWa|N{>vkWFFm&5s~tCKGV3i(8&5lO zbk~s|_J8gfO{UHO{}-Cn%D{(!d|J~ruT~x^0aWUm+~pFw5c)WN=wh3OzYMxuF0ad* znv(2ZlvSDLOYs$__)^Nm+hMo(m++_L)3d94WZmpf(0*44HhRV#ih|G~88I&6IeJaa?~eZ3dW>UX2b<32ZU9F3qI){<@Gcsz_@STp+F zycYHE*-L~wSq?5l;F%8iH>^Ht0cY;$E45dhqk7dC)dIYEFN)O*Q)JHkY~C0e^?dC` z=NMkJbLQoFEr>H&QEQrIu4$Cq1RNYVXwcHV2_~H82{|_8Ov!+?DiKa5oA^xsYbL(e z?|@%z!GjL?dJA4)!sm+Q-y;2bbyu8CzJICkh1c^s@E_CSJ}>3tkJ-55T54hZH8zHA z@8nXSYR~Ft(B~2@O{_1CVj0I|c>mmB7?ZZI-17lpQWod<4N2qNvYZhoRms`4a zc?@MGR`z>^+pTRwBaARRd&!dQ!t8>jc}udEWS07ZaS2(KT4qMNCjc#0PygW+84dN# zO^qdiRQwqTWHiXDdu}-$enPZge!8JDeESav*R2~owBcV~epzhZw0g@9`SjFy%SeXM ze%IF0(l+~YYsc|FL%V5pb8pFimCtE;T1}`jJ1a2(nosm;LTHm1Om9DQpFT-Sb*(-C zK%SOc5-f3JJg$-CWl-eA&=7 zYt~#dbbO?%?v}B*Z4d9>{qVMy<`wIDP7Vy5>{-8}xfR-xN5TB_5#OL6zf1Bn51wVg zi+I$2P2o%V4Fex=i%!7H@OPn?Y0(20bdq;PZ!y8KN?1QV0qd8bWoRX#0ECIxXl1`k zNJ+;G9SKQ^>8XhsNf{+Y?u1MnH1(OZLRhQf`es_9l0YD3pC~>2xyi}T9S;9r;TylM zr{}uyugj-5KDcMkgBvGSo){WBv2ykenlXBG-^Me*Ij04**Y#}XNR}JtEquqQ zn{bS=K+@^NW0Y6u?KDQuIrjnl6fE_-Fvdi!HdKXO;BxD(T@WN@*vfv7P1J#(s3r0i z^d{uc7ECd>pWGF8iC4py(WaZ2Q2Wi8socdJs$G4Z#vUP!y-T0prW$-&uni>XWMqC`UH@QAiOe;|RS2Ei34G~-%?>{B-$|nB z@7U8>ax;FaeFVYR;te}jNKNd5Rcan<*ix$`Y2|n=p0*HKq-k_`r3A2xen=ZKY(KWYCbc}Ms0{Bz`Ym@m=rtOekiCOrHPNwf27ijI)a+UStnDEML% zpZg`bQSgEYTu(OXh&A3~{m9%c%LhVWG-T$>bGMMJ80$l)d!kkv3c|7%noI2RxFwk! zhOvS9*!7#BmBGIa_*4GJO!&~ujQB7)3ZgaqynH(RGf_=i8!J)A@-!Aly4g`}7D@(W zWxqP=ATo5sHKYXg&CJlaaYjyniwA*Ac34BGP6rpHkPs@8o^9kdp*6-e>BgD4mgE(t zS2EBSrxklZ%~ev`LY6~w6W9V1M+bGGUsYFHwYO#aj+u|&{Nl_^T#0X_py<$HaYy*X zy${Lf!dH;oj9{o^Jll=Tg;c>-!`wdrUv7iv81O#(GA0E5LBioPy82 z2>h3AV@fvgSD#Y!P(O#MR z8}L`z`pqSLP0am$?k(|g;3sQUp>kb96S0*jw?R?x`r55TtZqtLkgUW^T3lY+K$DMF z_xc0A_V$ezEuR%rhY!Rx)vaFF+aqq72p1naj^3%4hq(8>=vDV-$~@|wPa@({qE;Bn zkB8Yz-NR6YXhGh{W=>5_Np(U032z2%FF55QAO_!u{dLvR@GnH?anW+>DeSN-#7*IE zhp&b7&|diw_jNJ%l_ei$ZLtqpM6HN|3xXSC=*1Y^T22UDReM5i$NZs$5f9KYUF-~~ z-+eRUWY~x8asLGMGxwJMI&=CU^`q^T*qcgvWiR*7aIYb~Jg#2(TdWwvJ%5pZu*OCG z8*s0XkyFNk!^dh9@pJ!UXsZ7)Pc`gw3x_Q{qwQR)9+3ZQ&8zoxoffNb8gJu z4i=zl2Mr}h)L2+Um58h6&KrH6k7!4I3^+;TS;WJI&=6BWI|13bMu#p~+3zN20~R#; zOwy9Df~j zcF&xS(HZMSx-DJ{hJ0~4G?M6ZL2}VAyc?1kpwY>hnnIEa)lAyCK|nE&g}2U(iAPAm z$%NVS_<3F?sJ`BE{U^`+3hGPSt5+#LVO~n_G93PkI(Z`cSivoQ3>i~;SHaDbO5xKk zR`A6p9ZOF$Jff%PTA5Co))Hz=U6iCtJx&Pe6$pU!fxC1Pk${r=W`}N&XPu^{VSfgQ z*@8BuU+vNsivb4@G;Q}SYaBkRXxy<7K*~;v!fik6pa)F>*@>Pp(;Wa&YkKHEXUOjNA6eu3e98Q*P-d<&&yE zF?t>i@6hXcR;lu*JgaDU&I0gE2b??xqC+0TPYsXZirDcg^xUCmTRl@O4?VL!w2xpu z#cF+Fir_4J49+n$>g!_1tBl!`$KY&HFMqmFylNiD0uBz4$DlZw;DG;^)kmelnFjPh z);8iq9OrZ)&S{>ciu=E?+Em%vlt#tTN)7$T{DfQ?{VRUPSm9*HxagEs`&)!H-#1#6ckh!RFwq%C9so>0Fce{&f;^m5$7w#gQO8^FeP68upgpMhWO|9 z*Q{*Ku347ek-u{J{a3A7bJc*7ec6BKMg(K91Mp{@r#M(xm|ecCWtDgKSN4rS`#2); z6!oY0j46jCr{mxg!(;GO;m_x*f-_%Z(9gB#lhl$2s@5UH0Vh4F;6VqRtQ`d}aKOo{ zBRF}2#tt;)%oa~~%Gvxj)eE&@`6y!jRRm9TUnntq2?Bk|P`$FR|M7GPOQA==#nN4x za?C;hpn{A*~lr}Nj$Y^a6(LiP!O9Pp0ObtY{!KCw871e_v0}`^G0GHa@s}&nGrg09r0ydHK-biIo@?*$!l(C%_M@3spmoAV4l{ z7YWcd5+JA=wzd-C*CeJTrlu?bZhT5mi4aAX1F)Ta6i}v+WrLItJaF^B&WMz)Gc%Kq zJtm(%b@b?|pTqPzJUTEi8vc&0&m_c08$-*;Fy~+&qS@%&jm{(8E?R^HW5%NNv=kV7 z2>IEf+SG4D2ISP)^US{*J?}n^p0AcqZwMb88yFZ1Kc{r@A-!EvPRs`w1?K3f+=E)!Y4>8&_W1 zxAVbG%82N`dNk1G?`xjD1t!FRsZv8_6)OhZQx8rngJQ!6ccc~jIz-ON9&4}AxM`ih zOqed&6opwVG`HxBFwEsLd@7HwjAOQTvXiqQJ;+!1Qv8$+@Rb^?rLqB8(qi56yYrK2 z(QbZVr0>%|=au`F`~@xE=+WH2hzc-pH2iJsSRM!O%*PC!{-9;cK4ybwNdpd>mB#Hy z28Yf7VZv!XHvE7Ihs|ok$Jt<~Pr6&t37T;D8a90R8o-ANEJu7{HP*ROTNbLx7Evr>*nU7f|2~C zoq*&lPAeH&*|MbxoaGTSN1iY^dx$x!;1@7+f|q)0#gt?TksA$KIFq3E8rGB*}i~7-nbn&vJ>>4 zM}8)#-Piy4QXHz;exbVq>C&U83F%3VgNI2Dkh?E0_OD#{6>KwVTIdxX_=O(12U^lS z36+84m|P_nJVdt90e(?QEW@nS%zlZFEUArIIw*6Ck@>d^NUS8f^*F1aciJ2L=;}{Hvx(4#= z)vy{A6g84S;P)yWVUv_(irS=gN zMx5a_LrxiocN=gZCs}foW!?q(rJlJh;L?OcPVI1E!lAEhaLAoWXUqeOrtR!Ync(@1>mF=6_0`rIC(G%Uf_VgWpV}{%$K#hu_G#B%N8pQ zem6D*JZAizb_Ppm5wBa3wk?#91TSQf%@xTv5*3KjvzY{qhBoAgvL6CH0SaPgG?s+6 zTa4coX+{3D^k5lfZ7GK2rPCDhjr>15A1%-&6whaomtWXE@j-unvM(vEtiCnWeeLZe z{5Z6ZUiRUFhPB!G@p0r{tXdZL;2qXxp#85Tp6W-y4M@!Em^Iap2(x}<-d^Dquv(J; zz>?&xM@yCa!`T{j;<3kv8221>)%PIh9@^1v%wF^%UTEYmRJ_omc~Vkb@VO|w+>n+g zzZd@D&hQToyc6bN;nTCv$`#;S5j=z*P)efAP+}a)2B4bVE?DA@=%WgHa^6lL=86A< zB>wN}d1c=>zq$XFJzxL!)@Pq(%C)mU#n11`w%O-o2S&<0@J{(1Rs%akpJE+RL_OQ! znGQJZ?cZsHpWuL#BrA9_!7&3E>+++RL86AbhXk(+o`e;0M-(w&ImLSqZ`EWo#9vZ|L*rY-+1Fq@qG9L;u7QwmRKkTSa?Elew1|YUsfbCSjwwUPW3yipUk(q;rf}cH#A@lASUr0N zlEbu_XRjMPyNV?z8lENXaN>=^Uu?p`8ycel2X9V+o(uWF3vw3psXj9c-r1^9C{eiL z5`@P^iDu01Gy-OBaaxOub8n-%CmftEmuE6wcsv6hR9NQa=48iZ#bu_IkbRH(d4duQekzS$VB#ab6C^r6`L9rd%31t#BqX zWZpwF;R8D!y7fQzPfqTa&pmuk_{6i%id*h^IK2MK{f7?izmoJ4^~~HqZ*c!>>THjK z=SVyJ_uw+&Qzhuv3_bR>g(^Xz6FY2ukOd7|*d6ahvs%6jO&;I5dE;mV?Ug9{OOrVaiJuAEVQ)B>(*ads{cSzm}Zc8Xt*L9tq2kRo%2YH^%n zXw;W45Ls6;K#_H43*yWIm7w$FCSc>h*EvV6IF?|-Ne0+^W4Mxm81k2F;`1y>b16E0 z2b^}lf(IRN(r5}^V8UT_|18okYGG6+NX?l}a^Ukx{xv?ytx8ZeL#_l>7=HytN3G~Q z9^_J=*v+VxaV0_%rD{3aHT{p*z_BY|xE!>|Rt|~{o)@as;#_W5+>v=rNE=WAX;h0% zp=^%m<)r0U5xoF3Rg%}JA%!OcyhgYJ)#Z@~Ewl#s6-Ti)<=RD|)^vD_8A6u{h)9%WaHUOK*<7Z$WVb5G6m()>JM+2x^Z=POI7`f_igPuS-o`gp)FH= z-A{gbc=PUEJ=d16EvanSd{M_lTKZ^H%f_bs+>yGj#>UnSt*vdLQa|y6$IQG)SGcCMzdhRBWOGtigcVNzwbLCIT)PDTX$!m3L)vFdmx66>+`D1LOS9 zd+bk?YSWgLrG{VD+|;)4ZtcFd!oOjaKmRkzSL<#|TyW=>`G(s!m*nQh+P}H9THqp` z2gBfED%FfF0SA+*Zmf@fXH_{)V)9^>ls-wd8mSs$XDMkOZ+4{yg{tZtRV>Y05)ft6 zA{2gR=H6R6_Llfo?Uef`){UU>QGDx)Tk>+()uK;iF}XglP}>_?lA40tTppyvD?<3o&V6x|`p>8AbCSVCn%zf0VMMMtFR*MMhUTShDx==NVMXmuyA)@!6D?~hC79ze8PP_LZ zy)2vo9`RgwH5wtNGIoyFrkq|L<kRPZ^}2#Sx{W*Ttd(;1;Skl=umekC|6B>`7am=vXx zV^m72F_FY6T8m9ua~&)(1{~)~?6D?0;B>AiI(`Q{LODK_JGl({$jAShi8Tl#&{B!=W_FB%4UIsUYjrK7VWb zhAZAdkt9m7P$YSWI5#o-tWhKRQSl(JK{rcVrp)H??3??jD~bJat{W8HMl1nVqYFWL zSl%1HSeV1ZQOYipYIEI_ab6E{)kXa-3{_);I2Q`9h%Y>P@LTEe6kESkCy!tA1ya%i z_#d4-xS2#r4bp3l|7gfS4grY{{HdS0dFRyd#IBuNhBxk+nJT=bf9R4t-xWjhx!Z0C z4~oaPPVU?t-Yy>BwtZ$-c)NUhcVl~JOY3q-BJNJ8(TiT1EvozOBrbFI@@ss43_OLS z13XrfO2dEZlU(|ybP3OhYH*4uv*SV)vdd+8_nSh9bJ4*Q56b86xjj5B9@xF_$f5A1^68!XX}1vPzsfp~&M#eb>$n9*aGY^pA-A0EbR>2pW_^>o>_}CG^C*Ghckl^_^=N9L(jW6_gFv&dT z@^PlRCZTmn;es_dzYrOw6cHOCMXZQ{<3deZ9@^hL>08z`e8R!W)5njOm-Mgtptw51Q08Z={u)&k@_ebP5c~u`%3c3$Ncxz4 z-pI(<`9yw`;!`g138zBc+!b7vld2VK#UX#O--8Mq9Y{K;YSWk~+hWCXAiJV0-Np8W z2X(|vw&DQIRu4dFkImlYoB9k^_z znYz2?@GEP^IdK>Mcv}3kP3^0%zzuSaqHf0Mk|;)-6bC*dOvYn_NNA)hiqj+pB1+)n zrclnXp*~Bt>^`>h`0l`spLy&?S=^pDdzZX8v3+=C1Utf_=ob?ZRLbXVn0wjC=e?}* zc?ySj4REmPS#lGt`rJE+EYN7UE#Ok(_XNkTvBQN4$L_Gfu{#WW)EU^|m=*N{ixk%3 z=Q)Zn@RW{CV`&s96DfJ0Xp`6`N=IgyQ2gC0;VU82TxpclK$;&cp#ocF0CF~jG9*nY z^7B(`K6dr(Gcyz04^eP`=l*+c7Y~MKc3phrkhq;R2aiQ3N#4#pNR>~r)wnA zF90X4u6Pu5z{w6#@B#-M89;`UfBU470emuc29V{bNPd@W0)v*W|HdXqh{h3|qj68h z$g9~$&GWJ(lPo$KT`BTvPZ}28lggrtQNseMb*;iE3bg7_1zclnEw2YjBy1|G>sGr8 zF(wc!&G*AG$+)D!l!BJNAf&!rS-k_?~!3jo!t#Tf}APjIw6enEY_SGaYc+4+=lQ z0jJeh@MMBRhir$%|2SrvPhRaJc(pK}pu}+%3JE|Ls!X6hplR6ODdG#&`C2~gs9=B& zQFFd6G(Gkjn{dp~WSg6sX(*dV>D*OZooMcqN7hCWS`JXIT42M*0{x~?#Y>XFeMN*>Bwp%}9wESLim(`d zB*#^#SPI7!{=};pxadLulF3S0vX($oLknffyogzP4lOFfUM4fF5%oeQEJ1!eKkUNo_WSRT@-Y%d7-y3iwGB#jVG;WN%u& zY5(rS_w@GEZZ0eH zLGIzbC{@Rxgq6@IOiEUtjlkTi`rK>wNtk`}FzaK}v_^+}^1z@|K6>6~BXGG-FS97u z5}fD#ciiIRd2ckw5PRNsO35)ORm=I5Xg15|_1TEJ>mk+Wkl80;j?BZPd0(e6ud`v= z=KXeLepszv85DHS84FIc$+Ff*g>Puv!35v#|OXiNr*! z#imehV`Fu7iWz;aUd8B`coDsEUgTBsmM<~+yPf2=KilIC!T7ggC4IB zzJ`VaN$CUq3wn4YZtuvpj^^V1EBh`lEj-dabqLB~O-~&whZP^G5A0jff5qzXm!{&y zy141C@FSxiy>dnCKNhdq5bCU`YHDt6*x0*reY&AAwpZ16UpesAk)EEB@HM^5{lgW8 z?f?&Ihd*NIj<@ksYFkik@ILu6e0aaM_lrvsq}xS?J1NYiaO_r7X@N@V_Zx+fWWo=S zw)92+9{gJssg?xJrcgR(`uu6Wyc`uKh$@&YrONdbFemzsg?RSL?(QoGFWOPGb*gBp zt#Y)scC?{>tfpqHUS_Sna%AM>>YA$c^5yVvDk{S*wc{-<<25z(XDyv`6_`~nBxWhy zoy^UNdX=R=@+!*!8xc#j{1W(tD3{5!hx{FpW_p+9uXGoGwD*$2wK;v&jq7S_*ELr6 z<*Y5dq}S7Pa%kvecY8~1NePD0I$ndHEf`KWcD(3-69-_&I69i+Jn?KK!(e z20p<}I+TF}oKFF>9nIPNz3w?{(IYtRX4U@-1jou#|HIbGr|9;Tr@~iWdJf9lSDw#F zU-a)mP_2CAkaVtmYDpl4N@dxb^BDOR+7ekQ^KM=ZZ!Ow!(I78>+f>oDyygwO{_^G7 z-1Sv8t51%MT)DckLIh{`I#-@%^_JWqf2jquW!lkDuCFK`)$W13EUM5IG8t(mz0WVC zSlj=2A!NJ&!b0`Fdmzg?1IvPSm4S*9 z+yg-zhl}COYbg}GYeGDMOP7^<-;!m!YR1{44Qpi({KvFiUuXP@UU`p>lroGy4(r9z!9wEmA_{S6F6F_X3D6vlHV zMh8m>V^Hi+-egGPm>rG?fC<0gdcR3g3&2uS5_it^e=Uh?$F9uM3bf`>1KIW(!XYR? zCY4Q$-`crGV zuNW9Ou`2x3wm7jqZd>=;sXgPQGrO-E8oa8z`>K&=)~{YQZt|<0ch6JCuEH7{yVnkX z4Fih>KWD*KK$R$ac0_oP9Q8{7##NWTl;L7AIys`gYnZjA_kZ_q=VJUpw0@M1gD;J0D3q zDfkN(oMuV3jDqtlW30zZ7Cw!TY#D`r!47Bbr{M26;AG1v_<1{A-)_JIh!Pm+BA5cTkV>F{_=JtZ7LmvatV_Y3~c60uFMYj~8Rog>+E~i3*d=NycJxNID-e&nFS3ssN?J{Hc>$y3T|ht7A~B>$(5Cr%PQ+KONxUP{*-vU(q`L1 z=7q=knQw=&g0Y*MDn7@(qTVb-Zs}T&olVlYKdzT& z5$|maHK(GsAWdiNq3{V{l*XzX^Q3KSnutjR(!)h)qEp04qsHsXzD=AJ%DfT5N!O?IB z$Z*1yC@c_yFD>vPq815}J#RxWa`6)J26@+b^Yg}1?XUdmFWlB@E#K|i;#!TYOYK-w z6P9hX{SIEO_AZf^*HK#5c}Z{Y;m(Tkp>T6?-m$HHb^R3;{dIj?X>Y-Tlw&yQ(-Z(%AB&Q~ zp)KR#*I?fNzN7-Wf)v03)lO~2Y6BuME0mHDAw&29I(N<9>jEb^kKj1vu8T=RWYiMb3 zNBbHyl==D-))}5rwlBJ(%c>YK<07ouaq(|W176qUCE8xX8 zc(VcjIN*s9xaVzyPAcFo*u#FI#@J-wgQudLPcMQ8@CFn5C3^!uo#)&Le*YcbKWc<8 z7?k_)@=|2>0b};C5{({yj&{Gajp!w#9UL^g%19@*qIbc7s~M9ez;JK7)laMVlf`AT zA7nLAiN{=*KVy#3*_n)trP;pCXx}kcq@9`9UdM|~xHCZcFSN^zjMLky+RZ&O*Q))L z+r6&(5l`c%VE8jw-Njs=01FloYI?0p2&^-tZHnRygM5}O))u7&>9&hUJrH9)(UsJZ zURY39Qa-hD^!eoEzMR?`SvC91vF#WQdKDEs8r5sF>XmogZtQ?WEf6Z=7o3m#mwWylJ(yu^fqBNu5u)rOTW7*cbGJLyz~Ldzk9QH9cP{c>Iv3hcsvrV3@l@u@W{*KSaMY+bs& zqjM^^VE-zab?j(FXm_3>s9;K+F-pk?-ilPxBnf!Z|`!C@A_gCS|Ka z={8T2ybx8Pur7@{V^q%gU5*(lq_K{ftxI>Vh&pCcN6M>clzhs-5`leAqx_>fL$oHq zkr~tc-sOPfVBbs{IvV?&flYg6j8;og!Jgrh$iRnwGpN5{!ufQu@YU%;yg?NT(J9bS zg^~xuBLNIDt59g=ZB;1X3ho12RVZu^QWXl|W)%udj3^XUg;Jm`O-U<86$(W!991aL zR#s6G*CK(18%O=i(+dl0OUn7kws`ravF%EciI8!0n>@t}X;+dKy6a)U6j150)gP$g!o#_NnB@cY| z{!?Oj|B)UkQv*!Ms-4nk3`*7dd`cKQdH+#;Hp;)m@cu{1`;Wq`N8j_k|H$ab`?t^g zR~Dbn*x`DIMY)pTn0Etyk`>|-kK4TMQGJDlS!Kig5HOL;`jFDl6dxf8G1r7S6k|z3kz!st4oUmvEQo7Y+$Es!N;l!>mjzo*R1KiW*AQrm^Hl1zF{FRh^5%#}=0Ad_$@)Hl&(3`xrQ-;B(T1 zo4Y{4U$Vo=(lhWc*x|fu2!EC54Y^L!F6s%z+BvV-SBb1pW0l@HmX0;QOC8CHWt5B=ewuchp;Pl1A1GgThvU%LGFNM=|adgwuI%cHP zL{xR}M`$`p# zpi^@XrWuWEN{G^vZ!EA%q*2~&m8PxrG%-nI@Onz8rikbi6Vucw&=jOoU~6LKQCE_M zTtS7_uJwi1GhfhM`FA^lUP|93|6*RwlypZRs_p4gC&#_q%R@Z zVr=BGJH7PiOrYIe&uqXoaRl4;4o$UD1bg^oz<*gEHa6C?|Crx@NiRjSzsS+-?cL!M zwu9=8_#O^zuV`&up*DGEYip+&;tt?AD=by;?A*RMQ#R7T1wn^UjrqM2l{DaYNmSB+r-~-q7aFks znecDRtxRQP#1&YFVQU?%EL_w&s0^G+u91_uhV!qKh2w?buwe|G=ykAV;i4WPH{yFr zo6v_SY>!W&bi1bh%Kpp7eG}rZF>0^0Q(!qz zvpH+RAqRGRVZwQx$l_4=FIeynJ3cIMbA$vp@yRj=9CFC**q=j&5BZ1+?OJ6lF0Md{ z8Vm>tLjqR|@N@F-EwU*Kz&(|LrbiwSEau>dhKm?R9fm&!g4-SO2DuO;A($3S z2?pTiv8zwtSFydW6=>q}eDem1aYWIxsHJ0_2YY&|mz1`3k4&s>>))_;<=U~S(9yL$ z7q`}zi%X|_L)+_>S0?^0Vc z`;5xMpwA^(y&L3>S|+^!k|_|mM}%7Hr`?E$NaTF@2t)DT6uJU~IOUV(C+?{G*>sht z0o9|F{-Fxe7I8yHr*CBA=FL<0+*4UrRalsswqZmBhL0T^4*$NgCI>Q_jy`WipMKek zLVvHfL%cG#--zYxCzAs>YFx8~gPwKoMRG06_Yz1gjn{-rS+3xaPCHx}@OYXZ)%Fn` zM5@k+Z)?Y}5Ad?jF|`ktKwsHfLLLo@h(vwD){~py;MfNEvTG63OVj$F!~#);1c_f7 z7wWU?Vyl!?<@S^)3&U??cwqYewwFq{y{fmQJ=_d?mvE z0~;w0K2lzN{HRzK{_nxzt?NZ9@kxz_bPvU!Nt<8A{D_9XwgCLx0`Rj7z~6Sj$x~JR zp0VH^%pDUxXTgbUk#W9chqLda=v=VDA4Ckqq!ZSAta&|X(Fve#A8^OKJ7lC?sVLpl}h~N zv%|9EH{ia?B;?VcfU3e{7N^$gs46rlziy{&aZra>X_FZC?`R|eRNSi`Ys?`QutJGstvhGhi{xtK&uaXoa<2fNdi=70|LBASwV!U3}ZF@U^ zq1UVQtG~1L-ut(Hd&_;F82#ACiL&@`_z9#b>ZPR1assgMGaF|0w^0(W|I2 zeMpdYP&Cfj1#y01(K%z{$S=<=MCT6ouwm3jkd zdP7!A1Fru6>%I5y|LJ%4fA~ZDp8px%^H?JEZ+Up(+$)HJ(wd}FrZHu49Fi;a zIHgpdBH;6ab+~$%A9(4(02T5f>P=clJs{cALJw=ny6~KTOQ>{hc6oVopf)Y#m6@-6 z3GDsK=*pbz-cmeyDpM4Hjb3Rt95!}gGs)gO_*rR(lh#o9XB=?a9SZ(}15UE7;B)HB zIrHehWXI>-tMD(_;gs_-=$v=JBjbOA;8>?J{P7~Vxxl+vSS(na8dd$P)NQPHvBZnv z)uJu@L-B9n?+y=liW`Pkgs+0UDcaQM6$Z~>566I?BfHvy6K@p$3nm=r7LCz_&&gKM zb7{ShgmLU|dKW7Zb@%vY;S$tUEEaL7>OfcyD8h9Og_&2wYc(n$a5#B9aVVUPiyMp^ zNJ>h|P0C3_N*({;VXS=XMz|Zd;v?T$;qU1Dbnl~m;!}I+U9738Cp$Bi7F3s3PE8ES z-{V=V!P!@zPf1>zQ&)}5-A{+N8u3EYle_hcmM2GNXimhVF11zB($!j(#Id>DrF5qH z7>oVAGIqJi)$^0j&8}Vy929oMsJO({==l|wF?_v+D=wjZY!#Oy%GEPVZLx|JJsW1N zd#$nRCwXob49Er#lINL;u&{r}It%#c?B)$({x#PQ>@3R2_p7#z=P(q_fXP zU^?$4@TlR2MPt^-rfHk^IT~FIew?+z@8r0=8bd9?Y2JDuMub1syzP{RV^FG&L5b!~ z5q@W%jdC_dgnyVL{7y`o_xuQdWONkax6hk2AW@+DJ`+x>m}S9v6=U$}B@3U%Ofh3c z=Yk#1-j#yCZ2PQu-xY}^xf)fLj)+O;JzPL|>sWtS(8D!u4x0^KZvo{HO*=tZ%Ya(hbqlj0L} z_#k{Mwv0kLH8Iif^q+~;pCsbrtp=MyOB)+2D>Y4BO{i?BtcQD9u5KqR!VSP6e@@g4 zK~e>q{Z^8BD(t@M&E+qsHgnEy4%kZZ39V>fB zs>QlR8#}`f^38-HDzR;8X>W|Wme6%#XsmI$xEwi&^Q2JQBnL0WFJVn&bj^vKUEET8&)|3SsGLn=jGy68WhPPkE}j;1E-{vzctFCC9pUX zF`>+Y%%xQ3SAxqJnHG!8QnySeH^gV#8v|x3aqne4BD^Jia#ine6(+oS1ol_c##dCYKlRJHDPReXRUS@cLK_Ee54(eLkfNvW<0)v(HBPKQVMp8|xe=Wmmhz z#{nl@q~Pc6aP~k5PCn08c1G5?}Y*{Ooe3A)@BG%!aLsoSaK0i}{H?opZ zC}1Y0%(~(ttF#`5gJD9Hk(t2;MmZT6OX+XOOvS?FCyUF<%IeB+xurN5q^q{`@>67N zJGT(sh@!_&lvWX+U&a}#)RM-Q(6ZblRX1#HsLA%mg#6cxT@|;sXkOv4+Fqf~q-=4Y zvBhGn+#3eRE9Z&@(ys*w&-l_Gx}z%GmiU{N*4~L`l0u ztf}*)G$q-%w&y$&qMkBo(63zHTzqKtx@&{>TwUO@{=O@FMR+iM=jyeiHDcSMtzF?m zwuBv@9nNf>3O;w9=ENQW=x`+SiKs~C21uE$B~B+ru@_QwhmE3};EGH7X?T!@ z8e#_UoUHc}{I>TJz#t$O;u}yDtF*nBVBFxO$JbT3()thm^sz&y>T@@(JbdX?=jzp6 zQ(dc9bs{eF>*Lo<*418fToi|293LH9FY?1Lt{)p67yN=B_=M5W>GECTljo20>L~Fe z3VzlBr&CSgpK-t=bY3DjX1gAKF~w~QwH=|wxMcwKZ+^j0-7-)w)knO?sMm^e;W+c- z3jC@9(6C!3K^adOsR}XX5pD@MpIBhtM2B{pbo-X6!PW4o4WV0?=*Z&*=9(Usdp{*D5K#^3T1hApRU)ebdy( zk5RPc^v+LQfq2Vj20k>r;-P`Nz&F(|@$DA|-x_(o(eQK94kx=v;lE(QvA<~iCVYUC-Rg4<6sufOu`k|>I~gjqq3R@~?+W2bFUlOr_XmB0<86(N z?f1~Vp(B$!_f?eTrB5cV9~5UVTE6_E6m@;bGjrt7?r>REb-X4qXHD*vtr$%L>H2sS z@e}v4B=~nXRDBJX_SOnKbQqTqmp}n6Ph56ovCoSSD~LcT3emnF{&B~oa7_vKj%}Bn zxalU@I{W<3MN;@pL^7E^TLou85_SUuOC>6gTEh9Gc^GtqF&4%pkQ>m@=xudikbi-n zpVX2m4@|VEHt&-LO~iEen!Re|XH0VMCT(CkdY@05Zr3e9n>eOlJ#RFPXmN*gG^(c1 znBkFmE$CL`yY)e~l;RrQ`i#Ys2nOBCoR4vZK4kSuH$9na;LA16abEN8Tr+7$b8S9t zy8F2RZRXm}d845_pvRn}QF%p!YnRPyL0o&(+2YaIl0?k<~lh5siT%U$ijjwrCUvvQ^ha#)o**M@R!1 z+#0i5zHYX3&RxIP!uaa~7!jFz!^BX#MQICtIeMpW$RjR3?Tk zoEGWfv&M||<-EuLVQ7|D?Yu(l47wRF$h9JCMAhvbp*DD6bejba3gbydTm*;iqGy3? zRIHqiON=!;d&v^I3!b05Bx^}#sV^88XMEH(;7jqT@AwsG(A`C7GQE6zSLe`&;|6Y6x9*04O)FM6O?F%~+1$NiGvtN)*W(}$?-=~M z30^+?YxFtZ7#Qbp|2`U{i08mGa863YqN;+FhD_RsL@=DSzoGz*y+9vlWAp(&>5Hv# zzTm{bYSKD?80$=5)I?qoP70@%YB(atD~#hSDKRxUF)b;rq{tnYiF}OlCCNabMXh8Y zW%}=vcMJ~RG5Pnu?LBsEF9`NrH$Hw{&*;JJlLy25z>gyI^J&_9x}J{v)86r)Q7#l; z0km?MJQ9*g41rF&bMg|qO#X8;pn+&MOapfOoIJ)h#x!m)*x+~#!GObh`j*+J7SMkn zVY5)*t_$3^p|v4#G`d7kPNZ5D><{ZJ0%{ZRixb8s(D3O|`uHdQ@y5Zk%Yf+9OWydO zOblIBM$rO4E~67t$B1E9P~1|Tko4i-WOH0(U#JsOo5tGMddJ$R-c8!h z-j~LpO_9t6Xw&NGI3c4(LlI3nAq_6kXpG7m#c`aFQ7tI4NhhSOg*qXTZKXa)KGhmg zgp+wZDpae96WikB|X0&?n$@BrsD zXYl9k0g5ErMh9(1dik&np`vW5hL_0Ggw#{vX(NsYPYISeeXCc!lvHQrc){dl+CUb9 z5?M>L@^f?0G{cYk8GLTpKN(3?{N_7x{Kd%oZXWEver(+UV0L*LzEDCLsk{sf3L!^a zRDk1vBNmliQqb44`I)~O%iG65@s@URu^UP2P*EH^IL!7z8%d6hI>vH z2YkERx`+A)nm!i(iFo8wV)ex8`jHxc;XqzdeN|;$*TW;B&q20$L@e0|y|L!)aPU=W zKMiA!r|2kHhTF7a7hRs=ia?A|%36+%QZWMlAulJ5H6A{;oWbgDT0AKJ^p%k_P5gv$s(c{!gGJ>P#;J4|qIu>LS)aJb2A{ zQpUiDb)sWVHX1R`W86EWS#vKG#g*6b?pD3yoHlxoI;YLvv0$AxH17iuX!q{oB07x~E?jc+ix;^^B33w-$v{i7%tKA1LIS=6xQ_MJBcZQpHO|v@Ap007d}5;vS#DJ*p8cy ze`9)Dk3W6-^z5;YfyVV4@IjDoUwxzO41WjnK|Dm{M#hg92^`~xtMhkYRN63_=V3eo zjFbolUMVnWSmzvKnj!&~ub;SvSVGf03^(Ald`bWVr$i-T0J8=^S?4QS6m>98i4DN} z0iTSD^Dme*EemKnZgoG$vP3j-G6I8qng7P$eq$T&OY>Sb0pmP*mukG83-d4(-{@pi zGirBY;A9!Vx~HS}#fa-8AEi?+3R(~+i}|$;tTT4Qq#MW0GSY>qDarWw0lhBZf!swE zF45xt=Him_-Yxwj(>EUf=8henqI~Ca(y5;WK4$WHtj5*m92YQF;pK#vBV56Y3Flan z>7|CE2v_i8f?^3LW~Q9Ba8d1eNyL%m$gptyf= z^0FpzmB|*8JG^o3;}zg>>D|Wn5Xrl?&(!UhDS1q4rf)cBYS`;{$x!r50d=;Q0$}n* zzZ4Lc5sBmAy;ib=J0;zP@lZzZh3XWLzAP zzn#Zt(zasD#tg_SchatY7uqyu@|>M58ucZyW6MS#&`UYH&#pv_}@>r`zX zIn|6^Gr>Ekq`uf!UYWi;X-Q+lN2XdDx3+igYQt_4|8?mqghkap^0wT_TL$;;=3RAU!CloMi8p>77*Tw;w~WpAyV| zE0Uy5Nyb)$Iu_&EgCz)w!$t+;Q8)%u)gJu73D2e~zct7&TcG9A^gv}K_+h?2X?^kD zc;aB*jqtDBK63GR_ga5`aSp1-T0^TwPpyRlwyR!_iA;a6FuSWXJ3nPvc1z8wW$vNt zh9O4bq(wy-qT{PlzIUxo8E6|tfAPz!uajxtkX+sL)VqgV=e{f$5~ zUx&|2%eB7HTjEPl0cW$$Peq-5^gJeCJ#Nsin*Gb<9YaHROv(fmhMwNL=lJnGqoXQd zPgx>y_rb}@1CS^3!8$_?PlO&$bjD6`F<_}oT*4x7WU>Jk$X@=i-kO<4lm_>`a* z4i5*Ykl%r+m8zms84cpAr%qjR)AXNK4-WQScb#m#c>CnVkHYGDrn9}h^L4AoHrR+6 zWaA*qq*y>7FW2xd#qZ2cjjxucr= z%C>IqdHHL+cW%U2A}OO(PX16%I%0A#Vs)3q-KcATfdA75QVQ2KP!cRF_fZ&%s|(a6 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
0`*Dw7>D1{RG}=A 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 z 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
rKeyu10 ze^FG761UE6QAC5>xyyIc*%iCaT~g<4+;tzN59~R2d7ZPZf3Jmg?)XIu=heB(_Svhy z&Rx4iW!&4B?6YT`D;|P*wUfacoi?58z1TU>IokQ6bE)DJ+^!QY9#>rNw_RVS*wwqO z>2bw17h{~MPOr1KbC7e4bGoxm5uL7e?r6%pj;iUaZ|MLCEmmPez-f?%F=oDt4gou@v}+1EM5InFu5xzPER zA_D!$c~CJCUUL4b`0W+$7fyNj#$mG+Z5vv$1BXzz3Oa}IS*aL!UBlmAexk{>${IlogJl6MtrWQ04`?MRo; zQ_PhK&U8gQS?a8EPSkmUUvsW-e&F2g{8BL+{_MQx=DL;cINJ--e!eqOv0P?2^PT;j z!<>_JmdHhl^l*csJZyHJc3ySfcav_FVmWBnMfn1!#+j&lxQ8Mr9PXU#eA)TBBB|V{ zr}Sa%6kk(ZlsrW`ncz-OmoLomTQM&Ny;)XSr z-bQ*C>Aj>6kZvY@jPyy;=SW{9eU)?z={C~s8s_mi!KaZPqegR*pGtcCp-1NwAM+`s z$J&@HKaKPRQMsJjPbK~Q(TC-XIpNbtk6L+bPSXjWMtVZ)l$_QRK8^IGLr%!)JmFJG zk3Au0)(I#5^V1XUsq6hTQgNf6{)~6k32LNcmBuX!lz3K))@D0_Ao^|P#!=3stG>8| z8m;7p9ZyuRFO6+^~66T zLl-A%^^lB<-!ga?(k4=NmEx-m-yn{AMf{nPOH1dMUSE2Bxu@@SN_X;E~&V; z;_-?PQmNFe)PmHq)Y{ZxsS}lMNIf%R?1=dz4jOUFi1j0`ui93#WK`d%!$w^=>cWQ0 z8>g#%>m$eUf?i3y-uFK6{^o7>cK8aKq}WuxANVmp?kD^lzrk;+6#onUss6wEr}Pxrs%pW&aWNLc^opY5OHpX;yn&-2gs zzv8d+FHjV$uPQp$*AyM=>;5u6ULu4#(BHN)@nXZo}J*?za*}a^ z{;i50_CrMvyF>BAG(-OVey8`e_l*B5|55*c{Kx!X`;Ys-@t^R2>p$uL&VR~(+JDA> z)_>0bz5l%b2mb~CkN%7PpZu5nm;G1#Kl`uxulcY0Z}@NeZ~0sNzxZ$a@AzB&zxvz! zcm4PL_x%t2zxmt!9XjArV#>e|f*=;e6{##I$PJP~UXULY1cgCSP#ly5rHWlv9#jOW zU_?+ER0Y++$e<<|71Rc!gSwzTXb2jEF~Kgu*kD{RK9~?R1rrtLY*H{eXi=oIDM4E> zHE0hyg3e%CFg=(NbOkemS;6d}JLn1K1apJlVAo(?uv^d<>>kVy_6QaPdj<=G{$NqC zSFkwPJJ=`KH&_zv7c33-50(X=36=++4ORr73l0bl3=Rqo4h~T?wLj>DkQakL>1^ef zgFgqa=+vLr?bJBVT6~++7XPXf4WA93(+P3!1@G(hpTF73$vPd*jd?L&=flNxGT1kC z-p$22GyPk!%XRkHnXzx{)Uk7Pvd4FHTFuou=jJQ1b+HR{u7{lrwO%JZeNE?meBDm0 zv9r~6vieOr|Mr&Ht+Cr;KaAb3b89|`{VldVwj-|4m2ofb$Afq*-Wi`BKPY~%&W|}f zenkB9@nhpN;=S=*!PdjVeXWiGGQ{A`R zcbxNe(xT^l)eF2lNs9`+NzT7ZcGu(F<<0f_oL}l3t0SEM;RLH!y%W3>oY%b5z0(zI z)=oWt!+TZ{1>f>>{d%{+ALBQ>WBsZAOt(evd!IX9v}2%om}IdZRexAU)GuEC%J2bF9u(9*Xh*7Gu;bxX3YiedOJnY{f3=Z z<8H8XYTQfg>?(JoosH;zQzst&#J$u`2X`;G^QYV^f=7Z!-0#>qHSQ)mr^dZX=WXY> zSI3gEr29RcK~v&h8>@(=+#lE(Qtpkh>R7dVQ*2ahlzX$C9_8Mmle5RUx9L=xN$#C? z2DbZSJ5kKN+fJo%e`2RWx%cQinmyc~>dfgw+28GF`L#JDr8p<~|*t8K3JuAD%JQQ zLHq~qmiUeF8{NOeZ;s#Wz8$|ceyjVA&V&1fyVcI3?*tGe$t^a3=^)~sO>bQ}lV!r&4VqKIgSs6jRnP!Ne>3?W7l8zeydpm7)? z`ywDHA~B32BDU-_&7z_b5}O?qK^nwn4d#2Ro9>nmIyxWcGx;N*{`9Zky|-Sy`)*a8 zI`#XVu5((WFbtEL$-bJsHH(?Jcm|Sap)}WiI#37GZo_r7KCR<)lFraMI-lKx7i+Gr z(tL$8B!m5K-LHjOM3!G=Zb~zmrlzTfmA{CY=}Ij4^`;#&((Tyjp3Ff5m~S3tZW+N$ z@(lCF6fEcqSj$&w-(_Zv*?>jdiuK!zr8|OEJA(yF!CGZunHpe)F2>@t#JaS_l61ss zbW8LiU+aU3L5WAmvpJF+MPm~a!a-!6pPiUThSWugrHK`Zd@@#UAtU8(EJz_4T2Ese zk~Ym|(u(zLWAb}7r>(9gyJ9`{9XYv5c(SJ_o}b;wNJj6BnqyH?nM8(ar+QFX>T^kM7|bc4wy zHQbGMPrGq$lAA#`=J{?RwjkH7BJ1+Iv{ixI?e@DuSL9B!|7{YRkjeP3$5_88Y#z2` zN7}aRLEACBla}knxPLGl6h0E>gd@W-;n;9OI3t`B&JP!ci^JS-RhS>X8*T{;!rkHi zurMqNPbW2*Or|9>lQom|l8uuWC7UO&OkSP5KG`nWF?naQTe4TOUvgk_aB@g;Oma$c zesXDYL$VIAql#Nd=Ed8h9K{SoMTtfG5ddt0t1l9;<*UXclTJ2wbSCC|O`CyJxFOlj>l) z)BrQ2CRhp0MNMVN2CE1;u}!Ab0jr_~sL7IgU^S@^R+k1~4fz3BQyPM`q!E}cjltUJ zm}=_C1z=ri3f5y!R5cA@dDS$6n^n^o##K!dcvCeOz=o=63RkJ784RSF3*i+NYuf^B z0SBn&M=*P8E`zUQ?^9ScHCGDz>>Btouq7IuVwYQit%$l(a}}DGnycj+@EW-myq5Sf zHLayJc%57aUN6^!ZKMs@R@#C;kspJ%u^YddPI4o7yR-wlqCl#-L)wFP%FW=XnaXf-cLZ}3Iw1J09s!I$Jd zaK7{fUlw*OHVfo_@Q>0Td_|aj&7WidxKMr${dm3RC7k4Qj_jdYQnx#lkQP! z(!EMex=*P|KUQkePn4RN0Y-zL>hHh<`XqP|#hekSW57fD6j-QFgNOC^;1S{~7=gqP zFap^rnh}Tw&j{3U;4%FJcwC2qLZA~_g)It$Dsrh&1Ca?jY)Ibbz*|7Yy!3t$a>5v-~6z*_nem>utBY-;Pv zU>#im)=D63&(lAF4Rs+)v~9B2v|wM`LeqwGH<5`zO?!P6yjfoZJLn?t7JVJO z6@`d#fhwn_BN~&MpQ3GPqPL0rVva858@Kj-dm>pP=+&AFPS&>rqwUQUUB=N=T@Fsu z72tGT3C_?};1XR8zNu@#rMeb;OY^{7;*#l0nh!2VeWEX+N70v1*yu&N30$M^fNS+# zFi+nD*Xd?3U*8AU>j&Tl{Se%UqD3zv%0T1H=io==@l$5l!{E-u4l<<P}+X8-J}x(ZJ0 zF1wNA<94gdVy0HR+iv3cg#C-F=2D%pd+a+LpR|8v4o`ClX7+bEK4m|0HC(#0cAw>` z*j)QD__qB7TxR!!%k8J&3d=LFEA2sWmHiA{Z4ZHKY$3ST9wuXB9>44O&F2>tk^2+w zNw^Q;vxUzSKEvSU{m@+zsH^E(f;}D9%iZI!USz4ndb!@Nd!S*XuoKuMyaQ|442C6U zG@A00jXKvBPUS|FsmoAP`l8hh;OACUlHr`2%TIT7twli()R+R)sCc*S$79VZ7$Ku& z7TFILN`CN)Y?O_`Iw_EXAfK%3hl2G!)A|Oq(Tc%`da+&{Y|(4=+ThRZuzgFgRr~4# z!A|zs9vJM?hxF0lQ=gai3!jU&D3O!M367B?a&BA z^~*SWFI)cS+V@211&1Yz+@Ou6nY+|oDi@O9vy)sDy3olbVH8HpZ;o%CV3kvkZ%MvG zjs)#Y_}($Ea$(7tOrBFVno;pNVZ0Xbos{Q!CZ?$HwIWJNkdCLk%k6Rd@WKwbgYFQ% z*b%(3lkSu|O=f_&%n<(@e@=1zF+U|ifB(tx8TPVg5sv1W=wq#nAkXO=+BnYssTcUW z)gXm?DZbN7d1o9sU%sXWQXI{ajGpcgNy_l#gN*oT1hw!LqaZu> z=P8%)H4q_(r;twlSF;Z6h|)Izz4#e)#8v2IThZZ)@Nx{yQ(BPew(~6ZIL0sEeJ5DN zT_qeNyyVqh|B5@{a~TCZB}PHXHF~_;<;!CQ+`iH}Kj&zhI~t#JUw}oWSC08B$H6`B zM11}1m9PT+IwPzIRt{6aI4&U(rkB2|KETpyqf28`-2V2)p4&c(Z`qQ z>r33{OT=x(>JHAJ2Bk|@bH2x+JkHl^GhWCRwjXdH9avvxe^tqpy> z)KjihN<7C|;ve}t*WOs}3h(z^)Q*@zir)|OFqJZ`>@}sOgi+VL+|jao>G|x^^F-d-)6V*L zO3XO$>TEs5eIR~sG2>p`&e$^<{WUe^+O@uB4Tdu>l=Zy0&&BPWa9i+QD!RB&3DG5G z_wUFWAKyzJvtIE%m$c58SRc+~`@eeL_hyM_hI7u-D$KI}PI%Wop2yiwQOzWc%r@PQ zce@j>b~oPaUcA_k@m}}iwI0A*{R}U)5byK|Ug=T1(IULi<9MGZ&%yU)*qxArV} zn^GS9Cb+V5Isam2yz6g_R5RVoFwcEw#(ar+ z(=0V_k$2;57^3B7g;@!Qz8bD*t;sX%OuktUYqZg9GMAsjzxKpq>V>CNo^ve-JHeU8 z{!-|zVGwg`!I79-3y$Jf+!dT~>tM_b^Jypv?_Ie6vz}C@>3r9IRR3G`r2k1#DeFt^ z&Z8fFoyzk6)04{j(X@ZCo|J;eOpL1>h7<1tC*C#~j5jVJf=Zu#b``CU3@+0gvJabSX=9z=k*y|3`VxBpu z9P`XUm6&J7XM|@Cs=_np1zFxNtrq(r!4JG&+Qj>%&AngR!uzF{m75>pxysKEx)pCE zjzErp0 z6t$7I@?*I{Zj^R%leCwcrGwl;9;2U-$LObIGU`MoqdVkI`I&Tg%Qm40%+^p^)@fc#t@lwZg|`44$Wekp_GS29?BEf33Yo;bQsM36FP!inIm-+9RKh1Npe1p(WhYhf3MHz zf9hEMFL?hy@c*0Rb%IVr0hp{)bgE9%>1YAZ=}euav-NpYfw}sEzNqu`CG>%pb%Fj- zUm?fRLUJs?`X50t2H{=fI1is`pkOm`=~s+k@rRZS0{qnmz{W;(G%FP&Rp=*uPX~92N5zD2%b%I0m&bN1pO(BU&SBBU&SB<9M$y zPVfrj#6+wxPW1}obgwYZ^a|rFuQ1L=VRZ65>y~tx!@8xa%=3EU0#+^cQ5c(|BrfzC z;_F^9TfY)ydkEvx6h^Yp{rmSkLqwhl3Op0Ux{sA#yt3cV zY!O@hbZ_yic#B`hTl~7-;@2;CXAOgN6uaK>?|D`9A5u1*enZQ%UT}~aNf*K8Re-Nc Lg_BF?GlRba@aD!@ literal 0 HcmV?d00001 diff --git a/app/src/main/res/font/montserrat_semibold.ttf b/app/src/main/res/font/montserrat_semibold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f8a43f2b203054676b64e38e2b78af5468c39b6d GIT binary patch literal 243816 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

pQ9pV_Wo(eYaP&1a~#B8z|n;+Zi{ z>pQ#FukVun=z{2LWu+Snf-48|gP|n{dVBXr!eyP&E7r6vTfKT&+Ztsb5&cMV{t{~? ziHR5rpLi$y^c3(@cDNp}`nhO_v%RGHf7JmeNuc282yX1>=dqt*oZ2rL`&lfKJ?X-o zf^eV-A#ar~&F{l>JSWYQTqCRaRD3S5{k9nUN7L_4!Im(x$=HaR=$tt6f8!sCn|v;gW*4 zK4jm%&#!6u_uf0^w1h5i9v@N=zAn(SNOCl>*MwZ~kT4)YUZi0P~p{=A0r;9S2WM)w= z6LzPW%j_{9cY@bw0|LoR0bRgXBw)(#^0hP5+*x1cNxL|I)D5irQ7f2EfC zb7o7=Y4L6Cm(T-f`AgOV2F90746h#;WNQJ#u(bxDv2A@rV{_ly5=`q)oG(0q|3aP+ zElJjag4!=2_sn;rzyw0zg0gw1(H9&T8n<~YdCiV}3QF9w95V5N}qR?dKWo7fs}A?@ns3dn?3wru5&@u9D*>YTOoM zKA)Rt#%onH?mKE6@qPRh69oS?c6U0}578|F$Px7l6!w|94PlTzNx|Rg+O&)y-N5k} zcP9C9uV6!YD8DLLI<{rqkBf%0Dl260;va{$)2^d$(aJPaV>YQV`Am+1|5LU0Z}8Jk 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 H&y4;71utqP literal 0 HcmV?d00001 From e7073ccb4d57d0a4a6e9f1192e6fa953703e51f2 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Thu, 11 Nov 2021 09:26:54 +0400 Subject: [PATCH 09/29] Fixed up profile screen icons --- app/src/main/res/drawable/ic_edit.xml | 10 ++++++++++ app/src/main/res/drawable/ic_logout.webp | Bin 4578 -> 0 bytes app/src/main/res/drawable/ic_logout.xml | 11 +++++++++++ app/src/main/res/drawable/ic_prof_edit.webp | Bin 10138 -> 0 bytes .../main/res/layout/fragment_edit_profile.xml | 6 +++--- app/src/main/res/layout/fragment_profile.xml | 2 +- 6 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 app/src/main/res/drawable/ic_edit.xml delete mode 100644 app/src/main/res/drawable/ic_logout.webp create mode 100644 app/src/main/res/drawable/ic_logout.xml delete mode 100644 app/src/main/res/drawable/ic_prof_edit.webp diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml new file mode 100644 index 0000000..1484d60 --- /dev/null +++ b/app/src/main/res/drawable/ic_edit.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_logout.webp b/app/src/main/res/drawable/ic_logout.webp deleted file mode 100644 index fc5825df0158348ff0c93db085ec7b2735b6e2e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4578 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 diff --git a/app/src/main/res/drawable/ic_logout.xml b/app/src/main/res/drawable/ic_logout.xml new file mode 100644 index 0000000..d7db390 --- /dev/null +++ b/app/src/main/res/drawable/ic_logout.xml @@ -0,0 +1,11 @@ + + + diff --git a/app/src/main/res/drawable/ic_prof_edit.webp b/app/src/main/res/drawable/ic_prof_edit.webp deleted file mode 100644 index e13d6a2e19059c1d72a16ed2ae78f8b07ada8d53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10138 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 From a0fc7d7ad0525b4a6009a630debc27f515b85152 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Thu, 11 Nov 2021 09:28:37 +0400 Subject: [PATCH 10/29] Added Profile Screen --- .../java/com/academy/android/model/Profile.kt | 4 +- .../java/com/academy/android/ui/HomeScreen.kt | 10 +- .../com/academy/android/ui/news/NewsScreen.kt | 7 +- .../academy/android/ui/profile/ProfileInfo.kt | 6 + .../academy/android/ui/profile/ProfileItem.kt | 7 + .../android/ui/profile/ProfileScreen.kt | 133 ++++++++++++++++++ .../android/ui/profile/ProfileViewModel.kt | 52 ++++++- app/src/main/res/values-ru-rRU/strings.xml | 11 +- app/src/main/res/values/strings.xml | 17 ++- 9 files changed, 216 insertions(+), 31 deletions(-) create mode 100644 app/src/main/java/com/academy/android/ui/profile/ProfileInfo.kt create mode 100644 app/src/main/java/com/academy/android/ui/profile/ProfileItem.kt create mode 100644 app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt diff --git a/app/src/main/java/com/academy/android/model/Profile.kt b/app/src/main/java/com/academy/android/model/Profile.kt index a0ca08e..f43fcd5 100644 --- a/app/src/main/java/com/academy/android/model/Profile.kt +++ b/app/src/main/java/com/academy/android/model/Profile.kt @@ -5,8 +5,8 @@ import kotlinx.serialization.Serializable @Serializable data class Profile( var profPic: String? = null, - var name: String? = null, - var surname: String? = null, + var firstName: String? = null, + var lastName: String? = null, var phoneNumber: String? = null, var email: String? = null, var status: String? = null diff --git a/app/src/main/java/com/academy/android/ui/HomeScreen.kt b/app/src/main/java/com/academy/android/ui/HomeScreen.kt index 21e3f70..f21f375 100644 --- a/app/src/main/java/com/academy/android/ui/HomeScreen.kt +++ b/app/src/main/java/com/academy/android/ui/HomeScreen.kt @@ -21,6 +21,8 @@ import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController import com.academy.android.ui.news.NewsScreen import com.academy.android.ui.news.NewsViewModel +import com.academy.android.ui.profile.ProfileScreen +import com.academy.android.ui.profile.ProfileViewModel @Composable fun HomeScreen() { @@ -29,9 +31,10 @@ fun HomeScreen() { @Composable private fun AppBottomNavigation( - navController: NavHostController, - vm: NewsViewModel = viewModel() + navController: NavHostController ) { + val newsVm: NewsViewModel = viewModel() + val profileVm: ProfileViewModel = viewModel() val items = listOf( Screen.News, Screen.Videos, @@ -72,7 +75,8 @@ private fun AppBottomNavigation( startDestination = Screen.News.route, modifier = Modifier.padding(innerPadding) ) { - composable(Screen.News.route) { NewsScreen(vm = vm) } + composable(Screen.News.route) { NewsScreen(vm = newsVm) } + composable(Screen.Profile.route) { ProfileScreen(vm = profileVm) } } } } \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/news/NewsScreen.kt b/app/src/main/java/com/academy/android/ui/news/NewsScreen.kt index 8145218..640239b 100644 --- a/app/src/main/java/com/academy/android/ui/news/NewsScreen.kt +++ b/app/src/main/java/com/academy/android/ui/news/NewsScreen.kt @@ -10,7 +10,6 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import com.academy.android.R @@ -32,11 +31,7 @@ private fun NewsFeedView(newsList: List, vm: NewsViewModel) { ) Column { - TabRow( - selectedTabIndex = tabIndex, - backgroundColor = Color(R.color.dark_green), - contentColor = Color(R.color.white) - ) { + TabRow(selectedTabIndex = tabIndex) { tabNames.forEach { tab -> Tab( selected = (tabIndex == tab.key), diff --git a/app/src/main/java/com/academy/android/ui/profile/ProfileInfo.kt b/app/src/main/java/com/academy/android/ui/profile/ProfileInfo.kt new file mode 100644 index 0000000..8a99ebe --- /dev/null +++ b/app/src/main/java/com/academy/android/ui/profile/ProfileInfo.kt @@ -0,0 +1,6 @@ +package com.academy.android.ui.profile + +data class ProfileInfo( + val profPic: String? = null, + val profileItemList: List = emptyList(), +) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/profile/ProfileItem.kt b/app/src/main/java/com/academy/android/ui/profile/ProfileItem.kt new file mode 100644 index 0000000..d7e1997 --- /dev/null +++ b/app/src/main/java/com/academy/android/ui/profile/ProfileItem.kt @@ -0,0 +1,7 @@ +package com.academy.android.ui.profile + +data class ProfileItem( + val value: String?, + val hintResId: Int, + val isEditable: Boolean = false +) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt b/app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt new file mode 100644 index 0000000..ea45dec --- /dev/null +++ b/app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt @@ -0,0 +1,133 @@ +package com.academy.android.ui.profile + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.material.Icon +import androidx.compose.material.IconButton +import androidx.compose.material.OutlinedTextField +import androidx.compose.material.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.res.dimensionResource +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import com.academy.android.R +import com.skydoves.landscapist.glide.GlideImage + +@Composable +fun ProfileScreen(vm: ProfileViewModel) { + val profileData: ProfileInfo by vm.profileData.collectAsState(initial = ProfileInfo()) + + val marginStandard = dimensionResource(id = R.dimen.spacing_16) + val marginDouble = dimensionResource(id = R.dimen.spacing_32) + Column(horizontalAlignment = Alignment.CenterHorizontally) { + TopControls(marginStandard = marginStandard, marginDouble = marginDouble, vm = vm) + Avatar(profPic = profileData.profPic) + ProfileItemList(marginStandard = marginStandard, marginDouble = marginDouble, profileItemList = profileData.profileItemList) + } +} + +@Composable +private fun TopControls( + marginStandard: Dp, + marginDouble: Dp, + vm: ProfileViewModel +) { + Row( + modifier = Modifier + .fillMaxWidth() + .padding( + top = marginStandard, + start = marginStandard, + end = marginStandard, + bottom = marginDouble + ), + horizontalArrangement = Arrangement.SpaceBetween + ) { + Icon( + painter = painterResource(id = R.drawable.ic_logout), + contentDescription = stringResource(id = R.string.logout_desc) + ) + IconButton(onClick = { vm.changeProfileData(isEditable = true) }) { + Icon( + painter = painterResource(id = R.drawable.ic_edit), + contentDescription = stringResource(id = R.string.edit_profile_desc), + ) + } + } +} + +@Composable +private fun Avatar(profPic: String?) { + val circleImage = Modifier + .size(80.dp) + .clip(CircleShape) + if (profPic != null) { + GlideImage( + imageModel = profPic, + contentDescription = stringResource(id = R.string.user_profile_pic_desc), + modifier = circleImage + ) + } else { + Image( + painter = painterResource(id = R.drawable.avatar_placeholder), + contentDescription = stringResource(id = R.string.user_profile_pic_desc), + modifier = circleImage + ) + } +} + +@Composable +private fun ProfileItemList( + marginStandard: Dp, + marginDouble: Dp, + profileItemList: List +) { + LazyColumn( + verticalArrangement = Arrangement.spacedBy(marginStandard), + modifier = Modifier.padding(top = marginDouble) + ) { + items(profileItemList) { profileItem -> + ProfileDataItem( + value = profileItem.value, + hintResId = profileItem.hintResId, + isEditable = profileItem.isEditable + ) + } + } +} + +@Composable +fun ProfileDataItem(value: String?, hintResId: Int, isEditable: Boolean) { + var text by remember { mutableStateOf(value ?: "") } + + OutlinedTextField( + value = text, + onValueChange = { newText -> text = newText }, + label = { Text(text = stringResource(id = hintResId)) }, + readOnly = !isEditable, + modifier = Modifier + .padding( + start = dimensionResource(id = R.dimen.spacing_16), + end = dimensionResource(id = R.dimen.spacing_16) + ) + .fillMaxWidth() + ) +} \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt b/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt index c082166..0f17b3e 100644 --- a/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt +++ b/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt @@ -2,6 +2,7 @@ package com.academy.android.ui.profile import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import com.academy.android.R import com.academy.android.data.repositories.ProfileRepository import com.academy.android.model.Profile import dagger.hilt.android.lifecycle.HiltViewModel @@ -15,19 +16,60 @@ import javax.inject.Inject @HiltViewModel class ProfileViewModel @Inject constructor( private val profileRepo: ProfileRepository -): ViewModel() { +) : ViewModel() { - private val _profileData = MutableStateFlow(Profile()) - val profileData: StateFlow = _profileData + private val _profileData = MutableStateFlow(ProfileInfo()) + val profileData: StateFlow = _profileData fun updateProfile(profile: Profile) { profileRepo.saveProfileData(profile) } + fun changeProfileData(isEditable: Boolean) { + viewModelScope.launch { + _profileData.emit( + ProfileInfo( + profPic = _profileData.value.profPic, + profileItemList = _profileData.value + .profileItemList + .map { item -> + ProfileItem( + value = item.value, + hintResId = item.hintResId, + isEditable = isEditable + ) + } + ) + ) + } + } + + private fun buildProfileDataList(profileData: Profile) = listOf( + ProfileItem( + value = profileData.firstName, + hintResId = R.string.edit_first_name + ), + ProfileItem( + value = profileData.lastName, + hintResId = R.string.edit_last_name + ), + ProfileItem( + value = profileData.email, + hintResId = R.string.edit_email + ), + ProfileItem( + value = profileData.phoneNumber, + hintResId = R.string.edit_phone + ), + ) + init { viewModelScope.launch { - profileRepo.profileData.collect { - _profileData.value = it + profileRepo.profileData.collect { profile -> + _profileData.value = ProfileInfo( + profPic = profile.profPic, + profileItemList = buildProfileDataList(profileData = profile) + ) } } } diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index 970dcd9..377bbfc 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -17,9 +17,9 @@ Пустой фрагмент О чем будет Ваш доклад? Подать заявку - Ваше имя - Ваша фамилия - Телефон + Ваше имя + Ваша фамилия + Телефон Адрес электронной почты Кто вы?(Студент/Ментор/Организатор) Обновить профиль @@ -34,9 +34,4 @@ Похоже, вы забыли заполнить поле \"Ваша фамилия\" Проверьте правильность введенного Email адреса Пожалуйста укажите свой статус - - Фото лекции - Иконка для лайков - Иконка для комментов - Поделиться \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c650d36..5572884 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -19,9 +19,9 @@ Report description What is your report about? Submit an application - Your name - Your surname - Phone number + First name + Last name + Phone number Email You are…(Student, Mentor, Organizer) Update profile @@ -35,8 +35,11 @@ Please, set your status - Lecture preview - Clickable image - Clickable image - Clickable image + Lecture preview + Clickable image + Clickable image + Clickable image + User profile picture + Log out + Edit user profile info \ No newline at end of file From 9eee2895f996d8357725f6ce132232592b992567 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Mon, 15 Nov 2021 09:54:22 +0400 Subject: [PATCH 11/29] Organise code by layers --- .../android/data/repositories/NewsRepository.kt | 2 +- .../android/data/repositories/ProfileRepository.kt | 2 +- .../android/data/repositories/VideosRepository.kt | 4 ++-- .../interactors/GetFeaturedNewsUseCase.kt | 4 ++-- .../interactors/GetFilterParametersUseCase.kt | 4 ++-- .../interactors/GetFilteredVideosUseCase.kt | 4 ++-- .../interactors/GetLikesCountForChatIdUseCase.kt | 2 +- .../interactors/GetMessagesCountForChatIdUseCase.kt | 2 +- .../interactors/GetPassedNewsUseCase.kt | 4 ++-- .../interactors/NewsLikesInteractor.kt | 2 +- .../{model => domain/models}/FilterParameters.kt | 4 +--- .../academy/android/{model => domain/models}/News.kt | 2 +- .../android/{model => domain/models}/Profile.kt | 2 +- .../android/{model => domain/models}/Video.kt | 2 +- .../java/com/academy/android/ui/news/NewsItemData.kt | 2 +- .../com/academy/android/ui/news/NewsViewModel.kt | 10 +++++----- .../com/academy/android/ui/videos/VideosItemData.kt | 2 +- .../com/academy/android/ui/videos/VideosViewModel.kt | 12 ++++++++---- .../academy/android/util/SharedPreferenceHelper.kt | 2 +- 19 files changed, 35 insertions(+), 33 deletions(-) rename app/src/main/java/com/academy/android/{model => domain}/interactors/GetFeaturedNewsUseCase.kt (83%) rename app/src/main/java/com/academy/android/{model => domain}/interactors/GetFilterParametersUseCase.kt (74%) rename app/src/main/java/com/academy/android/{model => domain}/interactors/GetFilteredVideosUseCase.kt (85%) rename app/src/main/java/com/academy/android/{model => domain}/interactors/GetLikesCountForChatIdUseCase.kt (88%) rename app/src/main/java/com/academy/android/{model => domain}/interactors/GetMessagesCountForChatIdUseCase.kt (88%) rename app/src/main/java/com/academy/android/{model => domain}/interactors/GetPassedNewsUseCase.kt (83%) rename app/src/main/java/com/academy/android/{model => domain}/interactors/NewsLikesInteractor.kt (89%) rename app/src/main/java/com/academy/android/{model => domain/models}/FilterParameters.kt (58%) rename app/src/main/java/com/academy/android/{model => domain/models}/News.kt (86%) rename app/src/main/java/com/academy/android/{model => domain/models}/Profile.kt (86%) rename app/src/main/java/com/academy/android/{model => domain/models}/Video.kt (83%) diff --git a/app/src/main/java/com/academy/android/data/repositories/NewsRepository.kt b/app/src/main/java/com/academy/android/data/repositories/NewsRepository.kt index dea907a..4298ff8 100644 --- a/app/src/main/java/com/academy/android/data/repositories/NewsRepository.kt +++ b/app/src/main/java/com/academy/android/data/repositories/NewsRepository.kt @@ -1,6 +1,6 @@ package com.academy.android.data.repositories -import com.academy.android.model.News +import com.academy.android.domain.models.News import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/app/src/main/java/com/academy/android/data/repositories/ProfileRepository.kt b/app/src/main/java/com/academy/android/data/repositories/ProfileRepository.kt index 26ad1fe..2bad82f 100644 --- a/app/src/main/java/com/academy/android/data/repositories/ProfileRepository.kt +++ b/app/src/main/java/com/academy/android/data/repositories/ProfileRepository.kt @@ -1,6 +1,6 @@ package com.academy.android.data.repositories -import com.academy.android.model.Profile +import com.academy.android.domain.models.Profile import com.academy.android.util.SharedPreferenceHelper import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow diff --git a/app/src/main/java/com/academy/android/data/repositories/VideosRepository.kt b/app/src/main/java/com/academy/android/data/repositories/VideosRepository.kt index 27c6f48..ea97ff2 100644 --- a/app/src/main/java/com/academy/android/data/repositories/VideosRepository.kt +++ b/app/src/main/java/com/academy/android/data/repositories/VideosRepository.kt @@ -1,7 +1,7 @@ package com.academy.android.data.repositories -import com.academy.android.model.FilterParameters -import com.academy.android.model.Video +import com.academy.android.domain.models.FilterParameters +import com.academy.android.domain.models.Video import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import javax.inject.Inject diff --git a/app/src/main/java/com/academy/android/model/interactors/GetFeaturedNewsUseCase.kt b/app/src/main/java/com/academy/android/domain/interactors/GetFeaturedNewsUseCase.kt similarity index 83% rename from app/src/main/java/com/academy/android/model/interactors/GetFeaturedNewsUseCase.kt rename to app/src/main/java/com/academy/android/domain/interactors/GetFeaturedNewsUseCase.kt index bd5c8a5..893f0c1 100644 --- a/app/src/main/java/com/academy/android/model/interactors/GetFeaturedNewsUseCase.kt +++ b/app/src/main/java/com/academy/android/domain/interactors/GetFeaturedNewsUseCase.kt @@ -1,7 +1,7 @@ -package com.academy.android.model.interactors +package com.academy.android.domain.interactors import com.academy.android.data.repositories.NewsRepositorySource -import com.academy.android.model.News +import com.academy.android.domain.models.News import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import java.util.* diff --git a/app/src/main/java/com/academy/android/model/interactors/GetFilterParametersUseCase.kt b/app/src/main/java/com/academy/android/domain/interactors/GetFilterParametersUseCase.kt similarity index 74% rename from app/src/main/java/com/academy/android/model/interactors/GetFilterParametersUseCase.kt rename to app/src/main/java/com/academy/android/domain/interactors/GetFilterParametersUseCase.kt index d9f9dc5..154f081 100644 --- a/app/src/main/java/com/academy/android/model/interactors/GetFilterParametersUseCase.kt +++ b/app/src/main/java/com/academy/android/domain/interactors/GetFilterParametersUseCase.kt @@ -1,7 +1,7 @@ -package com.academy.android.model.interactors +package com.academy.android.domain.interactors import com.academy.android.data.repositories.VideosRepositorySource -import com.academy.android.model.FilterParameters +import com.academy.android.domain.models.FilterParameters import javax.inject.Inject class GetFilterParametersUseCase @Inject constructor( diff --git a/app/src/main/java/com/academy/android/model/interactors/GetFilteredVideosUseCase.kt b/app/src/main/java/com/academy/android/domain/interactors/GetFilteredVideosUseCase.kt similarity index 85% rename from app/src/main/java/com/academy/android/model/interactors/GetFilteredVideosUseCase.kt rename to app/src/main/java/com/academy/android/domain/interactors/GetFilteredVideosUseCase.kt index 3d5f85c..ebb6e0a 100644 --- a/app/src/main/java/com/academy/android/model/interactors/GetFilteredVideosUseCase.kt +++ b/app/src/main/java/com/academy/android/domain/interactors/GetFilteredVideosUseCase.kt @@ -1,7 +1,7 @@ -package com.academy.android.model.interactors +package com.academy.android.domain.interactors import com.academy.android.data.repositories.VideosRepositorySource -import com.academy.android.model.Video +import com.academy.android.domain.models.Video import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import javax.inject.Inject diff --git a/app/src/main/java/com/academy/android/model/interactors/GetLikesCountForChatIdUseCase.kt b/app/src/main/java/com/academy/android/domain/interactors/GetLikesCountForChatIdUseCase.kt similarity index 88% rename from app/src/main/java/com/academy/android/model/interactors/GetLikesCountForChatIdUseCase.kt rename to app/src/main/java/com/academy/android/domain/interactors/GetLikesCountForChatIdUseCase.kt index 5248793..15756be 100644 --- a/app/src/main/java/com/academy/android/model/interactors/GetLikesCountForChatIdUseCase.kt +++ b/app/src/main/java/com/academy/android/domain/interactors/GetLikesCountForChatIdUseCase.kt @@ -1,4 +1,4 @@ -package com.academy.android.model.interactors +package com.academy.android.domain.interactors import com.academy.android.data.repositories.NewsRepositorySource import kotlinx.coroutines.flow.Flow diff --git a/app/src/main/java/com/academy/android/model/interactors/GetMessagesCountForChatIdUseCase.kt b/app/src/main/java/com/academy/android/domain/interactors/GetMessagesCountForChatIdUseCase.kt similarity index 88% rename from app/src/main/java/com/academy/android/model/interactors/GetMessagesCountForChatIdUseCase.kt rename to app/src/main/java/com/academy/android/domain/interactors/GetMessagesCountForChatIdUseCase.kt index de1dc92..bb30d87 100644 --- a/app/src/main/java/com/academy/android/model/interactors/GetMessagesCountForChatIdUseCase.kt +++ b/app/src/main/java/com/academy/android/domain/interactors/GetMessagesCountForChatIdUseCase.kt @@ -1,4 +1,4 @@ -package com.academy.android.model.interactors +package com.academy.android.domain.interactors import com.academy.android.data.repositories.ChatsRepositorySource import kotlinx.coroutines.flow.Flow diff --git a/app/src/main/java/com/academy/android/model/interactors/GetPassedNewsUseCase.kt b/app/src/main/java/com/academy/android/domain/interactors/GetPassedNewsUseCase.kt similarity index 83% rename from app/src/main/java/com/academy/android/model/interactors/GetPassedNewsUseCase.kt rename to app/src/main/java/com/academy/android/domain/interactors/GetPassedNewsUseCase.kt index 8b2d02b..5367c3d 100644 --- a/app/src/main/java/com/academy/android/model/interactors/GetPassedNewsUseCase.kt +++ b/app/src/main/java/com/academy/android/domain/interactors/GetPassedNewsUseCase.kt @@ -1,7 +1,7 @@ -package com.academy.android.model.interactors +package com.academy.android.domain.interactors import com.academy.android.data.repositories.NewsRepositorySource -import com.academy.android.model.News +import com.academy.android.domain.models.News import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import java.util.* diff --git a/app/src/main/java/com/academy/android/model/interactors/NewsLikesInteractor.kt b/app/src/main/java/com/academy/android/domain/interactors/NewsLikesInteractor.kt similarity index 89% rename from app/src/main/java/com/academy/android/model/interactors/NewsLikesInteractor.kt rename to app/src/main/java/com/academy/android/domain/interactors/NewsLikesInteractor.kt index 7b70fcf..7fe2b47 100644 --- a/app/src/main/java/com/academy/android/model/interactors/NewsLikesInteractor.kt +++ b/app/src/main/java/com/academy/android/domain/interactors/NewsLikesInteractor.kt @@ -1,4 +1,4 @@ -package com.academy.android.model.interactors +package com.academy.android.domain.interactors import com.academy.android.data.repositories.NewsRepositorySource import javax.inject.Inject diff --git a/app/src/main/java/com/academy/android/model/FilterParameters.kt b/app/src/main/java/com/academy/android/domain/models/FilterParameters.kt similarity index 58% rename from app/src/main/java/com/academy/android/model/FilterParameters.kt rename to app/src/main/java/com/academy/android/domain/models/FilterParameters.kt index 5cae810..7afd3f7 100644 --- a/app/src/main/java/com/academy/android/model/FilterParameters.kt +++ b/app/src/main/java/com/academy/android/domain/models/FilterParameters.kt @@ -1,6 +1,4 @@ -package com.academy.android.model - -import com.academy.android.ui.videos.FilterState +package com.academy.android.domain.models data class FilterParameters( val cities: List, diff --git a/app/src/main/java/com/academy/android/model/News.kt b/app/src/main/java/com/academy/android/domain/models/News.kt similarity index 86% rename from app/src/main/java/com/academy/android/model/News.kt rename to app/src/main/java/com/academy/android/domain/models/News.kt index 7e38d41..890b99f 100644 --- a/app/src/main/java/com/academy/android/model/News.kt +++ b/app/src/main/java/com/academy/android/domain/models/News.kt @@ -1,4 +1,4 @@ -package com.academy.android.model +package com.academy.android.domain.models import java.util.* diff --git a/app/src/main/java/com/academy/android/model/Profile.kt b/app/src/main/java/com/academy/android/domain/models/Profile.kt similarity index 86% rename from app/src/main/java/com/academy/android/model/Profile.kt rename to app/src/main/java/com/academy/android/domain/models/Profile.kt index f43fcd5..c904b44 100644 --- a/app/src/main/java/com/academy/android/model/Profile.kt +++ b/app/src/main/java/com/academy/android/domain/models/Profile.kt @@ -1,4 +1,4 @@ -package com.academy.android.model +package com.academy.android.domain.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/academy/android/model/Video.kt b/app/src/main/java/com/academy/android/domain/models/Video.kt similarity index 83% rename from app/src/main/java/com/academy/android/model/Video.kt rename to app/src/main/java/com/academy/android/domain/models/Video.kt index a537afe..7d91cda 100644 --- a/app/src/main/java/com/academy/android/model/Video.kt +++ b/app/src/main/java/com/academy/android/domain/models/Video.kt @@ -1,4 +1,4 @@ -package com.academy.android.model +package com.academy.android.domain.models data class Video( val id: Long = 0, diff --git a/app/src/main/java/com/academy/android/ui/news/NewsItemData.kt b/app/src/main/java/com/academy/android/ui/news/NewsItemData.kt index de3a80b..58f5273 100644 --- a/app/src/main/java/com/academy/android/ui/news/NewsItemData.kt +++ b/app/src/main/java/com/academy/android/ui/news/NewsItemData.kt @@ -1,6 +1,6 @@ package com.academy.android.ui.news -import com.academy.android.model.News +import com.academy.android.domain.models.News import com.academy.android.ui.base.RvItemData import java.util.* diff --git a/app/src/main/java/com/academy/android/ui/news/NewsViewModel.kt b/app/src/main/java/com/academy/android/ui/news/NewsViewModel.kt index 104b653..2dbb516 100644 --- a/app/src/main/java/com/academy/android/ui/news/NewsViewModel.kt +++ b/app/src/main/java/com/academy/android/ui/news/NewsViewModel.kt @@ -1,11 +1,11 @@ package com.academy.android.ui.news import androidx.lifecycle.ViewModel -import com.academy.android.model.interactors.GetFeaturedNewsUseCase -import com.academy.android.model.interactors.GetLikesCountForChatIdUseCase -import com.academy.android.model.interactors.GetMessagesCountForChatIdUseCase -import com.academy.android.model.interactors.GetPassedNewsUseCase -import com.academy.android.model.interactors.NewsLikesInteractor +import com.academy.android.domain.interactors.GetFeaturedNewsUseCase +import com.academy.android.domain.interactors.GetLikesCountForChatIdUseCase +import com.academy.android.domain.interactors.GetMessagesCountForChatIdUseCase +import com.academy.android.domain.interactors.GetPassedNewsUseCase +import com.academy.android.domain.interactors.NewsLikesInteractor import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow diff --git a/app/src/main/java/com/academy/android/ui/videos/VideosItemData.kt b/app/src/main/java/com/academy/android/ui/videos/VideosItemData.kt index 6d693ff..0263d3c 100644 --- a/app/src/main/java/com/academy/android/ui/videos/VideosItemData.kt +++ b/app/src/main/java/com/academy/android/ui/videos/VideosItemData.kt @@ -1,6 +1,6 @@ package com.academy.android.ui.videos -import com.academy.android.model.Video +import com.academy.android.domain.models.Video import com.academy.android.ui.base.RvItemData data class VideosItemData( diff --git a/app/src/main/java/com/academy/android/ui/videos/VideosViewModel.kt b/app/src/main/java/com/academy/android/ui/videos/VideosViewModel.kt index 783bd61..df73783 100644 --- a/app/src/main/java/com/academy/android/ui/videos/VideosViewModel.kt +++ b/app/src/main/java/com/academy/android/ui/videos/VideosViewModel.kt @@ -1,12 +1,16 @@ package com.academy.android.ui.videos import androidx.lifecycle.ViewModel -import com.academy.android.model.FilterParameters -import com.academy.android.model.interactors.GetFilteredVideosUseCase -import com.academy.android.model.interactors.GetFilterParametersUseCase +import com.academy.android.domain.interactors.GetFilterParametersUseCase +import com.academy.android.domain.interactors.GetFilteredVideosUseCase +import com.academy.android.domain.models.FilterParameters import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.* +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.flatMapLatest +import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.flow.map import javax.inject.Inject @HiltViewModel diff --git a/app/src/main/java/com/academy/android/util/SharedPreferenceHelper.kt b/app/src/main/java/com/academy/android/util/SharedPreferenceHelper.kt index badbd92..de0c9cc 100644 --- a/app/src/main/java/com/academy/android/util/SharedPreferenceHelper.kt +++ b/app/src/main/java/com/academy/android/util/SharedPreferenceHelper.kt @@ -2,7 +2,7 @@ package com.academy.android.util import android.content.Context import androidx.preference.PreferenceManager -import com.academy.android.model.Profile +import com.academy.android.domain.models.Profile import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.serialization.json.Json import javax.inject.Inject From 6faa9fc58b7f8125b34210d469a8fcbeabd61f2c Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 16 Nov 2021 09:26:00 +0400 Subject: [PATCH 12/29] Fixed profile/discard changes --- .../academy/android/domain/models/Profile.kt | 51 ++++++++++- .../academy/android/ui/profile/ProfileInfo.kt | 1 + .../academy/android/ui/profile/ProfileItem.kt | 1 + .../android/ui/profile/ProfileScreen.kt | 81 +++++++++++++---- .../android/ui/profile/ProfileViewModel.kt | 90 ++++++++++++++----- app/src/main/res/drawable/ic_clear.xml | 10 +++ app/src/main/res/drawable/ic_done.xml | 10 +++ app/src/main/res/drawable/ic_edit.xml | 4 +- app/src/main/res/drawable/ic_logout.xml | 4 +- app/src/main/res/values/dimens.xml | 1 + 10 files changed, 209 insertions(+), 44 deletions(-) create mode 100644 app/src/main/res/drawable/ic_clear.xml create mode 100644 app/src/main/res/drawable/ic_done.xml diff --git a/app/src/main/java/com/academy/android/domain/models/Profile.kt b/app/src/main/java/com/academy/android/domain/models/Profile.kt index c904b44..da5aa3e 100644 --- a/app/src/main/java/com/academy/android/domain/models/Profile.kt +++ b/app/src/main/java/com/academy/android/domain/models/Profile.kt @@ -10,4 +10,53 @@ data class Profile( var phoneNumber: String? = null, var email: String? = null, var status: String? = null -) +) { + class Builder( + private var profPic: String? = null, + private var firstName: String? = null, + private var lastName: String? = null, + private var phoneNumber: String? = null, + private var email: String? = null, + private var status: String? = null + ) { + fun withFirstName(value: String): Builder = + this.apply { + firstName = value + } + + fun withLastName(value: String): Builder = + this.apply { + lastName = value + } + + fun withProfPic(value: String): Builder = + this.apply { + profPic = value + } + + fun withPhoneNumber(value: String): Builder = + this.apply { + phoneNumber = value + } + + fun withEmail(value: String): Builder = + this.apply { + email = value + } + + fun withStatus(value: String): Builder = + this.apply { + status = value + } + + fun build(): Profile = + Profile( + profPic = profPic, + firstName = firstName, + lastName = lastName, + phoneNumber = phoneNumber, + email = email, + status = status + ) + } +} diff --git a/app/src/main/java/com/academy/android/ui/profile/ProfileInfo.kt b/app/src/main/java/com/academy/android/ui/profile/ProfileInfo.kt index 8a99ebe..ec1a308 100644 --- a/app/src/main/java/com/academy/android/ui/profile/ProfileInfo.kt +++ b/app/src/main/java/com/academy/android/ui/profile/ProfileInfo.kt @@ -3,4 +3,5 @@ package com.academy.android.ui.profile data class ProfileInfo( val profPic: String? = null, val profileItemList: List = emptyList(), + val isChangesDiscarded: Boolean = false ) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/profile/ProfileItem.kt b/app/src/main/java/com/academy/android/ui/profile/ProfileItem.kt index d7e1997..bfcdf50 100644 --- a/app/src/main/java/com/academy/android/ui/profile/ProfileItem.kt +++ b/app/src/main/java/com/academy/android/ui/profile/ProfileItem.kt @@ -3,5 +3,6 @@ package com.academy.android.ui.profile data class ProfileItem( val value: String?, val hintResId: Int, + val onValueChanged: (String) -> Unit, val isEditable: Boolean = false ) \ No newline at end of file diff --git a/app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt b/app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt index ea45dec..6745885 100644 --- a/app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt +++ b/app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt @@ -19,7 +19,6 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -38,9 +37,19 @@ fun ProfileScreen(vm: ProfileViewModel) { val marginStandard = dimensionResource(id = R.dimen.spacing_16) val marginDouble = dimensionResource(id = R.dimen.spacing_32) Column(horizontalAlignment = Alignment.CenterHorizontally) { - TopControls(marginStandard = marginStandard, marginDouble = marginDouble, vm = vm) + TopControls( + marginStandard = marginStandard, + marginDouble = marginDouble, + vm = vm, + isInEditMode = profileData.profileItemList.any { item -> item.isEditable } + ) Avatar(profPic = profileData.profPic) - ProfileItemList(marginStandard = marginStandard, marginDouble = marginDouble, profileItemList = profileData.profileItemList) + ProfileItemList( + marginStandard = marginStandard, + marginDouble = marginDouble, + profileItemList = profileData.profileItemList, + isChangesDiscarded = profileData.isChangesDiscarded + ) } } @@ -48,7 +57,8 @@ fun ProfileScreen(vm: ProfileViewModel) { private fun TopControls( marginStandard: Dp, marginDouble: Dp, - vm: ProfileViewModel + vm: ProfileViewModel, + isInEditMode: Boolean ) { Row( modifier = Modifier @@ -61,13 +71,36 @@ private fun TopControls( ), horizontalArrangement = Arrangement.SpaceBetween ) { - Icon( - painter = painterResource(id = R.drawable.ic_logout), - contentDescription = stringResource(id = R.string.logout_desc) - ) - IconButton(onClick = { vm.changeProfileData(isEditable = true) }) { + IconButton(onClick = { + if (isInEditMode) { + vm.discardChanges() + } + }) { Icon( - painter = painterResource(id = R.drawable.ic_edit), + painter = painterResource( + id = if (isInEditMode) { + R.drawable.ic_clear + } else { + R.drawable.ic_logout + } + ), + contentDescription = stringResource(id = R.string.logout_desc) + ) + } + IconButton(onClick = { + if (isInEditMode) { + vm.updateProfile() + } + vm.switchEditingMode(isEditable = !isInEditMode) + }) { + Icon( + painter = painterResource( + id = if (isInEditMode) { + R.drawable.ic_done + } else { + R.drawable.ic_edit + } + ), contentDescription = stringResource(id = R.string.edit_profile_desc), ) } @@ -98,7 +131,8 @@ private fun Avatar(profPic: String?) { private fun ProfileItemList( marginStandard: Dp, marginDouble: Dp, - profileItemList: List + profileItemList: List, + isChangesDiscarded: Boolean ) { LazyColumn( verticalArrangement = Arrangement.spacedBy(marginStandard), @@ -108,19 +142,34 @@ private fun ProfileItemList( ProfileDataItem( value = profileItem.value, hintResId = profileItem.hintResId, - isEditable = profileItem.isEditable + isEditable = profileItem.isEditable, + onValueChanged = profileItem.onValueChanged, + isChangesDiscarded = isChangesDiscarded ) } } } @Composable -fun ProfileDataItem(value: String?, hintResId: Int, isEditable: Boolean) { - var text by remember { mutableStateOf(value ?: "") } +fun ProfileDataItem( + value: String?, + hintResId: Int, + isEditable: Boolean, + onValueChanged: (String) -> Unit, + isChangesDiscarded: Boolean +) { + val text = remember { mutableStateOf(value ?: "") } + + if (isChangesDiscarded) { + text.value = value ?: "" + } OutlinedTextField( - value = text, - onValueChange = { newText -> text = newText }, + value = text.value, + onValueChange = { newValue -> + text.value = newValue + onValueChanged(newValue) + }, label = { Text(text = stringResource(id = hintResId)) }, readOnly = !isEditable, modifier = Modifier diff --git a/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt b/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt index 0f17b3e..a6a7dc4 100644 --- a/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt +++ b/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt @@ -4,7 +4,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.academy.android.R import com.academy.android.data.repositories.ProfileRepository -import com.academy.android.model.Profile +import com.academy.android.domain.models.Profile import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow @@ -21,45 +21,89 @@ class ProfileViewModel @Inject constructor( private val _profileData = MutableStateFlow(ProfileInfo()) val profileData: StateFlow = _profileData - fun updateProfile(profile: Profile) { - profileRepo.saveProfileData(profile) + private val _profileDataDraft = MutableStateFlow(Profile.Builder()) + + // fixme not working + fun updateProfile() { + profileRepo.saveProfileData(_profileDataDraft.value.build()) } - fun changeProfileData(isEditable: Boolean) { - viewModelScope.launch { - _profileData.emit( - ProfileInfo( - profPic = _profileData.value.profPic, - profileItemList = _profileData.value - .profileItemList - .map { item -> - ProfileItem( - value = item.value, - hintResId = item.hintResId, - isEditable = isEditable - ) - } - ) + fun switchEditingMode(isEditable: Boolean) { + _profileData.tryEmit( + ProfileInfo( + profPic = _profileData.value.profPic, + profileItemList = switchItemEditMode(isEditable) ) - } + ) } + fun discardChanges() { + _profileData.tryEmit( + ProfileInfo( + profPic = _profileData.value.profPic, + profileItemList = switchItemEditMode(isEditable = false), + isChangesDiscarded = true + ) + ) + _profileDataDraft.tryEmit(Profile.Builder()) + } + + private fun switchItemEditMode(isEditable: Boolean) = _profileData.value + .profileItemList + .map { item -> + ProfileItem( + value = item.value, + hintResId = item.hintResId, + onValueChanged = item.onValueChanged, + isEditable = isEditable + ) + } + private fun buildProfileDataList(profileData: Profile) = listOf( ProfileItem( value = profileData.firstName, - hintResId = R.string.edit_first_name + hintResId = R.string.edit_first_name, + onValueChanged = { newValue -> + _profileDataDraft.tryEmit( + _profileDataDraft.value.withFirstName(newValue) // fixme think of a better/threadSafe way + ) + } ), ProfileItem( value = profileData.lastName, - hintResId = R.string.edit_last_name + hintResId = R.string.edit_last_name, + onValueChanged = { newValue -> + _profileDataDraft.tryEmit( + _profileDataDraft.value.withLastName(newValue) + ) + } ), ProfileItem( value = profileData.email, - hintResId = R.string.edit_email + hintResId = R.string.edit_email, + onValueChanged = { newValue -> + _profileDataDraft.tryEmit( + _profileDataDraft.value.withEmail(newValue) + ) + } ), ProfileItem( value = profileData.phoneNumber, - hintResId = R.string.edit_phone + hintResId = R.string.edit_phone, + onValueChanged = { newValue -> + _profileDataDraft.tryEmit( + _profileDataDraft.value.withPhoneNumber(newValue) + ) + } + ), + ProfileItem( + value = profileData.status, + hintResId = R.string.edit_status, + onValueChanged = { newValue -> + _profileDataDraft.tryEmit( + _profileDataDraft.value.withStatus(newValue) + ) + } ), ) diff --git a/app/src/main/res/drawable/ic_clear.xml b/app/src/main/res/drawable/ic_clear.xml new file mode 100644 index 0000000..caf4890 --- /dev/null +++ b/app/src/main/res/drawable/ic_clear.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_done.xml b/app/src/main/res/drawable/ic_done.xml new file mode 100644 index 0000000..3a95919 --- /dev/null +++ b/app/src/main/res/drawable/ic_done.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml index 1484d60..981021a 100644 --- a/app/src/main/res/drawable/ic_edit.xml +++ b/app/src/main/res/drawable/ic_edit.xml @@ -1,6 +1,6 @@ diff --git a/app/src/main/res/drawable/ic_logout.xml b/app/src/main/res/drawable/ic_logout.xml index d7db390..a3da99a 100644 --- a/app/src/main/res/drawable/ic_logout.xml +++ b/app/src/main/res/drawable/ic_logout.xml @@ -1,6 +1,6 @@ 24dp 200dp 4dp + 32dp \ No newline at end of file From d1a904a97a29bb20678a9486f364bc62fcf1145e Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 23 Nov 2021 08:36:00 +0400 Subject: [PATCH 13/29] Fixed profile/edit --- .../data/repositories/ProfileRepository.kt | 13 +++++----- .../android/ui/profile/ProfileScreen.kt | 7 ++++-- .../android/ui/profile/ProfileViewModel.kt | 24 +++++-------------- 3 files changed, 18 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/com/academy/android/data/repositories/ProfileRepository.kt b/app/src/main/java/com/academy/android/data/repositories/ProfileRepository.kt index 2bad82f..9f3b710 100644 --- a/app/src/main/java/com/academy/android/data/repositories/ProfileRepository.kt +++ b/app/src/main/java/com/academy/android/data/repositories/ProfileRepository.kt @@ -2,8 +2,8 @@ package com.academy.android.data.repositories import com.academy.android.domain.models.Profile import com.academy.android.util.SharedPreferenceHelper -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow import javax.inject.Inject @@ -20,13 +20,14 @@ class ProfileRepository @Inject constructor( private val prefsHelper: SharedPreferenceHelper ): ProfileRepositorySource { - val profileData: Flow = flow { - val profile = getProfileData() - emit(profile) - } + private val _profileData = MutableStateFlow(getProfileData()) + val profileData: StateFlow = _profileData override fun saveProfileData(profile: Profile) { prefsHelper.saveProfData(profile) + .also { + _profileData.tryEmit(profile) + } } override fun getProfileData(): Profile { diff --git a/app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt b/app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt index 6745885..537df7e 100644 --- a/app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt +++ b/app/src/main/java/com/academy/android/ui/profile/ProfileScreen.kt @@ -33,6 +33,7 @@ import com.skydoves.landscapist.glide.GlideImage @Composable fun ProfileScreen(vm: ProfileViewModel) { val profileData: ProfileInfo by vm.profileData.collectAsState(initial = ProfileInfo()) + val isInEditMode: Boolean by vm.isInEditMode.collectAsState(initial = false) val marginStandard = dimensionResource(id = R.dimen.spacing_16) val marginDouble = dimensionResource(id = R.dimen.spacing_32) @@ -41,13 +42,14 @@ fun ProfileScreen(vm: ProfileViewModel) { marginStandard = marginStandard, marginDouble = marginDouble, vm = vm, - isInEditMode = profileData.profileItemList.any { item -> item.isEditable } + isInEditMode = isInEditMode ) Avatar(profPic = profileData.profPic) ProfileItemList( marginStandard = marginStandard, marginDouble = marginDouble, profileItemList = profileData.profileItemList, + isInEditMode = isInEditMode, isChangesDiscarded = profileData.isChangesDiscarded ) } @@ -132,6 +134,7 @@ private fun ProfileItemList( marginStandard: Dp, marginDouble: Dp, profileItemList: List, + isInEditMode: Boolean, isChangesDiscarded: Boolean ) { LazyColumn( @@ -142,7 +145,7 @@ private fun ProfileItemList( ProfileDataItem( value = profileItem.value, hintResId = profileItem.hintResId, - isEditable = profileItem.isEditable, + isEditable = isInEditMode, onValueChanged = profileItem.onValueChanged, isChangesDiscarded = isChangesDiscarded ) diff --git a/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt b/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt index a6a7dc4..6fd234d 100644 --- a/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt +++ b/app/src/main/java/com/academy/android/ui/profile/ProfileViewModel.kt @@ -21,6 +21,9 @@ class ProfileViewModel @Inject constructor( private val _profileData = MutableStateFlow(ProfileInfo()) val profileData: StateFlow = _profileData + private val _isInEditMode = MutableStateFlow(false) + val isInEditMode = _isInEditMode + private val _profileDataDraft = MutableStateFlow(Profile.Builder()) // fixme not working @@ -29,36 +32,21 @@ class ProfileViewModel @Inject constructor( } fun switchEditingMode(isEditable: Boolean) { - _profileData.tryEmit( - ProfileInfo( - profPic = _profileData.value.profPic, - profileItemList = switchItemEditMode(isEditable) - ) - ) + _isInEditMode.tryEmit(isEditable) } fun discardChanges() { _profileData.tryEmit( ProfileInfo( profPic = _profileData.value.profPic, - profileItemList = switchItemEditMode(isEditable = false), + profileItemList = _profileData.value.profileItemList, isChangesDiscarded = true ) ) + switchEditingMode(isEditable = false) _profileDataDraft.tryEmit(Profile.Builder()) } - private fun switchItemEditMode(isEditable: Boolean) = _profileData.value - .profileItemList - .map { item -> - ProfileItem( - value = item.value, - hintResId = item.hintResId, - onValueChanged = item.onValueChanged, - isEditable = isEditable - ) - } - private fun buildProfileDataList(profileData: Profile) = listOf( ProfileItem( value = profileData.firstName, From 33da48f70a765af7603ae0e5d64a6112720181bb Mon Sep 17 00:00:00 2001 From: Mikhail Date: Thu, 2 Dec 2021 10:26:21 +0400 Subject: [PATCH 14/29] Added draft implementation of VideoScreen * video cards are yet to be done * empty result handling is also to be done --- .../data/repositories/VideosRepository.kt | 50 +----- .../data/repositories/VideosRepositoryStub.kt | 68 ++++++++ .../academy/android/di/RepositoriesModule.kt | 6 +- .../interactors/GetFilterParametersUseCase.kt | 6 +- .../interactors/GetFilteredVideosUseCase.kt | 19 +-- .../com/academy/android/domain/models/City.kt | 13 ++ .../android/domain/models/CourseLevel.kt | 12 ++ .../android/domain/models/CourseYear.kt | 8 + .../android/domain/models/FilterEntity.kt | 5 + .../android/domain/models/FilterParameters.kt | 6 +- .../android/domain/models/International.kt | 5 + .../android/domain/models/Localized.kt | 5 + .../academy/android/domain/models/Video.kt | 6 +- .../java/com/academy/android/ui/HomeScreen.kt | 4 + .../academy/android/ui/custom/DropdownBox.kt | 61 +++++++ .../android/ui/custom/DropdownState.kt | 65 +++++++ .../android/ui/custom/TextSearchBar.kt | 70 ++++++++ .../android/ui/videos/VideosItemData.kt | 9 +- .../academy/android/ui/videos/VideosScreen.kt | 160 ++++++++++++++++++ .../android/ui/videos/VideosViewModel.kt | 68 +++++--- .../main/res/color/selector_black_green.xml | 5 + app/src/main/res/values-ru-rRU/strings.xml | 4 + app/src/main/res/values-ru/cities.xml | 6 + app/src/main/res/values-ru/course_levels.xml | 5 + app/src/main/res/values/cities.xml | 6 + app/src/main/res/values/course_levels.xml | 5 + app/src/main/res/values/dimens.xml | 2 + app/src/main/res/values/strings.xml | 4 + buildSrc/src/main/java/Config.kt | 2 +- 29 files changed, 586 insertions(+), 99 deletions(-) create mode 100644 app/src/main/java/com/academy/android/data/repositories/VideosRepositoryStub.kt create mode 100644 app/src/main/java/com/academy/android/domain/models/City.kt create mode 100644 app/src/main/java/com/academy/android/domain/models/CourseLevel.kt create mode 100644 app/src/main/java/com/academy/android/domain/models/CourseYear.kt create mode 100644 app/src/main/java/com/academy/android/domain/models/FilterEntity.kt create mode 100644 app/src/main/java/com/academy/android/domain/models/International.kt create mode 100644 app/src/main/java/com/academy/android/domain/models/Localized.kt create mode 100644 app/src/main/java/com/academy/android/ui/custom/DropdownBox.kt create mode 100644 app/src/main/java/com/academy/android/ui/custom/DropdownState.kt create mode 100644 app/src/main/java/com/academy/android/ui/custom/TextSearchBar.kt create mode 100644 app/src/main/java/com/academy/android/ui/videos/VideosScreen.kt create mode 100644 app/src/main/res/color/selector_black_green.xml create mode 100644 app/src/main/res/values-ru/cities.xml create mode 100644 app/src/main/res/values-ru/course_levels.xml create mode 100644 app/src/main/res/values/cities.xml create mode 100644 app/src/main/res/values/course_levels.xml diff --git a/app/src/main/java/com/academy/android/data/repositories/VideosRepository.kt b/app/src/main/java/com/academy/android/data/repositories/VideosRepository.kt index ea97ff2..c6f7072 100644 --- a/app/src/main/java/com/academy/android/data/repositories/VideosRepository.kt +++ b/app/src/main/java/com/academy/android/data/repositories/VideosRepository.kt @@ -1,54 +1,16 @@ package com.academy.android.data.repositories +import com.academy.android.domain.models.City +import com.academy.android.domain.models.CourseLevel +import com.academy.android.domain.models.CourseYear import com.academy.android.domain.models.FilterParameters import com.academy.android.domain.models.Video -import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow -import javax.inject.Inject -interface VideosRepositorySource { +interface VideosRepository { val videosList: StateFlow> - fun getFilterParameters() : FilterParameters -} -class VideosRepository @Inject constructor() : VideosRepositorySource { - private val _videosList = MutableStateFlow(provideMokkVideos()) - override val videosList: StateFlow> = _videosList - - private val filterParameters = FilterParameters(listOf("Moscow", "Minsk", "Tel-Aviv"), - listOf("Fundamentals", "Advanced"), - listOf("2019-2020", "2020-2021")) - - override fun getFilterParameters() : FilterParameters = filterParameters - - private fun provideMokkVideos(): List