Refactor open source licenses
This commit is contained in:
parent
26f287efbf
commit
96bec0abd0
@ -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<Preference>("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<Preference>("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
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@ -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<ImageView>(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<TextView>(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<TextView>(R.id.description)
|
||||
description.text = license.getString(1)
|
||||
description.text = library.description
|
||||
val licenseTitle = view.findViewById<TextView>(R.id.licenseTitle)
|
||||
val licenseText = view.findViewById<TextView>(R.id.licenseText)
|
||||
val licenseCopyright = view.findViewById<TextView>(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
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,12 +8,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="100dp"
|
||||
android:scaleType="centerInside" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@ -1,313 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
(1) Name of library
|
||||
(2) Short description
|
||||
(3) Image / Icon URL
|
||||
(4) License name
|
||||
(5) Copyright note
|
||||
(6) License text (as raw resource)
|
||||
(7) Link to library web page / repository
|
||||
-->
|
||||
<resources>
|
||||
<array name="license_mm20launcher2">
|
||||
<item>@string/app_name</item>
|
||||
<item>@string/preference_about_license</item>
|
||||
<item>@null</item>
|
||||
<item>@string/gpl3_name</item>
|
||||
<item>Copyright (c) 2021 MM20</item>
|
||||
<item>@raw/license_gpl_3</item>
|
||||
<item>https://github.com/MM2-0/Kvaesitso</item>
|
||||
</array>
|
||||
|
||||
<array name="license_kotlin_stdlib">
|
||||
<item>Kotlin Standard Library</item>
|
||||
<item>Kotlin Standard Library</item>
|
||||
<item>
|
||||
https://kotlinlang.org/assets/images/apple-touch-icon-144x144.png
|
||||
</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>@null</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://kotlinlang.org/</item>
|
||||
</array>
|
||||
|
||||
<array name="license_android_jetpack">
|
||||
<item>Android Jetpack</item>
|
||||
<item>A collection of Android software components to make it easier to develop great Android
|
||||
apps.
|
||||
</item>
|
||||
<item>
|
||||
https://2.bp.blogspot.com/-2ZMkSo7CnUs/WvMvSK0u9RI/AAAAAAAAFZA/zJOCZ8LUM8ol3hcHYHwVyOpc3iiYaxquACLcBGAs/s1600/Jetpack_logo.png
|
||||
</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>@null</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://developer.android.com/topic/libraries/support-library/index.html</item>
|
||||
</array>
|
||||
|
||||
<array name="license_accompanist">
|
||||
<item>Accompanist</item>
|
||||
<item>Accompanist is a group of libraries that aim to supplement Jetpack Compose with
|
||||
features that are commonly required by developers but not yet available.
|
||||
</item>
|
||||
<item>https://raw.githubusercontent.com/google/accompanist/main/docs/header.png</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>Copyright 2020 The Android Open Source Project</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://google.github.io/accompanist/</item>
|
||||
</array>
|
||||
|
||||
<array name="license_material_components">
|
||||
<item>Material Components for Android</item>
|
||||
<item>
|
||||
Material Components for Android (MDC-Android) help developers execute Material Design.
|
||||
</item>
|
||||
<item>@null</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>@null</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://material.io/develop/android/</item>
|
||||
</array>
|
||||
|
||||
<array name="license_lottie">
|
||||
<item>Lottie</item>
|
||||
<item>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.
|
||||
</item>
|
||||
<item>https://airbnb.io/lottie/images/logo.webp</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>@null</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://airbnb.io/lottie/#/</item>
|
||||
</array>
|
||||
|
||||
<array name="license_okhttp">
|
||||
<item>OkHttp</item>
|
||||
<item><![CDATA[An HTTP & HTTP/2 client for Android and Java applications]]></item>
|
||||
<item>@null</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>Copyright 2019 Square, Inc.</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://square.github.io/okhttp/</item>
|
||||
</array>
|
||||
|
||||
<array name="license_retrofit">
|
||||
<item>Retrofit</item>
|
||||
<item>A type-safe HTTP client for Android and Java</item>
|
||||
<item>@null</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>Copyright 2013 Square, Inc.</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://square.github.io/retrofit/</item>
|
||||
</array>
|
||||
|
||||
<array name="license_gson">
|
||||
<item>Gson</item>
|
||||
<item>Gson is a Java library that can be used to convert Java Objects into their JSON representation.</item>
|
||||
<item>@null</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>Copyright 2008 Google Inc.</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://github.com/google/gson</item>
|
||||
</array>
|
||||
|
||||
<array name="license_suncalc">
|
||||
<item>commons-suncalc</item>
|
||||
<item>A Java library for calculation of sun and moon positions and phases.</item>
|
||||
<item>@null</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>@null</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://github.com/shred/commons-suncalc</item>
|
||||
</array>
|
||||
|
||||
<array name="license_jsoup">
|
||||
<item>Jsoup</item>
|
||||
<item>A Java library for working with real-world HTML</item>
|
||||
<item>@null</item>
|
||||
<item>@string/mit_license_name</item>
|
||||
<item><![CDATA[Copyright (c) 2009-2021 Jonathan Hedley <https://jsoup.org/>]]></item>
|
||||
<item>@raw/license_mit</item>
|
||||
<item>https://jsoup.org/</item>
|
||||
</array>
|
||||
|
||||
<array name="license_textdrawable">
|
||||
<item>TextDrawable</item>
|
||||
<item>A light-weight library providing images with letter/text like the Gmail app</item>
|
||||
<item>https://github.com/amulyakhare/TextDrawable/raw/master/screens/screen6.png</item>
|
||||
<item>@string/mit_license_name</item>
|
||||
<item>Copyright (c) 2014 Amulya Khare</item>
|
||||
<item>@raw/license_mit</item>
|
||||
<item>https://github.com/amulyakhare/TextDrawable</item>
|
||||
</array>
|
||||
|
||||
<array name="license_glide">
|
||||
<item>Glide</item>
|
||||
<item>A fast and efficient open source media management and image loading framework for
|
||||
Android
|
||||
</item>
|
||||
<item>https://raw.githubusercontent.com/bumptech/glide/master/static/glide_logo.png</item>
|
||||
<item>@string/glide_license_name</item>
|
||||
<item>@null</item>
|
||||
<item>@raw/license_glide</item>
|
||||
<item>https://bumptech.github.io/glide/</item>
|
||||
</array>
|
||||
|
||||
<array name="license_glide_transformations">
|
||||
<item>Glide Transformations</item>
|
||||
<item>An Android transformation library providing a variety of image transformations for
|
||||
Glide
|
||||
</item>
|
||||
<item>@null</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>Copyright (C) 2020 Wasabeef</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://github.com/wasabeef/glide-transformations</item>
|
||||
</array>
|
||||
|
||||
<array name="license_materialdialogs">
|
||||
<item>Material Dialogs</item>
|
||||
<item>Easy to use material design dialogs</item>
|
||||
<item>
|
||||
https://raw.githubusercontent.com/afollestad/material-dialogs/master/art/showcase20.jpg
|
||||
</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>@null</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://github.com/afollestad/material-dialogs</item>
|
||||
</array>
|
||||
|
||||
<array name="license_groupie">
|
||||
<item>Groupie</item>
|
||||
<item>Groupie is a simple, flexible library for complex RecyclerView layouts.</item>
|
||||
<item>@null</item>
|
||||
<item>@string/mit_license_name</item>
|
||||
<item>@null</item>
|
||||
<item>@raw/license_mit</item>
|
||||
<item>https://github.com/lisawray/groupie</item>
|
||||
</array>
|
||||
|
||||
<array name="license_draglinearlayout">
|
||||
<item>DragLinearLayout</item>
|
||||
<item>An Android LinearLayout that supports draggable and swappable child Views</item>
|
||||
<item>@null</item>
|
||||
<item>@string/mit_license_name</item>
|
||||
<item>Copyright (c) 2014 Justas Medeisis</item>
|
||||
<item>@raw/license_mit</item>
|
||||
<item>https://github.com/justasm/DragLinearLayout</item>
|
||||
</array>
|
||||
|
||||
<array name="license_viewpropertyobjectanimator">
|
||||
<item>ViewPropertyValueAnimator</item>
|
||||
<item>Wrapper of the ObjectAnimator that can be used similarly to ViewPropertyAnimator.
|
||||
</item>
|
||||
<item>@null</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>Copyright 2015 Bartosz Lipiński</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://github.com/blipinsk/ViewPropertyObjectAnimator</item>
|
||||
</array>
|
||||
|
||||
<array name="license_nextcloud_sso">
|
||||
<item>Nextcloud SingleSignOn</item>
|
||||
<item>This library allows you to use accounts as well as the network stack provided by the
|
||||
nextcloud files app.
|
||||
</item>
|
||||
<item>@null</item>
|
||||
<item>@string/gpl3_name</item>
|
||||
<item>@null</item>
|
||||
<item>@raw/license_gpl_3</item>
|
||||
<item>https://github.com/nextcloud/Android-SingleSignOn</item>
|
||||
</array>
|
||||
|
||||
<array name="license_mxparser">
|
||||
<item>mXparser</item>
|
||||
<item>A super easy, rich, fast and highly flexible math expression parser library</item>
|
||||
<item>http://mathparser.org/wp-content/uploads/2017/07/mxparser-logo.png</item>
|
||||
<item>@string/bsd_2clause_name</item>
|
||||
<item>Copyright 2010 - 2020 Mariusz Gromada. All rights reserved.</item>
|
||||
<item>@raw/license_bsd_2clause</item>
|
||||
<item>https://mathparser.org/</item>
|
||||
</array>
|
||||
|
||||
<array name="license_google_auth">
|
||||
<item>Google Auth Library</item>
|
||||
<item>Open source authentication client library for Java.</item>
|
||||
<item>@null</item>
|
||||
<item>@string/bsd_3clause_name</item>
|
||||
<item>
|
||||
Copyright 2014, Google Inc. All rights reserved.</item>
|
||||
<item>@raw/license_bsd_3clause</item>
|
||||
<item>https://github.com/googleapis/google-auth-library-java</item>
|
||||
</array>
|
||||
|
||||
<array name="license_google_apiclient">
|
||||
<item>Google APIs Client Library for Android</item>
|
||||
<item>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.</item>
|
||||
<item>@null</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>@null</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://github.com/googleapis/google-api-java-client</item>
|
||||
</array>
|
||||
|
||||
<array name="license_msgraph">
|
||||
<item>Microsoft Graph Android SDK</item>
|
||||
<item>Deprecated API client for Microsoft Graph APIs</item>
|
||||
<item>@null</item>
|
||||
<item>@string/mit_license_name</item>
|
||||
<item>Copyright (c) 2015 Microsoft Corporation</item>
|
||||
<item>@raw/license_mit</item>
|
||||
<item>https://github.com/microsoftgraph/msgraph-sdk-android</item>
|
||||
</array>
|
||||
|
||||
<array name="license_msal">
|
||||
<item>Microsoft Authentication Library (MSAL) for Android</item>
|
||||
<item>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.
|
||||
</item>
|
||||
<item>@null</item>
|
||||
<item>@string/mit_license_name</item>
|
||||
<item>Copyright (c) Microsoft Corporation</item>
|
||||
<item>@raw/license_mit</item>
|
||||
<item>https://github.com/AzureAD/microsoft-authentication-library-for-android</item>
|
||||
</array>
|
||||
|
||||
<array name="license_crashreporter">
|
||||
<item>CrashReporter</item>
|
||||
<item>CrashReporter is a handy tool to capture app crashes and save them in a file.</item>
|
||||
<item>
|
||||
https://github.com/balsikandar/CrashReporter/raw/master/assets/crash_reporter_banner.png
|
||||
</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>"
|
||||
Copyright (C) 2016 Bal Sikandar
|
||||
Copyright (C) 2011 Android Open Source Project
|
||||
"
|
||||
</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://github.com/MindorksOpenSource/CrashReporter</item>
|
||||
</array>
|
||||
|
||||
<array name="license_mdicons">
|
||||
<item>Material Design Icons</item>
|
||||
<item>Beautifully crafted, delightful, and easy to use in your web, Android, and iOS
|
||||
projects
|
||||
</item>
|
||||
<item>https://material.io/tools/icons/static/ic_icons_192px_light.svg</item>
|
||||
<item>@string/apache_license_name</item>
|
||||
<item>@null</item>
|
||||
<item>@raw/license_apache_2</item>
|
||||
<item>https://material.io/icons/</item>
|
||||
</array>
|
||||
|
||||
<string name="mit_license_name" translatable="false">MIT license</string>
|
||||
<string name="bsd_2clause_name" translatable="false">Simplified BSD license</string>
|
||||
<string name="bsd_3clause_name" translatable="false">Modified BSD license</string>
|
||||
<string name="apache_license_name" translatable="false">Apache license 2.0</string>
|
||||
<string name="glide_license_name" translatable="false">Glide license</string>
|
||||
<string name="gpl3_name" translatable="false">GNU General Public License Version 3</string>
|
||||
|
||||
</resources>
|
||||
@ -47,5 +47,6 @@ dependencies {
|
||||
implementation(libs.bundles.materialdialogs)
|
||||
|
||||
implementation(project(":ktx"))
|
||||
implementation(project(":i18n"))
|
||||
|
||||
}
|
||||
17
base/src/main/java/de/mm20/launcher2/licenses/AppLicense.kt
Normal file
17
base/src/main/java/de/mm20/launcher2/licenses/AppLicense.kt
Normal file
@ -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"
|
||||
)
|
||||
}
|
||||
}
|
||||
@ -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
|
||||
)
|
||||
@ -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 <https://jsoup.org/>",
|
||||
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/"
|
||||
),
|
||||
)
|
||||
9
base/src/main/res/values/licenses.xml
Normal file
9
base/src/main/res/values/licenses.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="mit_license_name" translatable="false">MIT license</string>
|
||||
<string name="bsd_2clause_name" translatable="false">Simplified BSD license</string>
|
||||
<string name="bsd_3clause_name" translatable="false">Modified BSD license</string>
|
||||
<string name="apache_license_name" translatable="false">Apache license 2.0</string>
|
||||
<string name="glide_license_name" translatable="false">Glide license</string>
|
||||
<string name="gpl3_name" translatable="false">GNU General Public License Version 3</string>
|
||||
</resources>
|
||||
Loading…
x
Reference in New Issue
Block a user