From 84fc31d2a466b7a07841c32c72cd2e1de8213a92 Mon Sep 17 00:00:00 2001 From: stom79 Date: Fri, 9 Feb 2018 08:39:54 +0100 Subject: [PATCH] Fixes issue #300: Default post visibility for locked accounts --- .../mastodon/activities/TootActivity.java | 45 +++++++------------ .../mastodon/fragments/SettingsFragment.java | 5 ++- 2 files changed, 18 insertions(+), 32 deletions(-) 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 2849c0da2..d75c171dd 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 @@ -414,37 +414,22 @@ public class TootActivity extends BaseActivity implements OnRetrieveSearcAccount if (!sharedUri.isEmpty()) { uploadSharedImage(sharedUri); } - String visibilityCheck = sharedpreferences.getString(Helper.SET_TOOT_VISIBILITY + "@" + account.getAcct() + "@" + account.getInstance(), "public"); - boolean isAccountPrivate = (account.isLocked() || visibilityCheck.equals("private")); - if(isAccountPrivate){ - if( tootReply == null) { - visibility = "private"; - toot_visibility.setImageResource(R.drawable.ic_lock_outline_toot); - }else { - if( visibility.equals("direct") ){ - toot_visibility.setImageResource(R.drawable.ic_mail_outline_toot); - }else{ - visibility = "private"; + String defaultVisibility = account.isLocked()?"private":"public"; + if( tootReply == null){ + visibility = sharedpreferences.getString(Helper.SET_TOOT_VISIBILITY + "@" + account.getAcct() + "@" + account.getInstance(), defaultVisibility); + switch (visibility) { + case "public": + toot_visibility.setImageResource(R.drawable.ic_public_toot); + break; + case "unlisted": + toot_visibility.setImageResource(R.drawable.ic_lock_open_toot); + break; + case "private": toot_visibility.setImageResource(R.drawable.ic_lock_outline_toot); - } - } - }else { - if( tootReply == null){ - visibility = sharedpreferences.getString(Helper.SET_TOOT_VISIBILITY + "@" + account.getAcct() + "@" + account.getInstance(), "public"); - switch (visibility) { - case "public": - toot_visibility.setImageResource(R.drawable.ic_public_toot); - break; - case "unlisted": - toot_visibility.setImageResource(R.drawable.ic_lock_open_toot); - break; - case "private": - toot_visibility.setImageResource(R.drawable.ic_lock_outline_toot); - break; - case "direct": - toot_visibility.setImageResource(R.drawable.ic_mail_outline_toot); - break; - } + break; + case "direct": + toot_visibility.setImageResource(R.drawable.ic_mail_outline_toot); + break; } } toot_sensitive.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 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 b00c49658..31ba9778c 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 @@ -434,8 +434,9 @@ public class SettingsFragment extends Fragment { changeDrawableColor(context, set_toot_visibility, R.color.white); } //Only displayed for non locked accounts - if (account != null && !account.isLocked()) { - String tootVisibility = sharedpreferences.getString(Helper.SET_TOOT_VISIBILITY + "@" + account.getAcct() + "@" + account.getInstance(), "public"); + if (account != null ) { + String defaultVisibility = account.isLocked()?"private":"public"; + String tootVisibility = sharedpreferences.getString(Helper.SET_TOOT_VISIBILITY + "@" + account.getAcct() + "@" + account.getInstance(), defaultVisibility); switch (tootVisibility) { case "public": set_toot_visibility.setImageResource(R.drawable.ic_public);