Switch to AboutLibraries for licenses screen

This commit is contained in:
jarnedemeulemeester 2021-08-21 15:25:36 +02:00 committed by Jarne Demeulemeester
parent 71dbd1bdd3
commit 6ab22428d8
10 changed files with 34 additions and 38 deletions

View file

@ -5,7 +5,7 @@ plugins {
id 'kotlin-kapt' id 'kotlin-kapt'
id 'androidx.navigation.safeargs.kotlin' id 'androidx.navigation.safeargs.kotlin'
id 'dagger.hilt.android.plugin' id 'dagger.hilt.android.plugin'
id 'com.google.android.gms.oss-licenses-plugin' id "com.mikepenz.aboutlibraries.plugin"
} }
android { android {
@ -99,8 +99,9 @@ dependencies {
def timber_version = "5.0.0" def timber_version = "5.0.0"
implementation "com.jakewharton.timber:timber:$timber_version" implementation "com.jakewharton.timber:timber:$timber_version"
def oss_licenses_version = "17.0.0" def about_libraries_version = "8.9.1"
implementation "com.google.android.gms:play-services-oss-licenses:$oss_licenses_version" implementation "com.mikepenz:aboutlibraries-core:$about_libraries_version"
implementation "com.mikepenz:aboutlibraries:$about_libraries_version"
// Testing // Testing
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'

View file

@ -27,11 +27,6 @@
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity"
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar"/>
<activity android:name="com.google.android.gms.oss.licenses.OssLicensesActivity"
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar"/>
</application> </application>

View file

@ -51,9 +51,10 @@ class MainActivity : AppCompatActivity() {
navController.addOnDestinationChangedListener { _, destination, _ -> navController.addOnDestinationChangedListener { _, destination, _ ->
binding.navView.visibility = when (destination.id) { binding.navView.visibility = when (destination.id) {
R.id.settingsFragment, R.id.serverSelectFragment, R.id.addServerFragment, R.id.loginFragment -> View.GONE R.id.settingsFragment, R.id.serverSelectFragment, R.id.addServerFragment, R.id.loginFragment, R.id.about_libraries_dest -> View.GONE
else -> View.VISIBLE else -> View.VISIBLE
} }
if (destination.id == R.id.about_libraries_dest) binding.mainToolbar.title = getString(R.string.app_info)
} }
viewModel.navigateToAddServer.observe(this, { viewModel.navigateToAddServer.observe(this, {

View file

@ -8,7 +8,6 @@ import androidx.navigation.fragment.findNavController
import androidx.preference.ListPreference import androidx.preference.ListPreference
import androidx.preference.Preference import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity
import dev.jdtech.jellyfin.R import dev.jdtech.jellyfin.R
class SettingsFragment : PreferenceFragmentCompat() { class SettingsFragment : PreferenceFragmentCompat() {
@ -38,8 +37,8 @@ class SettingsFragment : PreferenceFragmentCompat() {
true true
} }
findPreference<Preference>("ossLicenses")?.setOnPreferenceClickListener { findPreference<Preference>("appInfo")?.setOnPreferenceClickListener {
startActivity(Intent(requireContext(), OssLicensesMenuActivity::class.java)) findNavController().navigate(SettingsFragmentDirections.actionSettingsFragmentToAboutLibraries())
true true
} }
} }

View file

@ -1,14 +0,0 @@
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
}
}

View file

@ -56,10 +56,13 @@
<fragment <fragment
android:id="@+id/settingsFragment" android:id="@+id/settingsFragment"
android:name="dev.jdtech.jellyfin.fragments.SettingsFragment" android:name="dev.jdtech.jellyfin.fragments.SettingsFragment"
android:label="@string/title_settings" > android:label="@string/title_settings">
<action <action
android:id="@+id/action_navigation_settings_to_serverSelectFragment2" android:id="@+id/action_navigation_settings_to_serverSelectFragment2"
app:destination="@id/serverSelectFragment" /> app:destination="@id/serverSelectFragment" />
<action
android:id="@+id/action_settingsFragment_to_about_libraries"
app:destination="@id/about_libraries" />
</fragment> </fragment>
<fragment <fragment
android:id="@+id/libraryFragment" android:id="@+id/libraryFragment"
@ -173,7 +176,7 @@
android:id="@+id/searchResultFragment" android:id="@+id/searchResultFragment"
android:name="dev.jdtech.jellyfin.fragments.SearchResultFragment" android:name="dev.jdtech.jellyfin.fragments.SearchResultFragment"
android:label="{query}" android:label="{query}"
tools:layout="@layout/fragment_search_result" > tools:layout="@layout/fragment_search_result">
<action <action
android:id="@+id/action_favoriteFragment_to_episodeBottomSheetFragment" android:id="@+id/action_favoriteFragment_to_episodeBottomSheetFragment"
app:destination="@id/episodeBottomSheetFragment" /> app:destination="@id/episodeBottomSheetFragment" />
@ -222,7 +225,7 @@
android:id="@+id/initializingFragment" android:id="@+id/initializingFragment"
android:name="dev.jdtech.jellyfin.fragments.InitializingFragment" android:name="dev.jdtech.jellyfin.fragments.InitializingFragment"
android:label="@string/initializing" android:label="@string/initializing"
tools:layout="@layout/fragment_initializing" > tools:layout="@layout/fragment_initializing">
<action <action
android:id="@+id/action_initializingFragment_to_navigation_home" android:id="@+id/action_initializingFragment_to_navigation_home"
app:destination="@id/homeFragment" app:destination="@id/homeFragment"
@ -234,4 +237,7 @@
app:popUpTo="@id/initializingFragment" app:popUpTo="@id/initializingFragment"
app:popUpToInclusive="true" /> app:popUpToInclusive="true" />
</fragment> </fragment>
<include app:graph="@navigation/aboutlibs_navigation" />
</navigation> </navigation>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="aboutLibraries_description_showIcon">true</string>
<string name="aboutLibraries_description_showVersion">true</string>
<string name="aboutLibraries_description_name">@string/app_name</string>
<string name="aboutLibraries_description_text">@string/app_description</string>
<string name="aboutLibraries_showLicense">true</string>
</resources>

View file

@ -1,5 +1,6 @@
<resources> <resources>
<string name="app_name">Findroid</string> <string name="app_name">Findroid</string>
<string name="app_description">Third-party native Jellyfin app</string>
<string name="jellyfin_banner">Jellyfin banner</string> <string name="jellyfin_banner">Jellyfin banner</string>
<string name="add_server">Add server</string> <string name="add_server">Add server</string>
<string name="login">Login</string> <string name="login">Login</string>
@ -14,7 +15,6 @@
<string name="remove_server_dialog_text">Are you sure you want to remove the server %1$s</string> <string name="remove_server_dialog_text">Are you sure you want to remove the server %1$s</string>
<string name="remove">Remove</string> <string name="remove">Remove</string>
<string name="cancel">Cancel</string> <string name="cancel">Cancel</string>
<string name="title_activity_main">MainActivity</string>
<string name="title_home">Home</string> <string name="title_home">Home</string>
<string name="title_media">My media</string> <string name="title_media">My media</string>
<string name="title_favorite">Favorites</string> <string name="title_favorite">Favorites</string>
@ -50,8 +50,7 @@
<string name="settings_category_appearance">Appearance</string> <string name="settings_category_appearance">Appearance</string>
<string name="theme">Theme</string> <string name="theme">Theme</string>
<string name="error_preparing_player_items">Error preparing player items</string> <string name="error_preparing_player_items">Error preparing player items</string>
<string name="version">Version</string>
<string name="open_source_licenses">Open source licenses</string>
<string name="about">About</string> <string name="about">About</string>
<string name="privacy_policy">Privacy policy</string> <string name="privacy_policy">Privacy policy</string>
<string name="app_info">App info</string>
</resources> </resources>

View file

@ -46,10 +46,8 @@
app:title="@string/privacy_policy" /> app:title="@string/privacy_policy" />
<Preference <Preference
app:key="ossLicenses" app:key="appInfo"
app:title="@string/open_source_licenses" /> app:title="@string/app_info" />
<dev.jdtech.jellyfin.utils.VersionPreference app:title="@string/version" />
</PreferenceCategory> </PreferenceCategory>

View file

@ -4,6 +4,9 @@ buildscript {
repositories { repositories {
google() google()
mavenCentral() mavenCentral()
maven {
url "https://plugins.gradle.org/m2/"
}
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:7.0.0' classpath 'com.android.tools.build:gradle:7.0.0'
@ -17,8 +20,8 @@ buildscript {
def hilt_version = "2.38.1" def hilt_version = "2.38.1"
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version" classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
def oss_licenses_version = "0.10.4" def about_libraries_version = "8.9.1"
classpath "com.google.android.gms:oss-licenses-plugin:$oss_licenses_version" classpath "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin:$about_libraries_version"
} }
} }