Loading app/src/main/java/foundation/e/apps/MainActivity.kt +0 −1 Original line number Diff line number Diff line Loading @@ -90,7 +90,6 @@ class MainActivity : AppCompatActivity() { } User.UNAVAILABLE -> { viewModel.destroyCredentials() navController.navigate(R.id.signInFragment, null, navOptions) } User.GOOGLE -> { if (viewModel.authData.value == null && !viewModel.authRequestRunning) { Loading app/src/main/java/foundation/e/apps/settings/SettingsFragment.kt +2 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ class SettingsFragment : PreferenceFragmentCompat() { binding.accountType.text = view.context.getString(R.string.user_anonymous) } User.GOOGLE.name -> { if (authData.userProfile != null) { if (authData != null) { binding.accountType.text = authData.userProfile?.name binding.email.text = authData.userProfile?.email binding.avatar.load(authData.userProfile?.artwork?.url) Loading @@ -123,6 +123,7 @@ class SettingsFragment : PreferenceFragmentCompat() { binding.logout.setOnClickListener { viewModel.saveUserType(User.UNAVAILABLE) backToMainActivity() } } Loading app/src/main/java/foundation/e/apps/setup/signin/google/GoogleSignInFragment.kt +9 −13 Original line number Diff line number Diff line Loading @@ -30,26 +30,18 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.navigation.findNavController import dagger.hilt.android.AndroidEntryPoint import foundation.e.apps.MainActivityViewModel import foundation.e.apps.R import foundation.e.apps.api.gplay.utils.AC2DMUtil import foundation.e.apps.databinding.FragmentGoogleSigninBinding import foundation.e.apps.setup.signin.SignInViewModel import foundation.e.apps.utils.enums.User import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @AndroidEntryPoint class GoogleSignInFragment : Fragment(R.layout.fragment_google_signin), CoroutineScope by CoroutineScope(Dispatchers.IO) { class GoogleSignInFragment : Fragment(R.layout.fragment_google_signin) { private var _binding: FragmentGoogleSigninBinding? = null private val binding get() = _binding!! private val viewModel: SignInViewModel by viewModels() private val mainActivityViewModel: MainActivityViewModel by viewModels() private val cookieManager = CookieManager.getInstance() companion object { private const val EMBEDDED_SETUP_URL = Loading @@ -66,7 +58,8 @@ class GoogleSignInFragment : if (it.isNotBlank()) { when (User.valueOf(it)) { User.GOOGLE -> { view.findNavController().navigate(R.id.action_googleSignInFragment_to_homeFragment) view.findNavController() .navigate(R.id.action_googleSignInFragment_to_homeFragment) } else -> {} } Loading @@ -76,6 +69,7 @@ class GoogleSignInFragment : @SuppressLint("SetJavaScriptEnabled") private fun setupWebView() { val cookieManager = CookieManager.getInstance() cookieManager.removeAllCookies(null) cookieManager.acceptThirdPartyCookies(binding.webview) cookieManager.setAcceptThirdPartyCookies(binding.webview, true) Loading @@ -90,7 +84,7 @@ class GoogleSignInFragment : val cookieMap = AC2DMUtil.parseCookieString(cookies) if (cookieMap.isNotEmpty() && cookieMap[AUTH_TOKEN] != null) { val oauthToken = cookieMap[AUTH_TOKEN] ?: "" binding.webview.evaluateJavascript("(function() { return document.getElementById('profileIdentifier').innerHTML; })();") { view.evaluateJavascript("(function() { return document.getElementById('profileIdentifier').innerHTML; })();") { val email = it.replace("\"".toRegex(), "") viewModel.saveEmailToken(email, oauthToken) viewModel.saveUserType(User.GOOGLE) Loading @@ -115,8 +109,10 @@ class GoogleSignInFragment : } } override fun onDestroy() { super.onDestroy() override fun onDestroyView() { binding.root.removeAllViews() binding.webview.destroy() super.onDestroyView() _binding = null } } app/src/main/java/foundation/e/apps/utils/modules/DataStoreModule.kt +4 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,10 @@ class DataStoreModule @Inject constructor( suspend fun destroyCredentials() { context.dataStore.edit { it[AUTHDATA] = "" it.remove(AUTHDATA) it.remove(EMAIL) it.remove(OAUTHTOKEN) it.remove(USERTYPE) } } Loading Loading
app/src/main/java/foundation/e/apps/MainActivity.kt +0 −1 Original line number Diff line number Diff line Loading @@ -90,7 +90,6 @@ class MainActivity : AppCompatActivity() { } User.UNAVAILABLE -> { viewModel.destroyCredentials() navController.navigate(R.id.signInFragment, null, navOptions) } User.GOOGLE -> { if (viewModel.authData.value == null && !viewModel.authRequestRunning) { Loading
app/src/main/java/foundation/e/apps/settings/SettingsFragment.kt +2 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ class SettingsFragment : PreferenceFragmentCompat() { binding.accountType.text = view.context.getString(R.string.user_anonymous) } User.GOOGLE.name -> { if (authData.userProfile != null) { if (authData != null) { binding.accountType.text = authData.userProfile?.name binding.email.text = authData.userProfile?.email binding.avatar.load(authData.userProfile?.artwork?.url) Loading @@ -123,6 +123,7 @@ class SettingsFragment : PreferenceFragmentCompat() { binding.logout.setOnClickListener { viewModel.saveUserType(User.UNAVAILABLE) backToMainActivity() } } Loading
app/src/main/java/foundation/e/apps/setup/signin/google/GoogleSignInFragment.kt +9 −13 Original line number Diff line number Diff line Loading @@ -30,26 +30,18 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.navigation.findNavController import dagger.hilt.android.AndroidEntryPoint import foundation.e.apps.MainActivityViewModel import foundation.e.apps.R import foundation.e.apps.api.gplay.utils.AC2DMUtil import foundation.e.apps.databinding.FragmentGoogleSigninBinding import foundation.e.apps.setup.signin.SignInViewModel import foundation.e.apps.utils.enums.User import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @AndroidEntryPoint class GoogleSignInFragment : Fragment(R.layout.fragment_google_signin), CoroutineScope by CoroutineScope(Dispatchers.IO) { class GoogleSignInFragment : Fragment(R.layout.fragment_google_signin) { private var _binding: FragmentGoogleSigninBinding? = null private val binding get() = _binding!! private val viewModel: SignInViewModel by viewModels() private val mainActivityViewModel: MainActivityViewModel by viewModels() private val cookieManager = CookieManager.getInstance() companion object { private const val EMBEDDED_SETUP_URL = Loading @@ -66,7 +58,8 @@ class GoogleSignInFragment : if (it.isNotBlank()) { when (User.valueOf(it)) { User.GOOGLE -> { view.findNavController().navigate(R.id.action_googleSignInFragment_to_homeFragment) view.findNavController() .navigate(R.id.action_googleSignInFragment_to_homeFragment) } else -> {} } Loading @@ -76,6 +69,7 @@ class GoogleSignInFragment : @SuppressLint("SetJavaScriptEnabled") private fun setupWebView() { val cookieManager = CookieManager.getInstance() cookieManager.removeAllCookies(null) cookieManager.acceptThirdPartyCookies(binding.webview) cookieManager.setAcceptThirdPartyCookies(binding.webview, true) Loading @@ -90,7 +84,7 @@ class GoogleSignInFragment : val cookieMap = AC2DMUtil.parseCookieString(cookies) if (cookieMap.isNotEmpty() && cookieMap[AUTH_TOKEN] != null) { val oauthToken = cookieMap[AUTH_TOKEN] ?: "" binding.webview.evaluateJavascript("(function() { return document.getElementById('profileIdentifier').innerHTML; })();") { view.evaluateJavascript("(function() { return document.getElementById('profileIdentifier').innerHTML; })();") { val email = it.replace("\"".toRegex(), "") viewModel.saveEmailToken(email, oauthToken) viewModel.saveUserType(User.GOOGLE) Loading @@ -115,8 +109,10 @@ class GoogleSignInFragment : } } override fun onDestroy() { super.onDestroy() override fun onDestroyView() { binding.root.removeAllViews() binding.webview.destroy() super.onDestroyView() _binding = null } }
app/src/main/java/foundation/e/apps/utils/modules/DataStoreModule.kt +4 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,10 @@ class DataStoreModule @Inject constructor( suspend fun destroyCredentials() { context.dataStore.edit { it[AUTHDATA] = "" it.remove(AUTHDATA) it.remove(EMAIL) it.remove(OAUTHTOKEN) it.remove(USERTYPE) } } Loading