reorganize third party libraries in about section

Daniel Gultsch created

Change summary

build.gradle                           | 78 +++++++++++----------------
src/main/res/layout/activity_about.xml |  9 +-
src/main/res/values/about.xml          | 43 +++++++++------
3 files changed, 64 insertions(+), 66 deletions(-)

Detailed changes

build.gradle ๐Ÿ”—

@@ -44,65 +44,53 @@ spotless {
 dependencies {
     coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
 
-    implementation project(':libs:annotation')
     annotationProcessor project(':libs:annotation-processor')
-
-
-    implementation 'androidx.viewpager:viewpager:1.1.0'
-
-    playstoreImplementation('com.google.firebase:firebase-messaging:24.1.1') {
-        exclude group: 'com.google.firebase', module: 'firebase-core'
-        exclude group: 'com.google.firebase', module: 'firebase-analytics'
-        exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
-    }
-    conversationsPlaystoreImplementation("com.android.installreferrer:installreferrer:2.2")
-    quicksyPlaystoreImplementation 'com.google.android.gms:play-services-auth-api-phone:18.2.0'
-    implementation 'com.github.open-keychain.open-keychain:openpgp-api:v5.7.1'
-    implementation("com.vanniktech:android-image-cropper:4.6.0")
-    implementation "androidx.sharetarget:sharetarget:1.2.0"
-
+    implementation project(':libs:annotation')
     implementation 'androidx.appcompat:appcompat:1.7.0'
-    implementation 'androidx.exifinterface:exifinterface:1.4.0'
     implementation 'androidx.cardview:cardview:1.0.0'
-    implementation "androidx.preference:preference:1.2.1"
+    implementation 'androidx.emoji2:emoji2:1.5.0'
+    freeImplementation 'androidx.emoji2:emoji2-bundled:1.5.0'
+    implementation 'androidx.emoji2:emoji2-emojipicker:1.5.0'
+    implementation 'androidx.exifinterface:exifinterface:1.4.0'
+    implementation 'androidx.preference:preference:1.2.1'
+    implementation 'androidx.sharetarget:sharetarget:1.2.0'
     implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
-    implementation 'com.google.android.material:material:1.13.0-alpha12'
+    implementation 'androidx.viewpager:viewpager:1.1.0'
     implementation 'androidx.work:work-runtime:2.10.0'
-
-    implementation "androidx.emoji2:emoji2:1.5.0"
-    freeImplementation "androidx.emoji2:emoji2-bundled:1.5.0"
-    implementation "androidx.emoji2:emoji2-emojipicker:1.5.0"
-
-    implementation 'org.bouncycastle:bcmail-jdk18on:1.80'
+    implementation 'com.github.open-keychain.open-keychain:openpgp-api:v5.7.1'
+    implementation 'com.google.android.material:material:1.13.0-alpha12'
+    implementation 'com.google.guava:guava:33.4.6-android'
     implementation 'com.google.zxing:core:3.5.3'
-    implementation 'org.minidns:minidns-client:1.0.4'
-    implementation 'org.minidns:minidns-dnssec:1.0.4'
-    implementation 'me.leolin:ShortcutBadger:1.1.22@aar'
-    implementation 'org.whispersystems:signal-protocol-java:2.6.2'
+    implementation 'com.leinardi.android:speed-dial:3.3.0'
     implementation 'com.makeramen:roundedimageview:2.3.0'
-
-    //noinspection GradleDependency
+    implementation 'com.squareup.okhttp3:okhttp:4.12.0'
+    implementation 'com.squareup.retrofit2:converter-gson:2.11.0'
+    implementation 'com.squareup.retrofit2:retrofit:2.11.0'
+    implementation 'com.vanniktech:android-image-cropper:4.6.0'
+    implementation 'im.conversations.webrtc:webrtc-android:129.0.0'
     implementation 'io.deepmedia.community:transcoder-android:0.11.2'
-
+    implementation 'me.drakeet.support:toastcompat:1.1.0'
+    implementation 'me.leolin:ShortcutBadger:1.1.22@aar'
+    implementation 'org.bouncycastle:bcmail-jdk18on:1.80'
+    implementation 'org.conscrypt:conscrypt-android:2.5.2'
+    implementation 'org.hsluv:hsluv:0.2'
     implementation 'org.jxmpp:jxmpp-jid:1.0.3'
     implementation 'org.jxmpp:jxmpp-stringprep-libidn:1.0.3'
-    implementation 'org.osmdroid:osmdroid-android:6.1.11'
-    implementation 'org.hsluv:hsluv:0.2'
-    implementation 'org.conscrypt:conscrypt-android:2.5.2'
-    implementation 'me.drakeet.support:toastcompat:1.1.0'
-    implementation "com.leinardi.android:speed-dial:3.3.0"
-
-    implementation "com.squareup.retrofit2:retrofit:2.11.0"
-    implementation "com.squareup.retrofit2:converter-gson:2.11.0"
-    implementation "com.squareup.okhttp3:okhttp:4.12.0"
+    implementation 'org.minidns:minidns-client:1.0.4'
+    implementation 'org.minidns:minidns-dnssec:1.0.4'
+    implementation 'org.osmdroid:osmdroid-android:6.1.20'
+    implementation 'org.whispersystems:signal-protocol-java:2.6.2'
+    conversationsPlaystoreImplementation 'com.android.installreferrer:installreferrer:2.2'
+    playstoreImplementation('com.google.firebase:firebase-messaging:24.1.1') {
+        exclude group: 'com.google.firebase', module: 'firebase-core'
+        exclude group: 'com.google.firebase', module: 'firebase-analytics'
+        exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
 
-    implementation 'com.google.guava:guava:33.4.6-android'
+    }
     quicksyImplementation 'io.michaelrocks:libphonenumber-android:8.13.52'
-    implementation 'im.conversations.webrtc:webrtc-android:129.0.0'
+    quicksyPlaystoreImplementation 'com.google.android.gms:play-services-auth-api-phone:18.2.0'
 
-    //Testing
     testImplementation 'junit:junit:4.13.2'
-
 }
 
 ext {

src/main/res/layout/activity_about.xml ๐Ÿ”—

@@ -4,6 +4,7 @@
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:fitsSystemWindows="true"
         android:orientation="vertical">
 
         <com.google.android.material.appbar.AppBarLayout
@@ -25,16 +26,16 @@
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content">
+
                 <TextView
                     android:id="@+id/about"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:fontFamily="monospace"
-                    android:linksClickable="true"
                     android:layout_margin="@dimen/card_padding_regular"
-                    tools:text="@string/pref_about_message"
+                    android:fontFamily="monospace"
                     android:textAppearance="?textAppearanceBodyMedium"
-                    android:typeface="monospace" />
+                    android:typeface="monospace"
+                    tools:text="@string/pref_about_message" />
             </LinearLayout>
         </ScrollView>
     </LinearLayout>

src/main/res/values/about.xml ๐Ÿ”—

@@ -43,23 +43,32 @@
 			\n\nYou should have received a copy of the GNU General Public License
 			along with this program. If not, see https://www.gnu.org/licenses
 			\n\nDownload the full source code at https://codeberg.org/iNPUTmice/Conversations
-			\n\n\nLibraries
-			\n\nhttps://webrtc.org\nCopyright (c) 2011, The WebRTC project authors. All rights reserved. (https://webrtc.org/support/license)
-			\n\nhttps://github.com/ypresto/android-transcoder\n(Apache License, Version 2.0)
-			\n\nhttps://www.bouncycastle.org\n(The MIT License (MIT))
-			\n\nhttps://www.gnu.org/software/libidn\n(Apache License, Version 2.0)
-			\n\nhttps://github.com/ge0rg/MemorizingTrustManager\n(The MIT License (MIT))
-			\n\nhttps://github.com/rtreffer/minidns\n(WTFPL)
-			\n\nhttps://github.com/open-keychain/openkeychain-api-lib\n(Apache License, Version 2.0)
-			\n\nhttps://developer.android.com/tools/support-library\n(Apache License, Version 2.0)
-			\n\nhttps://github.com/google/material-design-icons\n(CC BY 4.0)
-			\n\nhttps://github.com/leolin310148/ShortcutBadger\n(Apache License, Version 2.0)
-			\n\nhttps://github.com/WhisperSystems/libaxolotl-java\n(GPLv3)
-			\n\nhttps://github.com/vinc3m1/RoundedImageView\n(Apache License, Version 2.0)
-			\n\nhttps://github.com/jdamcd/android-crop\n(Apache License, Version 2.0)
-			\n\nhttps://github.com/zxing/zxing\n(Apache License, Version 2.0)
-			\n\nhttps://github.com/osmdroid/osmdroid\n(Apache License, Version 2.0)
-			\n\n\nMaps
+			\n\n\nThird-party libraries:
+
+			\n\nAndroid Jetpack\nhttps://android.googlesource.com/platform/frameworks/support\n(Apache License, Version 2.0)
+			\n\nOpenKeychain Intents\nhttps://github.com/open-keychain/openkeychain-api-lib\n(Apache License, Version 2.0)
+			\n\nMaterial Components for Android\nhttps://github.com/material-components/material-components-android\n(Apache License, Version 2.0)
+			\n\nGuava: Google Core Libraries for Java\nhttps://github.com/google/guava\n(Apache License, Version 2.0)
+			\n\nZXing barcode scanning library for Android\nhttps://github.com/zxing/zxing\n(Apache License, Version 2.0)
+			\n\nFloating Action Button Speed Dial\nhttps://github.com/leinardi/FloatingActionButtonSpeedDial\n(Apache License, Version 2.0)
+			\n\nRoundedImageView\nhttps://github.com/vinc3m1/RoundedImageView\n(Apache License, Version 2.0)
+			\n\nOkHttp\nhttps://github.com/square/okhttp\n(Apache License, Version 2.0)
+			\n\nRetrofit\nhttps://github.com/square/retrofit\n(Apache License, Version 2.0)
+			\n\nAndroid Image Cropper\nhttps://github.com/CanHub/Android-Image-Cropper\n(Apache License, Version 2.0)
+			\n\nWebRTC\nhttps://webrtc.googlesource.com/src\n(Copyright (c) 2011, The WebRTC project authors)
+			\n\nTranscoder\nhttps://github.com/deepmedia/Transcoder\n(Apache License, Version 2.0)
+			\n\nToastCompat\nhttps://github.com/PureWriter/ToastCompat\n(Apache License, Version 2.0)
+			\n\nShortcutBadger\nhttps://github.com/leolin310148/ShortcutBadger\n(Copyright 2014 Leo Lin, Apache License, Version 2.0)
+			\n\nThe Bouncy Castle Crypto Package For Java\nhttps://github.com/bcgit/bc-java\n(Copyright (c) 2000-2024 The Legion of the Bouncy Castle Inc, MIT License)
+			\n\nConscrypt - A Java Security Provider\nhttps://github.com/google/conscrypt\n(Apache License, Version 2.0)
+			\n\nHSLuv\nhttps://github.com/hsluv/hsluv-java\n(Copyright (c) 2016 Alexei Boronine, MIT License)
+			\n\nJXMPP\nhttps://github.com/igniterealtime/jxmpp\n(Apache License, Version 2.0)
+			\n\nMiniDNS\nhttps://github.com/MiniDNS/minidns\n(Apache License, Version 2.0)
+			\n\nOpenStreetMap-Tools for Android\nhttps://github.com/osmdroid/osmdroid\n(Apache License, Version 2.0)
+			\n\nlibsignal-protocol\nhttps://github.com/signalapp/libsignal-protocol-java\n(GNU General Public License v3.0)
+			\n\nAndroid port of Googlesโ€™s libphonenumber\nhttps://github.com/MichaelRocks/libphonenumber-android\n(Apache License, Version 2.0)
+
+			\n\n\nMaps:
 			\n\nMaps by Open Street Map (https://www.openstreetmap.org). Copyright restrictions may apply.
 	</string>
 </resources>