mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-31 14:53:59 +01:00 
			
		
		
		
	Revamped Achievement Screen
This commit is contained in:
		
							parent
							
								
									4357acb1ab
								
							
						
					
					
						commit
						ba54e010d2
					
				
					 3 changed files with 548 additions and 657 deletions
				
			
		|  | @ -24,7 +24,6 @@ import fr.free.nrw.commons.utils.DialogUtil.showAlertDialog | ||||||
| import fr.free.nrw.commons.utils.ViewUtil.showDismissibleSnackBar | import fr.free.nrw.commons.utils.ViewUtil.showDismissibleSnackBar | ||||||
| import fr.free.nrw.commons.utils.ViewUtil.showLongToast | import fr.free.nrw.commons.utils.ViewUtil.showLongToast | ||||||
| import io.reactivex.android.schedulers.AndroidSchedulers | import io.reactivex.android.schedulers.AndroidSchedulers | ||||||
| import io.reactivex.disposables.CompositeDisposable |  | ||||||
| import io.reactivex.schedulers.Schedulers | import io.reactivex.schedulers.Schedulers | ||||||
| import org.apache.commons.lang3.StringUtils | import org.apache.commons.lang3.StringUtils | ||||||
| import timber.log.Timber | import timber.log.Timber | ||||||
|  | @ -42,9 +41,6 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | ||||||
| 
 | 
 | ||||||
|     private var _binding: FragmentAchievementsBinding? = null |     private var _binding: FragmentAchievementsBinding? = null | ||||||
|     private val binding get() = _binding!! |     private val binding get() = _binding!! | ||||||
| //    private lateinit var binding: FragmentAchievementsBinding |  | ||||||
|     private val compositeDisposable = CompositeDisposable() |  | ||||||
| 
 |  | ||||||
|     // To keep track of the number of wiki edits made by a user |     // To keep track of the number of wiki edits made by a user | ||||||
|     private var numberOfEdits: Int = 0 |     private var numberOfEdits: Int = 0 | ||||||
| 
 | 
 | ||||||
|  | @ -65,13 +61,13 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | ||||||
|         _binding = FragmentAchievementsBinding.inflate(inflater, container, false) |         _binding = FragmentAchievementsBinding.inflate(inflater, container, false) | ||||||
| 
 | 
 | ||||||
|         binding.achievementInfo.setOnClickListener { showInfoDialog() } |         binding.achievementInfo.setOnClickListener { showInfoDialog() } | ||||||
|         binding.imagesUploadInfo.setOnClickListener { showUploadInfo() } |         binding.imagesUploadInfoIcon.setOnClickListener { showUploadInfo() } | ||||||
|         binding.imagesRevertedInfo.setOnClickListener { showRevertedInfo() } |         binding.imagesRevertedInfoIcon.setOnClickListener { showRevertedInfo() } | ||||||
|         binding.imagesUsedByWikiInfo.setOnClickListener { showUsedByWikiInfo() } |         binding.imagesUsedByWikiInfoIcon.setOnClickListener { showUsedByWikiInfo() } | ||||||
|         binding.imagesNearbyInfo.setOnClickListener { showImagesViaNearbyInfo() } |         binding.imagesNearbyInfoIcon.setOnClickListener { showImagesViaNearbyInfo() } | ||||||
|         binding.imagesFeaturedInfo.setOnClickListener { showFeaturedImagesInfo() } |         binding.imagesFeaturedInfoIcon.setOnClickListener { showFeaturedImagesInfo() } | ||||||
|         binding.thanksReceivedInfo.setOnClickListener { showThanksReceivedInfo() } |         binding.thanksReceivedInfoIcon.setOnClickListener { showThanksReceivedInfo() } | ||||||
|         binding.qualityImagesInfo.setOnClickListener { showQualityImagesInfo() } |         binding.qualityImageIcon.setOnClickListener { showQualityImagesInfo() } | ||||||
| 
 | 
 | ||||||
|         // DisplayMetrics used to fetch the size of the screen |         // DisplayMetrics used to fetch the size of the screen | ||||||
|         val displayMetrics = DisplayMetrics() |         val displayMetrics = DisplayMetrics() | ||||||
|  | @ -80,6 +76,7 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | ||||||
|         val width = displayMetrics.widthPixels |         val width = displayMetrics.widthPixels | ||||||
| 
 | 
 | ||||||
|         // Used for the setting the size of imageView at runtime |         // Used for the setting the size of imageView at runtime | ||||||
|  |         // TODO REMOVE | ||||||
|         val params = binding.achievementBadgeImage.layoutParams as ConstraintLayout.LayoutParams |         val params = binding.achievementBadgeImage.layoutParams as ConstraintLayout.LayoutParams | ||||||
|         params.height = (height * BADGE_IMAGE_HEIGHT_RATIO).toInt() |         params.height = (height * BADGE_IMAGE_HEIGHT_RATIO).toInt() | ||||||
|         params.width = (width * BADGE_IMAGE_WIDTH_RATIO).toInt() |         params.width = (width * BADGE_IMAGE_WIDTH_RATIO).toInt() | ||||||
|  | @ -98,7 +95,7 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | ||||||
|         } |         } | ||||||
|         if (isBetaFlavour) { |         if (isBetaFlavour) { | ||||||
|             binding.progressBar.visibility = View.GONE |             binding.progressBar.visibility = View.GONE | ||||||
|             binding.imagesUsedByWikiText.setText(R.string.no_image) |             binding.imagesUsedCount.setText(R.string.no_image) | ||||||
|             binding.imagesRevertedText.setText(R.string.no_image_reverted) |             binding.imagesRevertedText.setText(R.string.no_image_reverted) | ||||||
|             binding.imagesUploadTextParam.setText(R.string.no_image_uploaded) |             binding.imagesUploadTextParam.setText(R.string.no_image_uploaded) | ||||||
|             binding.wikidataEdits.text = "0" |             binding.wikidataEdits.text = "0" | ||||||
|  | @ -169,8 +166,9 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | ||||||
|                                     setUploadCount(Achievements.from(response)) |                                     setUploadCount(Achievements.from(response)) | ||||||
|                                 } else { |                                 } else { | ||||||
|                                     Timber.d("Success") |                                     Timber.d("Success") | ||||||
|                                     binding.layoutImageReverts.visibility = View.INVISIBLE |                                     // TODO Create a Method to Hide all the Statistics | ||||||
|                                     binding.achievementBadgeImage.visibility = View.INVISIBLE | //                                    binding.layoutImageReverts.visibility = View.INVISIBLE | ||||||
|  | //                                    binding.achievementBadgeImage.visibility = View.INVISIBLE | ||||||
|                                     // If the number of edits made by the user are more than 150,000 |                                     // If the number of edits made by the user are more than 150,000 | ||||||
|                                     // in some cases such high number of wiki edit counts cause the |                                     // in some cases such high number of wiki edit counts cause the | ||||||
|                                     // achievements calculator to fail in some cases, for more details |                                     // achievements calculator to fail in some cases, for more details | ||||||
|  | @ -307,7 +305,7 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | ||||||
|             binding.imagesUploadedProgressbar.visibility = View.VISIBLE |             binding.imagesUploadedProgressbar.visibility = View.VISIBLE | ||||||
|             binding.imagesUploadedProgressbar.progress = |             binding.imagesUploadedProgressbar.progress = | ||||||
|                 100 * uploadCount / levelInfo.maxUploadCount |                 100 * uploadCount / levelInfo.maxUploadCount | ||||||
|             binding.tvUploadedImages.text = uploadCount.toString() + "/" + levelInfo.maxUploadCount |             binding.imageUploadedTVCount.text = uploadCount.toString() + "/" + levelInfo.maxUploadCount | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -329,11 +327,10 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | ||||||
| //        binding.imagesUploadedProgressbar.setVisibility(View.INVISIBLE); | //        binding.imagesUploadedProgressbar.setVisibility(View.INVISIBLE); | ||||||
| //        binding.imageRevertsProgressbar.setVisibility(View.INVISIBLE); | //        binding.imageRevertsProgressbar.setVisibility(View.INVISIBLE); | ||||||
| //        binding.imagesUsedByWikiProgressBar.setVisibility(View.INVISIBLE); | //        binding.imagesUsedByWikiProgressBar.setVisibility(View.INVISIBLE); | ||||||
|         binding.achievementBadgeImage.visibility = View.INVISIBLE |         //binding.achievementBadgeImage.visibility = View.INVISIBLE // TODO | ||||||
|         binding.imagesUsedByWikiText.setText(R.string.no_image) |         binding.imagesUsedCount.setText(R.string.no_image) | ||||||
|         binding.imagesRevertedText.setText(R.string.no_image_reverted) |         binding.imagesRevertedText.setText(R.string.no_image_reverted) | ||||||
|         binding.imagesUploadTextParam.setText(R.string.no_image_uploaded) |         binding.imagesUploadTextParam.setText(R.string.no_image_uploaded) | ||||||
|         binding.achievementBadgeImage.visibility = View.INVISIBLE |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  | @ -344,7 +341,7 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | ||||||
|         binding.imageRevertsProgressbar.visibility = View.VISIBLE |         binding.imageRevertsProgressbar.visibility = View.VISIBLE | ||||||
|         binding.imageRevertsProgressbar.progress = notRevertPercentage |         binding.imageRevertsProgressbar.progress = notRevertPercentage | ||||||
|         val revertPercentage = notRevertPercentage.toString() |         val revertPercentage = notRevertPercentage.toString() | ||||||
|         binding.tvRevertedImages.text = "$revertPercentage%" |         binding.imageRevertTVCount.text = "$revertPercentage%" | ||||||
|         binding.imagesRevertLimitText.text = |         binding.imagesRevertLimitText.text = | ||||||
|             resources.getString(R.string.achievements_revert_limit_message) + levelInfo.minNonRevertPercentage + "%" |             resources.getString(R.string.achievements_revert_limit_message) + levelInfo.minNonRevertPercentage + "%" | ||||||
|     } |     } | ||||||
|  | @ -359,13 +356,12 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | ||||||
|         binding.thanksReceived.text = achievements.thanksReceived.toString() |         binding.thanksReceived.text = achievements.thanksReceived.toString() | ||||||
|         binding.imagesUsedByWikiProgressBar.progress = |         binding.imagesUsedByWikiProgressBar.progress = | ||||||
|             100 * achievements.uniqueUsedImages / levelInfo.maxUniqueImages |             100 * achievements.uniqueUsedImages / levelInfo.maxUniqueImages | ||||||
|         binding.tvWikiPb.text = (achievements.uniqueUsedImages.toString() + "/" |         binding.imagesUsedCount.text = (achievements.uniqueUsedImages.toString() + "/" | ||||||
|                 + levelInfo.maxUniqueImages) |                 + levelInfo.maxUniqueImages) | ||||||
|         binding.imageFeatured.text = achievements.featuredImages.toString() |         binding.imageFeatured.text = achievements.featuredImages.toString() | ||||||
|         binding.qualityImages.text = achievements.qualityImages.toString() |         binding.qualityImages.text = achievements.qualityImages.toString() | ||||||
|         var levelUpInfoString = getString(R.string.level).uppercase() | 
 | ||||||
|         levelUpInfoString += " " + levelInfo.levelNumber |         binding.achievementLevel.text = getString(R.string.level,levelInfo.levelNumber) | ||||||
|         binding.achievementLevel.text = levelUpInfoString |  | ||||||
|         binding.achievementBadgeImage.setImageDrawable( |         binding.achievementBadgeImage.setImageDrawable( | ||||||
|             VectorDrawableCompat.create( |             VectorDrawableCompat.create( | ||||||
|                 resources, R.drawable.badge, |                 resources, R.drawable.badge, | ||||||
|  |  | ||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -375,7 +375,7 @@ | ||||||
|   <string name="statistics_thanks">Thanks Received</string> |   <string name="statistics_thanks">Thanks Received</string> | ||||||
|   <string name="statistics_featured">Featured Images</string> |   <string name="statistics_featured">Featured Images</string> | ||||||
|   <string name="statistics_wikidata_edits">Images via \"Nearby Places\"</string> |   <string name="statistics_wikidata_edits">Images via \"Nearby Places\"</string> | ||||||
|   <string name="level">Level</string> |   <string name="level">Level %d</string> | ||||||
|   <string name="images_uploaded">Images Uploaded</string> |   <string name="images_uploaded">Images Uploaded</string> | ||||||
|   <string name="image_reverts">Images Not Reverted</string> |   <string name="image_reverts">Images Not Reverted</string> | ||||||
|   <string name="images_used_by_wiki">Images Used</string> |   <string name="images_used_by_wiki">Images Used</string> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Neel Doshi
						Neel Doshi