Loading app/src/main/java/foundation/e/apps/MainActivity.kt +28 −13 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.storage.StorageManager import android.util.Log import android.view.View import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import androidx.navigation.NavOptions Loading Loading @@ -60,6 +61,7 @@ class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) Timber.d(">>> onCreate") binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) Loading Loading @@ -91,32 +93,35 @@ class MainActivity : AppCompatActivity() { if (isInternetAvailable) { binding.noInternet.visibility = View.GONE binding.fragment.visibility = View.VISIBLE // Watch and refresh authentication data if(viewModel.authDataJson.value == null) { viewModel.authDataJson.observe(this) { viewModel.handleAuthDataJson() } } } } Timber.d(">>> userTypeLiveData: ${viewModel.userType.value}") Timber.d(">>> authDataJsonLiveData: ${viewModel.authDataJson.value}") viewModel.userType.observe(this) { user -> viewModel.handleAuthDataJson() } if(signInViewModel.authLiveData.value == null) { signInViewModel.authLiveData.observe(this) { viewModel.updateAuthData(it) } // Watch and refresh authentication data viewModel.authDataJson.observe(this) { viewModel.handleAuthDataJson() } viewModel.authValidity.observe(this) { viewModel.handleAuthValidity(it) { Log.d(TAG, "Timeout validating auth data!") Timber.d("Timeout validating auth data!") val lastFragment = navHostFragment.childFragmentManager.fragments[0] if (lastFragment is TimeoutFragment) { Log.d( TAG, "Displaying timeout from MainActivity on fragment: " + lastFragment::class.java.name ) Timber.d("Displaying timeout from MainActivity on fragment: " + Fragment.java.name) lastFragment.onTimeout() } } Loading Loading @@ -288,4 +293,14 @@ class MainActivity : AppCompatActivity() { val availableBlocks = stat.availableBlocksLong return availableBlocks * blockSize } override fun onResume() { Timber.d(">>> onResume") super.onResume() } override fun onDestroy() { Timber.d(">>> onDestroy") super.onDestroy() } } app/src/main/java/foundation/e/apps/MainActivityViewModel.kt +12 −7 Original line number Diff line number Diff line Loading @@ -224,12 +224,12 @@ class MainActivityViewModel @Inject constructor( if (user == null || json == null) { return } Timber.d(">>> handleAuthDataJson: internet: ${internetConnection.value}") if (!isUserLoggedIn(user, json)) { generateAuthDataBasedOnUserType(user) } else if (isEligibleToValidateJson(json) && internetConnection.value == true) { validateAuthData() Log.d(TAG, ">>> Authentication data is available!") Timber.d(">>> Authentication data is available!") } } Loading @@ -239,7 +239,7 @@ class MainActivityViewModel @Inject constructor( private fun isEligibleToValidateJson(authDataJson: String?) = !authDataJson.isNullOrEmpty() && !userType.value.isNullOrEmpty() && !userType.value.contentEquals( User.UNAVAILABLE.name ) ) && authValidity.value != true fun handleAuthValidity(isValid: Boolean, handleTimeoOut: () -> Unit) { if (isGoogleLoginRunning) { Loading @@ -247,11 +247,11 @@ class MainActivityViewModel @Inject constructor( } isTokenValidationCompletedOnce = true if (isValid) { Log.d(TAG, "Authentication data is valid!") Timber.d("Authentication data is valid!") generateAuthData() return } Log.d(TAG, ">>> Authentication data validation failed!") Timber.d(">>> Authentication data validation failed!") destroyCredentials { user -> if (isTimeEligibleForTokenRefresh()) { generateAuthDataBasedOnUserType(user) Loading @@ -268,7 +268,7 @@ class MainActivityViewModel @Inject constructor( when (User.valueOf(user)) { User.ANONYMOUS -> { if (authDataJson.value.isNullOrEmpty() && !authRequestRunning) { Log.d(TAG, ">>> Fetching new authentication data") Timber.d(">>> Fetching new authentication data") setFirstTokenFetchTime() getAuthData() } Loading @@ -278,7 +278,7 @@ class MainActivityViewModel @Inject constructor( } User.GOOGLE -> { if (authData.value == null && !authRequestRunning) { Log.d(TAG, ">>> Fetching new authentication data") Timber.d(">>> Fetching new authentication data") setFirstTokenFetchTime() doFetchAuthData() } Loading Loading @@ -540,4 +540,9 @@ class MainActivityViewModel @Inject constructor( fun updateAppWarningList() { blockedAppRepository.fetchUpdateOfAppWarningList() } override fun onCleared() { Timber.d(">>> onCleared") super.onCleared() } } app/src/main/java/foundation/e/apps/home/HomeFragment.kt +3 −1 Original line number Diff line number Diff line Loading @@ -159,7 +159,9 @@ class HomeFragment : TimeoutFragment(R.layout.fragment_home), FusedAPIInterface homeViewModel.homeScreenData.observe(viewLifecycleOwner) { stopLoadingUI() if (it.second == ResultStatus.OK) { Log.d("TAG", ">>> homeScreenData updated ") if(homeParentRVAdapter?.itemCount ?: 0 > 0) { return@observe } dismissTimeoutDialog() homeParentRVAdapter?.setData(it.first) } else { Loading app/src/main/java/foundation/e/apps/home/model/HomeParentRVAdapter.kt +0 −1 Original line number Diff line number Diff line Loading @@ -94,7 +94,6 @@ class HomeParentRVAdapter( ) { lifecycleOwner?.let { mainActivityViewModel.downloadList.observe(it) { Log.d("TAG", ">>> ParentRVAdapter updated downloadlist: ") mainActivityViewModel.updateStatusOfFusedApps(fusedHome.list, it) (homeChildRVAdapter as HomeChildRVAdapter).setData(fusedHome.list) } Loading app/src/main/java/foundation/e/apps/manager/fused/FusedManagerImpl.kt +1 −1 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ class FusedManagerImpl @Inject constructor( pkgManagerModule.installApplication(list, fusedDownload.packageName) Timber.d( "installApp: ENDED ${fusedDownload.name} ${list.size}") } catch (e: Exception) { Log.d(TAG, ">>> installApp app failed ") Timber.d(">>> installApp app failed ") installationIssue(fusedDownload) throw e } Loading Loading
app/src/main/java/foundation/e/apps/MainActivity.kt +28 −13 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.storage.StorageManager import android.util.Log import android.view.View import androidx.appcompat.app.AppCompatActivity import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import androidx.navigation.NavOptions Loading Loading @@ -60,6 +61,7 @@ class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) Timber.d(">>> onCreate") binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) Loading Loading @@ -91,32 +93,35 @@ class MainActivity : AppCompatActivity() { if (isInternetAvailable) { binding.noInternet.visibility = View.GONE binding.fragment.visibility = View.VISIBLE // Watch and refresh authentication data if(viewModel.authDataJson.value == null) { viewModel.authDataJson.observe(this) { viewModel.handleAuthDataJson() } } } } Timber.d(">>> userTypeLiveData: ${viewModel.userType.value}") Timber.d(">>> authDataJsonLiveData: ${viewModel.authDataJson.value}") viewModel.userType.observe(this) { user -> viewModel.handleAuthDataJson() } if(signInViewModel.authLiveData.value == null) { signInViewModel.authLiveData.observe(this) { viewModel.updateAuthData(it) } // Watch and refresh authentication data viewModel.authDataJson.observe(this) { viewModel.handleAuthDataJson() } viewModel.authValidity.observe(this) { viewModel.handleAuthValidity(it) { Log.d(TAG, "Timeout validating auth data!") Timber.d("Timeout validating auth data!") val lastFragment = navHostFragment.childFragmentManager.fragments[0] if (lastFragment is TimeoutFragment) { Log.d( TAG, "Displaying timeout from MainActivity on fragment: " + lastFragment::class.java.name ) Timber.d("Displaying timeout from MainActivity on fragment: " + Fragment.java.name) lastFragment.onTimeout() } } Loading Loading @@ -288,4 +293,14 @@ class MainActivity : AppCompatActivity() { val availableBlocks = stat.availableBlocksLong return availableBlocks * blockSize } override fun onResume() { Timber.d(">>> onResume") super.onResume() } override fun onDestroy() { Timber.d(">>> onDestroy") super.onDestroy() } }
app/src/main/java/foundation/e/apps/MainActivityViewModel.kt +12 −7 Original line number Diff line number Diff line Loading @@ -224,12 +224,12 @@ class MainActivityViewModel @Inject constructor( if (user == null || json == null) { return } Timber.d(">>> handleAuthDataJson: internet: ${internetConnection.value}") if (!isUserLoggedIn(user, json)) { generateAuthDataBasedOnUserType(user) } else if (isEligibleToValidateJson(json) && internetConnection.value == true) { validateAuthData() Log.d(TAG, ">>> Authentication data is available!") Timber.d(">>> Authentication data is available!") } } Loading @@ -239,7 +239,7 @@ class MainActivityViewModel @Inject constructor( private fun isEligibleToValidateJson(authDataJson: String?) = !authDataJson.isNullOrEmpty() && !userType.value.isNullOrEmpty() && !userType.value.contentEquals( User.UNAVAILABLE.name ) ) && authValidity.value != true fun handleAuthValidity(isValid: Boolean, handleTimeoOut: () -> Unit) { if (isGoogleLoginRunning) { Loading @@ -247,11 +247,11 @@ class MainActivityViewModel @Inject constructor( } isTokenValidationCompletedOnce = true if (isValid) { Log.d(TAG, "Authentication data is valid!") Timber.d("Authentication data is valid!") generateAuthData() return } Log.d(TAG, ">>> Authentication data validation failed!") Timber.d(">>> Authentication data validation failed!") destroyCredentials { user -> if (isTimeEligibleForTokenRefresh()) { generateAuthDataBasedOnUserType(user) Loading @@ -268,7 +268,7 @@ class MainActivityViewModel @Inject constructor( when (User.valueOf(user)) { User.ANONYMOUS -> { if (authDataJson.value.isNullOrEmpty() && !authRequestRunning) { Log.d(TAG, ">>> Fetching new authentication data") Timber.d(">>> Fetching new authentication data") setFirstTokenFetchTime() getAuthData() } Loading @@ -278,7 +278,7 @@ class MainActivityViewModel @Inject constructor( } User.GOOGLE -> { if (authData.value == null && !authRequestRunning) { Log.d(TAG, ">>> Fetching new authentication data") Timber.d(">>> Fetching new authentication data") setFirstTokenFetchTime() doFetchAuthData() } Loading Loading @@ -540,4 +540,9 @@ class MainActivityViewModel @Inject constructor( fun updateAppWarningList() { blockedAppRepository.fetchUpdateOfAppWarningList() } override fun onCleared() { Timber.d(">>> onCleared") super.onCleared() } }
app/src/main/java/foundation/e/apps/home/HomeFragment.kt +3 −1 Original line number Diff line number Diff line Loading @@ -159,7 +159,9 @@ class HomeFragment : TimeoutFragment(R.layout.fragment_home), FusedAPIInterface homeViewModel.homeScreenData.observe(viewLifecycleOwner) { stopLoadingUI() if (it.second == ResultStatus.OK) { Log.d("TAG", ">>> homeScreenData updated ") if(homeParentRVAdapter?.itemCount ?: 0 > 0) { return@observe } dismissTimeoutDialog() homeParentRVAdapter?.setData(it.first) } else { Loading
app/src/main/java/foundation/e/apps/home/model/HomeParentRVAdapter.kt +0 −1 Original line number Diff line number Diff line Loading @@ -94,7 +94,6 @@ class HomeParentRVAdapter( ) { lifecycleOwner?.let { mainActivityViewModel.downloadList.observe(it) { Log.d("TAG", ">>> ParentRVAdapter updated downloadlist: ") mainActivityViewModel.updateStatusOfFusedApps(fusedHome.list, it) (homeChildRVAdapter as HomeChildRVAdapter).setData(fusedHome.list) } Loading
app/src/main/java/foundation/e/apps/manager/fused/FusedManagerImpl.kt +1 −1 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ class FusedManagerImpl @Inject constructor( pkgManagerModule.installApplication(list, fusedDownload.packageName) Timber.d( "installApp: ENDED ${fusedDownload.name} ${list.size}") } catch (e: Exception) { Log.d(TAG, ">>> installApp app failed ") Timber.d(">>> installApp app failed ") installationIssue(fusedDownload) throw e } Loading