summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2022-07-19 18:39:03 +0200
committerThomas <tschneider.ac@gmail.com>2022-07-19 18:39:03 +0200
commit92a9479c95be5b3c4c65786152336e135084ea6e (patch)
tree3548879afc8f09fd9990768ed1fb40a076021c42
parent867d2ed49288db686759f74f0edd6659713b42aa (diff)
parent5cac98090f9ed2e2f6b3e0262ebedb0c4ff3c35a (diff)
Merge branch 'develop' into main
-rw-r--r--README.md4
-rw-r--r--app/build.gradle13
-rw-r--r--app/src/main/assets/languages/iso_639_1.json730
-rw-r--r--app/src/main/assets/themes/cyanea_themes.json2
-rw-r--r--app/src/main/java/app/fedilab/android/BaseMainActivity.java18
-rw-r--r--app/src/main/java/app/fedilab/android/activities/AdminAccountActivity.java17
-rw-r--r--app/src/main/java/app/fedilab/android/activities/AdminReportActivity.java18
-rw-r--r--app/src/main/java/app/fedilab/android/activities/ComposeActivity.java217
-rw-r--r--app/src/main/java/app/fedilab/android/activities/ContextActivity.java20
-rw-r--r--app/src/main/java/app/fedilab/android/activities/DraftActivity.java6
-rw-r--r--app/src/main/java/app/fedilab/android/activities/MediaActivity.java1
-rw-r--r--app/src/main/java/app/fedilab/android/activities/ProfileActivity.java36
-rw-r--r--app/src/main/java/app/fedilab/android/activities/SearchResultTabActivity.java6
-rw-r--r--app/src/main/java/app/fedilab/android/activities/SettingsActivity.java128
-rw-r--r--app/src/main/java/app/fedilab/android/client/endpoints/PleromaAPI.java40
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Account.java21
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Announcement.java12
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Field.java23
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Instance.java20
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Notification.java2
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Pleroma.java25
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Poll.java11
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Reaction.java4
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Status.java29
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/app/Account.java2
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/app/Languages.java62
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/app/QuickLoad.java2
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/misskey/MisskeyNote.java7
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/nitter/Nitter.java11
-rw-r--r--app/src/main/java/app/fedilab/android/helper/CrossActionHelper.java16
-rw-r--r--app/src/main/java/app/fedilab/android/helper/CustomEmoji.java106
-rw-r--r--app/src/main/java/app/fedilab/android/helper/Helper.java48
-rw-r--r--app/src/main/java/app/fedilab/android/helper/MyAppGlideModule.java12
-rw-r--r--app/src/main/java/app/fedilab/android/helper/NotificationsHelper.java5
-rw-r--r--app/src/main/java/app/fedilab/android/helper/SpannableHelper.java984
-rw-r--r--app/src/main/java/app/fedilab/android/helper/TimelineHelper.java24
-rw-r--r--app/src/main/java/app/fedilab/android/jobs/NotificationsWorker.java2
-rw-r--r--app/src/main/java/app/fedilab/android/jobs/ScheduleThreadWorker.java2
-rw-r--r--app/src/main/java/app/fedilab/android/services/PostMessageService.java7
-rw-r--r--app/src/main/java/app/fedilab/android/services/ThreadMessageService.java3
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/AccountAdapter.java11
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/AccountListAdapter.java6
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/AnnouncementAdapter.java23
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/ComposeAdapter.java63
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/ConversationAdapter.java11
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/EmojiAdapter.java36
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/FieldAdapter.java11
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/NotificationAdapter.java54
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java458
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/media/FragmentMedia.java5
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentLanguageSettings.java17
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonContext.java34
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonNotification.java52
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java100
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentNotificationContainer.java26
-rw-r--r--app/src/main/java/app/fedilab/android/viewmodel/mastodon/AccountsVM.java25
-rw-r--r--app/src/main/java/app/fedilab/android/viewmodel/mastodon/AnnouncementsVM.java6
-rw-r--r--app/src/main/java/app/fedilab/android/viewmodel/mastodon/NotificationsVM.java13
-rw-r--r--app/src/main/java/app/fedilab/android/viewmodel/mastodon/SearchVM.java6
-rw-r--r--app/src/main/java/app/fedilab/android/viewmodel/mastodon/StatusesVM.java37
-rw-r--r--app/src/main/java/app/fedilab/android/viewmodel/mastodon/TimelinesVM.java40
-rw-r--r--app/src/main/java/app/fedilab/android/viewmodel/pleroma/ActionsVM.java101
-rw-r--r--app/src/main/res/drawable/empty_custom_emoji.xml2
-rw-r--r--app/src/main/res/drawable/ic_baseline_insert_emoticon_24.xml10
-rw-r--r--app/src/main/res/drawable/ic_baseline_language_24.xml10
-rw-r--r--app/src/main/res/layout/activity_settings.xml15
-rw-r--r--app/src/main/res/layout/drawer_announcement.xml61
-rw-r--r--app/src/main/res/layout/drawer_status.xml48
-rw-r--r--app/src/main/res/layout/drawer_status_compose.xml4
-rw-r--r--app/src/main/res/layout/drawer_status_simple.xml1
-rw-r--r--app/src/main/res/layout/fragment_login_join.xml1
-rw-r--r--app/src/main/res/layout/fragment_login_register_mastodon.xml1
-rw-r--r--app/src/main/res/layout/layout_reactions.xml60
-rw-r--r--app/src/main/res/layout/nav_header_main.xml4
-rw-r--r--app/src/main/res/layout/popup_status_theme.xml754
-rw-r--r--app/src/main/res/menu/menu_compose.xml5
-rw-r--r--app/src/main/res/values-sc/strings.xml1
-rw-r--r--app/src/main/res/values-tr/strings.xml1
-rw-r--r--app/src/main/res/values-vi/strings.xml76
-rw-r--r--app/src/main/res/values/strings.xml6
-rw-r--r--app/src/main/res/values/styles.xml2
-rw-r--r--app/src/main/res/xml/pref_language.xml6
-rw-r--r--src/fdroid/fastlane/metadata/android/en/changelogs/397.txt1
-rw-r--r--src/fdroid/fastlane/metadata/android/en/changelogs/398.txt6
-rw-r--r--src/fdroid/fastlane/metadata/android/en/changelogs/399.txt16
85 files changed, 2845 insertions, 2077 deletions
diff --git a/README.md b/README.md
index be7fc1a3d..178a56d06 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
[![Translation status](https://hosted.weblate.org/widgets/fedilab/-/strings/svg-badge.svg)](https://hosted.weblate.org/engage/fedilab/)
&nbsp;&nbsp;&nbsp;[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
-# Fedilab is a multi-accounts client for Mastodon, Pleroma, Peertube, GNU Social, Friendica and Pixelfed
+# Fedilab is a multi-accounts client for Mastodon, Pleroma, Friendica and Pixelfed
## Donate
@@ -16,7 +16,7 @@
[WIKI](https://fedilab.app/wiki/home/)
-[Release notes](https://framagit.org/tom79/fedilab/tags)
+[Release notes](https://codeberg.org/tom79/Fedilab/tags)
Lead developer: [toot.fedilab.app/@apps](https://toot.fedilab.app/@apps)
diff --git a/app/build.gradle b/app/build.gradle
index dc9ea8795..4899929e2 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,8 +9,8 @@ android {
defaultConfig {
minSdk 21
targetSdk 31
- versionCode 396
- versionName "3.0.6"
+ versionCode 399
+ versionName "3.0.9"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
flavorDimensions "default"
@@ -85,11 +85,9 @@ dependencies {
implementation 'com.github.GrenderG:Toasty:1.5.2'
implementation 'org.framagit.tom79:SparkButton:1.0.13'
implementation "com.github.bumptech.glide:glide:4.12.0"
+ implementation "com.github.bumptech.glide:okhttp3-integration:4.12.0"
+
implementation 'com.github.mergehez:ArgPlayer:v3.1'
- implementation ("com.github.bumptech.glide:recyclerview-integration:4.12.0") {
- // Excludes the support library because it's already included by Glide.
- transitive = false
- }
implementation project(path: ':mytransl')
implementation project(path: ':ratethisapp')
@@ -99,8 +97,7 @@ dependencies {
implementation project(path: ':cropper')
annotationProcessor "com.github.bumptech.glide:compiler:4.12.0"
implementation 'jp.wasabeef:glide-transformations:4.3.0'
- implementation 'com.github.penfeizhou.android.animation:apng:2.22.0'
- implementation 'com.github.penfeizhou.android.animation:gif:2.22.0'
+ implementation 'com.github.penfeizhou.android.animation:glide-plugin:2.22.0'
implementation 'com.google.android.exoplayer:exoplayer:2.16.1'
implementation "androidx.viewpager2:viewpager2:1.0.0"
implementation 'com.github.piasy:rxandroidaudio:1.7.0'
diff --git a/app/src/main/assets/languages/iso_639_1.json b/app/src/main/assets/languages/iso_639_1.json
new file mode 100644
index 000000000..00199b74c
--- /dev/null
+++ b/app/src/main/assets/languages/iso_639_1.json
@@ -0,0 +1,730 @@
+[
+ {
+ "code": "aa",
+ "language": "Afaraf"
+ },
+ {
+ "code": "ab",
+ "language": "аҧсуа бызшәа"
+ },
+ {
+ "code": "ae",
+ "language": "avesta"
+ },
+ {
+ "code": "af",
+ "language": "Afrikaans"
+ },
+ {
+ "code": "ak",
+ "language": "Akan"
+ },
+ {
+ "code": "am",
+ "language": "አማርኛ"
+ },
+ {
+ "code": "an",
+ "language": "aragonés"
+ },
+ {
+ "code": "ar",
+ "language": "اللغة العربية"
+ },
+ {
+ "code": "as",
+ "language": "অসমীয়া"
+ },
+ {
+ "code": "av",
+ "language": "авар мацӀ"
+ },
+ {
+ "code": "ay",
+ "language": "aymar aru"
+ },
+ {
+ "code": "az",
+ "language": "azərbaycan dili"
+ },
+ {
+ "code": "ba",
+ "language": "башҡорт теле"
+ },
+ {
+ "code": "be",
+ "language": "беларуская мова"
+ },
+ {
+ "code": "bg",
+ "language": "български език"
+ },
+ {
+ "code": "bh",
+ "language": "भोजपुरी"
+ },
+ {
+ "code": "bi",
+ "language": "Bislama"
+ },
+ {
+ "code": "bm",
+ "language": "bamanankan"
+ },
+ {
+ "code": "bn",
+ "language": "বাংলা"
+ },
+ {
+ "code": "bo",
+ "language": "བོད་ཡིག"
+ },
+ {
+ "code": "br",
+ "language": "brezhoneg"
+ },
+ {
+ "code": "bs",
+ "language": "bosanski jezik"
+ },
+ {
+ "code": "ca",
+ "language": "Català"
+ },
+ {
+ "code": "ce",
+ "language": "нохчийн мотт"
+ },
+ {
+ "code": "ch",
+ "language": "Chamoru"
+ },
+ {
+ "code": "co",
+ "language": "corsu"
+ },
+ {
+ "code": "cr",
+ "language": "ᓀᐦᐃᔭᐍᐏᐣ"
+ },
+ {
+ "code": "cs",
+ "language": "čeština"
+ },
+ {
+ "code": "cu",
+ "language": "ѩзыкъ словѣньскъ"
+ },
+ {
+ "code": "cv",
+ "language": "чӑваш чӗлхи"
+ },
+ {
+ "code": "cy",
+ "language": "Cymraeg"
+ },
+ {
+ "code": "da",
+ "language": "dansk"
+ },
+ {
+ "code": "de",
+ "language": "Deutsch"
+ },
+ {
+ "code": "dv",
+ "language": "Dhivehi"
+ },
+ {
+ "code": "dz",
+ "language": "རྫོང་ཁ"
+ },
+ {
+ "code": "ee",
+ "language": "Eʋegbe"
+ },
+ {
+ "code": "el",
+ "language": "Ελληνικά"
+ },
+ {
+ "code": "en",
+ "language": "English"
+ },
+ {
+ "code": "eo",
+ "language": "Esperanto"
+ },
+ {
+ "code": "es",
+ "language": "Español"
+ },
+ {
+ "code": "et",
+ "language": "eesti"
+ },
+ {
+ "code": "eu",
+ "language": "euskara"
+ },
+ {
+ "code": "fa",
+ "language": "فارسی"
+ },
+ {
+ "code": "ff",
+ "language": "Fulfulde"
+ },
+ {
+ "code": "fi",
+ "language": "suomi"
+ },
+ {
+ "code": "fj",
+ "language": "Vakaviti"
+ },
+ {
+ "code": "fo",
+ "language": "føroyskt"
+ },
+ {
+ "code": "fr",
+ "language": "Français"
+ },
+ {
+ "code": "fy",
+ "language": "Frysk"
+ },
+ {
+ "code": "ga",
+ "language": "Gaeilge"
+ },
+ {
+ "code": "gd",
+ "language": "Gàidhlig"
+ },
+ {
+ "code": "gl",
+ "language": "galego"
+ },
+ {
+ "code": "gu",
+ "language": "ગુજરાતી"
+ },
+ {
+ "code": "gv",
+ "language": "Gaelg"
+ },
+ {
+ "code": "ha",
+ "language": "هَوُسَ"
+ },
+ {
+ "code": "he",
+ "language": "עברית"
+ },
+ {
+ "code": "hi",
+ "language": "हिन्दी"
+ },
+ {
+ "code": "ho",
+ "language": "Hiri Motu"
+ },
+ {
+ "code": "hr",
+ "language": "Hrvatski"
+ },
+ {
+ "code": "ht",
+ "language": "Kreyòl ayisyen"
+ },
+ {
+ "code": "hu",
+ "language": "magyar"
+ },
+ {
+ "code": "hy",
+ "language": "Հայերեն"
+ },
+ {
+ "code": "hz",
+ "language": "Otjiherero"
+ },
+ {
+ "code": "ia",
+ "language": "Interlingua"
+ },
+ {
+ "code": "id",
+ "language": "Bahasa Indonesia"
+ },
+ {
+ "code": "ie",
+ "language": "Interlingue"
+ },
+ {
+ "code": "ig",
+ "language": "Asụsụ Igbo"
+ },
+ {
+ "code": "ii",
+ "language": "ꆈꌠ꒿ Nuosuhxop"
+ },
+ {
+ "code": "ik",
+ "language": "Iñupiaq"
+ },
+ {
+ "code": "io",
+ "language": "Ido"
+ },
+ {
+ "code": "is",
+ "language": "Íslenska"
+ },
+ {
+ "code": "it",
+ "language": "Italiano"
+ },
+ {
+ "code": "iu",
+ "language": "ᐃᓄᒃᑎᑐᑦ"
+ },
+ {
+ "code": "ja",
+ "language": "日本語"
+ },
+ {
+ "code": "jv",
+ "language": "basa Jawa"
+ },
+ {
+ "code": "ka",
+ "language": "ქართული"
+ },
+ {
+ "code": "kg",
+ "language": "Kikongo"
+ },
+ {
+ "code": "ki",
+ "language": "Gĩkũyũ"
+ },
+ {
+ "code": "kj",
+ "language": "Kuanyama"
+ },
+ {
+ "code": "kk",
+ "language": "қазақ тілі"
+ },
+ {
+ "code": "kl",
+ "language": "kalaallisut"
+ },
+ {
+ "code": "km",
+ "language": "ខេមរភាសា"
+ },
+ {
+ "code": "kn",
+ "language": "ಕನ್ನಡ"
+ },
+ {
+ "code": "ko",
+ "language": "한국어"
+ },
+ {