Add reusable workflows for PRs and testing builds

This commit is contained in:
Ensar Sarajčić 2024-09-28 12:02:58 +02:00
parent 0faad4c4d4
commit bd0743d625
7 changed files with 854 additions and 1 deletions

9
.github/workflows/pr.yml vendored Normal file
View File

@ -0,0 +1,9 @@
name: PR
on:
pull_request:
branches: [ master ]
jobs:
call-pr-workflow:
uses: FossifyOrg/.github/.github/workflows/pr.yml@main

10
.github/workflows/testing-build.yml vendored Normal file
View File

@ -0,0 +1,10 @@
name: Testing build (on PR)
on:
pull_request:
branches: [ master ]
types: [ labeled, opened, synchronize, reopened ]
jobs:
call-testing-build-workflow:
uses: FossifyOrg/.github/.github/workflows/testing-build.yml@main

View File

@ -6,6 +6,7 @@ plugins {
alias(libs.plugins.android)
alias(libs.plugins.kotlinAndroid)
alias(libs.plugins.ksp)
alias(libs.plugins.detekt)
}
val keystorePropertiesFile: File = rootProject.file("keystore.properties")
@ -88,10 +89,16 @@ android {
lint {
checkReleaseBuilds = false
abortOnError = false
abortOnError = true
warningsAsErrors = true
baseline = file("lint-baseline.xml")
}
}
detekt {
baseline = file("detekt-baseline.xml")
}
dependencies {
implementation(libs.fossify.commons)
implementation(libs.eventbus)

119
app/detekt-baseline.xml Normal file
View File

@ -0,0 +1,119 @@
<?xml version="1.0" ?>
<SmellBaseline>
<ManuallySuppressedIssues></ManuallySuppressedIssues>
<CurrentIssues>
<ID>EmptyCatchBlock:Activity.kt${ }</ID>
<ID>EmptyCatchBlock:RecorderFragment.kt$RecorderFragment${ }</ID>
<ID>EmptyFunctionBlock:Mp3Recorder.kt$Mp3Recorder${}</ID>
<ID>EmptyFunctionBlock:PlayerFragment.kt$PlayerFragment.&lt;no name provided&gt;${}</ID>
<ID>EmptyFunctionBlock:RecordingsAdapter.kt$RecordingsAdapter${}</ID>
<ID>EmptyFunctionBlock:TrashAdapter.kt$TrashAdapter${}</ID>
<ID>EmptyFunctionBlock:TrashFragment.kt$TrashFragment${}</ID>
<ID>EmptyFunctionBlock:WidgetRecordDisplayConfigureActivity.kt$WidgetRecordDisplayConfigureActivity.&lt;no name provided&gt;${}</ID>
<ID>FunctionParameterNaming:Config.kt$Config$audio_source: Int</ID>
<ID>MagicNumber:Activity.kt$1000</ID>
<ID>MagicNumber:Activity.kt$1000L</ID>
<ID>MagicNumber:Constants.kt$128000</ID>
<ID>MagicNumber:Constants.kt$160000</ID>
<ID>MagicNumber:Constants.kt$192000</ID>
<ID>MagicNumber:Constants.kt$256000</ID>
<ID>MagicNumber:Constants.kt$32000</ID>
<ID>MagicNumber:Constants.kt$320000</ID>
<ID>MagicNumber:Constants.kt$64000</ID>
<ID>MagicNumber:Constants.kt$96000</ID>
<ID>MagicNumber:Context.kt$1000</ID>
<ID>MagicNumber:Context.kt$60</ID>
<ID>MagicNumber:Mp3Recorder.kt$Mp3Recorder$1.25</ID>
<ID>MagicNumber:Mp3Recorder.kt$Mp3Recorder$1000</ID>
<ID>MagicNumber:Mp3Recorder.kt$Mp3Recorder$7200</ID>
<ID>MagicNumber:Mp3Recorder.kt$Mp3Recorder$8</ID>
<ID>MagicNumber:PlayerFragment.kt$PlayerFragment$1000</ID>
<ID>MagicNumber:PlayerFragment.kt$PlayerFragment$10000</ID>
<ID>MagicNumber:PlayerFragment.kt$PlayerFragment.&lt;no name provided&gt;$1000</ID>
<ID>MagicNumber:RecorderFragment.kt$RecorderFragment$500</ID>
<ID>MagicNumber:RecorderService.kt$RecorderService$1000</ID>
<ID>MagicNumber:RecorderService.kt$RecorderService$75L</ID>
<ID>MagicNumber:SettingsActivity.kt$SettingsActivity$1000</ID>
<ID>MagicNumber:ViewPagerAdapter.kt$ViewPagerAdapter$3</ID>
<ID>MagicNumber:WidgetRecordDisplayConfigureActivity.kt$WidgetRecordDisplayConfigureActivity$100</ID>
<ID>MaxLineLength:Activity.kt$fileDirItems = recordingsToMove.map { File(it.path).toFileDirItem(this) }.toMutableList() as ArrayList&lt;FileDirItem&gt;</ID>
<ID>MaxLineLength:Activity.kt$fileDirItems = recordingsToRestore.map { File(it.path).toFileDirItem(this) }.toMutableList() as ArrayList&lt;FileDirItem&gt;</ID>
<ID>MaxLineLength:Activity.kt$fun</ID>
<ID>MaxLineLength:Activity.kt$val recordingsToRemove = getLegacyRecordings(trashed = true).filter { it.timestamp &lt; System.currentTimeMillis() - MONTH_SECONDS * 1000L }</ID>
<ID>MaxLineLength:BackgroundRecordActivity.kt$BackgroundRecordActivity$PermissionRequiredDialog(this, org.fossify.commons.R.string.allow_notifications_voice_recorder, { openNotificationSettings() })</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$customView?.findViewById&lt;ImageView&gt;(org.fossify.commons.R.id.tab_item_icon)?.setImageDrawable(getDrawable(drawableId))</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_2_title_commons, org.fossify.commons.R.string.faq_2_text_commons))</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_6_title_commons, org.fossify.commons.R.string.faq_6_text_commons))</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(org.fossify.commons.R.bool.hide_google_relations)</ID>
<ID>MaxLineLength:MainActivity.kt$MainActivity$updateMaterialActivityViews(binding.mainCoordinator, binding.mainHolder, useTransparentNavigation = false, useTopSearchMenu = true)</ID>
<ID>MaxLineLength:MyViewPagerFragment.kt$MyViewPagerFragment$abstract</ID>
<ID>MaxLineLength:MyWidgetRecordDisplayProvider.kt$MyWidgetRecordDisplayProvider$PendingIntent.getActivity(context, OPEN_APP_INTENT_ID, this, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)</ID>
<ID>MaxLineLength:MyWidgetRecordDisplayProvider.kt$MyWidgetRecordDisplayProvider$val drawable = context.resources.getColoredDrawableWithColor(org.fossify.commons.R.drawable.ic_microphone_vector, color, alpha)</ID>
<ID>MaxLineLength:PlayerFragment.kt$PlayerFragment$class</ID>
<ID>MaxLineLength:PlayerFragment.kt$PlayerFragment$if</ID>
<ID>MaxLineLength:PlayerFragment.kt$PlayerFragment$val drawable = if (isPlaying) org.fossify.commons.R.drawable.ic_pause_vector else org.fossify.commons.R.drawable.ic_play_vector</ID>
<ID>MaxLineLength:PlayerFragment.kt$PlayerFragment$val filtered = itemsIgnoringSearch.filter { it.title.contains(text, true) }.toMutableList() as ArrayList&lt;Recording&gt;</ID>
<ID>MaxLineLength:RecorderFragment.kt$RecorderFragment$PermissionRequiredDialog</ID>
<ID>MaxLineLength:RecorderFragment.kt$RecorderFragment$if (status == RECORDING_RUNNING || status == RECORDING_PAUSED) org.fossify.commons.R.drawable.ic_stop_vector else org.fossify.commons.R.drawable.ic_microphone_vector</ID>
<ID>MaxLineLength:RecorderFragment.kt$RecorderFragment$setImageDrawable(resources.getColoredDrawableWithColor(org.fossify.commons.R.drawable.ic_pause_vector, properPrimaryColor.getContrastColor()))</ID>
<ID>MaxLineLength:RecorderService.kt$RecorderService$return PendingIntent.getActivity(this, RECORDER_RUNNING_NOTIF_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)</ID>
<ID>MaxLineLength:RecorderService.kt$RecorderService$val importance = if (hideNotification) NotificationManager.IMPORTANCE_MIN else NotificationManager.IMPORTANCE_DEFAULT</ID>
<ID>MaxLineLength:Recording.kt$Recording</ID>
<ID>MaxLineLength:RecordingsAdapter.kt$RecordingsAdapter$private</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$arrayOf(binding.settingsColorCustomizationSectionLabel, binding.settingsGeneralSettingsLabel, binding.settingsRecycleBinLabel)</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$binding.settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") &amp;&amp; !isTiramisuPlus())</ID>
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$updateMaterialActivityViews(binding.settingsCoordinator, binding.settingsHolder, useTransparentNavigation = true, useTopSearchMenu = false)</ID>
<ID>MaxLineLength:TrashFragment.kt$TrashFragment$class</ID>
<ID>MaxLineLength:TrashFragment.kt$TrashFragment$val filtered = itemsIgnoringSearch.filter { it.title.contains(text, true) }.toMutableList() as ArrayList&lt;Recording&gt;</ID>
<ID>MaxLineLength:WidgetRecordDisplayConfigureActivity.kt$WidgetRecordDisplayConfigureActivity$mWidgetColorWithoutTransparency = Color.rgb(Color.red(mWidgetColor), Color.green(mWidgetColor), Color.blue(mWidgetColor))</ID>
<ID>PrintStackTrace:Mp3Recorder.kt$Mp3Recorder$e</ID>
<ID>SwallowedException:Activity.kt$e: Exception</ID>
<ID>SwallowedException:Context.kt$e: Exception</ID>
<ID>SwallowedException:RecorderFragment.kt$RecorderFragment$e: Exception</ID>
<ID>TooGenericExceptionCaught:Activity.kt$e: Exception</ID>
<ID>TooGenericExceptionCaught:Context.kt$e: Exception</ID>
<ID>TooGenericExceptionCaught:Mp3Recorder.kt$Mp3Recorder$e: Exception</ID>
<ID>TooGenericExceptionCaught:PlayerFragment.kt$PlayerFragment$e: Exception</ID>
<ID>TooGenericExceptionCaught:RecorderFragment.kt$RecorderFragment$e: Exception</ID>
<ID>TooGenericExceptionCaught:RecorderService.kt$RecorderService$e: Exception</ID>
<ID>TooGenericExceptionCaught:RenameRecordingDialog.kt$RenameRecordingDialog$e: Exception</ID>
<ID>TooManyFunctions:Context.kt$org.fossify.voicerecorder.extensions.Context.kt</ID>
<ID>TooManyFunctions:MainActivity.kt$MainActivity : SimpleActivity</ID>
<ID>TooManyFunctions:PlayerFragment.kt$PlayerFragment : MyViewPagerFragmentRefreshRecordingsListener</ID>
<ID>TooManyFunctions:RecorderFragment.kt$RecorderFragment : MyViewPagerFragment</ID>
<ID>TooManyFunctions:RecorderService.kt$RecorderService : Service</ID>
<ID>TooManyFunctions:RecordingsAdapter.kt$RecordingsAdapter : MyRecyclerViewAdapterOnPopupTextUpdate</ID>
<ID>TooManyFunctions:SettingsActivity.kt$SettingsActivity : SimpleActivity</ID>
<ID>TooManyFunctions:TrashAdapter.kt$TrashAdapter : MyRecyclerViewAdapterOnPopupTextUpdate</ID>
<ID>TooManyFunctions:TrashFragment.kt$TrashFragment : MyViewPagerFragmentRefreshRecordingsListener</ID>
<ID>UnusedParameter:PlayerFragment.kt$PlayerFragment$event: Events.RecordingCompleted</ID>
<ID>UnusedParameter:PlayerFragment.kt$PlayerFragment$event: Events.RecordingTrashUpdated</ID>
<ID>UnusedParameter:TrashFragment.kt$TrashFragment$event: Events.RecordingTrashUpdated</ID>
<ID>UnusedPrivateMember:TrashAdapter.kt$TrashAdapter$private fun getItemWithKey(key: Int): Recording?</ID>
<ID>VariableNaming:MyWidgetRecordDisplayProvider.kt$MyWidgetRecordDisplayProvider$private val OPEN_APP_INTENT_ID = 1</ID>
<ID>VariableNaming:PlayerFragment.kt$PlayerFragment$private val FAST_FORWARD_SKIP_MS = 10000</ID>
<ID>VariableNaming:RecorderService.kt$RecorderService$private val AMPLITUDE_UPDATE_MS = 75L</ID>
<ID>WildcardImport:Activity.kt$import org.fossify.commons.helpers.*</ID>
<ID>WildcardImport:Context.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:Context.kt$import org.fossify.voicerecorder.helpers.*</ID>
<ID>WildcardImport:MainActivity.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:MainActivity.kt$import org.fossify.commons.helpers.*</ID>
<ID>WildcardImport:Mp3Recorder.kt$import java.io.*</ID>
<ID>WildcardImport:PlayerFragment.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:RecorderFragment.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:RecorderFragment.kt$import org.fossify.voicerecorder.helpers.*</ID>
<ID>WildcardImport:RecorderService.kt$import android.app.*</ID>
<ID>WildcardImport:RecorderService.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:RecorderService.kt$import org.fossify.voicerecorder.helpers.*</ID>
<ID>WildcardImport:RecordingsAdapter.kt$import android.view.*</ID>
<ID>WildcardImport:RecordingsAdapter.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:RenameRecordingDialog.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:SettingsActivity.kt$import org.fossify.commons.dialogs.*</ID>
<ID>WildcardImport:SettingsActivity.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:SettingsActivity.kt$import org.fossify.commons.helpers.*</ID>
<ID>WildcardImport:TrashAdapter.kt$import android.view.*</ID>
<ID>WildcardImport:TrashAdapter.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:TrashFragment.kt$import org.fossify.commons.extensions.*</ID>
<ID>WildcardImport:WidgetRecordDisplayConfigureActivity.kt$import org.fossify.commons.extensions.*</ID>
</CurrentIssues>
</SmellBaseline>

704
app/lint-baseline.xml Normal file
View File

@ -0,0 +1,704 @@
<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 8.2.2" type="baseline" client="gradle" dependencies="false" name="AGP (8.2.2)" variant="all" version="8.2.2">
<issue
id="InlinedApi"
message="Field requires API level 29 (current min is 23): `android.media.MediaRecorder.OutputFormat#OGG`"
errorLine1=" EXTENSION_OGG -> MediaRecorder.OutputFormat.OGG"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/helpers/Config.kt"
line="67"
column="26"/>
</issue>
<issue
id="InlinedApi"
message="Field requires API level 29 (current min is 23): `android.media.MediaRecorder.AudioEncoder#OPUS`"
errorLine1=" EXTENSION_OGG -> MediaRecorder.AudioEncoder.OPUS"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/helpers/Config.kt"
line="72"
column="26"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 33 (current min is 23): `launchChangeAppLanguageIntent`"
errorLine1=" launchChangeAppLanguageIntent()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/activities/SettingsActivity.kt"
line="100"
column="13"/>
</issue>
<issue
id="UnusedAttribute"
message="Attribute `appCategory` is only used in API level 26 and higher (current min is 23)"
errorLine1=" android:appCategory=&quot;audio&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="26"
column="9"/>
</issue>
<issue
id="UnusedAttribute"
message="Attribute `localeConfig` is only used in API level 33 and higher (current min is 23)"
errorLine1=" android:localeConfig=&quot;@xml/locale_config&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="29"
column="9"/>
</issue>
<issue
id="CustomSplashScreen"
message="The application should not provide its own launch screen"
errorLine1="class SplashActivity : BaseSplashActivity() {"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/activities/SplashActivity.kt"
line="6"
column="7"/>
</issue>
<issue
id="GradleDependency"
message="A newer version of org.jetbrains.kotlin.android than 1.9.21 is available: 1.9.25"
errorLine1="kotlin = &quot;1.9.21&quot;"
errorLine2=" ~~~~~~~~">
<location
file="$HOME/Projects/Community/FossifyOrg/Voice-Recorder/gradle/libs.versions.toml"
line="3"
column="10"/>
</issue>
<issue
id="GradleDependency"
message="A newer version of com.google.devtools.ksp than 1.9.21-1.0.16 is available: 1.9.25-1.0.20"
errorLine1="ksp = &quot;1.9.21-1.0.16&quot;"
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="$HOME/Projects/Community/FossifyOrg/Voice-Recorder/gradle/libs.versions.toml"
line="5"
column="7"/>
</issue>
<issue
id="GradleDependency"
message="A newer version of com.android.application than 8.2.2 is available: 8.6.1"
errorLine1="gradlePlugins-agp = &quot;8.2.2&quot;"
errorLine2=" ~~~~~~~">
<location
file="$HOME/Projects/Community/FossifyOrg/Voice-Recorder/gradle/libs.versions.toml"
line="23"
column="21"/>
</issue>
<issue
id="LockedOrientationActivity"
message="Expecting `android:screenOrientation=&quot;unspecified&quot;` or `&quot;fullSensor&quot;` for this activity so the user can use the application in any orientation and provide a great experience on Chrome OS devices"
errorLine1=" android:screenOrientation=&quot;portrait&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="39"
column="13"/>
</issue>
<issue
id="UseCompatLoadingForDrawables"
message="Use `AppCompatResources.getDrawable()`"
errorLine1=" customView?.findViewById&lt;ImageView>(org.fossify.commons.R.id.tab_item_icon)?.setImageDrawable(getDrawable(drawableId))"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/activities/MainActivity.kt"
line="173"
column="111"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;lt&quot; (Lithuanian) the following quantity should also be defined: `many` (e.g. &quot;1.1 obuolio&quot;)"
errorLine1=" &lt;plurals name=&quot;delete_recordings&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-lt/strings.xml"
line="13"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;cs&quot; (Czech) the following quantity should also be defined: `many` (e.g. &quot;10.0 dne&quot;)"
errorLine1=" &lt;plurals name=&quot;delete_recordings&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-cs/strings.xml"
line="14"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;pt&quot; (Portuguese) the following quantity should also be defined: `many`"
errorLine1=" &lt;plurals name=&quot;delete_recordings&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-pt-rBR/strings.xml"
line="14"
column="5"/>
</issue>
<issue
id="MissingQuantity"
message="For locale &quot;sk&quot; (Slovak) the following quantity should also be defined: `many` (e.g. &quot;10.0 dňa&quot;)"
errorLine1=" &lt;plurals name=&quot;delete_recordings&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-sk/strings.xml"
line="14"
column="5"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;app_launcher_name&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ar&quot; (Arabic), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;app_launcher_name&quot;>Voice Recorder_debug&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/debug/res/values/strings.xml"
line="3"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;app_launcher_name&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ar&quot; (Arabic), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;app_launcher_name&quot;>Voice Recorder&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="3"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;recording_saved_successfully&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;recording_saved_successfully&quot;>Recording saved successfully&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="4"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;recording&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ml&quot; (Malayalam), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;recording&quot;>Recording&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="5"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;no_recordings_found&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;no_recordings_found&quot;>No recordings created by this app\nhave been found&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="6"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;no_recordings_in_folder_found&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;no_recordings_in_folder_found&quot;>No recordings have been found\nin the selected folder&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="7"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;paused&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;paused&quot;>Paused&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="8"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;recorder&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ml&quot; (Malayalam), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;ar&quot; (Arabic), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;ro&quot; (Romanian), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;gl&quot; (Galician), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;recorder&quot;>Recorder&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="9"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;player&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ml&quot; (Malayalam), &quot;ms&quot; (Malay), &quot;el&quot; (Greek), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;ro&quot; (Romanian), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;player&quot;>Player&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="10"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;delete_recordings_confirmation&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ar&quot; (Arabic), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;delete_recordings_confirmation&quot;>Delete %s\?&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="13"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;delete_recordings&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ml&quot; (Malayalam), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;plurals name=&quot;delete_recordings&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="14"
column="14"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;try_hiding_notification&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;try_hiding_notification&quot;>Try hiding the recording notification&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="19"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;save_recordings_in&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;save_recordings_in&quot;>Save recordings in&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="20"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;audio_source&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;ro&quot; (Romanian), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;audio_source&quot;>Audio source&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="21"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;bitrate&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ar&quot; (Arabic), &quot;vi&quot; (Vietnamese), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;sk&quot; (Slovak), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;gl&quot; (Galician), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;bitrate&quot;>Bitrate&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="22"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;record_after_launch&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ml&quot; (Malayalam), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;record_after_launch&quot;>Start recording automatically after launching the app&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="23"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;audio_source_camcorder&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;ro&quot; (Romanian), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;audio_source_camcorder&quot;>Camera&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="25"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;audio_source_default&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;ro&quot; (Romanian), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;audio_source_default&quot;>Android default&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="26"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;audio_source_unprocessed&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;ro&quot; (Romanian), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;audio_source_unprocessed&quot;>Unprocessed&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="27"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;audio_source_microphone&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;ro&quot; (Romanian), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;audio_source_microphone&quot;>Microphone&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="28"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;audio_source_voice_recognition&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;ro&quot; (Romanian), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;audio_source_voice_recognition&quot;>Voice recognition&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="29"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;audio_source_voice_communication&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;ro&quot; (Romanian), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;audio_source_voice_communication&quot;>Voice communication&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="30"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;audio_source_voice_performance&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lt&quot; (Lithuanian), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;iw&quot; (Hebrew), &quot;nb&quot; (Norwegian Bokmål), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;fa&quot; (Persian), &quot;ro&quot; (Romanian), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;audio_source_voice_performance&quot;>Voice performance&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="31"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;faq_1_title&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;faq_1_title&quot;>Can I hide the notification icon during recording?&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="33"
column="13"/>
</issue>
<issue
id="MissingTranslation"
message="&quot;faq_1_text&quot; is not translated in &quot;fil&quot; (Filipino; Pilipino), &quot;lv&quot; (Latvian), &quot;ia&quot; (Interlingua), &quot;mk&quot; (Macedonian), &quot;ms&quot; (Malay), &quot;en&quot; (English), &quot;eo&quot; (Esperanto), &quot;is&quot; (Icelandic), &quot;my&quot; (Burmese), &quot;ne&quot; (Nepali), &quot;az&quot; (Azerbaijani), &quot;nn&quot; (Norwegian Nynorsk), &quot;bn&quot; (Bangla), &quot;br&quot; (Breton), &quot;bs&quot; (Bosnian), &quot;si&quot; (Sinhala), &quot;zgh&quot; (Standard Moroccan Tamazight), &quot;ltg&quot;, &quot;kn&quot; (Kannada), &quot;or&quot; (Odia), &quot;kr&quot; (Kanuri), &quot;sat&quot; (Santali), &quot;ta&quot; (Tamil), &quot;cr&quot; (Cree), &quot;pa&quot; (Punjabi), &quot;te&quot; (Telugu), &quot;th&quot; (Thai), &quot;cy&quot; (Welsh), &quot;ckb&quot;"
errorLine1=" &lt;string name=&quot;faq_1_text&quot;>Well, it depends. While you use your device it is no longer possible to fully hide the notifications of apps like this."
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/strings.xml"
line="34"
column="13"/>
</issue>
<issue
id="UnusedQuantity"
message="For language &quot;iw&quot; (Hebrew) the following quantities are not relevant: `many`"
errorLine1=" &lt;plurals name=&quot;delete_recordings&quot;>"
errorLine2=" ^">
<location
file="src/main/res/values-iw/strings.xml"
line="12"
column="5"/>
</issue>
<issue
id="NotifyDataSetChanged"
message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
errorLine1=" notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/adapters/RecordingsAdapter.kt"
line="95"
column="13"/>
</issue>
<issue
id="NotifyDataSetChanged"
message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
errorLine1=" notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/adapters/RecordingsAdapter.kt"
line="252"
column="13"/>
</issue>
<issue
id="NotifyDataSetChanged"
message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
errorLine1=" notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/adapters/TrashAdapter.kt"
line="81"
column="13"/>
</issue>
<issue
id="NotifyDataSetChanged"
message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
errorLine1=" notifyDataSetChanged()"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/adapters/TrashAdapter.kt"
line="181"
column="13"/>
</issue>
<issue
id="Recycle"
message="This `InputStream` should be freed up after use with `#close()`"
errorLine1=" contentResolver.openInputStream(recordingUri)?.available() ?: 0"
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/extensions/Context.kt"
line="226"
column="25"/>
</issue>
<issue
id="Recycle"
message="This `ParcelFileDescriptor` should be freed up after use with `#close()`"
errorLine1=" val outputFileDescriptor = contentResolver.openFileDescriptor(fileUri, &quot;w&quot;)!!.fileDescriptor"
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/services/RecorderService.kt"
line="102"
column="60"/>
</issue>
<issue
id="Recycle"
message="This `ParcelFileDescriptor` should be freed up after use with `#close()`"
errorLine1=" val outputFileDescriptor = contentResolver.openFileDescriptor(document!!.uri, &quot;w&quot;)!!.fileDescriptor"
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/services/RecorderService.kt"
line="108"
column="60"/>
</issue>
<issue
id="Recycle"
message="This `OutputStream` should be freed up after use with `#close()`"
errorLine1=" val outputStream = contentResolver.openOutputStream(newUri)"
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/org/fossify/voicerecorder/services/RecorderService.kt"
line="204"
column="48"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (2173 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" &lt;path android:fillColor=&quot;#FFFFFF&quot; android:pathData=&quot;M91.733 31.071c-4.979-9.404-12.539-16.042-22.496-20.098-7.629-2.7-15.376-3.938-23.049-2.582-7.192 0.922-13.461 3.687-19.178 7.929-9.035 6.822-14.566 15.857-16.78 26.736-0.583 2.82-0.552 5.371-0.552 8.298v20.652c-0.038 3.077-0.153 7.01 0.369 9.589 2.028 7.745 6.638 12.908 14.382 14.936h0.184v0.553c0.184 0.922 0.553 2.212 2.212 3.135l0.369 0.184h7.007l0.369-0.184c2.397-0.922 2.397-3.319 2.397-4.426V56.886c0-2.582-1.291-3.872-3.872-3.872h-4.241c-0.922 0-3.688 0-4.056 3.135l-0.184 0.737c-3.688 0.922-6.823 2.582-9.589 5.347-0.184-3.503 0-7.007 0-10.51h0.369c1.475 0 1.475 0 1.475-1.475s0-2.766 0.184-4.056c0.737-4.61 2.212-8.851 4.426-12.723l1.107 0.737c0.922 0.553 2.028 1.291 2.951 2.028 0.737 0.553 2.028 1.107 3.503 0 1.107-0.737 1.844-1.66 2.582-2.582 0.184-0.369 0.553-0.553 0.737-0.922 6.823-7.375 15.489-10.326 25.446-8.666 6.454 0.922 11.986 4.241 16.596 9.589 0.737 0.922 1.66 1.844 2.582 2.397 0.553 0.369 1.107 0.737 1.844 0.737 0.553 0 1.107-0.184 1.66-0.553 1.107-0.737 2.028-1.291 3.135-2.028l1.291-0.737c1.291 2.212 2.212 4.61 3.135 7.007 1.107 3.319 1.66 6.823 1.66 10.51 0 0.737 0.369 0.922 0.922 0.922 0.369 0 0.553-0.184 0.922-0.184V62.42c-1.293-1.291-2.584-2.398-4.244-3.319-1.659-0.922-3.503-1.845-5.347-2.029v-0.369c-0.186-2.03-1.661-3.321-3.689-3.321h-4.979c-2.397 0.185-3.503 1.291-3.503 3.688v39.46c0.662 2.292 0.534 3.039 2.212 4.241h7.376l0.369-0.184c0.737-0.369 2.212-1.291 2.028-3.319v-0.184c4.61-1.107 8.298-3.503 11.064-7.375 3.41-5.99 3.834-11.996 3.688-17.886v-19.73c0.231-6.875-1.744-15.078-4.793-21.022zM28.117 76.063V56.701h4.61v0.369c0.184 8.298 0 16.78 0 24.894V96.9h-4.794v-6.27c0.184-4.979 0.184-9.773 0.184-14.567zM78.826 32.73c-0.553-0.368-1.107-0.922-1.476-1.659-5.163-6.085-11.432-9.773-18.808-10.879-11.248-1.844-21.02 1.475-28.765 9.773-0.369 0.369-0.553 0.553-0.737 0.922-0.553 0.737-1.107 1.291-1.66 1.844-0.737-0.553-1.66-1.107-2.582-1.66 0.737-1.107 1.66-2.028 2.397-2.951 5.347-5.716 11.801-9.404 19.177-10.879 6.007-0.691 11.228-0.476 16.78 0.922 7.375 2.397 13.461 6.823 18.071 12.908-0.553 0.553-1.475 1.107-2.397 1.66zm-0.923 46.099v17.886h-4.61V56.701h3.688l1.107 0.185v0.737c-0.184 6.823-0.184 14.014-0.184 21.205z&quot;/>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/ic_headset_vector.xml"
line="2"
column="57"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (828 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" &lt;path android:fillColor=&quot;#ffffff&quot; android:pathData=&quot;M203 309V203q0-4.51 3.05-7.55 3.05-3.05 7.55-3.05 4.51 0 7.55 3.05 3.05 3.04 3.05 7.55v106q0 4.51-3.05 7.55-3.05 3.05-7.55 3.05-4.51 0-7.55-3.05Q203 313.51 203 309zm42.4 42.4V160.6q0-4.51 3.05-7.55Q251.49 150 256 150t7.55 3.05q3.05 3.05 3.05 7.55v190.8q0 4.51-3.05 7.55Q260.51 362 256 362t-7.55-3.05q-3.05-3.05-3.05-7.55zm-84.8-84.8v-21.2q0-4.51 3.05-7.55 3.05-3.05 7.55-3.05 4.51 0 7.55 3.05 3.05 3.05 3.05 7.55v21.2q0 4.51-3.05 7.55-3.05 3.05-7.55 3.05-4.51 0-7.55-3.05-3.05-3.04-3.05-7.55zM287.8 309V203q0-4.51 3.05-7.55 3.05-3.05 7.55-3.05 4.51 0 7.55 3.05Q309 198.49 309 203v106q0 4.51-3.05 7.55-3.05 3.05-7.55 3.05-4.51 0-7.55-3.05-3.05-3.04-3.05-7.55zm42.4-42.4v-21.2q0-4.51 3.05-7.55 3.05-3.05 7.55-3.05 4.51 0 7.55 3.05 3.05 3.05 3.05 7.55v21.2q0 4.51-3.05 7.55-3.05 3.05-7.55 3.05-4.51 0-7.55-3.05-3.05-3.04-3.05-7.55z&quot; android:strokeWidth=&quot;0.265&quot;/>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/ic_launcher_foreground.xml"
line="2"
column="57"/>
</issue>
<issue
id="VectorPath"
message="Very long vector path (828 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" &lt;path android:fillColor=&quot;#ffffff&quot; android:pathData=&quot;M203 309V203q0-4.51 3.05-7.55 3.05-3.05 7.55-3.05 4.51 0 7.55 3.05 3.05 3.04 3.05 7.55v106q0 4.51-3.05 7.55-3.05 3.05-7.55 3.05-4.51 0-7.55-3.05Q203 313.51 203 309zm42.4 42.4V160.6q0-4.51 3.05-7.55Q251.49 150 256 150t7.55 3.05q3.05 3.05 3.05 7.55v190.8q0 4.51-3.05 7.55Q260.51 362 256 362t-7.55-3.05q-3.05-3.05-3.05-7.55zm-84.8-84.8v-21.2q0-4.51 3.05-7.55 3.05-3.05 7.55-3.05 4.51 0 7.55 3.05 3.05 3.05 3.05 7.55v21.2q0 4.51-3.05 7.55-3.05 3.05-7.55 3.05-4.51 0-7.55-3.05-3.05-3.04-3.05-7.55zM287.8 309V203q0-4.51 3.05-7.55 3.05-3.05 7.55-3.05 4.51 0 7.55 3.05Q309 198.49 309 203v106q0 4.51-3.05 7.55-3.05 3.05-7.55 3.05-4.51 0-7.55-3.05-3.05-3.04-3.05-7.55zm42.4-42.4v-21.2q0-4.51 3.05-7.55 3.05-3.05 7.55-3.05 4.51 0 7.55 3.05 3.05 3.05 3.05 7.55v21.2q0 4.51-3.05 7.55-3.05 3.05-7.55 3.05-4.51 0-7.55-3.05-3.05-3.04-3.05-7.55z&quot; android:strokeWidth=&quot;0.265&quot;/>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/drawable/ic_launcher_monochrome.xml"
line="2"
column="57"/>
</issue>
<issue
id="UnusedResources"
message="The resource `R.string.package_name` appears to be unused"
errorLine1=" &lt;string name=&quot;package_name&quot;>org.fossify.voicerecorder&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values/donottranslate.xml"
line="2"
column="13"/>
</issue>
<issue
id="IconLocation"
message="Found bitmap drawable `res/drawable/ic_empty.png` in densityless folder">
<location
file="src/main/res/drawable/ic_empty.png"/>
</issue>
<issue
id="ContentDescription"
message="Missing `contentDescription` attribute on image"
errorLine1=" &lt;ImageView"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/res/layout/fragment_recorder.xml"
line="36"
column="6"/>
</issue>
<issue
id="ContentDescription"
message="Missing `contentDescription` attribute on image"
errorLine1=" &lt;ImageView"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/res/layout/fragment_recorder.xml"
line="48"
column="6"/>
</issue>
<issue
id="ContentDescription"
message="Missing `contentDescription` attribute on image"
errorLine1=" &lt;ImageView"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/res/layout/item_recording.xml"
line="76"
column="10"/>
</issue>
<issue
id="ContentDescription"
message="Missing `contentDescription` attribute on image"
errorLine1="&lt;ImageView xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/res/layout/widget_record_display.xml"
line="2"
column="2"/>
</issue>
<issue
id="ContentDescription"
message="Missing `contentDescription` attribute on image"
errorLine1=" &lt;ImageView"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/res/layout/widget_record_display_config.xml"
line="22"
column="14"/>
</issue>
<issue
id="ContentDescription"
message="Missing `contentDescription` attribute on image"
errorLine1=" &lt;ImageView"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/res/layout/widget_record_display_config.xml"
line="29"
column="10"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
errorLine1=" android:paddingStart=&quot;@dimen/small_margin&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/dialog_delete_confirmation.xml"
line="14"
column="9"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingStart` you should probably also define `paddingEnd` for right-to-left symmetry"
errorLine1=" android:paddingStart=&quot;@dimen/activity_margin&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_recording.xml"
line="14"
column="9"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
errorLine1=" android:paddingEnd=&quot;@dimen/activity_margin&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_recording.xml"
line="25"
column="13"/>
</issue>
<issue
id="RtlSymmetry"
message="When you define `paddingEnd` you should probably also define `paddingStart` for right-to-left symmetry"
errorLine1=" android:paddingEnd=&quot;@dimen/activity_margin&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/item_recording.xml"
line="42"
column="13"/>
</issue>
</issues>

View File

@ -2,4 +2,5 @@ plugins {
alias(libs.plugins.android).apply(false)
alias(libs.plugins.kotlinAndroid).apply(false)
alias(libs.plugins.ksp).apply(false)
alias(libs.plugins.detekt).apply(false)
}

View File

@ -3,6 +3,8 @@
kotlin = "1.9.21"
#KSP
ksp = "1.9.21-1.0.16"
#Detekt
detekt = "1.23.3"
#AndroidX
androidx-constraintlayout = "2.1.4"
androidx-documentfile = "1.0.1"
@ -48,3 +50,4 @@ autofittextview = { module = "me.grantland:autofittextview", version.ref = "auto
android = { id = "com.android.application", version.ref = "gradlePlugins-agp" }
kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }