Эх сурвалжийг харах

Splitted router method into two

Vadik Sirekanyan 7 жил өмнө
parent
commit
9e4da53e9d

+ 2 - 1
app/src/main/java/com/sirekanyan/knigopis/common/extensions/Activity.kt

@@ -2,11 +2,12 @@ package com.sirekanyan.knigopis.common.extensions
 
 import android.app.Activity
 import android.view.View
+import android.view.ViewGroup
 import com.sirekanyan.knigopis.App
 
 fun Activity.app() = application as App
 
-fun Activity.getRootView(): View =
+fun Activity.getRootView(): ViewGroup =
     findViewById(android.R.id.content)
 
 fun Activity.showKeyboard(view: View) {

+ 6 - 1
app/src/main/java/com/sirekanyan/knigopis/common/extensions/ViewGroup.kt

@@ -1,9 +1,14 @@
 package com.sirekanyan.knigopis.common.extensions
 
 import android.support.annotation.LayoutRes
+import android.support.v4.view.ViewGroupCompat
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 
 fun ViewGroup.inflate(@LayoutRes layout: Int): View =
-    LayoutInflater.from(context).inflate(layout, this, false)
+    LayoutInflater.from(context).inflate(layout, this, false)
+
+fun ViewGroup.setTransitionGroupCompat(isGroup: Boolean) {
+    ViewGroupCompat.setTransitionGroup(this, isGroup)
+}

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

@@ -27,6 +27,8 @@ import com.sirekanyan.knigopis.feature.users.getMainState
 import com.sirekanyan.knigopis.feature.users.saveMainState
 import com.sirekanyan.knigopis.model.BookDataModel
 import com.sirekanyan.knigopis.model.CurrentTab
+import com.sirekanyan.knigopis.model.NoteModel
+import com.sirekanyan.knigopis.model.UserModel
 import com.sirekanyan.knigopis.repository.Configuration
 import com.sirekanyan.knigopis.repository.Endpoint
 import org.koin.android.ext.android.inject
@@ -134,7 +136,15 @@ class MainActivity : BaseActivity(),
         startActivityForResult(createEditBookIntent(book), BOOK_REQUEST_CODE)
     }
 
-    override fun openUserScreen(id: String, name: String, image: String?) {
+    override fun openUserScreen(user: UserModel) {
+        openUserScreen(user.id, user.name, user.image)
+    }
+
+    override fun openUserScreen(note: NoteModel) {
+        openUserScreen(note.userId, note.userName, note.userImage)
+    }
+
+    private fun openUserScreen(id: String, name: String, image: String?) {
         startActivity(createUserIntent(id, name, image))
     }
 

+ 2 - 2
app/src/main/java/com/sirekanyan/knigopis/feature/notes/NotesPresenter.kt

@@ -13,7 +13,7 @@ import com.sirekanyan.knigopis.repository.NoteRepository
 interface NotesPresenter : PagePresenter {
 
     interface Router {
-        fun openUserScreen(id: String, name: String, image: String?)
+        fun openUserScreen(note: NoteModel)
     }
 
 }
@@ -40,7 +40,7 @@ class NotesPresenterImpl(
     }
 
     override fun onNoteClicked(note: NoteModel) {
-        router.openUserScreen(note.userId, note.userName, note.userImage)
+        router.openUserScreen(note)
     }
 
     override fun onNotesUpdated() {

+ 2 - 2
app/src/main/java/com/sirekanyan/knigopis/feature/users/UsersPresenter.kt

@@ -17,7 +17,7 @@ import com.sirekanyan.knigopis.repository.UserRepository
 interface UsersPresenter : PagePresenter {
 
     interface Router {
-        fun openUserScreen(id: String, name: String, image: String?)
+        fun openUserScreen(user: UserModel)
         fun openWebPage(uri: Uri)
     }
 
@@ -46,7 +46,7 @@ class UsersPresenterImpl(
     }
 
     override fun onUserClicked(user: UserModel) {
-        router.openUserScreen(user.id, user.name, user.image)
+        router.openUserScreen(user)
     }
 
     override fun onUserLongClicked(user: UserModel) {