From d66c257370b71267a2329e70a06e31bbaa8fc9d6 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 3 Dec 2022 18:40:00 +0100 Subject: [PATCH] Some fixes --- app/build.gradle | 4 +- app/src/main/assets/release_notes/notes.json | 5 ++ .../android/client/entities/app/Pinned.java | 13 ++++- .../android/helper/PinnedTimelineHelper.java | 50 +++++++++++-------- .../metadata/android/en/changelogs/437.txt | 13 +++++ 5 files changed, 60 insertions(+), 25 deletions(-) create mode 100644 src/fdroid/fastlane/metadata/android/en/changelogs/437.txt diff --git a/app/build.gradle b/app/build.gradle index 6aa31309f..8e6c41d16 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,8 +13,8 @@ android { defaultConfig { minSdk 21 targetSdk 32 - versionCode 436 - versionName "3.9.1" + versionCode 437 + versionName "3.9.2" 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 aece71287..59424c1de 100644 --- a/app/src/main/assets/release_notes/notes.json +++ b/app/src/main/assets/release_notes/notes.json @@ -1,4 +1,9 @@ [ + { + "version": "3.9.2", + "code": "437", + "note": "Added:\n- New design with 5 themes\n\nChanged:\n- Remove built-in browser support\n- Fit preview image displays images vertically\n- Add counters next to images\n\nFixed:\n- Jumps in timelines\n- Replies to wrong messages with followed instances\n- Bug with delete&redraft with a media\n- Some crashes" + }, { "version": "3.9.1", "code": "436", diff --git a/app/src/main/java/app/fedilab/android/client/entities/app/Pinned.java b/app/src/main/java/app/fedilab/android/client/entities/app/Pinned.java index 524e7da98..eb6e87ec8 100644 --- a/app/src/main/java/app/fedilab/android/client/entities/app/Pinned.java +++ b/app/src/main/java/app/fedilab/android/client/entities/app/Pinned.java @@ -24,6 +24,7 @@ import com.google.gson.annotations.SerializedName; import com.google.gson.reflect.TypeToken; import java.io.Serializable; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -154,7 +155,17 @@ public class Pinned implements Serializable { } try { Cursor c = db.query(Sqlite.TABLE_PINNED_TIMELINES, null, Sqlite.COL_INSTANCE + " = '" + account.instance + "' AND " + Sqlite.COL_USER_ID + " = '" + account.user_id + "'", null, null, null, Sqlite.COL_UPDATED_AT + " DESC", "1"); - return cursorToPined(c); + Pinned pinned = cursorToPined(c); + List pinnedTimelines = new ArrayList<>(); + if (pinned != null) { + for (PinnedTimeline pinnedTimeline : pinned.pinnedTimelines) { + if (pinnedTimeline.displayed) { + pinnedTimelines.add(pinnedTimeline); + } + } + pinned.pinnedTimelines = pinnedTimelines; + } + return pinned; } catch (Exception e) { return null; } diff --git a/app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java b/app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java index b912fe3ac..504fa0cc2 100644 --- a/app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java +++ b/app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java @@ -274,31 +274,37 @@ public class PinnedTimelineHelper { for (MastodonList mastodonList : mastodonLists) { boolean present = false; - for (PinnedTimeline pinnedTimeline : pinned.pinnedTimelines) { - if (pinnedTimeline.mastodonList != null && mastodonList.id.compareTo(pinnedTimeline.mastodonList.id) == 0) { - present = true; - break; - } - } - //Needs to be added - if (!present) { - needRedraw = true; //Something changed, redraw must be done - PinnedTimeline pinnedTimeline = new PinnedTimeline(); - pinnedTimeline.type = Timeline.TimeLineEnum.LIST; - pinnedTimeline.position = pinned.pinnedTimelines.size(); - pinnedTimeline.mastodonList = mastodonList; - pinned.pinnedTimelines.add(pinnedTimeline); - try { - boolean exist = new Pinned(activity).pinnedExist(pinned); - if (exist) { - new Pinned(activity).updatePinned(pinned); - } else { - new Pinned(activity).insertPinned(pinned); + try { + Pinned pinnedAll = new Pinned(activity).getAllPinned(currentAccount); + for (PinnedTimeline pinnedTimeline : pinnedAll.pinnedTimelines) { + if (pinnedTimeline.mastodonList != null && mastodonList.id.compareTo(pinnedTimeline.mastodonList.id) == 0) { + present = true; + break; } - } catch (DBException e) { - e.printStackTrace(); } + //Needs to be added + if (!present) { + needRedraw = true; //Something changed, redraw must be done + PinnedTimeline pinnedTimeline = new PinnedTimeline(); + pinnedTimeline.type = Timeline.TimeLineEnum.LIST; + pinnedTimeline.position = pinnedAll.pinnedTimelines.size(); + pinnedTimeline.mastodonList = mastodonList; + pinnedAll.pinnedTimelines.add(pinnedTimeline); + try { + boolean exist = new Pinned(activity).pinnedExist(pinnedAll); + if (exist) { + new Pinned(activity).updatePinned(pinnedAll); + } else { + new Pinned(activity).insertPinned(pinnedAll); + } + } catch (DBException e) { + e.printStackTrace(); + } + } + } catch (DBException e) { + e.printStackTrace(); } + } } if (!needRedraw) { //if there were no changes with list, no need to update tabs diff --git a/src/fdroid/fastlane/metadata/android/en/changelogs/437.txt b/src/fdroid/fastlane/metadata/android/en/changelogs/437.txt new file mode 100644 index 000000000..81643078e --- /dev/null +++ b/src/fdroid/fastlane/metadata/android/en/changelogs/437.txt @@ -0,0 +1,13 @@ +Added: +- New design with 5 themes + +Changed: +- Remove built-in browser support +- Fit preview image displays images vertically +- Add counters next to images + +Fixed: +- Jumps in timelines +- Replies to wrong messages with followed instances +- Bug with delete&redraft with a media +- Some crashes \ No newline at end of file