diff --git a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt index 3a3cea458..cb0789959 100644 --- a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt @@ -74,24 +74,32 @@ class MainActivity : BaseActivity(), override val appBar: AppBarLayout get() = binding.appbar + private var isDrawerFixed = false + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(ActivityMainBinding.inflate(layoutInflater)) + + isDrawerFixed = resources.getBoolean(R.bool.is_drawer_fixed) + navHeaderBinding = NavigationHeaderBinding.inflate(layoutInflater) - drawerToggle = ActionBarDrawerToggle( - this, - binding.drawer, - binding.toolbar, - R.string.open_menu, - R.string.close_menu - ) - drawerToggle.setHomeAsUpIndicator(ContextCompat.getDrawable(this, R.drawable.ic_arrow_back)) - drawerToggle.setToolbarNavigationClickListener { - binding.searchView.hideKeyboard() - onBackPressed() + + if (!isDrawerFixed) { + drawerToggle = ActionBarDrawerToggle( + this, + binding.drawer, + binding.toolbar, + R.string.open_menu, + R.string.close_menu + ) + binding.drawer.addDrawerListener(drawerToggle) + drawerToggle.setHomeAsUpIndicator(ContextCompat.getDrawable(this, R.drawable.ic_arrow_back)) + drawerToggle.setToolbarNavigationClickListener { + binding.searchView.hideKeyboard() + onBackPressed() + } + supportActionBar?.setDisplayHomeAsUpEnabled(true) } - binding.drawer.addDrawerListener(drawerToggle) - supportActionBar?.setDisplayHomeAsUpEnabled(true) with(binding.searchView) { onFocusChangeListener = this@MainActivity @@ -132,25 +140,25 @@ class MainActivity : BaseActivity(), override fun onRestoreInstanceState(savedInstanceState: Bundle) { super.onRestoreInstanceState(savedInstanceState) - drawerToggle.isDrawerIndicatorEnabled = + if (!isDrawerFixed) drawerToggle.isDrawerIndicatorEnabled = binding.drawer.getDrawerLockMode(GravityCompat.START) == DrawerLayout.LOCK_MODE_UNLOCKED } override fun onPostCreate(savedInstanceState: Bundle?) { super.onPostCreate(savedInstanceState) - drawerToggle.syncState() + if (!isDrawerFixed) drawerToggle.syncState() } override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) - drawerToggle.onConfigurationChanged(newConfig) + if (!isDrawerFixed) drawerToggle.onConfigurationChanged(newConfig) } override fun onBackPressed() { val fragment = supportFragmentManager.findFragmentByTag(TAG_SEARCH) binding.searchView.clearFocus() when { - binding.drawer.isDrawerOpen(binding.navigationView) -> binding.drawer.closeDrawer( + binding.drawer.isDrawerOpen(binding.navigationView) -> if (!isDrawerFixed) binding.drawer.closeDrawer( binding.navigationView) fragment != null -> supportFragmentManager.commit { remove(fragment) @@ -208,7 +216,7 @@ class MainActivity : BaseActivity(), else -> return false } } - binding.drawer.closeDrawers() + if (!isDrawerFixed) binding.drawer.closeDrawers() return true } @@ -355,12 +363,12 @@ class MainActivity : BaseActivity(), private fun onSearchOpened() { binding.drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED) - drawerToggle.isDrawerIndicatorEnabled = false + if (!isDrawerFixed) drawerToggle.isDrawerIndicatorEnabled = false } private fun onSearchClosed() { binding.drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED) - drawerToggle.isDrawerIndicatorEnabled = true + if (!isDrawerFixed) drawerToggle.isDrawerIndicatorEnabled = true } private fun onFirstStart() { diff --git a/app/src/main/res/layout-w600dp-land/activity_main.xml b/app/src/main/res/layout-w600dp-land/activity_main.xml new file mode 100644 index 000000000..87eb17b0b --- /dev/null +++ b/app/src/main/res/layout-w600dp-land/activity_main.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-w600dp-land/bools.xml b/app/src/main/res/values-w600dp-land/bools.xml new file mode 100644 index 000000000..7aee82ef8 --- /dev/null +++ b/app/src/main/res/values-w600dp-land/bools.xml @@ -0,0 +1,4 @@ + + + true + \ No newline at end of file diff --git a/app/src/main/res/values/bools.xml b/app/src/main/res/values/bools.xml index 967cf9dce..3a6ceb3f7 100644 --- a/app/src/main/res/values/bools.xml +++ b/app/src/main/res/values/bools.xml @@ -4,4 +4,5 @@ true false false + false \ No newline at end of file