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 'androidx.navigation.safeargs.kotlin'
id 'dagger.hilt.android.plugin'
id 'com.google.android.gms.oss-licenses-plugin'
id "com.mikepenz.aboutlibraries.plugin"
}
android {
@ -99,8 +99,9 @@ dependencies {
def timber_version = "5.0.0"
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"
def about_libraries_version = "8.9.1"
implementation "com.mikepenz:aboutlibraries-core:$about_libraries_version"
implementation "com.mikepenz:aboutlibraries:$about_libraries_version"
// Testing
testImplementation 'junit:junit:4.13.2'

View file

@ -27,11 +27,6 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</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>

View file

@ -51,9 +51,10 @@ class MainActivity : AppCompatActivity() {
navController.addOnDestinationChangedListener { _, destination, _ ->
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
}
if (destination.id == R.id.about_libraries_dest) binding.mainToolbar.title = getString(R.string.app_info)
}
viewModel.navigateToAddServer.observe(this, {

View file

@ -8,7 +8,6 @@ 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() {
@ -38,8 +37,8 @@ class SettingsFragment : PreferenceFragmentCompat() {
true
}
findPreference<Preference>("ossLicenses")?.setOnPreferenceClickListener {
startActivity(Intent(requireContext(), OssLicensesMenuActivity::class.java))
findPreference<Preference>("appInfo")?.setOnPreferenceClickListener {
findNavController().navigate(SettingsFragmentDirections.actionSettingsFragmentToAboutLibraries())
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
android:id="@+id/settingsFragment"
android:name="dev.jdtech.jellyfin.fragments.SettingsFragment"
android:label="@string/title_settings" >
android:label="@string/title_settings">
<action
android:id="@+id/action_navigation_settings_to_serverSelectFragment2"
app:destination="@id/serverSelectFragment" />
<action
android:id="@+id/action_settingsFragment_to_about_libraries"
app:destination="@id/about_libraries" />
</fragment>
<fragment
android:id="@+id/libraryFragment"
@ -173,7 +176,7 @@
android:id="@+id/searchResultFragment"
android:name="dev.jdtech.jellyfin.fragments.SearchResultFragment"
android:label="{query}"
tools:layout="@layout/fragment_search_result" >
tools:layout="@layout/fragment_search_result">
<action
android:id="@+id/action_favoriteFragment_to_episodeBottomSheetFragment"
app:destination="@id/episodeBottomSheetFragment" />
@ -222,7 +225,7 @@
android:id="@+id/initializingFragment"
android:name="dev.jdtech.jellyfin.fragments.InitializingFragment"
android:label="@string/initializing"
tools:layout="@layout/fragment_initializing" >
tools:layout="@layout/fragment_initializing">
<action
android:id="@+id/action_initializingFragment_to_navigation_home"
app:destination="@id/homeFragment"
@ -234,4 +237,7 @@
app:popUpTo="@id/initializingFragment"
app:popUpToInclusive="true" />
</fragment>
<include app:graph="@navigation/aboutlibs_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>
<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="add_server">Add server</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">Remove</string>
<string name="cancel">Cancel</string>
<string name="title_activity_main">MainActivity</string>
<string name="title_home">Home</string>
<string name="title_media">My media</string>
<string name="title_favorite">Favorites</string>
@ -50,8 +50,7 @@
<string name="settings_category_appearance">Appearance</string>
<string name="theme">Theme</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="privacy_policy">Privacy policy</string>
<string name="app_info">App info</string>
</resources>

View file

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

View file

@ -4,6 +4,9 @@ buildscript {
repositories {
google()
mavenCentral()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.0'
@ -17,8 +20,8 @@ buildscript {
def hilt_version = "2.38.1"
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"
def about_libraries_version = "8.9.1"
classpath "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin:$about_libraries_version"
}
}