mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-31 14:53:59 +01:00 
			
		
		
		
	Implemented Badge and Minor Code Refactor
This commit is contained in:
		
							parent
							
								
									871c0ffb94
								
							
						
					
					
						commit
						21af5b4627
					
				
					 4 changed files with 268 additions and 223 deletions
				
			
		|  | @ -6,10 +6,14 @@ import android.util.DisplayMetrics | |||
| import android.view.LayoutInflater | ||||
| import android.view.View | ||||
| import android.view.ViewGroup | ||||
| import android.view.ViewTreeObserver | ||||
| import android.widget.Toast | ||||
| import androidx.appcompat.view.ContextThemeWrapper | ||||
| import androidx.constraintlayout.widget.ConstraintLayout | ||||
| import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat | ||||
| import com.google.android.material.badge.BadgeDrawable | ||||
| import com.google.android.material.badge.BadgeUtils | ||||
| import com.google.android.material.badge.ExperimentalBadgeUtils | ||||
| import fr.free.nrw.commons.R | ||||
| import fr.free.nrw.commons.Utils | ||||
| import fr.free.nrw.commons.auth.SessionManager | ||||
|  | @ -64,9 +68,9 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | |||
|         binding.imagesUploadInfoIcon.setOnClickListener { showUploadInfo() } | ||||
|         binding.imagesRevertedInfoIcon.setOnClickListener { showRevertedInfo() } | ||||
|         binding.imagesUsedByWikiInfoIcon.setOnClickListener { showUsedByWikiInfo() } | ||||
|         binding.imagesNearbyInfoIcon.setOnClickListener { showImagesViaNearbyInfo() } | ||||
|         binding.imagesFeaturedInfoIcon.setOnClickListener { showFeaturedImagesInfo() } | ||||
|         binding.thanksReceivedInfoIcon.setOnClickListener { showThanksReceivedInfo() } | ||||
|         //binding.imagesNearbyInfoIcon.setOnClickListener { showImagesViaNearbyInfo() } | ||||
|         //binding.imagesFeaturedInfoIcon.setOnClickListener { showFeaturedImagesInfo() } | ||||
|         //binding.thanksReceivedInfoIcon.setOnClickListener { showThanksReceivedInfo() } | ||||
|         binding.qualityImageIcon.setOnClickListener { showQualityImagesInfo() } | ||||
| 
 | ||||
|         // DisplayMetrics used to fetch the size of the screen | ||||
|  | @ -84,9 +88,6 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | |||
|         binding.progressBar.visibility = View.VISIBLE | ||||
| 
 | ||||
|         setHasOptionsMenu(true) | ||||
| 
 | ||||
|         // Set the initial value of WikiData edits to 0 | ||||
|         binding.wikidataEdits.text = "0" | ||||
|         if (sessionManager.userName == null || sessionManager.userName == userName) { | ||||
|             binding.tvAchievementsOfUser.visibility = View.GONE | ||||
|         } else { | ||||
|  | @ -94,14 +95,7 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | |||
|             binding.tvAchievementsOfUser.text = getString(R.string.achievements_of_user, userName) | ||||
|         } | ||||
|         if (isBetaFlavour) { | ||||
|             binding.progressBar.visibility = View.GONE | ||||
|             binding.imagesUsedCount.setText(R.string.no_image) | ||||
|             binding.imagesRevertedText.setText(R.string.no_image_reverted) | ||||
|             binding.imagesUploadTextParam.setText(R.string.no_image_uploaded) | ||||
|             binding.wikidataEdits.text = "0" | ||||
|             binding.imageFeatured.text = "0" | ||||
|             binding.qualityImages.text = "0" | ||||
|             binding.achievementLevel.text = "0" | ||||
|             binding.layout.visibility = View.GONE | ||||
|             setMenuVisibility(true) | ||||
|             return binding.root | ||||
|         } | ||||
|  | @ -212,7 +206,7 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | |||
|                 .observeOn(AndroidSchedulers.mainThread()) | ||||
|                 .subscribe({ edits: Int -> | ||||
|                     numberOfEdits = edits | ||||
|                     binding.wikidataEdits.text = edits.toString() | ||||
|                     showBadgesWithCount(view = binding.wikidataEditsIcon, count = edits) | ||||
|                 }, { e: Throwable -> | ||||
|                     Timber.e("Error:$e") | ||||
|                 }) | ||||
|  | @ -351,15 +345,22 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | |||
|      * and assign badge and level. Also stores the achievements level of the user in BasicKvStore to display in menu | ||||
|      * @param achievements | ||||
|      */ | ||||
| //    @OptIn(ExperimentalBadgeUtils::class) | ||||
|     private fun inflateAchievements(achievements: Achievements) { | ||||
| //        binding.imagesUsedByWikiProgressBar.setVisibility(View.VISIBLE); | ||||
|         binding.thanksReceived.text = achievements.thanksReceived.toString() | ||||
| 
 | ||||
|         // Thanks Received Badge | ||||
|         showBadgesWithCount(view = binding.thanksImageIcon, count =  achievements.thanksReceived) | ||||
| 
 | ||||
|         // Featured Images Badge | ||||
|         showBadgesWithCount(view = binding.featuredImageIcon, count =  achievements.featuredImages) | ||||
| 
 | ||||
|         // Quality Images Badge | ||||
|         showBadgesWithCount(view = binding.qualityImageIcon, count =  achievements.qualityImages) | ||||
| 
 | ||||
|         binding.imagesUsedByWikiProgressBar.progress = | ||||
|             100 * achievements.uniqueUsedImages / levelInfo.maxUniqueImages | ||||
|         binding.imagesUsedCount.text = (achievements.uniqueUsedImages.toString() + "/" | ||||
|                 + levelInfo.maxUniqueImages) | ||||
|         binding.imageFeatured.text = achievements.featuredImages.toString() | ||||
|         binding.qualityImages.text = achievements.qualityImages.toString() | ||||
| 
 | ||||
|         binding.achievementLevel.text = getString(R.string.level,levelInfo.levelNumber) | ||||
|         binding.achievementBadgeImage.setImageDrawable( | ||||
|  | @ -373,6 +374,49 @@ class AchievementsFragment : CommonsDaggerSupportFragment(){ | |||
|         store.putString("userAchievementsLevel", levelInfo.levelNumber.toString()) | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * This function is used to show badge on any view (button, imageView, etc) | ||||
|      * @param view The View on which the badge will be displayed eg (button, imageView, etc) | ||||
|      * @param count The number to be displayed inside the badge. | ||||
|      * @param backgroundColor The badge background color. Default is R.attr.colorPrimary | ||||
|      * @param badgeTextColor The badge text color. Default is R.attr.colorPrimary | ||||
|      * @param badgeGravity The position of the badge [TOP_END,TOP_START,BOTTOM_END,BOTTOM_START]. Default is TOP_END | ||||
|      * @return if the number is 0, then it will not create badge for it and hide the view | ||||
|      * @see https://developer.android.com/reference/com/google/android/material/badge/BadgeDrawable | ||||
|      */ | ||||
| 
 | ||||
|     private fun showBadgesWithCount( | ||||
|         view: View, | ||||
|         count: Int, | ||||
|         backgroundColor: Int = R.attr.colorPrimary, | ||||
|         badgeTextColor: Int = R.attr.textEnabled, | ||||
|         badgeGravity: Int = BadgeDrawable.TOP_END | ||||
|     ) { | ||||
|         //https://stackoverflow.com/a/67742035 | ||||
|         if (count == 0) { | ||||
|             view.visibility = View.GONE | ||||
|             return | ||||
|         } | ||||
| 
 | ||||
|         view.viewTreeObserver.addOnGlobalLayoutListener(object : | ||||
|             ViewTreeObserver.OnGlobalLayoutListener { | ||||
|             /** | ||||
|              * Callback method to be invoked when the global layout state or the visibility of views | ||||
|              * within the view tree changes | ||||
|              */ | ||||
|             @ExperimentalBadgeUtils | ||||
|             override fun onGlobalLayout() { | ||||
|                 view.visibility = View.VISIBLE | ||||
|                 val badgeDrawable = BadgeDrawable.create(requireActivity()) | ||||
|                 badgeDrawable.number = count | ||||
|                 badgeDrawable.badgeGravity = badgeGravity | ||||
|                 badgeDrawable.badgeTextColor = badgeTextColor | ||||
|                 badgeDrawable.backgroundColor = backgroundColor | ||||
|                 BadgeUtils.attachBadgeDrawable(badgeDrawable, binding.wikidataEditsIcon) | ||||
|                 view.getViewTreeObserver().removeOnGlobalLayoutListener(this) | ||||
|             } | ||||
|         }) | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * to hide progressbar | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ | |||
| <!-- TODO Add ContentDescription For ALL Images Added ignore to suppress Lints --> | ||||
| 
 | ||||
|   <androidx.constraintlayout.widget.ConstraintLayout | ||||
|     android:id="@+id/drawer_layout" | ||||
|     android:id="@+id/layout" | ||||
|     android:layout_width="match_parent" | ||||
|     android:layout_height="wrap_content"> | ||||
| 
 | ||||
|  | @ -283,234 +283,233 @@ | |||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginStart="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginTop="@dimen/activity_margin_horizontal" | ||||
|       android:text="@string/statistics" | ||||
|       android:text="@string/badges" | ||||
|       android:textAllCaps="true" | ||||
|       android:textSize="16sp" | ||||
|       android:textStyle="bold" | ||||
|       app:layout_constraintStart_toStartOf="parent" | ||||
|       app:layout_constraintTop_toBottomOf="@+id/materialDivider2" /> | ||||
| 
 | ||||
|     <!--Nearby Places Statistics--> | ||||
|     <ImageView | ||||
|       android:id="@+id/wikidata_edits_icon" | ||||
|       android:layout_width="@dimen/dimen_40" | ||||
|       android:layout_height="@dimen/dimen_40" | ||||
|       android:layout_marginStart="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginTop="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintLeft_toLeftOf="parent" | ||||
|       app:layout_constraintTop_toBottomOf="@+id/tv_statistics" | ||||
|       app:srcCompat="@drawable/ic_custom_map_marker" /> | ||||
| 
 | ||||
|     <TextView | ||||
|       android:id="@+id/images_nearby_data" | ||||
|       style="?android:textAppearanceMedium" | ||||
|       android:layout_width="0dp" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginStart="16dp" | ||||
|       android:layout_marginEnd="16dp" | ||||
|       android:text="@string/statistics_wikidata_edits" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/wikidata_edits_icon" | ||||
|       app:layout_constraintEnd_toStartOf="@+id/images_nearby_info_icon" | ||||
|       app:layout_constraintStart_toEndOf="@+id/wikidata_edits_icon" | ||||
|       app:layout_constraintTop_toTopOf="@+id/wikidata_edits_icon" /> | ||||
|     <!--    <TextView--> | ||||
| <!--      android:id="@+id/images_nearby_data"--> | ||||
| <!--      style="?android:textAppearanceMedium"--> | ||||
| <!--      android:layout_width="0dp"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginStart="16dp"--> | ||||
| <!--      android:layout_marginEnd="16dp"--> | ||||
| <!--      android:text="@string/statistics_wikidata_edits"--> | ||||
| <!--      app:layout_constraintBottom_toBottomOf="@+id/wikidata_edits_icon"--> | ||||
| <!--      app:layout_constraintEnd_toStartOf="@+id/images_nearby_info_icon"--> | ||||
| <!--      app:layout_constraintStart_toEndOf="@+id/wikidata_edits_icon"--> | ||||
| <!--      app:layout_constraintTop_toTopOf="@+id/wikidata_edits_icon" />--> | ||||
| 
 | ||||
|     <ImageView | ||||
|       android:id="@+id/images_nearby_info_icon" | ||||
|       android:layout_width="wrap_content" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginEnd="16dp" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/images_nearby_data" | ||||
|       app:layout_constraintEnd_toStartOf="@+id/wikidata_edits" | ||||
|       app:layout_constraintTop_toTopOf="@+id/images_nearby_data" | ||||
|       app:srcCompat="@drawable/ic_info_outline_24dp" | ||||
|       app:tint="@color/black" /> | ||||
| <!--    <ImageView--> | ||||
| <!--      android:id="@+id/images_nearby_info_icon"--> | ||||
| <!--      android:layout_width="wrap_content"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginEnd="16dp"--> | ||||
| <!--      app:layout_constraintBottom_toBottomOf="@+id/images_nearby_data"--> | ||||
| <!--      app:layout_constraintEnd_toStartOf="@+id/wikidata_edits"--> | ||||
| <!--      app:layout_constraintTop_toTopOf="@+id/images_nearby_data"--> | ||||
| <!--      app:srcCompat="@drawable/ic_info_outline_24dp"--> | ||||
| <!--      app:tint="@color/black" />--> | ||||
| 
 | ||||
|     <TextView | ||||
|       android:id="@+id/wikidata_edits" | ||||
|       style="?android:textAppearanceMedium" | ||||
|       android:layout_width="wrap_content" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginEnd="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/images_nearby_info_icon" | ||||
|       app:layout_constraintEnd_toEndOf="parent" | ||||
|       app:layout_constraintTop_toTopOf="@+id/images_nearby_info_icon" | ||||
|       tools:text="2" /> | ||||
| <!--    <TextView--> | ||||
| <!--      android:id="@+id/wikidata_edits"--> | ||||
| <!--      style="?android:textAppearanceMedium"--> | ||||
| <!--      android:layout_width="wrap_content"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginEnd="@dimen/activity_margin_horizontal"--> | ||||
| <!--      app:layout_constraintBottom_toBottomOf="@+id/images_nearby_info_icon"--> | ||||
| <!--      app:layout_constraintEnd_toEndOf="parent"--> | ||||
| <!--      app:layout_constraintTop_toTopOf="@+id/images_nearby_info_icon"--> | ||||
| <!--      tools:text="2" />--> | ||||
| 
 | ||||
|     <com.google.android.material.divider.MaterialDivider | ||||
|       android:id="@+id/materialDivider3" | ||||
| <!--    <com.google.android.material.divider.MaterialDivider--> | ||||
| <!--      android:id="@+id/materialDivider3"--> | ||||
| <!--      android:layout_width="match_parent"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginStart="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:layout_marginTop="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:layout_marginEnd="@dimen/activity_margin_horizontal"--> | ||||
| <!--      app:layout_constraintEnd_toEndOf="parent"--> | ||||
| <!--      app:layout_constraintStart_toStartOf="parent"--> | ||||
| <!--      app:layout_constraintTop_toBottomOf="@+id/wikidata_edits_icon" />--> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <!--    <TextView--> | ||||
| <!--      android:id="@+id/images_featured_data"--> | ||||
| <!--      style="?android:textAppearanceMedium"--> | ||||
| <!--      android:layout_width="0dp"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginStart="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:layout_marginEnd="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:text="@string/statistics_featured"--> | ||||
| <!--      app:layout_constraintBottom_toBottomOf="@+id/featured_image_icon"--> | ||||
| <!--      app:layout_constraintEnd_toStartOf="@+id/images_nearby_info_icon"--> | ||||
| <!--      app:layout_constraintStart_toEndOf="@+id/featured_image_icon"--> | ||||
| <!--      app:layout_constraintTop_toTopOf="@+id/featured_image_icon" />--> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <!--    <TextView--> | ||||
| <!--      android:id="@+id/image_featured"--> | ||||
| <!--      style="?android:textAppearanceMedium"--> | ||||
| <!--      android:layout_width="wrap_content"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginEnd="@dimen/activity_margin_horizontal"--> | ||||
| <!--      app:layout_constraintBottom_toBottomOf="@+id/images_featured_info_icon"--> | ||||
| <!--      app:layout_constraintEnd_toEndOf="parent"--> | ||||
| <!--      app:layout_constraintTop_toTopOf="@+id/images_featured_info_icon"--> | ||||
| <!--      tools:text="2" />--> | ||||
| 
 | ||||
| <!--    <com.google.android.material.divider.MaterialDivider--> | ||||
| <!--      android:id="@+id/materialDivider4"--> | ||||
| <!--      android:layout_width="match_parent"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginStart="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:layout_marginTop="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:layout_marginEnd="@dimen/activity_margin_horizontal"--> | ||||
| <!--      app:layout_constraintEnd_toEndOf="parent"--> | ||||
| <!--      app:layout_constraintStart_toStartOf="parent"--> | ||||
| <!--      app:layout_constraintTop_toBottomOf="@+id/featured_image_icon" />--> | ||||
| 
 | ||||
| 
 | ||||
|     <LinearLayout | ||||
|       android:id="@+id/badgesItems" | ||||
|       android:layout_width="match_parent" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginStart="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginTop="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginEnd="@dimen/activity_margin_horizontal" | ||||
|       android:orientation="horizontal" | ||||
|       android:padding="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintEnd_toEndOf="parent" | ||||
|       app:layout_constraintStart_toStartOf="parent" | ||||
|       app:layout_constraintTop_toBottomOf="@+id/wikidata_edits_icon" /> | ||||
|       app:layout_constraintTop_toBottomOf="@+id/tv_statistics"> | ||||
| 
 | ||||
|     <!--Featured Image Statistics--> | ||||
|       <!--Nearby Places Statistics--> | ||||
|       <ImageView | ||||
|         android:id="@+id/wikidata_edits_icon" | ||||
|         android:layout_width="@dimen/dimen_40" | ||||
|         android:layout_height="@dimen/dimen_40" | ||||
|         android:layout_marginEnd="@dimen/medium_width" | ||||
|         app:srcCompat="@drawable/ic_custom_map_marker" /> | ||||
| 
 | ||||
|     <ImageView | ||||
|       android:id="@+id/featured_image_icon" | ||||
|       android:layout_width="@dimen/dimen_40" | ||||
|       android:layout_height="@dimen/dimen_40" | ||||
|       android:layout_marginStart="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginTop="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintLeft_toLeftOf="parent" | ||||
|       app:layout_constraintTop_toBottomOf="@+id/materialDivider3" | ||||
|       app:srcCompat="@drawable/featured" /> | ||||
|       <!--Featured Image Statistics--> | ||||
|       <ImageView | ||||
|         android:id="@+id/featured_image_icon" | ||||
|         android:layout_width="@dimen/dimen_40" | ||||
|         android:layout_height="@dimen/dimen_40" | ||||
|         android:layout_marginEnd="@dimen/medium_width" | ||||
|         app:srcCompat="@drawable/featured" /> | ||||
| 
 | ||||
|     <TextView | ||||
|       android:id="@+id/images_featured_data" | ||||
|       style="?android:textAppearanceMedium" | ||||
|       android:layout_width="0dp" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginStart="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginEnd="@dimen/activity_margin_horizontal" | ||||
|       android:text="@string/statistics_featured" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/featured_image_icon" | ||||
|       app:layout_constraintEnd_toStartOf="@+id/images_nearby_info_icon" | ||||
|       app:layout_constraintStart_toEndOf="@+id/featured_image_icon" | ||||
|       app:layout_constraintTop_toTopOf="@+id/featured_image_icon" /> | ||||
|       <!--Quality Image Statistics--> | ||||
|       <ImageView | ||||
|         android:id="@+id/quality_image_icon" | ||||
|         android:layout_width="@dimen/dimen_40" | ||||
|         android:layout_height="@dimen/dimen_40" | ||||
|         android:layout_marginEnd="@dimen/medium_width" | ||||
|         app:srcCompat="@drawable/ic_quality_images_logo" /> | ||||
| 
 | ||||
|       <!--Thank Image Statistics--> | ||||
|       <ImageView | ||||
|         android:id="@+id/thanks_image_icon" | ||||
|         android:layout_width="@dimen/dimen_40" | ||||
|         android:layout_height="@dimen/dimen_40" | ||||
| 
 | ||||
|         android:layout_marginEnd="@dimen/medium_width" | ||||
|         app:srcCompat="@drawable/ic_thanks" /> | ||||
| 
 | ||||
| 
 | ||||
|     <ImageView | ||||
|       android:id="@+id/images_featured_info_icon" | ||||
|       android:layout_width="wrap_content" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginEnd="16dp" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/images_featured_data" | ||||
|       app:layout_constraintEnd_toStartOf="@+id/wikidata_edits" | ||||
|       app:layout_constraintTop_toTopOf="@+id/images_featured_data" | ||||
|       app:srcCompat="@drawable/ic_info_outline_24dp" | ||||
|       app:tint="@color/black" /> | ||||
|     </LinearLayout> | ||||
| 
 | ||||
| <!--    <TextView--> | ||||
| <!--      android:id="@+id/quality_images_data"--> | ||||
| <!--      style="?android:textAppearanceMedium"--> | ||||
| <!--      android:layout_width="0dp"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginStart="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:layout_marginEnd="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:text="@string/statistics_quality"--> | ||||
| <!--      app:layout_constraintBottom_toBottomOf="@+id/quality_image_icon"--> | ||||
| <!--      app:layout_constraintEnd_toStartOf="@+id/images_nearby_info_icon"--> | ||||
| <!--      app:layout_constraintStart_toEndOf="@+id/quality_image_icon"--> | ||||
| <!--      app:layout_constraintTop_toTopOf="@+id/quality_image_icon" />--> | ||||
| 
 | ||||
| <!--    <ImageView--> | ||||
| <!--      android:id="@+id/quality_images_info_icon"--> | ||||
| <!--      android:layout_width="wrap_content"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginEnd="16dp"--> | ||||
| <!--      app:layout_constraintBottom_toBottomOf="@+id/quality_images_data"--> | ||||
| <!--      app:layout_constraintEnd_toStartOf="@+id/quality_images"--> | ||||
| <!--      app:layout_constraintTop_toTopOf="@+id/quality_images_data"--> | ||||
| <!--      app:srcCompat="@drawable/ic_info_outline_24dp"--> | ||||
| <!--      app:tint="@color/black" />--> | ||||
| 
 | ||||
| <!--    <TextView--> | ||||
| <!--      android:id="@+id/quality_images"--> | ||||
| <!--      style="?android:textAppearanceMedium"--> | ||||
| <!--      android:layout_width="wrap_content"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginEnd="@dimen/activity_margin_horizontal"--> | ||||
| <!--      app:layout_constraintBottom_toBottomOf="@+id/quality_images_info_icon"--> | ||||
| <!--      app:layout_constraintEnd_toEndOf="parent"--> | ||||
| <!--      app:layout_constraintTop_toTopOf="@+id/quality_images_info_icon"--> | ||||
| <!--      tools:text="2" />--> | ||||
| 
 | ||||
| <!--    <com.google.android.material.divider.MaterialDivider--> | ||||
| <!--      android:id="@+id/materialDivider5"--> | ||||
| <!--      android:layout_width="match_parent"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginStart="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:layout_marginTop="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:layout_marginEnd="@dimen/activity_margin_horizontal"--> | ||||
| <!--      app:layout_constraintEnd_toEndOf="parent"--> | ||||
| <!--      app:layout_constraintStart_toStartOf="parent"--> | ||||
| <!--      app:layout_constraintTop_toBottomOf="@+id/quality_image_icon" />--> | ||||
| 
 | ||||
| 
 | ||||
|     <TextView | ||||
|       android:id="@+id/image_featured" | ||||
|       style="?android:textAppearanceMedium" | ||||
|       android:layout_width="wrap_content" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginEnd="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/images_featured_info_icon" | ||||
|       app:layout_constraintEnd_toEndOf="parent" | ||||
|       app:layout_constraintTop_toTopOf="@+id/images_featured_info_icon" | ||||
|       tools:text="2" /> | ||||
| 
 | ||||
|     <com.google.android.material.divider.MaterialDivider | ||||
|       android:id="@+id/materialDivider4" | ||||
|       android:layout_width="match_parent" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginStart="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginTop="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginEnd="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintEnd_toEndOf="parent" | ||||
|       app:layout_constraintStart_toStartOf="parent" | ||||
|       app:layout_constraintTop_toBottomOf="@+id/featured_image_icon" /> | ||||
| 
 | ||||
|     <!--Quality Image Statistics--> | ||||
| <!--    <TextView--> | ||||
| <!--      android:id="@+id/thanks_received_data"--> | ||||
| <!--      style="?android:textAppearanceMedium"--> | ||||
| <!--      android:layout_width="0dp"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginStart="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:layout_marginEnd="@dimen/activity_margin_horizontal"--> | ||||
| <!--      android:text="@string/statistics_thanks"--> | ||||
| <!--      app:layout_constraintBottom_toBottomOf="@+id/thanks_image_icon"--> | ||||
| <!--      app:layout_constraintEnd_toStartOf="@+id/images_nearby_info_icon"--> | ||||
| <!--      app:layout_constraintStart_toEndOf="@+id/thanks_image_icon"--> | ||||
| <!--      app:layout_constraintTop_toTopOf="@+id/thanks_image_icon" />--> | ||||
| 
 | ||||
|     <ImageView | ||||
|       android:id="@+id/quality_image_icon" | ||||
|       android:layout_width="@dimen/dimen_40" | ||||
|       android:layout_height="@dimen/dimen_40" | ||||
|       android:layout_marginStart="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginTop="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintLeft_toLeftOf="parent" | ||||
|       app:layout_constraintTop_toBottomOf="@+id/materialDivider4" | ||||
|       app:srcCompat="@drawable/ic_quality_images_logo" /> | ||||
| <!--    <ImageView--> | ||||
| <!--      android:id="@+id/thanks_received_info_icon"--> | ||||
| <!--      android:layout_width="wrap_content"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginEnd="@dimen/activity_margin_horizontal"--> | ||||
| <!--      app:layout_constraintBottom_toBottomOf="@+id/thanks_received_data"--> | ||||
| <!--      app:layout_constraintEnd_toStartOf="@+id/quality_images"--> | ||||
| <!--      app:layout_constraintTop_toTopOf="@+id/thanks_received_data"--> | ||||
| <!--      app:srcCompat="@drawable/ic_info_outline_24dp"--> | ||||
| <!--      app:tint="@color/black" />--> | ||||
| 
 | ||||
|     <TextView | ||||
|       android:id="@+id/quality_images_data" | ||||
|       style="?android:textAppearanceMedium" | ||||
|       android:layout_width="0dp" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginStart="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginEnd="@dimen/activity_margin_horizontal" | ||||
|       android:text="@string/statistics_quality" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/quality_image_icon" | ||||
|       app:layout_constraintEnd_toStartOf="@+id/images_nearby_info_icon" | ||||
|       app:layout_constraintStart_toEndOf="@+id/quality_image_icon" | ||||
|       app:layout_constraintTop_toTopOf="@+id/quality_image_icon" /> | ||||
| 
 | ||||
|     <ImageView | ||||
|       android:id="@+id/quality_images_info_icon" | ||||
|       android:layout_width="wrap_content" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginEnd="16dp" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/quality_images_data" | ||||
|       app:layout_constraintEnd_toStartOf="@+id/quality_images" | ||||
|       app:layout_constraintTop_toTopOf="@+id/quality_images_data" | ||||
|       app:srcCompat="@drawable/ic_info_outline_24dp" | ||||
|       app:tint="@color/black" /> | ||||
| 
 | ||||
|     <TextView | ||||
|       android:id="@+id/quality_images" | ||||
|       style="?android:textAppearanceMedium" | ||||
|       android:layout_width="wrap_content" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginEnd="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/quality_images_info_icon" | ||||
|       app:layout_constraintEnd_toEndOf="parent" | ||||
|       app:layout_constraintTop_toTopOf="@+id/quality_images_info_icon" | ||||
|       tools:text="2" /> | ||||
| 
 | ||||
|     <com.google.android.material.divider.MaterialDivider | ||||
|       android:id="@+id/materialDivider5" | ||||
|       android:layout_width="match_parent" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginStart="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginTop="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginEnd="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintEnd_toEndOf="parent" | ||||
|       app:layout_constraintStart_toStartOf="parent" | ||||
|       app:layout_constraintTop_toBottomOf="@+id/quality_image_icon" /> | ||||
| 
 | ||||
|     <!--Thank Image Statistics--> | ||||
| 
 | ||||
|     <ImageView | ||||
|       android:id="@+id/thanks_image_icon" | ||||
|       android:layout_width="@dimen/dimen_40" | ||||
|       android:layout_height="@dimen/dimen_40" | ||||
|       android:layout_marginStart="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginTop="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintLeft_toLeftOf="parent" | ||||
|       app:layout_constraintTop_toBottomOf="@+id/materialDivider5" | ||||
|       app:srcCompat="@drawable/ic_thanks" /> | ||||
| 
 | ||||
|     <TextView | ||||
|       android:id="@+id/thanks_received_data" | ||||
|       style="?android:textAppearanceMedium" | ||||
|       android:layout_width="0dp" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginStart="@dimen/activity_margin_horizontal" | ||||
|       android:layout_marginEnd="@dimen/activity_margin_horizontal" | ||||
|       android:text="@string/statistics_thanks" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/thanks_image_icon" | ||||
|       app:layout_constraintEnd_toStartOf="@+id/images_nearby_info_icon" | ||||
|       app:layout_constraintStart_toEndOf="@+id/thanks_image_icon" | ||||
|       app:layout_constraintTop_toTopOf="@+id/thanks_image_icon" /> | ||||
| 
 | ||||
|     <ImageView | ||||
|       android:id="@+id/thanks_received_info_icon" | ||||
|       android:layout_width="wrap_content" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginEnd="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/thanks_received_data" | ||||
|       app:layout_constraintEnd_toStartOf="@+id/quality_images" | ||||
|       app:layout_constraintTop_toTopOf="@+id/thanks_received_data" | ||||
|       app:srcCompat="@drawable/ic_info_outline_24dp" | ||||
|       app:tint="@color/black" /> | ||||
| 
 | ||||
|     <TextView | ||||
|       android:id="@+id/thanks_received" | ||||
|       style="?android:textAppearanceMedium" | ||||
|       android:layout_width="wrap_content" | ||||
|       android:layout_height="wrap_content" | ||||
|       android:layout_marginEnd="@dimen/activity_margin_horizontal" | ||||
|       app:layout_constraintBottom_toBottomOf="@+id/thanks_received_info_icon" | ||||
|       app:layout_constraintEnd_toEndOf="parent" | ||||
|       app:layout_constraintTop_toTopOf="@+id/thanks_received_info_icon" | ||||
|       tools:text="2" /> | ||||
| <!--    <TextView--> | ||||
| <!--      android:id="@+id/thanks_received"--> | ||||
| <!--      style="?android:textAppearanceMedium"--> | ||||
| <!--      android:layout_width="wrap_content"--> | ||||
| <!--      android:layout_height="wrap_content"--> | ||||
| <!--      android:layout_marginEnd="@dimen/activity_margin_horizontal"--> | ||||
| <!--      app:layout_constraintBottom_toBottomOf="@+id/thanks_received_info_icon"--> | ||||
| <!--      app:layout_constraintEnd_toEndOf="parent"--> | ||||
| <!--      app:layout_constraintTop_toTopOf="@+id/thanks_received_info_icon"--> | ||||
| <!--      tools:text="2" />--> | ||||
| 
 | ||||
| 
 | ||||
|     <ProgressBar | ||||
|  |  | |||
|  | @ -371,6 +371,7 @@ | |||
|   <string name="delete">Delete</string> | ||||
|   <string name="Achievements">Achievements</string> | ||||
|   <string name="Profile">Profile</string> | ||||
|   <string name="badges">Badges</string> | ||||
|   <string name="statistics">Statistics</string> | ||||
|   <string name="statistics_thanks">Thanks Received</string> | ||||
|   <string name="statistics_featured">Featured Images</string> | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| <resources> | ||||
| 
 | ||||
|     <style name="DarkAppTheme" parent="Theme.AppCompat.NoActionBar"> | ||||
|     <style name="DarkAppTheme" parent="Theme.MaterialComponents.NoActionBar"> | ||||
|         <item name="contributionsListBackground">@color/contributionListDarkBackground</item> | ||||
|         <item name="tabBackground">@color/contributionListDarkBackground</item> | ||||
|         <item name="tabIndicatorColor">@color/white</item> | ||||
|  | @ -62,7 +62,7 @@ | |||
|         <item name="android:splitMotionEvents">false</item> | ||||
|     </style> | ||||
| 
 | ||||
|     <style name="LightAppTheme" parent="Theme.AppCompat.Light.NoActionBar"> | ||||
|     <style name="LightAppTheme" parent="Theme.MaterialComponents.NoActionBar"> | ||||
|         <item name="contributionsListBackground">@color/white</item> | ||||
|         <item name="tabBackground">@color/card_light_grey</item> | ||||
|         <item name="tabIndicatorColor">@color/primaryDarkColor</item> | ||||
|  | @ -73,6 +73,7 @@ | |||
|         <item name="drawerHeaderBackground">@color/drawerHeader_background_light</item> | ||||
|         <item name="tutorialBackground">@color/tutorial_background_light</item> | ||||
|         <item name="icon">@color/secondaryTextColor</item> | ||||
|         <item name="colorPrimary">@color/primaryDarkColor</item> | ||||
|         <item name="colorPrimaryDark">@color/primaryDarkColor</item> | ||||
|         <item name="colorAccent">@color/primaryColor</item> | ||||
|         <item name="colorButtonNormal">@color/primaryColor</item> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Neel Doshi
						Neel Doshi