From 05da8af5e01b677859757f79e20849f4c85a9848 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 31 Jul 2017 22:10:32 +0200 Subject: [PATCH] sync the viewpager with tablayout at the security dialog --- .../gallery/dialogs/SecurityDialog.kt | 30 ++++++++++++++++++- app/src/main/res/layout/dialog_security.xml | 2 ++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/SecurityDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/SecurityDialog.kt index e28ea54ba..a8a8d60e7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/SecurityDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/SecurityDialog.kt @@ -1,5 +1,7 @@ package com.simplemobiletools.gallery.dialogs +import android.support.design.widget.TabLayout +import android.support.v4.view.ViewPager import android.support.v7.app.AlertDialog import android.view.LayoutInflater import com.simplemobiletools.commons.extensions.setupDialogStuff @@ -17,11 +19,37 @@ class SecurityDialog(val activity: SimpleActivity, val requiredHash: String, val init { view.apply { + val viewPager = findViewById(R.id.dialog_tab_view_pager) as MyDialogViewPager val textColor = context.config.textColor dialog_tab_layout.setTabTextColors(textColor, textColor) + dialog_tab_layout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener { + override fun onTabReselected(tab: TabLayout.Tab?) { + } + + override fun onTabUnselected(tab: TabLayout.Tab) { + } + + override fun onTabSelected(tab: TabLayout.Tab) { + if (tab.text.toString().equals(resources.getString(R.string.pattern), true)) { + viewPager.currentItem = 0 + } else { + viewPager.currentItem = 1 + } + } + }) - val viewPager = findViewById(R.id.dialog_tab_view_pager) as MyDialogViewPager viewPager.adapter = PasswordTypesAdapter(context, requiredHash, this@SecurityDialog) + viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { + override fun onPageScrollStateChanged(state: Int) { + } + + override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) { + } + + override fun onPageSelected(position: Int) { + dialog_tab_layout.getTabAt(position)!!.select() + } + }) } dialog = AlertDialog.Builder(activity) diff --git a/app/src/main/res/layout/dialog_security.xml b/app/src/main/res/layout/dialog_security.xml index 5cebd31ea..993c05bfa 100644 --- a/app/src/main/res/layout/dialog_security.xml +++ b/app/src/main/res/layout/dialog_security.xml @@ -11,11 +11,13 @@ android:layout_height="wrap_content">