summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2023-01-07 17:48:43 +0100
committerThomas <tschneider.ac@gmail.com>2023-01-07 17:48:43 +0100
commit8c98b9e46dc179ff8c00705b424c1b6d6820f77b (patch)
treea0340ada04e0b247a1d7cf1c95081ebe0528fc20
parentc3006080bacfc1548e3435837d387dc7cd0ae014 (diff)
parent47e43193b834feabfb02c030960e88aca3b02458 (diff)
Merge branch 'develop'3.14.0
-rw-r--r--app/build.gradle4
-rw-r--r--app/src/main/assets/release_notes/notes.json25
-rw-r--r--app/src/main/java/app/fedilab/android/BaseMainActivity.java16
-rw-r--r--app/src/main/java/app/fedilab/android/activities/AccountReportActivity.java1
-rw-r--r--app/src/main/java/app/fedilab/android/activities/ComposeActivity.java16
-rw-r--r--app/src/main/java/app/fedilab/android/activities/HashTagActivity.java2
-rw-r--r--app/src/main/java/app/fedilab/android/activities/ProfileActivity.java9
-rw-r--r--app/src/main/java/app/fedilab/android/client/endpoints/MastodonNotificationsService.java7
-rw-r--r--app/src/main/java/app/fedilab/android/client/endpoints/MastodonTimelinesService.java13
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Account.java66
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Announcement.java2
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Field.java4
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Poll.java2
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/Status.java20
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/api/admin/AdminAccount.java20
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/app/BubbleTimeline.java35
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/app/PinnedTimeline.java2
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/app/StatusCache.java2
-rw-r--r--app/src/main/java/app/fedilab/android/client/entities/app/Timeline.java2
-rw-r--r--app/src/main/java/app/fedilab/android/helper/ECDHFedilab.java237
-rw-r--r--app/src/main/java/app/fedilab/android/helper/Helper.java42
-rw-r--r--app/src/main/java/app/fedilab/android/helper/MediaHelper.java20
-rw-r--r--app/src/main/java/app/fedilab/android/helper/NotificationsHelper.java7
-rw-r--r--app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java344
-rw-r--r--app/src/main/java/app/fedilab/android/helper/PushNotifications.java43
-rw-r--r--app/src/main/java/app/fedilab/android/helper/SpannableHelper.java1060
-rw-r--r--app/src/main/java/app/fedilab/android/helper/ThemeHelper.java2
-rw-r--r--app/src/main/java/app/fedilab/android/imageeditor/EditImageActivity.java4
-rw-r--r--app/src/main/java/app/fedilab/android/jobs/ComposeWorker.java9
-rw-r--r--app/src/main/java/app/fedilab/android/services/CustomReceiver.java11
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/AccountAdapter.java2
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/ComposeAdapter.java147
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/ConversationAdapter.java32
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/FieldAdapter.java2
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/InstanceRegAdapter.java23
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/NotificationAdapter.java140
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/ReorderTabAdapter.java4
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/SliderAdapter.java97
-rw-r--r--app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java262
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/admin/FragmentAdminReport.java1
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/login/FragmentLoginMain.java4
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/media/FragmentMediaProfile.java4
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentExtraFeaturesSettings.java13
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentThemingSettings.java1
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentTimelinesSettings.java12
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonContext.java3
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonNotification.java1
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java66
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentProfileTimeline.java1
-rw-r--r--app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabPageAdapter.java2
-rw-r--r--app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabProfilePageAdapter.java2
-rw-r--r--app/src/main/java/app/fedilab/android/ui/pageadapter/FedilabProfileTLPageAdapter.java2
-rw-r--r--app/src/main/java/app/fedilab/android/viewmodel/mastodon/NotificationsVM.java9
-rw-r--r--app/src/main/java/app/fedilab/android/viewmodel/mastodon/TimelinesVM.java6
-rw-r--r--app/src/main/res/drawable/ic_baseline_bubble_chart_24.xml16
-rw-r--r--app/src/main/res/drawable/ic_baseline_local_only_24.xml10
-rw-r--r--app/src/main/res/layout/dialog_bubble_exclude_visibility.xml55
-rw-r--r--app/src/main/res/layout/dialog_bubble_reply_visibility.xml35
-rw-r--r--app/src/main/res/layout/drawer_slider.xml8
-rw-r--r--app/src/main/res/layout/drawer_status.xml8
-rw-r--r--app/src/main/res/layout/drawer_status_compose.xml13
-rw-r--r--app/src/main/res/layout/drawer_status_pixelfed.xml111
-rw-r--r--app/src/main/res/menu/option_bubble_timeline.xml27
-rw-r--r--app/src/main/res/values-cs/strings.xml20
-rw-r--r--app/src/main/res/values-de/strings.xml335
-rw-r--r--app/src/main/res/values-gl/strings.xml25
-rw-r--r--app/src/main/res/values-ja/strings.xml47
-rw-r--r--app/src/main/res/values-nl/strings.xml20
-rw-r--r--app/src/main/res/values-ru/strings.xml137
-rw-r--r--app/src/main/res/values-sc/strings.xml21
-rw-r--r--app/src/main/res/values-tr/strings.xml20
-rw-r--r--app/src/main/res/values-w1240dp/dimens.xml2
-rw-r--r--app/src/main/res/values-w600dp/dimens.xml2
-rw-r--r--app/src/main/res/values/strings.xml33
-rw-r--r--app/src/main/res/xml/pref_extra_features.xml17
-rw-r--r--app/src/main/res/xml/pref_interface.xml16
-rw-r--r--app/src/main/res/xml/pref_timelines.xml7
-rw-r--r--autoimageslider/build.gradle10
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/395.txt2
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/398.txt6
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/409.txt5
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/410.txt4
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/411.txt3
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/412.txt5
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/413.txt10
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/414.txt7
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/415.txt2
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/416.txt12
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/417.txt15
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/455.txt9
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/456.txt10
-rw-r--r--src/fdroid/fastlane/metadata/android/de/changelogs/457.txt14
-rw-r--r--src/fdroid/fastlane/metadata/android/en/changelogs/458.txt10
-rw-r--r--src/fdroid/fastlane/metadata/android/en/changelogs/459.txt5
-rw-r--r--src/fdroid/fastlane/metadata/android/en/changelogs/460.txt8
-rw-r--r--src/fdroid/fastlane/metadata/android/en/changelogs/461.txt13
-rw-r--r--src/fdroid/fastlane/metadata/android/en/changelogs/462.txt21
97 files changed, 2645 insertions, 1374 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 8aace30fe..2046c73dd 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -13,8 +13,8 @@ android {
defaultConfig {
minSdk 21
targetSdk 33
- versionCode 457
- versionName "3.13.3"
+ versionCode 462
+ versionName "3.14.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
flavorDimensions "default"
diff --git a/app/src/main/assets/release_notes/notes.json b/app/src/main/assets/release_notes/notes.json
index 24c9070a8..c55a9703b 100644
--- a/app/src/main/assets/release_notes/notes.json
+++ b/app/src/main/assets/release_notes/notes.json
@@ -1,5 +1,30 @@
[
{
+ "version": "3.14.0",
+ "code": "462",
+ "note": "Added:\n\n- Add Bubble timeline support in extra-features with filters\n- Allow to display public profiles by default to get all messages (Settings > Interface)\n- Glitch: Allow to post messages locally (Can be turned off in Settings)\n- Pixelfed: Custom layout to display Media fully (Also works for other software when there are media)\n- Allow to align left action buttons in messages\n\nChanged:\n- Full rework on links in messages (also mentions and tags)\n- Add pinned tag in \"any\" to avoid to lose it when renaming timeline\n\nFixed:\n- Links to messages not handled by the app\n- CW when editing a message\n- Fix push notifications with several accounts\n- New messages or edition notifications not pushed\n- Fix quotes with tags/mentions\n- Fix notifications\n- Fix sending multiple media\n- Fix crashes"
+ },
+ {
+ "version": "3.13.7",
+ "code": "461",
+ "note": "Added:\n- Pixelfed: Custom layout to display Media fully \n*(Settings > Timelines > Pixelfed Presentation) - Also works for other softwares when there are media\n\nChanged:\n- Add pinned tag in \"any\" to avoid to lose it when renaming timeline\n\nFixed:\n- Fix push notifications with several accounts\n- Fix quotes with tags/mentions\n- Fix notifications\n- Fix sending multiple media\n- Some crashes"
+ },
+ {
+ "version": "3.13.6",
+ "code": "460",
+ "note": "Fixed:\n- Cross-compose: Wrong instance emojis\n- Custom emojis not displayed in notifications\n- Fav/Boost markers with shared messages\n- Empty notifications\n- Fix cw removed when replying\n- Fix expand media with fit preview images when sensitive\n- Fix an issue with fetch more displayed too often (cache clear will help or wait new messages)"
+ },
+ {
+ "version": "3.13.5",
+ "code": "459",
+ "note": "Added:\n- Glitch: Allow to post messages locally (Can be turned off in Settings)\n\nFixed:\n- Crashes"
+ },
+ {
+ "version": "3.13.4",
+ "code": "458",
+ "note": "Added:\n- Add Bubble timeline support in extra-features with filters\n- Allow to display public profiles by default to get all messages (Settings > Interface)\n\nChanged:\n- Full rework on links in messages (also mentions and tags)\n\nFixed:\n- Spoiler text when editing\n- Fix watermarks"
+ },
+ {
"version": "3.13.3",
"code": "457",
"note": "Added:\n- Allow to enable extra features in Settings\n- Customizable settings for extra features\n- Support quotes, reactions with messages\n- Support text format (html, markdown, etc.) when composing\n\nFixed:\n- CW not working with media\n- Media not displayed for older instances\n- Some crashes\n"
diff --git a/app/src/main/java/app/fedilab/android/BaseMainActivity.java b/app/src/main/java/app/fedilab/android/BaseMainActivity.java
index a09a6ec54..43b4ddb3b 100644
--- a/app/src/main/java/app/fedilab/android/BaseMainActivity.java
+++ b/app/src/main/java/app/fedilab/android/BaseMainActivity.java
@@ -165,6 +165,7 @@ import retrofit2.converter.gson.GsonConverterFactory;
public abstract class BaseMainActivity extends BaseActivity implements NetworkStateReceiver.NetworkStateReceiverListener, FragmentMastodonTimeline.UpdateCounters, FragmentNotificationContainer.UpdateCounters, FragmentMastodonConversation.UpdateCounters {
+ private static final int REQUEST_CODE = 5415;
public static String currentInstance, currentToken, currentUserID, client_id, client_secret, software;
public static HashMap<String, List<Emoji>> emojis = new HashMap<>();
public static Account.API api;
@@ -297,7 +298,6 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
};
private NetworkStateReceiver networkStateReceiver;
private boolean headerMenuOpen;
- private static final int REQUEST_CODE = 5415;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -683,6 +683,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
regex_local = sharedpreferences.getString(getString(R.string.SET_FILTER_REGEX_LOCAL) + currentUserID + currentInstance, null);
regex_public = sharedpreferences.getString(getString(R.string.SET_FILTER_REGEX_PUBLIC) + currentUserID + currentInstance, null);
show_art_nsfw = sharedpreferences.getBoolean(getString(R.string.SET_ART_WITH_NSFW) + currentUserID + currentInstance, false);
+
binding.profilePicture.setOnClickListener(v -> binding.drawerLayout.openDrawer(GravityCompat.START));
Helper.loadPP(BaseMainActivity.this, binding.profilePicture, currentAccount);
headerMainBinding.accountAcc.setText(String.format("%s@%s", currentAccount.mastodon_account.username, currentAccount.instance));
@@ -785,7 +786,6 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
});
-
binding.toolbarSearch.setOnSearchClickListener(v -> binding.tabLayout.setVisibility(View.VISIBLE));
//For receiving data from other activities
LocalBroadcastManager.getInstance(BaseMainActivity.this).registerReceiver(broadcast_data, new IntentFilter(Helper.BROADCAST_DATA));
@@ -1041,7 +1041,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
String title = "";
String description = "";
- if(titleEl != null) {
+ if (titleEl != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
title = Html.fromHtml(titleEl.attr("content"), Html.FROM_HTML_MODE_LEGACY).toString();
} else {
@@ -1049,7 +1049,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
}
}
- if(descriptionEl != null) {
+ if (descriptionEl != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
description = Html.fromHtml(descriptionEl.attr("content"), Html.FROM_HTML_MODE_LEGACY).toString();
} else {
@@ -1058,13 +1058,13 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
}
String imageUrl = "";
- if(imageUrlEl != null) {
+ if (imageUrlEl != null) {
imageUrl = imageUrlEl.attr("content");
}
StringBuilder titleBuilder = new StringBuilder();
- if(!originalUrl.trim().equalsIgnoreCase(sharedText.trim())) {
+ if (!originalUrl.trim().equalsIgnoreCase(sharedText.trim())) {