Explorar o código

Moved menu options from activity to view

Vadik Sirekanyan %!s(int64=7) %!d(string=hai) anos
pai
achega
6c4727f21c

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

@@ -7,7 +7,6 @@ import android.net.Uri
 import android.os.Bundle
 import android.provider.Settings
 import android.support.v7.app.AlertDialog
-import com.sirekanyan.knigopis.BuildConfig
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.Router
 import com.sirekanyan.knigopis.common.BaseActivity
@@ -27,7 +26,6 @@ import com.sirekanyan.knigopis.feature.users.MainPresenterState
 import com.sirekanyan.knigopis.model.BookDataModel
 import com.sirekanyan.knigopis.repository.*
 import com.tbruyelle.rxpermissions2.RxPermissions
-import kotlinx.android.synthetic.main.activity_main.*
 import org.koin.android.ext.android.inject
 
 private const val ULOGIN_REQUEST_CODE = 0
@@ -69,8 +67,6 @@ class MainActivity : BaseActivity(), Router, MainPresenter.Router {
             )
         }
         presenter.refreshNavigation()
-        toolbar.menu.findItem(R.id.option_dark_theme).isChecked = config.isDarkTheme
-        toolbar.menu.findItem(R.id.option_clear_cache).isVisible = BuildConfig.DEBUG
     }
 
     override fun onStart() {

+ 1 - 0
app/src/main/java/com/sirekanyan/knigopis/feature/MainPresenter.kt

@@ -57,6 +57,7 @@ class MainPresenterImpl(
         val currentTab = state?.currentTab?.let { CurrentTab.getByItemId(it) }
         val defaultTab = if (auth.isAuthorized()) HOME_TAB else NOTES_TAB
         refresh(currentTab ?: defaultTab)
+        view.setDarkThemeOptionChecked(config.isDarkTheme)
     }
 
     override fun start() {

+ 8 - 0
app/src/main/java/com/sirekanyan/knigopis/feature/MainView.kt

@@ -44,6 +44,7 @@ interface MainView : BooksView, UsersView, NotesView {
     fun setNavigation(itemId: Int)
     fun showLoginOption(isVisible: Boolean)
     fun showProfileOption(isVisible: Boolean)
+    fun setDarkThemeOptionChecked(isChecked: Boolean)
 
     interface Callbacks : BooksView.Callbacks, UsersView.Callbacks, NotesView.Callbacks {
         fun onNavigationClicked(itemId: Int)
@@ -71,6 +72,7 @@ class MainViewImpl(
     private val notesAdapter = NotesAdapter(callbacks::onNoteClicked)
     private val loginOption: MenuItem
     private val profileOption: MenuItem
+    private val darkThemeOption: MenuItem
 
     init {
         toolbar.inflateMenu(R.menu.options)
@@ -107,6 +109,8 @@ class MainViewImpl(
         }
         loginOption = toolbar.menu.findItem(R.id.option_login)
         profileOption = toolbar.menu.findItem(R.id.option_profile)
+        darkThemeOption = toolbar.menu.findItem(R.id.option_dark_theme)
+        toolbar.menu.findItem(R.id.option_clear_cache).isVisible = BuildConfig.DEBUG
         booksRecyclerView.adapter = booksAdapter
         usersRecyclerView.adapter = usersAdapter
         notesRecyclerView.adapter = notesAdapter
@@ -206,6 +210,10 @@ class MainViewImpl(
         profileOption.isVisible = isVisible
     }
 
+    override fun setDarkThemeOptionChecked(isChecked: Boolean) {
+        darkThemeOption.isChecked = isChecked
+    }
+
     override fun showBookActions(book: BookDataModel) {
         val bookFullTitle = resources.getFullTitleString(book.title, book.author)
         dialogs.showDialog(