diff options
author | tom79 <tschneider.ac@gmail.com> | 2019-05-13 19:41:28 +0200 |
---|---|---|
committer | tom79 <tschneider.ac@gmail.com> | 2019-05-13 19:41:28 +0200 |
commit | 8fca668f3ab8fdf026ecc8f6637781b27ea71e5c (patch) | |
tree | 1068176936235426cecf265c7a8e6492a9d8c209 | |
parent | 9b9e3a6d3bf53551cf9f78609d4ebc99ae0c61ce (diff) | |
parent | 71148394189fcfbc63d7c97e3ebdf41157bfaa27 (diff) |
Merge branch 'develop'
50 files changed, 137 insertions, 45 deletions
diff --git a/app/build.gradle b/app/build.gradle index 58697fcba..112dc0b80 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "fr.gouv.etalab.mastodon" minSdkVersion 16 targetSdkVersion 28 - versionCode 265 - versionName "1.81.1" + versionCode 266 + versionName "1.81.2" multiDexEnabled true renderscriptTargetApi 28 as int renderscriptSupportModeEnabled true diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java index eb83792a5..8a83d5d13 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java @@ -1756,7 +1756,9 @@ public abstract class BaseMainActivity extends BaseActivity }else{ tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); } + adapter.notifyDataSetChanged(); viewPager.setAdapter(adapter); + viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/TootActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/TootActivity.java index ad829fc6d..75d7e9f24 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/TootActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/TootActivity.java @@ -131,6 +131,7 @@ import fr.gouv.etalab.mastodon.client.Entities.PollOptions; import fr.gouv.etalab.mastodon.client.Entities.Results; import fr.gouv.etalab.mastodon.client.Entities.Status; import fr.gouv.etalab.mastodon.client.Entities.StoredStatus; +import fr.gouv.etalab.mastodon.client.Entities.Tag; import fr.gouv.etalab.mastodon.client.Entities.Version; import fr.gouv.etalab.mastodon.client.HttpsConnection; import fr.gouv.etalab.mastodon.drawers.AccountsReplyAdapter; @@ -483,6 +484,8 @@ public class TootActivity extends BaseActivity implements OnPostActionInterface, toot_content.setText(String.format("\n\nvia @%s\n\n%s\n\n", tootMention, urlMention)); toot_space_left.setText(String.valueOf(toot_content.length())); } + + initialContent = toot_content.getText().toString(); @@ -526,6 +529,8 @@ public class TootActivity extends BaseActivity implements OnPostActionInterface, toot_space_left.setText(String.valueOf(toot_content.length())); } } + + attachments = new ArrayList<>(); int charsInCw = 0; int charsInToot = 0; @@ -2691,6 +2696,16 @@ public class TootActivity extends BaseActivity implements OnPostActionInterface, toot_content.setSelection(toot_content.getText().length()); //Put cursor at the end } } + boolean forwardTags = sharedpreferences.getBoolean(Helper.SET_FORWARD_TAGS_IN_REPLY, false); + if( tootReply != null && forwardTags && tootReply.getTags() != null && tootReply.getTags().size() > 0){ + int currentCursorPosition = toot_content.getSelectionStart(); + toot_content.setText(toot_content.getText() +"\n"); + for(Tag tag: tootReply.getTags()){ + toot_content.setText(toot_content.getText() +" #"+tag.getName()); + } + toot_content.setSelection(currentCursorPosition); + toot_space_left.setText(String.valueOf(toot_content.length())); + } } initialContent = toot_content.getText().toString(); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java index 53f06b76f..822c5893d 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java @@ -313,7 +313,7 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn Date bookmarkL = statuses.get(firstVisibleItem).getCreated_at(); updatedBookMark = statuses.get(firstVisibleItem).getId(); updatedBookMarkDate = statuses.get(firstVisibleItem).getCreated_at(); - if( lastReadTootDate == null || bookmarkL.after(lastReadTootDate)){ + if( lastReadTootDate == null || (bookmarkL != null && bookmarkL.after(lastReadTootDate))){ //Last read toot, only incremented if the id of the toot is greater than the recorded one lastReadTootDate = bookmarkL; } @@ -927,12 +927,14 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn return; } List<Status> statuses = apiResponse.getStatuses(); - if( statuses == null || statuses.size() == 0 ) + if( statuses == null || statuses.size() == 0 || this.statuses == null ) return; //Find the position of toots between those already present int position = 0; - while (position < this.statuses.size() && statuses.get(0).getCreated_at().before(this.statuses.get(position).getCreated_at())) { - position++; + if( statuses.get(0).getCreated_at() != null && this.statuses.get(position).getCreated_at() != null) { + while (position < this.statuses.size() && statuses.get(0).getCreated_at().before(this.statuses.get(position).getCreated_at())) { + position++; + } } ArrayList<Status> tmpStatuses = new ArrayList<>(); for (Status tmpStatus : statuses) { diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java index 592e3425f..a92e415db 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/SettingsFragment.java @@ -650,6 +650,19 @@ public class SettingsFragment extends Fragment { } }); + // forward tags in replies + boolean forward_tags = sharedpreferences.getBoolean(Helper.SET_FORWARD_TAGS_IN_REPLY, false); + final CheckBox set_forward_tags = rootView.findViewById(R.id.set_forward_tags); + set_forward_tags.setChecked(forward_tags); + set_forward_tags.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + SharedPreferences.Editor editor = sharedpreferences.edit(); + editor.putBoolean(Helper.SET_FORWARD_TAGS_IN_REPLY, set_forward_tags.isChecked()); + editor.apply(); + } + }); + String custom_sharing_url = sharedpreferences.getString(Helper.SET_CUSTOM_SHARING_URL,""); if (custom_sharing_url.equals("")) { custom_sharing_url = "http://cs.example.net/add?token=umVe1zurZk47ihElSOQcBG05KUSA2v-GSet4_fFnJ4M&url=${url}&title=${title}&source=${source}&id=${id}&description=${description}&keywords=${keywords}&creator=${creator}&thumbnailurl=${thumbnailurl}"; diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java index f116a3fe8..33a90a03f 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java @@ -308,6 +308,7 @@ public class Helper { public static final String SET_CAPITALIZE = "set_capitalize"; public static final String SET_PICTURE_RESIZE = "set_picture_resize"; public static final String SET_SHOW_BOOKMARK = "set_show_bookmark"; + public static final String SET_FORWARD_TAGS_IN_REPLY = "set_forward_tags_in_reply"; public static final String SET_FULL_PREVIEW = "set_full_preview"; public static final String SET_COMPACT_MODE = "set_compact_mode"; public static final String SET_CONSOLE_MODE = "set_console_mode"; diff --git a/app/src/main/res/layout-sw600dp/fragment_settings.xml b/app/src/main/res/layout-sw600dp/fragment_settings.xml index 1a73e33f0..f30481ada 100644 --- a/app/src/main/res/layout-sw600dp/fragment_settings.xml +++ b/app/src/main/res/layout-sw600dp/fragment_settings.xml @@ -362,6 +362,15 @@ android:text="@string/settings_title_custom_sharing" android:layout_height="wrap_content" /> + <!-- ADD TAGS --> + <CheckBox + android:id="@+id/set_forward_tags" + android:layout_width="wrap_content" + android:layout_marginTop="@dimen/settings_checkbox_margin" + android:layout_marginBottom="@dimen/settings_checkbox_margin" + android:text="@string/set_forward_tags" + android:layout_height="wrap_content" /> + <EditText android:hint="@string/settings_custom_sharing_url" android:id="@+id/custom_sharing_url" diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index 1347fe518..faedf109c 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -367,6 +367,14 @@ android:layout_marginBottom="@dimen/settings_checkbox_margin" android:text="@string/settings_title_custom_sharing" android:layout_height="wrap_content" /> + <!-- ADD TAGS --> + <CheckBox + android:id="@+id/set_forward_tags" + android:layout_width="wrap_content" + android:layout_marginTop="@dimen/settings_checkbox_margin" + android:layout_marginBottom="@dimen/settings_checkbox_margin" + android:text="@string/set_forward_tags" + android:layout_height="wrap_content" /> <EditText android:hint="@string/settings_custom_sharing_url" diff --git a/app/src/main/res/values-af/strings.xml b/app/src/main/res/values-af/strings.xml index c0ca09065..337528669 100644 --- a/app/src/main/res/values-af/strings.xml +++ b/app/src/main/res/values-af/strings.xml @@ -840,6 +840,7 @@ <string name="set_sensitive_content">Always mark media as sensitive</string> <string name="gnu_instance">GNU instance</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d vote</item> <item quantity="other">%d votes</item> diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index c457d666e..efb0955ef 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -854,6 +854,7 @@ <string name="set_sensitive_content">اعتبار الوسائط دائما كحساسة</string> <string name="gnu_instance">مثيل خادم GNU</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="zero">لا صوت</item> <item quantity="one">صوت واحد</item> diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 34dfc4676..87f05c9d6 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -831,6 +831,7 @@ Quan s\'esborra l\'aplicació s\'eliminen les dades immediatament.\n <string name="set_sensitive_content">Tots els mèdia són material sensible</string> <string name="gnu_instance">Instància de GNU</string> <string name="cached_status">Estatus en memòria cau</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d vot</item> <item quantity="other">%d vots</item> diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 9910b8766..423d26d4a 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -845,6 +845,7 @@ Uživatelské jméno a heslo nejsou nikdy ukládány. Jsou použity pouze během <string name="set_sensitive_content">Always mark media as sensitive</string> <string name="gnu_instance">GNU instance</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d hlas</item> <item quantity="few">%d hlasy</item> diff --git a/app/src/main/res/values-cy/strings.xml b/app/src/main/res/values-cy/strings.xml index 453ac83fa..bf2e8c114 100644 --- a/app/src/main/res/values-cy/strings.xml +++ b/app/src/main/res/values-cy/strings.xml @@ -855,6 +855,7 @@ <string name="set_sensitive_content">Always mark media as sensitive</string> <string name="gnu_instance">GNU instance</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="zero">%d votes</item> <item quantity="one">%d vote</item> diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index c0ca09065..337528669 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -840,6 +840,7 @@ <string name="set_sensitive_content">Always mark media as sensitive</string> <string name="gnu_instance">GNU instance</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d vote</item> <item quantity="other">%d votes</item> diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 2abb738bb..a6521221a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -828,6 +828,7 @@ Sobald Sie die ersten Buchstaben eintippen, werden Namensvorschläge angezeigt\n <string name="set_sensitive_content">Medien immer als vertraulich kennzeichnen</string> <string name="gnu_instance">GNU-Instanz</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d Stimme</item> <item quantity="other">%d Stimmen</item> diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 703ce3457..b52717072 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -840,6 +840,7 @@ <string name="set_sensitive_content">Always mark media as sensitive</string> <string name="gnu_instance">GNU instance</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d vote</item> <item quantity="other">%d ψήφοι</item> diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 109b8ef98..6380b6ef5 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -834,6 +834,7 @@ https://yandex.ru/legal/confidential/?lang=en </string> <string name="set_sensitive_content">Always mark media as sensitive</string> <string name="gnu_instance">GNU instance</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d vote</item> <item quantity="other">%d votes</item> diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 667cc2f97..808d101b1 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -838,6 +838,7 @@ <string name="set_sensitive_content">Beti markatu multimedia mingarri gisa</string> <string name="gnu_instance">GNU instance</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">boto %d</item> <item quantity="other">%d boto</item> diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index a3ae3dac2..1dd77c014 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -840,6 +840,7 @@ <string name="set_sensitive_content">Always mark media as sensitive</string> <string name="gnu_instance">GNU instance</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d vote</item> <item quantity="other">%d votes</item> diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index c0ca09065..337528669 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -840,6 +840,7 @@ <string name="set_sensitive_content">Always mark media as sensitive</string> <string name="gnu_instance">GNU instance</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d vote</item> <item quantity="other">%d votes</item> diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index b9ff72c77..b57f8cfc2 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -837,6 +837,7 @@ Le bouton de connexion s’activera une fois qu’un domaine valide sera renseig <string name="set_sensitive_content">Toujours marquer le média comme sensible</string> <string name="gnu_instance">Instance GNU</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d voix</item> <item quantity="other">%d voix</item> diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 22bfc957e..19c2f66a2 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -839,8 +839,9 @@ <string name="action_bbcode">BBCode</string> <string name="add_timeline">Engadir liña temporal</string> <string name="set_sensitive_content">Marcar os medios sempre como sensibles</string> - <string name="gnu_instance">GNU instance</string> - <string name="cached_status">Cached status</string> + <string name="gnu_instance">Instancia GNU</string> + <string name="cached_status">Estado almacenado</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d voto</item> <item quantity="other">%d votos</item> diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index 3ddb3a81f..3618c8bcf 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -848,6 +848,7 @@ <string name="set_sensitive_content">Always mark media as sensitive</string> <string name="gnu_instance">GNU instance</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d vote</item> <item quantity="two">%d votes</item> diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 9e00ecbfd..98068be7f 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -829,6 +829,7 @@ <string name="set_sensitive_content">Always mark media as sensitive</string> <string name="gnu_instance">GNU instance</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d vote</item> <item quantity="other">%d votes</item> diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 9221e7dec..0a8132408 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -837,6 +837,7 @@ A Yandexnek megvan a saját adatvédelmi szabályzata, ami itt található: http <string name="set_sensitive_content">Minden médiát jelölj meg érzékenynek</string> <string name="gnu_instance">GNU szerver</string> <string name="cached_status">Cached status</string> + <string name="set_forward_tags">Forward tags in replies</string> <plurals name="number_of_vote"> <item quantity="one">%d szavazat</item> <item qu |