mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-31 14:53:59 +01:00 
			
		
		
		
	issue 5847 make the icon always visible and adjust the count accordingly and add some logs
This commit is contained in:
		
							parent
							
								
									0a7fe662d4
								
							
						
					
					
						commit
						959d63a203
					
				
					 1 changed files with 88 additions and 8 deletions
				
			
		|  | @ -18,6 +18,8 @@ import android.hardware.Sensor; | |||
| import android.hardware.SensorEvent; | ||||
| import android.hardware.SensorEventListener; | ||||
| import android.hardware.SensorManager; | ||||
| import android.net.ConnectivityManager; | ||||
| import android.net.NetworkInfo; | ||||
| import android.os.Bundle; | ||||
| import android.view.LayoutInflater; | ||||
| import android.view.Menu; | ||||
|  | @ -306,33 +308,84 @@ public class ContributionsFragment | |||
|                 throwable -> Timber.e(throwable, "Error occurred while loading notifications"))); | ||||
|     } | ||||
| 
 | ||||
|     public boolean checkNetworkConnectivity() { | ||||
|         ConnectivityManager cm = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE); | ||||
|         if (cm == null) { | ||||
|             Timber.e("Cannot get Connectivity Manager"); | ||||
|             return false;  // Indicating that connectivity check could not be performed | ||||
|         } | ||||
|         NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); | ||||
|         boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); | ||||
|         Timber.d("Network connectivity status: " + isConnected); | ||||
|         return isConnected;  // Returning the status of the network connection | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     private void handleNoNetworkConnection() { | ||||
|         Toast.makeText(getContext(), "Check your network connection", Toast.LENGTH_LONG).show(); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * Sets the visibility of the upload icon based on the number of failed and pending | ||||
|      * contributions. | ||||
|      */ | ||||
|     public void setUploadIconVisibility() { | ||||
|         if (!checkNetworkConnectivity()) { | ||||
|             Timber.e("setUploadIconVisibility: No network connection available."); | ||||
|             handleNoNetworkConnection(); | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         Timber.d("setUploadIconVisibility: Starting to get failed and pending contributions"); | ||||
|         contributionController.getFailedAndPendingContributions(); | ||||
|         contributionController.failedAndPendingContributionList.observe(getViewLifecycleOwner(), | ||||
|             list -> { | ||||
|         contributionController.failedAndPendingContributionList.observe(getViewLifecycleOwner(), list -> { | ||||
|             if (list != null) { | ||||
|                 Timber.d("setUploadIconVisibility: Received contribution list update with size " + list.size()); | ||||
|                 updateUploadIcon(list.size()); | ||||
|             }); | ||||
|             } else { | ||||
|                 Timber.e("setUploadIconVisibility: Failed to retrieve contributions"); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * Sets the count for the upload icon based on the number of pending and failed contributions. | ||||
|      */ | ||||
|     public void setUploadIconCount() { | ||||
|         if (!checkNetworkConnectivity()) { | ||||
|             Timber.e("setUploadIconCount: No network connection available."); | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         Timber.d("setUploadIconCount: Getting pending contributions"); | ||||
|         contributionController.getPendingContributions(); | ||||
|         contributionController.pendingContributionList.observe(getViewLifecycleOwner(), | ||||
|             list -> { | ||||
|         contributionController.pendingContributionList.observe(getViewLifecycleOwner(), list -> { | ||||
|             if (list != null) { | ||||
|                 Timber.d("setUploadIconCount: Updated pending icon count to " + list.size()); | ||||
|                 updatePendingIcon(list.size()); | ||||
|             }); | ||||
|             } else { | ||||
|                 Timber.e("setUploadIconCount: Failed to retrieve pending contributions"); | ||||
|             } | ||||
|         }); | ||||
| 
 | ||||
|         Timber.d("setUploadIconCount: Getting failed contributions"); | ||||
|         contributionController.getFailedContributions(); | ||||
|         contributionController.failedContributionList.observe(getViewLifecycleOwner(), list -> { | ||||
|             updateErrorIcon(list.size()); | ||||
|             if (list != null) { | ||||
|                 Timber.d("setUploadIconCount: Updated error icon count to " + list.size()); | ||||
|                 updateErrorIcon(list.size()); | ||||
|             } else { | ||||
|                 Timber.e("setUploadIconCount: Failed to retrieve failed contributions"); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     public void scrollToTop() { | ||||
|         if (contributionsListFragment != null) { | ||||
|             contributionsListFragment.scrollToTop(); | ||||
|  | @ -750,31 +803,58 @@ public class ContributionsFragment | |||
|      * @param errorCount The number of error uploads. | ||||
|      */ | ||||
|     public void updateErrorIcon(int errorCount) { | ||||
|         Timber.d("updateErrorIcon: Method Start"); | ||||
|         long startTime = System.currentTimeMillis(); | ||||
| 
 | ||||
|         if (uploadsErrorTextView != null) { | ||||
|             Timber.d("Current error count: " + errorCount); | ||||
| 
 | ||||
|             if (errorCount != 0) { | ||||
|                 uploadsErrorTextView.setVisibility(View.VISIBLE); | ||||
|                 uploadsErrorTextView.setText(String.valueOf(errorCount)); | ||||
|                 Timber.d("Error visibility changed to: VISIBLE with count: " + errorCount); | ||||
|             } else { | ||||
|                 uploadsErrorTextView.setVisibility(View.GONE); | ||||
|                 Timber.d("Error visibility changed to: GONE"); | ||||
|             } | ||||
|         } else { | ||||
|             Timber.e("updateErrorIcon: uploadsErrorTextView is null"); | ||||
|         } | ||||
| 
 | ||||
|         long endTime = System.currentTimeMillis(); | ||||
|         Timber.d("updateErrorIcon took " + (endTime - startTime) + " ms."); | ||||
|         Timber.d("updateErrorIcon: Method End"); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * Updates the visibility of the pending uploads ImageView based on the given count. | ||||
|      * | ||||
|      * @param count The number of pending uploads. | ||||
|      */ | ||||
|     public void updateUploadIcon(int count) { | ||||
|         Timber.d("updateUploadIcon: Method Start"); | ||||
|         long startTime = System.currentTimeMillis(); | ||||
| 
 | ||||
|         if (pendingUploadsImageView != null) { | ||||
|             Timber.d("Current upload count: " + count); | ||||
| 
 | ||||
|             if (count != 0) { | ||||
|                 pendingUploadsImageView.setVisibility(View.VISIBLE); | ||||
|             } else { | ||||
|                 pendingUploadsImageView.setVisibility(View.GONE); | ||||
|                 pendingUploadsImageView.setVisibility(View.VISIBLE); | ||||
|             } | ||||
|         } else { | ||||
|             Timber.e("updateUploadIcon: pendingUploadsImageView is null"); | ||||
|         } | ||||
| 
 | ||||
|         long endTime = System.currentTimeMillis(); | ||||
|         Timber.d("updateUploadIcon took " + (endTime - startTime) + " ms."); | ||||
|         Timber.d("updateUploadIcon: Method End"); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * Replace whatever is in the current contributionsFragmentContainer view with | ||||
|      * mediaDetailPagerFragment, and preserve previous state in back stack. Called when user selects | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 bxy379987
						bxy379987