diff --git a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesAboutFragment.kt b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesAboutFragment.kt index 0df25401..5e8a7306 100644 --- a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesAboutFragment.kt +++ b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesAboutFragment.kt @@ -13,6 +13,8 @@ import com.afollestad.materialdialogs.MaterialDialog import de.mm20.launcher2.R import de.mm20.launcher2.crashreporter.CrashReporter import de.mm20.launcher2.helper.DebugInformationDumper +import de.mm20.launcher2.licenses.AppLicense +import de.mm20.launcher2.licenses.OpenSourceLicenses class PreferencesAboutFragment : PreferenceFragmentCompat() { @@ -64,11 +66,10 @@ class PreferencesAboutFragment : PreferenceFragmentCompat() { } val licenses = findPreference("category_licenses") as PreferenceCategory - for (l in LICENSES) { - val license = resources.obtainTypedArray(l) + for (l in OpenSourceLicenses.sortedBy { it.name.lowercase() }) { val preference = Preference(activity, null, 0, R.style.Preference_Material) - preference.title = license.getString(0) - preference.summary = license.getString(1) + preference.title = l.name + preference.summary = l.description preference.onPreferenceClickListener = Preference.OnPreferenceClickListener { parentFragmentManager.beginTransaction() .setCustomAnimations( @@ -78,12 +79,11 @@ class PreferencesAboutFragment : PreferenceFragmentCompat() { R.anim.preference_fragment_child_exit ) .replace(android.R.id.content, - PreferencesLicenseFragment().apply { library = l }) + PreferencesLicenseFragment(l)) .addToBackStack(null) .commit() true } - license.recycle() licenses.addPreference(preference) } findPreference("crash_reporter")?.setOnPreferenceClickListener { @@ -132,7 +132,7 @@ class PreferencesAboutFragment : PreferenceFragmentCompat() { R.anim.preference_fragment_child_exit ) .replace(android.R.id.content, - PreferencesLicenseFragment().apply { library = R.array.license_mm20launcher2 }) + PreferencesLicenseFragment(AppLicense.get(requireContext()))) .addToBackStack(null) .commit() true @@ -143,34 +143,4 @@ class PreferencesAboutFragment : PreferenceFragmentCompat() { super.onResume() (activity as AppCompatActivity).supportActionBar?.setTitle(R.string.preference_screen_about) } - - companion object { - - private val LICENSES = intArrayOf( - R.array.license_accompanist, - R.array.license_android_jetpack, - R.array.license_suncalc, - R.array.license_crashreporter, - R.array.license_draglinearlayout, - R.array.license_glide, - R.array.license_glide_transformations, - R.array.license_google_apiclient, - R.array.license_google_auth, - R.array.license_groupie, - R.array.license_gson, - R.array.license_jsoup, - R.array.license_kotlin_stdlib, - R.array.license_lottie, - R.array.license_mdicons, - R.array.license_material_components, - R.array.license_materialdialogs, - R.array.license_msal, - R.array.license_msgraph, - R.array.license_mxparser, - R.array.license_okhttp, - R.array.license_retrofit, - R.array.license_textdrawable, - R.array.license_viewpropertyobjectanimator - ) - } } diff --git a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesLicenseFragment.kt b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesLicenseFragment.kt index d14527f3..f9f914a7 100644 --- a/app/src/main/java/de/mm20/launcher2/fragment/PreferencesLicenseFragment.kt +++ b/app/src/main/java/de/mm20/launcher2/fragment/PreferencesLicenseFragment.kt @@ -14,27 +14,18 @@ import androidx.browser.customtabs.CustomTabsIntent import androidx.fragment.app.Fragment import com.bumptech.glide.Glide import de.mm20.launcher2.R +import de.mm20.launcher2.licenses.OpenSourceLibrary -class PreferencesLicenseFragment : Fragment() { - var library: Int = 0 +class PreferencesLicenseFragment( + val library: OpenSourceLibrary +) : Fragment() { @SuppressLint("ResourceType") override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.fragment_license, null, false) - val license = resources.obtainTypedArray(library) - (activity as AppCompatActivity).supportActionBar?.title = license.getString(0) - val icon = view.findViewById(R.id.icon) - val iconUri = license.getString(2) - if (iconUri == null) icon.visibility = View.GONE - else { - Glide - .with(icon) - .load(iconUri) - .into(icon) - icon.visibility = View.VISIBLE - } - val url = license.getString(6) + (activity as AppCompatActivity).supportActionBar?.title = library.name + val url = library.url val website = view.findViewById(R.id.website) website.setOnClickListener { val intent = CustomTabsIntent.Builder() @@ -47,14 +38,13 @@ class PreferencesLicenseFragment : Fragment() { intent.launchUrl(activity as AppCompatActivity, Uri.parse(url)) } val description = view.findViewById(R.id.description) - description.text = license.getString(1) + description.text = library.description val licenseTitle = view.findViewById(R.id.licenseTitle) val licenseText = view.findViewById(R.id.licenseText) val licenseCopyright = view.findViewById(R.id.licenseCopyright) - licenseTitle.text = license.getString(3) - licenseCopyright.text = license.getString(4) - licenseText.text = resources.openRawResource(license.getResourceId(5, 0)).reader().readText() - license.recycle() + licenseTitle.text = getString(library.licenseName) + licenseCopyright.text = library.copyrightNote + licenseText.text = resources.openRawResource(library.licenseText).reader().readText() return view } } diff --git a/app/src/main/res/layout/fragment_license.xml b/app/src/main/res/layout/fragment_license.xml index 42825317..897fb4e8 100644 --- a/app/src/main/res/layout/fragment_license.xml +++ b/app/src/main/res/layout/fragment_license.xml @@ -8,12 +8,6 @@ android:layout_height="wrap_content" android:orientation="vertical"> - - - - - @string/app_name - @string/preference_about_license - @null - @string/gpl3_name - Copyright (c) 2021 MM20 - @raw/license_gpl_3 - https://github.com/MM2-0/Kvaesitso - - - - Kotlin Standard Library - Kotlin Standard Library - - https://kotlinlang.org/assets/images/apple-touch-icon-144x144.png - - @string/apache_license_name - @null - @raw/license_apache_2 - https://kotlinlang.org/ - - - - Android Jetpack - A collection of Android software components to make it easier to develop great Android - apps. - - - https://2.bp.blogspot.com/-2ZMkSo7CnUs/WvMvSK0u9RI/AAAAAAAAFZA/zJOCZ8LUM8ol3hcHYHwVyOpc3iiYaxquACLcBGAs/s1600/Jetpack_logo.png - - @string/apache_license_name - @null - @raw/license_apache_2 - https://developer.android.com/topic/libraries/support-library/index.html - - - - Accompanist - Accompanist is a group of libraries that aim to supplement Jetpack Compose with - features that are commonly required by developers but not yet available. - - https://raw.githubusercontent.com/google/accompanist/main/docs/header.png - @string/apache_license_name - Copyright 2020 The Android Open Source Project - @raw/license_apache_2 - https://google.github.io/accompanist/ - - - - Material Components for Android - - Material Components for Android (MDC-Android) help developers execute Material Design. - - @null - @string/apache_license_name - @null - @raw/license_apache_2 - https://material.io/develop/android/ - - - - Lottie - Lottie is a library for Android, iOS, Web, and Windows that parses Adobe After Effects - animations exported as json with Bodymovin and renders them natively on mobile and on - the web. - - https://airbnb.io/lottie/images/logo.webp - @string/apache_license_name - @null - @raw/license_apache_2 - https://airbnb.io/lottie/#/ - - - - OkHttp - - @null - @string/apache_license_name - Copyright 2019 Square, Inc. - @raw/license_apache_2 - https://square.github.io/okhttp/ - - - - Retrofit - A type-safe HTTP client for Android and Java - @null - @string/apache_license_name - Copyright 2013 Square, Inc. - @raw/license_apache_2 - https://square.github.io/retrofit/ - - - - Gson - Gson is a Java library that can be used to convert Java Objects into their JSON representation. - @null - @string/apache_license_name - Copyright 2008 Google Inc. - @raw/license_apache_2 - https://github.com/google/gson - - - - commons-suncalc - A Java library for calculation of sun and moon positions and phases. - @null - @string/apache_license_name - @null - @raw/license_apache_2 - https://github.com/shred/commons-suncalc - - - - Jsoup - A Java library for working with real-world HTML - @null - @string/mit_license_name - ]]> - @raw/license_mit - https://jsoup.org/ - - - - TextDrawable - A light-weight library providing images with letter/text like the Gmail app - https://github.com/amulyakhare/TextDrawable/raw/master/screens/screen6.png - @string/mit_license_name - Copyright (c) 2014 Amulya Khare - @raw/license_mit - https://github.com/amulyakhare/TextDrawable - - - - Glide - A fast and efficient open source media management and image loading framework for - Android - - https://raw.githubusercontent.com/bumptech/glide/master/static/glide_logo.png - @string/glide_license_name - @null - @raw/license_glide - https://bumptech.github.io/glide/ - - - - Glide Transformations - An Android transformation library providing a variety of image transformations for - Glide - - @null - @string/apache_license_name - Copyright (C) 2020 Wasabeef - @raw/license_apache_2 - https://github.com/wasabeef/glide-transformations - - - - Material Dialogs - Easy to use material design dialogs - - https://raw.githubusercontent.com/afollestad/material-dialogs/master/art/showcase20.jpg - - @string/apache_license_name - @null - @raw/license_apache_2 - https://github.com/afollestad/material-dialogs - - - - Groupie - Groupie is a simple, flexible library for complex RecyclerView layouts. - @null - @string/mit_license_name - @null - @raw/license_mit - https://github.com/lisawray/groupie - - - - DragLinearLayout - An Android LinearLayout that supports draggable and swappable child Views - @null - @string/mit_license_name - Copyright (c) 2014 Justas Medeisis - @raw/license_mit - https://github.com/justasm/DragLinearLayout - - - - ViewPropertyValueAnimator - Wrapper of the ObjectAnimator that can be used similarly to ViewPropertyAnimator. - - @null - @string/apache_license_name - Copyright 2015 Bartosz Lipiński - @raw/license_apache_2 - https://github.com/blipinsk/ViewPropertyObjectAnimator - - - - Nextcloud SingleSignOn - This library allows you to use accounts as well as the network stack provided by the - nextcloud files app. - - @null - @string/gpl3_name - @null - @raw/license_gpl_3 - https://github.com/nextcloud/Android-SingleSignOn - - - - mXparser - A super easy, rich, fast and highly flexible math expression parser library - http://mathparser.org/wp-content/uploads/2017/07/mxparser-logo.png - @string/bsd_2clause_name - Copyright 2010 - 2020 Mariusz Gromada. All rights reserved. - @raw/license_bsd_2clause - https://mathparser.org/ - - - - Google Auth Library - Open source authentication client library for Java. - @null - @string/bsd_3clause_name - - Copyright 2014, Google Inc. All rights reserved. - @raw/license_bsd_3clause - https://github.com/googleapis/google-auth-library-java - - - - Google APIs Client Library for Android - The Google APIs Client Library for Java is a flexible, efficient, and powerful Java client library for accessing any HTTP-based API on the web, not just Google APIs. - @null - @string/apache_license_name - @null - @raw/license_apache_2 - https://github.com/googleapis/google-api-java-client - - - - Microsoft Graph Android SDK - Deprecated API client for Microsoft Graph APIs - @null - @string/mit_license_name - Copyright (c) 2015 Microsoft Corporation - @raw/license_mit - https://github.com/microsoftgraph/msgraph-sdk-android - - - - Microsoft Authentication Library (MSAL) for Android - The MSAL library for Android gives your app the ability to use the Microsoft Cloud by - supporting Microsoft Azure Active Directory and Microsoft accounts in a converged - experience using industry standard OAuth2 and OpenID Connect. The library also supports - Azure AD B2C. - - @null - @string/mit_license_name - Copyright (c) Microsoft Corporation - @raw/license_mit - https://github.com/AzureAD/microsoft-authentication-library-for-android - - - - CrashReporter - CrashReporter is a handy tool to capture app crashes and save them in a file. - - https://github.com/balsikandar/CrashReporter/raw/master/assets/crash_reporter_banner.png - - @string/apache_license_name - " - Copyright (C) 2016 Bal Sikandar - Copyright (C) 2011 Android Open Source Project - " - - @raw/license_apache_2 - https://github.com/MindorksOpenSource/CrashReporter - - - - Material Design Icons - Beautifully crafted, delightful, and easy to use in your web, Android, and iOS - projects - - https://material.io/tools/icons/static/ic_icons_192px_light.svg - @string/apache_license_name - @null - @raw/license_apache_2 - https://material.io/icons/ - - - MIT license - Simplified BSD license - Modified BSD license - Apache license 2.0 - Glide license - GNU General Public License Version 3 - - \ No newline at end of file diff --git a/base/build.gradle.kts b/base/build.gradle.kts index 276669c7..a607d16d 100644 --- a/base/build.gradle.kts +++ b/base/build.gradle.kts @@ -47,5 +47,6 @@ dependencies { implementation(libs.bundles.materialdialogs) implementation(project(":ktx")) + implementation(project(":i18n")) } \ No newline at end of file diff --git a/base/src/main/java/de/mm20/launcher2/licenses/AppLicense.kt b/base/src/main/java/de/mm20/launcher2/licenses/AppLicense.kt new file mode 100644 index 00000000..f49a6c64 --- /dev/null +++ b/base/src/main/java/de/mm20/launcher2/licenses/AppLicense.kt @@ -0,0 +1,17 @@ +package de.mm20.launcher2.licenses + +import android.content.Context +import de.mm20.launcher2.base.R + +object AppLicense { + fun get(context: Context): OpenSourceLibrary { + return OpenSourceLibrary( + name = context.getString(R.string.app_name), + description = context.getString(R.string.preference_about_license_summary), + copyrightNote = "Copyright (C) 2021 MM2-0", + licenseName = R.string.gpl3_name, + licenseText = R.raw.license_gpl_3, + url = "https://github.com/Kvaesitso" + ) + } +} diff --git a/base/src/main/java/de/mm20/launcher2/licenses/OpenSourceLibrary.kt b/base/src/main/java/de/mm20/launcher2/licenses/OpenSourceLibrary.kt new file mode 100644 index 00000000..b9ee92fa --- /dev/null +++ b/base/src/main/java/de/mm20/launcher2/licenses/OpenSourceLibrary.kt @@ -0,0 +1,13 @@ +package de.mm20.launcher2.licenses + +import androidx.annotation.RawRes +import androidx.annotation.StringRes + +data class OpenSourceLibrary( + val name: String, + val description: String? = null, + @StringRes val licenseName: Int, + val copyrightNote: String? = null, + @RawRes val licenseText: Int, + val url: String +) \ No newline at end of file diff --git a/base/src/main/java/de/mm20/launcher2/licenses/OpenSourceLicenses.kt b/base/src/main/java/de/mm20/launcher2/licenses/OpenSourceLicenses.kt new file mode 100644 index 00000000..9c27efdb --- /dev/null +++ b/base/src/main/java/de/mm20/launcher2/licenses/OpenSourceLicenses.kt @@ -0,0 +1,188 @@ +package de.mm20.launcher2.licenses + +import de.mm20.launcher2.base.R + +val OpenSourceLicenses = arrayOf( + OpenSourceLibrary( + name = "Kotlin Standard Library", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + url = "https://kotlinlang.org/" + ), + OpenSourceLibrary( + name = "Android Jetpack", + description = "A collection of Android software components to make it easier to develop great Android apps.", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + url = "https://developer.android.com/jetpack" + ), + OpenSourceLibrary( + name = "Accompanist", + description = "Accompanist is a group of libraries that aim to supplement Jetpack Compose with features that are commonly required by developers but not yet available.", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + copyrightNote = "Copyright 2020 The Android Open Source Project", + url = "https://developer.android.com/jetpack" + ), + OpenSourceLibrary( + name = "Material Components for Android", + description = "Material Components for Android (MDC-Android) help developers execute Material Design.", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + url = "https://material.io/develop/android/" + ), + OpenSourceLibrary( + name = "Lottie", + description = "Lottie is a library for Android, iOS, Web, and Windows that parses Adobe After Effects animations exported as json with Bodymovin and renders them natively on mobile and on the web.", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + url = "https://airbnb.io/lottie/" + ), + OpenSourceLibrary( + name = "OkHttp", + description = "An HTTP & HTTP/2 client for Android and Java applications", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + copyrightNote = "Copyright 2019 Square, Inc.", + url = "https://square.github.io/okhttp/" + ), + OpenSourceLibrary( + name = "Retrofit", + description = "A type-safe HTTP client for Android and Java", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + copyrightNote = "Copyright 2013 Square, Inc.", + url = "https://square.github.io/retrofit/" + ), + OpenSourceLibrary( + name = "Gson", + description = "Gson is a Java library that can be used to convert Java Objects into their JSON representation.", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + copyrightNote = "Copyright 2008 Google Inc.", + url = "https://github.com/google/gson/" + ), + OpenSourceLibrary( + name = "commons-suncalc", + description = "A Java library for calculation of sun and moon positions and phases.", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + url = "https://github.com/shred/commons-suncalc" + ), + OpenSourceLibrary( + name = "Jsoup", + description = "A Java library for working with real-world HTML", + licenseName = R.string.mit_license_name, + licenseText = R.raw.license_mit, + copyrightNote = "Copyright (c) 2009-2021 Jonathan Hedley ", + url = "https://jsoup.org/" + ), + OpenSourceLibrary( + name = "TextDrawable", + description = "A light-weight library providing images with letter/text like the Gmail app", + licenseName = R.string.mit_license_name, + licenseText = R.raw.license_mit, + copyrightNote = "Copyright (c) 2014 Amulya Khare", + url = "https://github.com/amulyakhare/TextDrawable" + ), + OpenSourceLibrary( + name = "Glide", + description = "A fast and efficient open source media management and image loading framework for Android", + licenseName = R.string.glide_license_name, + licenseText = R.raw.license_glide, + url = "https://bumptech.github.io/glide/" + ), + OpenSourceLibrary( + name = "Glide Transformations", + description = "An Android transformation library providing a variety of image transformations for Glide", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + copyrightNote = "Copyright (C) 2020 Wasabeef", + url = "https://github.com/wasabeef/glide-transformations" + ), + OpenSourceLibrary( + name = "Material Dialogs", + description = "Easy to use material design dialogs", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + copyrightNote = "Copyright (C) 2020 Wasabeef", + url = "https://github.com/afollestad/material-dialogs" + ), + OpenSourceLibrary( + name = "Groupie", + description = "Easy to use material design dialogs", + licenseName = R.string.mit_license_name, + licenseText = R.raw.license_mit, + url = "https://github.com/lisawray/groupie" + ), + OpenSourceLibrary( + name = "DragLinearLayout", + description = "An Android LinearLayout that supports draggable and swappable child Views", + licenseName = R.string.mit_license_name, + licenseText = R.raw.license_mit, + copyrightNote = "Copyright (c) 2014 Justas Medeisis", + url = "https://github.com/justasm/DragLinearLayout" + ), + OpenSourceLibrary( + name = "ViewPropertyValueAnimator", + description = "Wrapper of the ObjectAnimator that can be used similarly to ViewPropertyAnimator.", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + copyrightNote = "Copyright 2015 Bartosz Lipiński", + url = "https://github.com/blipinsk/ViewPropertyObjectAnimator" + ), + OpenSourceLibrary( + name = "mXparser", + description = "A super easy, rich, fast and highly flexible math expression parser library", + licenseName = R.string.bsd_2clause_name, + licenseText = R.raw.license_bsd_2clause, + copyrightNote = "Copyright 2010 - 2020 Mariusz Gromada. All rights reserved.", + url = "https://mathparser.org/" + ), + OpenSourceLibrary( + name = "Google Auth Library", + description = "Open source authentication client library for Java.", + licenseName = R.string.bsd_3clause_name, + licenseText = R.raw.license_bsd_3clause, + copyrightNote = "Copyright 2014, Google Inc. All rights reserved.", + url = "https://github.com/googleapis/google-auth-library-java" + ), + OpenSourceLibrary( + name = "Google APIs Client Library for Android", + description = "The Google APIs Client Library for Java is a flexible, efficient, and powerful Java client library for accessing any HTTP-based API on the web, not just Google APIs.", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + url = "https://github.com/googleapis/google-api-java-client" + ), + OpenSourceLibrary( + name = "Microsoft Graph Android SDK", + description = "Deprecated API client for Microsoft Graph APIs", + licenseName = R.string.mit_license_name, + licenseText = R.raw.license_mit, + copyrightNote = "Copyright (c) 2015 Microsoft Corporation", + url = "https://github.com/microsoftgraph/msgraph-sdk-android" + ), + OpenSourceLibrary( + name = "Microsoft Authentication Library (MSAL) for Android", + description = "The MSAL library for Android gives your app the ability to use the Microsoft Cloud by supporting Microsoft Azure Active Directory and Microsoft accounts in a converged experience using industry standard OAuth2 and OpenID Connect. The library also supports Azure AD B2C.", + licenseName = R.string.mit_license_name, + licenseText = R.raw.license_mit, + copyrightNote = "Copyright (c) Microsoft Corporation", + url = "https://github.com/AzureAD/microsoft-authentication-library-for-android" + ), + OpenSourceLibrary( + name = "CrashReporter", + description = "CrashReporter is a handy tool to capture app crashes and save them in a file.", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + copyrightNote = "Copyright (C) 2016 Bal Sikandar\nCopyright (C) 2011 Android Open Source Project", + url = "https://github.com/MindorksOpenSource/CrashReporter" + ), + OpenSourceLibrary( + name = "Material Design Icons", + description = "Beautifully crafted, delightful, and easy to use in your web, Android, and iOS projects", + licenseName = R.string.apache_license_name, + licenseText = R.raw.license_apache_2, + url = "https://material.io/icons/" + ), +) \ No newline at end of file diff --git a/app/src/main/res/raw/license_apache_2.txt b/base/src/main/res/raw/license_apache_2.txt similarity index 100% rename from app/src/main/res/raw/license_apache_2.txt rename to base/src/main/res/raw/license_apache_2.txt diff --git a/app/src/main/res/raw/license_bsd_2clause.txt b/base/src/main/res/raw/license_bsd_2clause.txt similarity index 100% rename from app/src/main/res/raw/license_bsd_2clause.txt rename to base/src/main/res/raw/license_bsd_2clause.txt diff --git a/app/src/main/res/raw/license_bsd_3clause.txt b/base/src/main/res/raw/license_bsd_3clause.txt similarity index 100% rename from app/src/main/res/raw/license_bsd_3clause.txt rename to base/src/main/res/raw/license_bsd_3clause.txt diff --git a/app/src/main/res/raw/license_glide.txt b/base/src/main/res/raw/license_glide.txt similarity index 100% rename from app/src/main/res/raw/license_glide.txt rename to base/src/main/res/raw/license_glide.txt diff --git a/app/src/main/res/raw/license_gpl_3.txt b/base/src/main/res/raw/license_gpl_3.txt similarity index 100% rename from app/src/main/res/raw/license_gpl_3.txt rename to base/src/main/res/raw/license_gpl_3.txt diff --git a/app/src/main/res/raw/license_mit.txt b/base/src/main/res/raw/license_mit.txt similarity index 100% rename from app/src/main/res/raw/license_mit.txt rename to base/src/main/res/raw/license_mit.txt diff --git a/base/src/main/res/values/licenses.xml b/base/src/main/res/values/licenses.xml new file mode 100644 index 00000000..254b2718 --- /dev/null +++ b/base/src/main/res/values/licenses.xml @@ -0,0 +1,9 @@ + + + MIT license + Simplified BSD license + Modified BSD license + Apache license 2.0 + Glide license + GNU General Public License Version 3 + \ No newline at end of file