mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-11-01 07:13:56 +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