Merge pull request #12667 from t895/version-info
android: Show version name instead of build hash in about fragment
This commit is contained in:
		| @@ -235,71 +235,33 @@ dependencies { | ||||
|     implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0") | ||||
| } | ||||
|  | ||||
| fun getGitVersion(): String { | ||||
|     var versionName = "0.0" | ||||
|  | ||||
|     try { | ||||
|         versionName = ProcessBuilder("git", "describe", "--always", "--long") | ||||
| fun runGitCommand(command: List<String>): String { | ||||
|     return try { | ||||
|         ProcessBuilder(command) | ||||
|             .directory(project.rootDir) | ||||
|             .redirectOutput(ProcessBuilder.Redirect.PIPE) | ||||
|             .redirectError(ProcessBuilder.Redirect.PIPE) | ||||
|             .start().inputStream.bufferedReader().use { it.readText() } | ||||
|             .trim() | ||||
|     } catch (e: Exception) { | ||||
|         logger.error("Cannot find git") | ||||
|         "" | ||||
|     } | ||||
| } | ||||
|  | ||||
| fun getGitVersion(): String { | ||||
|     val versionName = if (System.getenv("GITHUB_ACTIONS") != null) { | ||||
|         val gitTag = System.getenv("GIT_TAG_NAME") ?: "" | ||||
|         gitTag | ||||
|     } else { | ||||
|         runGitCommand(listOf("git", "describe", "--always", "--long")) | ||||
|             .replace(Regex("(-0)?-[^-]+$"), "") | ||||
|     } catch (e: Exception) { | ||||
|         logger.error("Cannot find git, defaulting to dummy version number") | ||||
|     } | ||||
|     return versionName.ifEmpty { "0.0" } | ||||
| } | ||||
|  | ||||
|     if (System.getenv("GITHUB_ACTIONS") != null) { | ||||
|         val gitTag = System.getenv("GIT_TAG_NAME") | ||||
|         versionName = gitTag ?: versionName | ||||
|     } | ||||
| fun getGitHash(): String = | ||||
|     runGitCommand(listOf("git", "rev-parse", "--short", "HEAD")).ifEmpty { "dummy-hash" } | ||||
|  | ||||
|     return versionName | ||||
| } | ||||
|  | ||||
| fun getGitHash(): String { | ||||
|     try { | ||||
|         val processBuilder = ProcessBuilder("git", "rev-parse", "--short", "HEAD") | ||||
|         processBuilder.directory(project.rootDir) | ||||
|         val process = processBuilder.start() | ||||
|         val inputStream = process.inputStream | ||||
|         val errorStream = process.errorStream | ||||
|         process.waitFor() | ||||
|  | ||||
|         return if (process.exitValue() == 0) { | ||||
|             inputStream.bufferedReader() | ||||
|                 .use { it.readText().trim() } // return the value of gitHash | ||||
|         } else { | ||||
|             val errorMessage = errorStream.bufferedReader().use { it.readText().trim() } | ||||
|             logger.error("Error running git command: $errorMessage") | ||||
|             "dummy-hash" // return a dummy hash value in case of an error | ||||
|         } | ||||
|     } catch (e: Exception) { | ||||
|         logger.error("$e: Cannot find git, defaulting to dummy build hash") | ||||
|         return "dummy-hash" // return a dummy hash value in case of an error | ||||
|     } | ||||
| } | ||||
|  | ||||
| fun getBranch(): String { | ||||
|     try { | ||||
|         val processBuilder = ProcessBuilder("git", "rev-parse", "--abbrev-ref", "HEAD") | ||||
|         processBuilder.directory(project.rootDir) | ||||
|         val process = processBuilder.start() | ||||
|         val inputStream = process.inputStream | ||||
|         val errorStream = process.errorStream | ||||
|         process.waitFor() | ||||
|  | ||||
|         return if (process.exitValue() == 0) { | ||||
|             inputStream.bufferedReader() | ||||
|                 .use { it.readText().trim() } // return the value of gitHash | ||||
|         } else { | ||||
|             val errorMessage = errorStream.bufferedReader().use { it.readText().trim() } | ||||
|             logger.error("Error running git command: $errorMessage") | ||||
|             "dummy-hash" // return a dummy hash value in case of an error | ||||
|         } | ||||
|     } catch (e: Exception) { | ||||
|         logger.error("$e: Cannot find git, defaulting to dummy build hash") | ||||
|         return "dummy-hash" // return a dummy hash value in case of an error | ||||
|     } | ||||
| } | ||||
| fun getBranch(): String = | ||||
|     runGitCommand(listOf("git", "rev-parse", "--abbrev-ref", "HEAD")).ifEmpty { "dummy-hash" } | ||||
|   | ||||
| @@ -76,8 +76,8 @@ class AboutFragment : Fragment() { | ||||
|             binding.root.findNavController().navigate(R.id.action_aboutFragment_to_licensesFragment) | ||||
|         } | ||||
|  | ||||
|         binding.textBuildHash.text = BuildConfig.GIT_HASH | ||||
|         binding.buttonBuildHash.setOnClickListener { | ||||
|         binding.textVersionName.text = BuildConfig.VERSION_NAME | ||||
|         binding.textVersionName.setOnClickListener { | ||||
|             val clipBoard = | ||||
|                 requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager | ||||
|             val clip = ClipData.newPlainText(getString(R.string.build), BuildConfig.GIT_HASH) | ||||
|   | ||||
| @@ -147,7 +147,7 @@ | ||||
|                     android:layout_marginHorizontal="20dp" /> | ||||
|  | ||||
|                 <LinearLayout | ||||
|                     android:id="@+id/button_build_hash" | ||||
|                     android:id="@+id/button_version_name" | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:background="?attr/selectableItemBackground" | ||||
| @@ -164,7 +164,7 @@ | ||||
|                         android:textAlignment="viewStart" /> | ||||
|  | ||||
|                     <com.google.android.material.textview.MaterialTextView | ||||
|                         android:id="@+id/text_build_hash" | ||||
|                         android:id="@+id/text_version_name" | ||||
|                         style="@style/TextAppearance.Material3.BodyMedium" | ||||
|                         android:layout_width="match_parent" | ||||
|                         android:layout_height="wrap_content" | ||||
|   | ||||
| @@ -148,7 +148,7 @@ | ||||
|                 android:layout_marginHorizontal="20dp" /> | ||||
|  | ||||
|             <LinearLayout | ||||
|                 android:id="@+id/button_build_hash" | ||||
|                 android:id="@+id/button_version_name" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:paddingVertical="16dp" | ||||
| @@ -165,7 +165,7 @@ | ||||
|                     android:text="@string/build" /> | ||||
|  | ||||
|                 <com.google.android.material.textview.MaterialTextView | ||||
|                     android:id="@+id/text_build_hash" | ||||
|                     android:id="@+id/text_version_name" | ||||
|                     style="@style/TextAppearance.Material3.BodyMedium" | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="wrap_content" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 liamwhite
					liamwhite