123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- package com.vpn.fastestvpnservice.fragments
- import android.content.Intent
- import android.os.Bundle
- import android.text.InputType
- import android.util.Log
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import android.webkit.WebViewFragment
- import android.widget.Toast
- import androidx.lifecycle.Observer
- import com.google.firebase.BuildConfig
- import com.vpn.fastestvpnservice.R
- import com.vpn.fastestvpnservice.beans.DataResponse
- import com.vpn.fastestvpnservice.beans.UserResponse
- import com.vpn.fastestvpnservice.constants.AppConstant
- import com.vpn.fastestvpnservice.databinding.FragmentLoginBinding
- import com.vpn.fastestvpnservice.utils.SnackBarUtils
- import com.vpn.fastestvpnservice.utils.StaticMethods
- import com.vpn.fastestvpnservice.viewmodels.LoginViewModel
- import com.vpn.fastestvpnservice.widgets.SimpleAppWidget
- import de.blinkt.openvpn.core.App
- class LoginFragment : BaseFragment() {
- lateinit var loginViewModel: LoginViewModel
- // lateinit var upgradePriceViewModel: UpgradePriceViewModel
- var isPasswordVisible = false
- var isTv = false
- lateinit var loginBinding: FragmentLoginBinding
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
- ): View? {
- loginBinding = FragmentLoginBinding.inflate(inflater)
- return loginBinding.root
- // return inflater.inflate(R.layout.fragment_login, container, false)
- }
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
- // etEmail.setText("mohammad.asif@abtach.org")
- // etPassword.setText("Mohammad@3")
- // etEmail.setText("sagartestaccount@gmail.com")
- // etPassword.setText("test112233")
- // etEmail.setText("testontv@yopmail.com")
- // etPassword.setText("test")
- if (StaticMethods.isTV(requireActivity())) {
- isTv = true
- loginBinding.etEmail.background = resources.getDrawable(R.drawable.edittext_selector_state)
- loginBinding.etPassword.background = resources.getDrawable(R.drawable.edittext_selector_state)
- loginBinding.tvLogin.background = resources.getDrawable(R.drawable.button_selector_state)
- }
- loginViewModel = LoginViewModel()
- // upgradePriceViewModel = UpgradePriceViewModel(requireActivity())
- // viewModelObserver()
- // clickListeners()
- }
- fun clickListeners() {
- // loginBinding.tvSignup.setOnClickListener {
- // fragmentNavigator.replaceFragmentWithBackStack(SignUpFragment.newInstance())
- // }
- loginBinding.tvLogin.setOnClickListener {
- if (customValidation.isValidText(loginBinding.etEmail, "Email") && customValidation.isValidText(
- loginBinding.etPassword, "Password"
- ) && customValidation.isValidPassword(loginBinding.etPassword)
- ) {
- // if (isVisible) mainActivity.showLoading()
- if (isTv)
- {
- loginViewModel.loginRequest(
- loginBinding.etEmail.text.toString(),
- loginBinding.etPassword.text.toString(),
- "tv",
- android.os.Build.VERSION.RELEASE,
- BuildConfig.VERSION_NAME
- )
- }
- else {
- loginViewModel.loginRequest(
- loginBinding.etEmail.text.toString(),
- loginBinding.etPassword.text.toString(),
- "android",
- android.os.Build.VERSION.RELEASE,
- BuildConfig.VERSION_NAME
- )
- }
- }
- }
- // loginBinding.tvForgotPassword.setOnClickListener {
- // fragmentNavigator.replaceFragmentWithBackStack(
- // .newInstance(
- // AppConstant.CHANGE_PASSWORD_URL, getString(R.string.forgot_password)
- // )
- // )
- // }
- loginBinding.ivEye.setOnClickListener(View.OnClickListener {
- if (isPasswordVisible) {
- loginBinding.ivEye.setImageResource(R.drawable.ic_hide_password)
- loginBinding.etPassword.inputType =
- InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD
- loginBinding.etPassword.setSelection(loginBinding.etPassword.text.toString().length)
- } else {
- loginBinding.ivEye.setImageResource(R.drawable.ic_show_password)
- loginBinding.etPassword.inputType = InputType.TYPE_CLASS_TEXT
- loginBinding.etPassword.setSelection(loginBinding.etPassword.text.toString().length)
- }
- isPasswordVisible = !isPasswordVisible
- })
- }
- fun viewModelObserver() {
- loginViewModel.mutableLiveDataUserResponse.observe(
- mainActivity,
- Observer<DataResponse<UserResponse>> {
- // if (isVisible) mainActivity.hideLoading()
- it?.let {
- if (it.status) {
- it.data?.let {
- prefHelper.savePassword(loginBinding.etPassword?.text.toString())
- prefHelper.saveUser(it)
- it.wireguard?.let { it1 -> prefHelper.saveWireGuard(it1) }
- it.product?.let { it1 -> prefHelper.saveProduct(it1) }
- prefHelper.saveEnabledProtocols(it.enabled_protocols)
- prefHelper.saveAvailableProtocols(it.available_protocols)
- prefHelper.saveXPlatformToken(it.userinfo?.email + "_" + System.currentTimeMillis())
- prefHelper.saveAdBlockState(false)
- it.servers?.let {
- prefHelper.saveServerData(it)
- }
- Log.d("bearer token", it.token.toString())
- // upgradePriceViewModel.getProducts()
- prefHelper.getFcmToken().let {
- loginViewModel.sendFcmToken(it)
- Log.d("fcm token get", prefHelper.getFcmToken())
- }
- // prefHelper.saveRadioBtnSplitPos(0)
- val widgetIntent = Intent(context, SimpleAppWidget::class.java)
- widgetIntent.action = SimpleAppWidget.ACTION_LOGIN
- context?.sendBroadcast(widgetIntent)
- fragmentNavigator.clearAllFragments()
- if (App.isAndroidTvBox)
- {
- /* Android-TV,Box APK */
- fragmentNavigator.replaceFragmentWithBackStackTv(TvHomeFragment.newInstance(), "tv_home")
- }
- else {
- /* Normal APK */
- if (isTv) {
- fragmentNavigator.replaceFragmentWithBackStackTv(
- TvHomeFragment.newInstance(), "tv_home")
- }
- else {
- fragmentNavigator.replaceFragmentWithBackStack(
- TvHomeFragment.newInstance()
- )
- }
- }
- }
- } else {
- SnackBarUtils.showSnackBar(view, it.message, Toast.LENGTH_SHORT)
- // UIHelper.showToast(it.message)
- }
- }
- })
- loginViewModel.mutableLiveDataUserResponseErrorStatus.observe(mainActivity, Observer{
- if (it) {
- // if (isVisible) mainActivity.hideLoading()
- SnackBarUtils.showSnackBar(view, getString(R.string.something_went_wrong), Toast.LENGTH_SHORT)
- }
- })
- loginViewModel.mutableLiveDataFcm.observe(
- mainActivity,
- Observer {
- it.message?.let { it1 -> Log.d(tag, "message of fcm" + it1) }
- }
- )
- }
- override fun setTitleBar() {
- // setupUI((mainActivity).titleBar, (mainActivity).bottomBar)
- }
- // private fun setupUI(titleBar: TitleBar, bottomBar: BottomBar) {
- // titleBar.hideTitleBar()
- // bottomBar.hideBottomBar()
- // }
- companion object {
- fun newInstance(): LoginFragment {
- return LoginFragment()
- }
- }
- }
|