Преглед на файлове

Changed user image urls to use static server

Vadik Sirekanyan преди 5 години
родител
ревизия
564bc18d3a

+ 2 - 2
app/src/main/java/com/sirekanyan/knigopis/dependency/user.kt

@@ -4,8 +4,8 @@ import com.sirekanyan.knigopis.common.extensions.app
 import com.sirekanyan.knigopis.common.extensions.getRootView
 import com.sirekanyan.knigopis.feature.user.*
 
-fun UserActivity.providePresenter(id: String, name: String, image: String?): UserPresenter {
+fun UserActivity.providePresenter(id: String, name: String): UserPresenter {
     val interactor = UserInteractorImpl(app.endpoint, app.resourceProvider)
-    return UserPresenterImpl(this, interactor, id, name, image, app.resourceProvider)
+    return UserPresenterImpl(this, interactor, id, name, app.resourceProvider)
         .also { it.view = UserViewImpl(getRootView(), it, provideDialogs()) }
 }

+ 5 - 5
app/src/main/java/com/sirekanyan/knigopis/feature/MainActivity.kt

@@ -60,7 +60,7 @@ class MainActivity : BaseActivity(),
                 api.getUser(userId)
                     .io2main()
                     .bind({ user ->
-                        openUserScreen(userId, user.name, user.photo)
+                        openUserScreen(userId, user.name)
                     }, {
                         logError("Cannot get user", it)
                     })
@@ -117,15 +117,15 @@ class MainActivity : BaseActivity(),
     }
 
     override fun openUserScreen(user: UserModel) {
-        openUserScreen(user.id, user.name, user.image)
+        openUserScreen(user.id, user.name)
     }
 
     override fun openUserScreen(note: NoteModel) {
-        openUserScreen(note.userId, note.userName, note.userImage)
+        openUserScreen(note.userId, note.userName)
     }
 
-    private fun openUserScreen(id: String, name: String, image: String?) {
-        startActivity(createUserIntent(id, name, image))
+    private fun openUserScreen(id: String, name: String) {
+        startActivity(createUserIntent(id, name))
     }
 
     override fun openWebPage(uri: Uri) {

+ 3 - 6
app/src/main/java/com/sirekanyan/knigopis/feature/user/UserActivity.kt

@@ -14,21 +14,18 @@ import com.sirekanyan.knigopis.model.EditBookModel
 
 private val EXTRA_USER_ID = extra("user_id")
 private val EXTRA_USER_NAME = extra("user_name")
-private val EXTRA_USER_IMAGE = extra("user_image")
 
-fun Context.createUserIntent(id: String, name: String, avatar: String?): Intent =
+fun Context.createUserIntent(id: String, name: String): Intent =
     Intent(this, UserActivity::class.java)
         .putExtra(EXTRA_USER_ID, id)
         .putExtra(EXTRA_USER_NAME, name)
-        .putExtra(EXTRA_USER_IMAGE, avatar)
 
 class UserActivity : BaseActivity(), UserPresenter.Router {
 
     private val presenter by lazy {
         providePresenter(
-            intent.getStringExtra(EXTRA_USER_ID)!!,
-            intent.getStringExtra(EXTRA_USER_NAME)!!,
-            intent.getStringExtra(EXTRA_USER_IMAGE)
+            checkNotNull(intent.getStringExtra(EXTRA_USER_ID)),
+            checkNotNull(intent.getStringExtra(EXTRA_USER_NAME))
         )
     }
 

+ 2 - 2
app/src/main/java/com/sirekanyan/knigopis/feature/user/UserPresenter.kt

@@ -6,6 +6,7 @@ import com.sirekanyan.knigopis.common.Presenter
 import com.sirekanyan.knigopis.common.android.ResourceProvider
 import com.sirekanyan.knigopis.common.extensions.snackbar
 import com.sirekanyan.knigopis.common.extensions.toast
+import com.sirekanyan.knigopis.common.functions.createUserImageUrl
 import com.sirekanyan.knigopis.common.functions.createUserPublicUrl
 import com.sirekanyan.knigopis.common.functions.logError
 import com.sirekanyan.knigopis.model.BookDataModel
@@ -31,7 +32,6 @@ class UserPresenterImpl(
     private val interactor: UserInteractor,
     private val userId: String,
     private val userName: String,
-    private val userImage: String?,
     private val resources: ResourceProvider
 ) : BasePresenter<UserView>(),
     UserPresenter,
@@ -39,7 +39,7 @@ class UserPresenterImpl(
 
     override fun init() {
         view.setTitle(userName)
-        view.setImage(userImage)
+        view.setImage(createUserImageUrl(userId))
     }
 
     override fun start() {

+ 2 - 8
app/src/main/java/com/sirekanyan/knigopis/model/dto/Identity.kt

@@ -1,12 +1,6 @@
 package com.sirekanyan.knigopis.model.dto
 
-import com.sirekanyan.knigopis.common.functions.createUserImageUrl
-
 class Identity(
     val id: String,
-    private val nickname: String?,
-    private val booksCount: Int
-) {
-    val name get() = nickname ?: id
-    val avatarUrl get() = createUserImageUrl(id)
-}
+    val nickname: String?
+)

+ 1 - 2
app/src/main/java/com/sirekanyan/knigopis/model/dto/User.kt

@@ -2,8 +2,7 @@ package com.sirekanyan.knigopis.model.dto
 
 class User(
     val id: String,
-    val nickname: String?,
-    val photo: String?,
+    private val nickname: String?,
     val profile: String?,
     private val identity: String?,
     val booksCount: Int

+ 15 - 29
app/src/main/java/com/sirekanyan/knigopis/model/mappers.kt

@@ -6,6 +6,7 @@ import android.text.style.SuperscriptSpan
 import com.sirekanyan.knigopis.MAX_BOOK_PRIORITY
 import com.sirekanyan.knigopis.MIN_BOOK_PRIORITY
 import com.sirekanyan.knigopis.common.functions.createBookImageUrl
+import com.sirekanyan.knigopis.common.functions.createUserImageUrl
 import com.sirekanyan.knigopis.common.functions.createUserPublicUrl
 import com.sirekanyan.knigopis.model.dto.*
 
@@ -37,7 +38,7 @@ fun Subscription.toUserModel() =
     UserModel(
         subUser.id,
         subUser.name,
-        subUser.photo,
+        createUserImageUrl(subUser.id),
         subUser.booksCount.takeIf { it > 0 }?.toString(),
         newBooksCount.takeIf { it > 0 }?.let { count ->
             val str = "+$count"
@@ -57,41 +58,26 @@ fun Note.toNoteModel() =
         notes,
         DateUtils.getRelativeTimeSpanString(fixedCreatedAt.time).toString(),
         user.id,
-        user.name,
-        user.avatarUrl
+        user.nickname ?: user.id,
+        createUserImageUrl(user.id)
     )
 
-fun BookDataModel.toEditModel(): EditBookModel =
-    EditBookModel(
-        BookAction.EDIT,
-        id,
-        title,
-        author,
-        if (isFinished) MAX_BOOK_PRIORITY else priority,
-        if (isFinished) date else EMPTY_DATE,
-        notes
-    )
+fun BookDataModel.toEditModel(): EditBookModel {
+    val progress = if (isFinished) MAX_BOOK_PRIORITY else priority
+    val dateModel = if (isFinished) date else EMPTY_DATE
+    return EditBookModel(BookAction.EDIT, id, title, author, progress, dateModel, notes)
+}
 
-fun EditBookModel.toPlannedBook(): PlannedBookToSend =
-    PlannedBookToSend(
-        title,
-        author,
-        notes,
-        progress.takeIf { it in (MIN_BOOK_PRIORITY..MAX_BOOK_PRIORITY) }
-    )
+fun EditBookModel.toPlannedBook(): PlannedBookToSend {
+    val priority = progress.takeIf { it in (MIN_BOOK_PRIORITY..MAX_BOOK_PRIORITY) }
+    return PlannedBookToSend(title, author, notes, priority)
+}
 
 fun EditBookModel.toFinishedBook(): FinishedBookToSend =
-    FinishedBookToSend(
-        title,
-        author,
-        date.day,
-        date.month,
-        date.year,
-        notes
-    )
+    FinishedBookToSend(title, author, date.day, date.month, date.year, notes)
 
 fun User.toProfileModel(): ProfileModel =
-    ProfileModel(id, name, photo, profile.orEmpty(), createUserPublicUrl(id))
+    ProfileModel(id, name, createUserImageUrl(id), profile.orEmpty(), createUserPublicUrl(id))
 
 fun ProfileModel.toProfile(): Profile =
     Profile(name, profileUrl)