summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/build.gradle4
-rw-r--r--app/src/main/java/app/fedilab/android/activities/BaseMainActivity.java2
-rw-r--r--app/src/main/java/app/fedilab/android/client/Entities/ManageTimelines.java34
-rw-r--r--app/src/main/java/app/fedilab/android/client/Entities/Status.java2
-rw-r--r--app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java4
-rw-r--r--app/src/main/java/app/fedilab/android/fragments/DisplayFiltersFragment.java3
-rw-r--r--fastlane/metadata/android/en-US/changelogs/308.txt12
7 files changed, 45 insertions, 16 deletions
diff --git a/app/build.gradle b/app/build.gradle
index c95776d95..e0b441b6e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,8 +6,8 @@ android {
defaultConfig {
minSdkVersion 18
targetSdkVersion 29
- versionCode 307
- versionName "2.16.0-beta-1"
+ versionCode 308
+ versionName "2.16.0"
multiDexEnabled true
renderscriptTargetApi 28 as int
renderscriptSupportModeEnabled true
diff --git a/app/src/main/java/app/fedilab/android/activities/BaseMainActivity.java b/app/src/main/java/app/fedilab/android/activities/BaseMainActivity.java
index a1c8ab809..45db69125 100644
--- a/app/src/main/java/app/fedilab/android/activities/BaseMainActivity.java
+++ b/app/src/main/java/app/fedilab/android/activities/BaseMainActivity.java
@@ -1626,7 +1626,7 @@ public abstract class BaseMainActivity extends BaseActivity
//Refresh home if needed
if( dateAllowed.after(date) ) {
for (ManageTimelines tl : timelines) {
- if (tl.getType() == ManageTimelines.Type.HOME && mPageReferenceMap.containsKey(tl.getPosition())) {
+ if (tl.getType() == ManageTimelines.Type.HOME && mPageReferenceMap != null && mPageReferenceMap.containsKey(tl.getPosition())) {
DisplayStatusFragment homeTimeline = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
if (homeTimeline != null) {
homeTimeline.retrieveMissingHome();
diff --git a/app/src/main/java/app/fedilab/android/client/Entities/ManageTimelines.java b/app/src/main/java/app/fedilab/android/client/Entities/ManageTimelines.java
index 010242e73..72b9f7770 100644
--- a/app/src/main/java/app/fedilab/android/client/Entities/ManageTimelines.java
+++ b/app/src/main/java/app/fedilab/android/client/Entities/ManageTimelines.java
@@ -463,9 +463,11 @@ public class ManageTimelines {
popup.setOnDismissListener(new PopupMenu.OnDismissListener() {
@Override
public void onDismiss(PopupMenu menu) {
- TabLayoutNotificationsFragment tabLayoutNotificationsFragment = (TabLayoutNotificationsFragment) mPageReferenceMap.get(tl.getPosition());
- assert tabLayoutNotificationsFragment != null;
- tabLayoutNotificationsFragment.refreshAll();
+ if( mPageReferenceMap != null) {
+ TabLayoutNotificationsFragment tabLayoutNotificationsFragment = (TabLayoutNotificationsFragment) mPageReferenceMap.get(tl.getPosition());
+ assert tabLayoutNotificationsFragment != null;
+ tabLayoutNotificationsFragment.refreshAll();
+ }
}
});
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@@ -564,12 +566,14 @@ public class ManageTimelines {
@Override
public void onDismiss(PopupMenu menu) {
if(changes[0]) {
- FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
- DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
- assert displayStatusFragment != null;
- fragTransaction.detach(displayStatusFragment);
- fragTransaction.attach(displayStatusFragment);
- fragTransaction.commit();
+ if( mPageReferenceMap != null) {
+ FragmentTransaction fragTransaction = ((MainActivity) context).getSupportFragmentManager().beginTransaction();
+ DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
+ assert displayStatusFragment != null;
+ fragTransaction.detach(displayStatusFragment);
+ fragTransaction.attach(displayStatusFragment);
+ fragTransaction.commit();
+ }
}
}
});
@@ -608,8 +612,10 @@ public class ManageTimelines {
final MenuItem itemShowBoosts = menu.findItem(R.id.action_show_boosts);
final MenuItem itemShowReplies = menu.findItem(R.id.action_show_replies);
final MenuItem itemFilter = menu.findItem(R.id.action_filter);
+ if( mPageReferenceMap == null) {
+ return;
+ }
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
-
if(tl.getType() != Type.HOME){
itemShowBoosts.setVisible(false);
itemShowReplies.setVisible(false);
@@ -789,6 +795,8 @@ public class ManageTimelines {
@Override
public void onDismiss(PopupMenu menu) {
if(changes[0]) {
+ if( mPageReferenceMap == null)
+ return;
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
if( displayStatusFragment == null)
@@ -1013,6 +1021,8 @@ public class ManageTimelines {
});
changes[0] = true;
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
+ if( mPageReferenceMap == null)
+ return true;
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
if( displayStatusFragment == null)
return false;
@@ -1053,6 +1063,8 @@ public class ManageTimelines {
@Override
public boolean onMenuItemClick(MenuItem item) {
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
+ if( mPageReferenceMap == null)
+ return true;
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
if( displayStatusFragment == null)
return false;
@@ -1135,6 +1147,8 @@ public class ManageTimelines {
public void onDismiss(PopupMenu menu) {
if(changes[0]) {
FragmentTransaction fragTransaction = ((MainActivity)context).getSupportFragmentManager().beginTransaction();
+ if( mPageReferenceMap == null)
+ return;
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
if( displayStatusFragment == null)
return;
diff --git a/app/src/main/java/app/fedilab/android/client/Entities/Status.java b/app/src/main/java/app/fedilab/android/client/Entities/Status.java
index b15a374ce..34e6db535 100644
--- a/app/src/main/java/app/fedilab/android/client/Entities/Status.java
+++ b/app/src/main/java/app/fedilab/android/client/Entities/Status.java
@@ -651,7 +651,7 @@ public class Status implements Parcelable{
i++;
}
status.setImageURL(imgs);
- content = content.replaceAll("(<\\s?p\\s?>)&gt;(((?!(<\\/p>)|(<br)).){5,})(<\\s?\\/p\\s?><\\s?p\\s?>|<\\s?br\\s?\\/?>)","<blockquote>$2</blockquote><p>");
+ content = content.replaceAll("(<\\s?p\\s?>)&gt;(((?!(<\\/p>)|(<br)).){5,})(<\\s?\\/p\\s?><\\s?p\\s?>|<\\s?br\\s?\\/?>|<\\s?\\/p\\s?>$)","<blockquote>$2</blockquote><p>");
content = content.replaceAll("^<\\s?p\\s?>(.*)<\\s?\\/p\\s?>$","$1");
spannableStringContent = new SpannableString(content);
final int[] j = {0};
diff --git a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java
index 73fcc309e..0d7f542da 100644
--- a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java
+++ b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java
@@ -1902,7 +1902,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
List<ManageTimelines> timelines = new TimelinesDAO(context, db).getDisplayedTimelines();
for(ManageTimelines tl: timelines) {
- if( tl.getType() == ManageTimelines.Type.HOME) {
+ if( tl.getType() == ManageTimelines.Type.HOME && mPageReferenceMap != null) {
DisplayStatusFragment homeFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
if (homeFragment != null)
homeFragment.fetchMore(status.getId());
@@ -1924,7 +1924,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
List<ManageTimelines> timelines = new TimelinesDAO(context, db).getDisplayedTimelines();
for(ManageTimelines tl: timelines) {
- if( tl.getType() == ManageTimelines.Type.HOME) {
+ if( tl.getType() == ManageTimelines.Type.HOME && mPageReferenceMap != null) {
DisplayStatusFragment homeFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
if (homeFragment != null) {
fetch_all_more = true;
diff --git a/app/src/main/java/app/fedilab/android/fragments/DisplayFiltersFragment.java b/app/src/main/java/app/fedilab/android/fragments/DisplayFiltersFragment.java
index 33ef8e04b..c3c98fc43 100644
--- a/app/src/main/java/app/fedilab/android/fragments/DisplayFiltersFragment.java
+++ b/app/src/main/java/app/fedilab/android/fragments/DisplayFiltersFragment.java
@@ -265,6 +265,9 @@ public class DisplayFiltersFragment extends Fragment implements OnFilterActionIn
MainActivity.filters = apiResponse.getFilters();
SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
List<ManageTimelines> timelines = new TimelinesDAO(context, db).getDisplayedTimelines();
+ if( mPageReferenceMap == null) {
+ return;
+ }
for(ManageTimelines tl: timelines) {
if( tl.getType() == ManageTimelines.Type.HOME || tl.getType() == ManageTimelines.Type.LOCAL || tl.getType() == ManageTimelines.Type.PUBLIC) {
DisplayStatusFragment displayStatusFragment = (DisplayStatusFragment) mPageReferenceMap.get(tl.getPosition());
diff --git a/fastlane/metadata/android/en-US/changelogs/308.txt b/fastlane/metadata/android/en-US/changelogs/308.txt
new file mode 100644
index 000000000..db8a8f0a7
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/308.txt
@@ -0,0 +1,12 @@
+Added
+- Select data to remove in database with the cache cleaner
+- Animated emojis in picker
+
+Changed
+- Easier feature for cropping media
+- Improve quotes
+
+Fixed
+- Potential crashes when switching between accounts
+- Autocomplete (Emoji+tag) removed a letter
+- Fix recent crashes \ No newline at end of file