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" } }