Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //////////////////AuthActivity//////////////////
- import android.content.Context
- import android.os.Bundle
- import android.support.design.widget.TabLayout
- import android.support.v4.view.ViewPager
- import android.support.v7.app.AppCompatActivity
- import android.util.Log
- import android.widget.Button
- import android.widget.EditText
- import android.widget.LinearLayout
- import android.widget.Toast
- import com.****.R
- import com.****.ViewPagerAdapter
- import org.jetbrains.anko.find
- class AuthActivity : AppCompatActivity() {
- lateinit var tlTabs: TabLayout
- lateinit var vpPager: ViewPager
- private var savedLogin: String
- get() {
- return getPreferences(Context.MODE_PRIVATE).getString(PREF_LOGIN, "")!!
- }
- set(value) {
- val sPref = getPreferences(Context.MODE_PRIVATE)
- val ed = sPref.edit()
- ed.putString(PREF_LOGIN, value)
- ed.apply()
- }
- private var savedPass: String
- get() {
- return getPreferences(Context.MODE_PRIVATE).getString(PREF_PASS, "")!!
- }
- set(value) {
- val sPref = getPreferences(Context.MODE_PRIVATE)
- val ed = sPref.edit()
- ed.putString(PREF_PASS, value)
- ed.apply()
- }
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- configViews()
- }
- private fun configViews() {
- setContentView(R.layout.activity_auth)
- tlTabs = find(R.id.tlTabs)
- vpPager = find(R.id.vpPager)
- val vpAdapter = ViewPagerAdapter(supportFragmentManager)
- vpAdapter.addFragment(TabReg(), "Регистрация")
- vpAdapter.addFragment(TabAuth(), "Вход")
- vpPager.adapter = vpAdapter
- tlTabs.setupWithViewPager(vpPager)
- }
- override fun onResume() {
- super.onResume()
- with (find<LinearLayout>(R.id.tabReg)) {//kotlin.TypeCastException: null cannot be cast to non-null type android.widget.LinearLayout
- this.find<Button>(R.id.btnReg).setOnClickListener {
- val login = this.find<EditText>(R.id.etLoginReg).text.toString()
- val pass = this.find<EditText>(R.id.etPassReg).text.toString()
- val pass2 = this.find<EditText>(R.id.etPassReg2).text.toString()
- if (login.length == 10 && pass.length in 6..20 && pass == pass2) {
- savedLogin = login
- savedPass = pass
- Log.d(TAG, "saved/updated $savedLogin $savedPass")
- } else {
- when {
- login.length != 10 -> Toast.makeText(this@AuthActivity, "Номер введен неверно", Toast.LENGTH_SHORT).show()
- pass.length < 6 -> Toast.makeText(this@AuthActivity, "Пароль слишком короткий", Toast.LENGTH_SHORT).show()
- pass.length > 20 -> Toast.makeText(this@AuthActivity, "Пароль слишком длинный", Toast.LENGTH_SHORT).show()
- pass2 != pass -> Toast.makeText(this@AuthActivity, "Повторите пароль", Toast.LENGTH_SHORT).show()
- else -> Toast.makeText(this@AuthActivity, "Введите логин (номер телефона 10 цифр) и пароль", Toast.LENGTH_SHORT).show()
- }
- // TODO удалить логирование
- Log.d(TAG, "not saved/not updated (login:$login, pass:$pass, pass2:$pass2)")// TODO удалить логирование
- // TODO удалить логирование
- }
- }
- }
- with (find<LinearLayout>(R.id.tabAuth)) {
- this.find<Button>(R.id.btnEnter).setOnClickListener {
- if (savedLogin.isNotEmpty() && savedPass.isNotEmpty()) {
- this.find<EditText>(R.id.etLoginEnter).setText(savedLogin)
- this.find<EditText>(R.id.etPassEnter).setText(savedPass)
- }
- // TODO удалить логирование
- Log.d(TAG, "taken $savedLogin $savedPass")// TODO удалить логирование
- // TODO удалить логирование
- }
- }
- }
- companion object {
- private const val TAG = ".AuthActivity"
- private const val PREF_LOGIN = "s_login"
- private const val PREF_PASS = "s_pass"
- }
- }
- //////////////////TabAuth///////////////////
- import android.os.Bundle
- import android.support.v4.app.Fragment
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import android.widget.Button
- import android.widget.EditText
- import com.****.R
- import org.jetbrains.anko.support.v4.find
- class TabAuth : Fragment() {
- lateinit var etLoginEnter: EditText
- lateinit var etPassEnter: EditText
- lateinit var btnEnter: Button
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
- return inflater.inflate(R.layout.auth_fragment, container, false)
- }
- /* это по идее лишнее
- override fun onActivityCreated(savedInstanceState: Bundle?) {
- super.onActivityCreated(savedInstanceState)
- etLoginEnter = find(R.id.etLoginEnter)
- etPassEnter = find(R.id.etPassEnter)
- btnEnter = find(R.id.btnEnter)
- }
- */
- }
- ////////////////////TabReg//////////////////
- import android.os.Bundle
- import android.support.v4.app.Fragment
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import android.widget.Button
- import android.widget.EditText
- import com.****.R
- import org.jetbrains.anko.support.v4.find
- class TabReg : Fragment() {
- lateinit var etLoginReg: EditText
- lateinit var etPassReg: EditText
- lateinit var etPassReg2: EditText
- lateinit var btnReg: Button
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
- return inflater.inflate(R.layout.reg_fragment, container, false)
- }
- /* это по идее лишнее
- override fun onActivityCreated(savedInstanceState: Bundle?) {
- super.onActivityCreated(savedInstanceState)
- etLoginReg = find(R.id.etLoginReg)
- etPassReg = find(R.id.etPassReg)
- etPassReg2 = find(R.id.etPassReg2)
- btnReg = find(R.id.btnReg)
- }
- */
- }
- /////////////////ViewPagerAdapter//////////////////
- import android.support.v4.app.Fragment
- import android.support.v4.app.FragmentManager
- import android.support.v4.app.FragmentStatePagerAdapter
- class ViewPagerAdapter(fm: FragmentManager) : FragmentStatePagerAdapter(fm) {
- private val fragmentList: MutableList<Fragment> = mutableListOf()
- private val fragmentListTitles: MutableList<String> = mutableListOf()
- override fun getItem(position: Int): Fragment = fragmentList[position]
- override fun getCount(): Int = fragmentListTitles.size
- override fun getPageTitle(position: Int) = fragmentListTitles[position]
- fun addFragment(fragment: Fragment, title: String) {
- fragmentList.add(fragment)
- fragmentListTitles.add(title)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment