Преглед изворни кода

Added toast if user is not authorized

sirekanian пре 2 година
родитељ
комит
db093c523d

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

@@ -5,7 +5,6 @@ import org.sirekanyan.knigopis.feature.user.*
 
 fun UserActivity.providePresenter(id: String, name: String): UserPresenter {
     val interactor = UserInteractorImpl(app.endpoint, app.resourceProvider)
-    return UserPresenterImpl(this, interactor, id, name, app.resourceProvider).also { presenter ->
-        presenter.view = UserViewImpl(binding, presenter, provideDialogs())
-    }
+    return UserPresenterImpl(this, interactor, app.authRepository, id, name, app.resourceProvider)
+        .also { presenter -> presenter.view = UserViewImpl(binding, presenter, provideDialogs()) }
 }

+ 7 - 1
app/src/main/java/org/sirekanyan/knigopis/feature/user/UserPresenter.kt

@@ -13,6 +13,7 @@ import org.sirekanyan.knigopis.model.BookDataModel
 import org.sirekanyan.knigopis.model.EditBookModel
 import org.sirekanyan.knigopis.model.createDoneBook
 import org.sirekanyan.knigopis.model.createTodoBook
+import org.sirekanyan.knigopis.repository.AuthRepository
 
 interface UserPresenter : Presenter {
 
@@ -30,6 +31,7 @@ interface UserPresenter : Presenter {
 class UserPresenterImpl(
     private val router: UserPresenter.Router,
     private val interactor: UserInteractor,
+    private val auth: AuthRepository,
     private val userId: String,
     private val userName: String,
     private val resources: ResourceProvider
@@ -89,7 +91,11 @@ class UserPresenterImpl(
     }
 
     override fun onBookLongClicked(book: BookDataModel) {
-        view.showActionsDialog(book.title, book.author, book)
+        if (auth.isAuthorized()) {
+            view.showActionsDialog(book.title, book.author, book)
+        } else {
+            view.toast(R.string.user_error_unauthorized)
+        }
     }
 
     override fun onTodoActionClicked(book: BookDataModel) {

+ 1 - 0
app/src/main/res/values-ru/strings.xml

@@ -116,6 +116,7 @@
     <string name="user.option.unsubscribe">Отписаться</string>
     <string name="user.info.copied">Скопировано: %s</string>
     <string name="user.error.unsubscribe">Не удалось отписаться</string>
+    <string name="user.error.unauthorized">Выполните вход, чтобы добавить книгу</string>
 
     <!-- 🖍 notes tab -->
     <string name="notes.error.empty">Нет новых комментариев</string>

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -115,6 +115,7 @@
     <string name="user.option.unsubscribe">Unsubscribe</string>
     <string name="user.info.copied">Copied: %s</string>
     <string name="user.error.unsubscribe">Cannot unsubscribe</string>
+    <string name="user.error.unauthorized">Log in to add books</string>
 
     <!-- 🖍 notes tab -->
     <string name="notes.error.empty">No one is posted yet</string>