diff --git a/app/build.gradle b/app/build.gradle
index ccb9c898..876a2b32 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,6 +5,7 @@ plugins {
id 'kotlin-kapt'
id 'androidx.navigation.safeargs.kotlin'
id 'dagger.hilt.android.plugin'
+ id 'com.google.android.gms.oss-licenses-plugin'
}
android {
@@ -94,6 +95,9 @@ dependencies {
def timber_version = "4.7.1"
implementation "com.jakewharton.timber:timber:$timber_version"
+ def oss_licenses_version = "17.0.0"
+ implementation "com.google.android.gms:play-services-oss-licenses:$oss_licenses_version"
+
// Testing
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3905ad8a..fe607438 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -27,6 +27,12 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/dev/jdtech/jellyfin/fragments/SettingsFragment.kt b/app/src/main/java/dev/jdtech/jellyfin/fragments/SettingsFragment.kt
index 16168859..150140fd 100644
--- a/app/src/main/java/dev/jdtech/jellyfin/fragments/SettingsFragment.kt
+++ b/app/src/main/java/dev/jdtech/jellyfin/fragments/SettingsFragment.kt
@@ -1,11 +1,13 @@
package dev.jdtech.jellyfin.fragments
+import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatDelegate.*
import androidx.navigation.fragment.findNavController
import androidx.preference.ListPreference
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
+import com.google.android.gms.oss.licenses.OssLicensesMenuActivity
import dev.jdtech.jellyfin.R
class SettingsFragment : PreferenceFragmentCompat() {
@@ -25,5 +27,10 @@ class SettingsFragment : PreferenceFragmentCompat() {
}
true
}
+
+ findPreference("ossLicenses")?.setOnPreferenceClickListener {
+ startActivity(Intent(requireContext(), OssLicensesMenuActivity::class.java))
+ true
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/dev/jdtech/jellyfin/utils/VersionPreference.kt b/app/src/main/java/dev/jdtech/jellyfin/utils/VersionPreference.kt
new file mode 100644
index 00000000..7ce9e9fc
--- /dev/null
+++ b/app/src/main/java/dev/jdtech/jellyfin/utils/VersionPreference.kt
@@ -0,0 +1,14 @@
+package dev.jdtech.jellyfin.utils
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.preference.Preference
+
+class VersionPreference(context: Context, attrs: AttributeSet): Preference(context, attrs) {
+ init {
+ val packageManager = context.packageManager
+ val packageInfo = packageManager.getPackageInfo(context.packageName, 0)
+ val versionName = packageInfo.versionName
+ summary = versionName
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1cb60643..a356de9d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -50,4 +50,7 @@
Appearance
Theme
Error preparing player items
+ Version
+ Open source licenses
+ About
\ No newline at end of file
diff --git a/app/src/main/res/xml/fragment_settings.xml b/app/src/main/res/xml/fragment_settings.xml
index 54b61a1b..122ee8a8 100644
--- a/app/src/main/res/xml/fragment_settings.xml
+++ b/app/src/main/res/xml/fragment_settings.xml
@@ -36,7 +36,17 @@
app:entryValues="@array/themes_value"
app:key="theme"
app:title="@string/theme"
- app:useSimpleSummaryProvider="true"/>
+ app:useSimpleSummaryProvider="true" />
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 93c21d17..8d58cd76 100644
--- a/build.gradle
+++ b/build.gradle
@@ -16,6 +16,9 @@ buildscript {
def hilt_version = "2.37"
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
+
+ def oss_licenses_version = "0.10.4"
+ classpath "com.google.android.gms:oss-licenses-plugin:$oss_licenses_version"
}
}