use saved default status visibility

This commit is contained in:
sk
2022-12-09 21:23:20 +01:00
parent 60d4e4d396
commit abe28179ec

View File

@@ -244,8 +244,6 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
charLimit=instance.configuration.statuses.maxCharacters; charLimit=instance.configuration.statuses.maxCharacters;
else else
charLimit=500; charLimit=500;
loadDefaultStatusVisibility(savedInstanceState);
} }
@Override @Override
@@ -400,6 +398,7 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
statusVisibility=editingStatus.visibility; statusVisibility=editingStatus.visibility;
} }
loadDefaultStatusVisibility(savedInstanceState);
updateVisibilityIcon(); updateVisibilityIcon();
autocompleteViewController=new ComposeAutocompleteViewController(getActivity(), accountID); autocompleteViewController=new ComposeAutocompleteViewController(getActivity(), accountID);
@@ -1450,13 +1449,11 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
statusVisibility = (StatusPrivacy) savedInstanceState.getSerializable("visibility"); statusVisibility = (StatusPrivacy) savedInstanceState.getSerializable("visibility");
} }
new GetPreferences() Preferences prefs = AccountSessionManager.getInstance().getAccount(accountID).preferences;
.setCallback(new Callback<>(){ if (prefs != null) {
@Override
public void onSuccess(Preferences result){
// Only override the reply visibility if our preference is more private // Only override the reply visibility if our preference is more private
if (result.postingDefaultVisibility.isLessVisibleThan(statusVisibility)) { if (prefs.postingDefaultVisibility.isLessVisibleThan(statusVisibility)) {
statusVisibility = switch (result.postingDefaultVisibility) { statusVisibility = switch (prefs.postingDefaultVisibility) {
case PUBLIC -> StatusPrivacy.PUBLIC; case PUBLIC -> StatusPrivacy.PUBLIC;
case UNLISTED -> StatusPrivacy.UNLISTED; case UNLISTED -> StatusPrivacy.UNLISTED;
case PRIVATE -> StatusPrivacy.PRIVATE; case PRIVATE -> StatusPrivacy.PRIVATE;
@@ -1468,16 +1465,7 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr
if(savedInstanceState !=null){ if(savedInstanceState !=null){
statusVisibility = (StatusPrivacy) savedInstanceState.getSerializable("visibility"); statusVisibility = (StatusPrivacy) savedInstanceState.getSerializable("visibility");
} }
updateVisibilityIcon ();
} }
@Override
public void onError(ErrorResponse error){
Log.w(TAG, "Unable to get user preferences to set default post privacy");
}
})
.exec(accountID);
} }
private void updateVisibilityIcon(){ private void updateVisibilityIcon(){