Loading app/src/main/java/app/fedilab/android/mastodon/activities/ComposeActivity.java +25 −32 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import android.view.WindowManager; import android.widget.LinearLayout; import android.widget.Toast; import androidx.activity.OnBackPressedCallback; import androidx.annotation.NonNull; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AlertDialog; Loading Loading @@ -158,31 +159,21 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana private String editMessageId; private static int visibilityToNumber(String visibility) { switch (visibility) { case "public": return 3; case "unlisted": return 2; case "private": return 1; case "direct": return 0; } return 3; return switch (visibility) { case "unlisted" -> 2; case "private" -> 1; case "direct" -> 0; default -> 3; }; } private static String visibilityToString(int visibility) { switch (visibility) { case 3: return "public"; case 2: return "unlisted"; case 1: return "private"; case 0: return "direct"; } return "public"; return switch (visibility) { case 2 -> "unlisted"; case 1 -> "private"; case 0 -> "direct"; default -> "public"; }; } public static String getVisibility(BaseAccount account, String defaultVisibility) { Loading @@ -208,13 +199,6 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana } @Override public void onBackPressed() { if (binding.recyclerView.getVisibility() == View.VISIBLE) { storeDraftWarning(); } super.onBackPressed(); } private void storeDraftWarning() { if (statusDraft == null) { Loading Loading @@ -778,6 +762,15 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana composeAdapter.addSharing(null, null, sharedDescription, null, sharedContent, null); } } getOnBackPressedDispatcher().addCallback(new OnBackPressedCallback(true) { @Override public void handleOnBackPressed() { if (binding.recyclerView.getVisibility() == View.VISIBLE) { storeDraftWarning(); } } }); } @Override Loading Loading @@ -1032,7 +1025,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana .into(binding.mediaPreview); if (attachment.description != null) { binding.mediaDescription.setText(attachment.description); binding.mediaDescription.setSelection(binding.mediaDescription.getText().length()); binding.mediaDescription.setSelection(Objects.requireNonNull(binding.mediaDescription.getText()).length()); } binding.mediaDescription.setFilters(new InputFilter[]{new InputFilter.LengthFilter(1500)}); binding.mediaDescription.requestFocus(); Loading @@ -1043,13 +1036,13 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana binding.description.setVisibility(View.GONE); actionBar.show(); binding.recyclerView.setVisibility(View.VISIBLE); composeAdapter.openDescriptionActivity(true, binding.mediaDescription.getText().toString().trim(), holder, attachment, messagePosition, mediaPosition); composeAdapter.openDescriptionActivity(true, Objects.requireNonNull(binding.mediaDescription.getText()).toString().trim(), holder, attachment, messagePosition, mediaPosition); }); binding.mediaCancel.setOnClickListener(v -> { binding.description.setVisibility(View.GONE); actionBar.show(); binding.recyclerView.setVisibility(View.VISIBLE); composeAdapter.openDescriptionActivity(false, binding.mediaDescription.getText().toString().trim(), holder, attachment, messagePosition, mediaPosition); composeAdapter.openDescriptionActivity(false, Objects.requireNonNull(binding.mediaDescription.getText()).toString().trim(), holder, attachment, messagePosition, mediaPosition); }); } Loading app/src/main/java/app/fedilab/android/mastodon/activities/CustomSharingActivity.java +18 −17 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.widget.Toast; import androidx.preference.PreferenceManager; import java.util.List; import java.util.Objects; import java.util.Set; import app.fedilab.android.R; Loading Loading @@ -126,7 +127,7 @@ public class CustomSharingActivity extends BaseBarActivity implements OnCustomSh binding.setCustomSharingSave.setOnClickListener(v -> { // obtain title, description, keywords title = binding.setCustomSharingTitle.getText().toString(); keywords = binding.setCustomSharingKeywords.getText().toString(); keywords = Objects.requireNonNull(binding.setCustomSharingKeywords.getText()).toString(); CharSequence comma_only = ","; CharSequence space_only = " "; CharSequence double_space = " "; Loading Loading @@ -194,38 +195,38 @@ public class CustomSharingActivity extends BaseBarActivity implements OnCustomSh String param_value = uri.getQueryParameter(param_name); if (param_value != null) switch (param_value) { case "${url}": case "${url}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_url); break; case "${title}": } case "${title}" -> { paramFound = true; builder.appendQueryParameter(param_name, title); break; case "${source}": } case "${source}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_source); break; case "${id}": } case "${id}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_id); break; case "${description}": } case "${description}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_content); break; case "${keywords}": } case "${keywords}" -> { paramFound = true; builder.appendQueryParameter(param_name, keywords); break; case "${creator}": } case "${creator}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_creator); break; case "${thumbnailurl}": } case "${thumbnailurl}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_thumbnailurl); break; } } if (!paramFound) { builder.appendQueryParameter(param_name, param_value); Loading app/src/main/java/app/fedilab/android/mastodon/activities/EditProfileActivity.java +9 −16 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.google.android.material.textfield.TextInputEditText; import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; import java.util.Objects; import app.fedilab.android.BaseMainActivity; import app.fedilab.android.BuildConfig; Loading Loading @@ -115,18 +116,10 @@ public class EditProfileActivity extends BaseBarActivity { if (currentAccount.mastodon_account.source != null) { binding.sensitive.setChecked(currentAccount.mastodon_account.source.sensitive); switch (currentAccount.mastodon_account.source.privacy) { case "public": binding.visibilityPublic.setChecked(true); break; case "unlisted": binding.visibilityUnlisted.setChecked(true); break; case "private": binding.visibilityPrivate.setChecked(true); break; case "direct": binding.visibilityDirect.setChecked(true); break; case "public" -> binding.visibilityPublic.setChecked(true); case "unlisted" -> binding.visibilityUnlisted.setChecked(true); case "private" -> binding.visibilityPrivate.setChecked(true); case "direct" -> binding.visibilityDirect.setChecked(true); } } else { binding.sensitive.setVisibility(View.GONE); Loading Loading @@ -318,8 +311,8 @@ public class EditProfileActivity extends BaseBarActivity { LinkedHashMap<Integer, Field.FieldParams> fields = new LinkedHashMap<>(); for (int i = 0; i < binding.fieldsContainer.getChildCount(); i++) { Field.FieldParams field = new Field.FieldParams(); field.name = ((TextInputEditText) binding.fieldsContainer.getChildAt(i).findViewById(R.id.name)).getText().toString().trim(); field.value = ((TextInputEditText) binding.fieldsContainer.getChildAt(i).findViewById(R.id.value)).getText().toString().trim(); field.name = Objects.requireNonNull(((TextInputEditText) binding.fieldsContainer.getChildAt(i).findViewById(R.id.name)).getText()).toString().trim(); field.value = Objects.requireNonNull(((TextInputEditText) binding.fieldsContainer.getChildAt(i).findViewById(R.id.value)).getText()).toString().trim(); fields.put(i, field); } return fields; Loading @@ -334,8 +327,8 @@ public class EditProfileActivity extends BaseBarActivity { accountsVM.updateCredentials(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, binding.discoverable.isChecked(), binding.bot.isChecked(), binding.displayName.getText().toString().trim(), binding.bio.getText().toString(), Objects.requireNonNull(binding.displayName.getText()).toString().trim(), Objects.requireNonNull(binding.bio.getText()).toString(), binding.locked.isChecked(), getPrivacy(), binding.sensitive.isChecked(), Loading app/src/main/java/app/fedilab/android/mastodon/activities/FilterActivity.java +14 −37 Original line number Diff line number Diff line Loading @@ -75,27 +75,13 @@ public class FilterActivity extends BaseBarActivity implements FilterAdapter.Del @Override public void onItemSelected(AdapterView<?> parent1, View view, int position1, long id) { switch (position1) { case 0: expire[0] = -1; break; case 1: expire[0] = 1800; break; case 2: expire[0] = 3600; break; case 3: expire[0] = 21600; break; case 4: expire[0] = 43200; break; case 5: expire[0] = 86400; break; case 6: expire[0] = 604800; break; case 0 -> expire[0] = -1; case 1 -> expire[0] = 1800; case 2 -> expire[0] = 3600; case 3 -> expire[0] = 21600; case 4 -> expire[0] = 43200; case 5 -> expire[0] = 86400; case 6 -> expire[0] = 604800; } } Loading Loading @@ -128,21 +114,12 @@ public class FilterActivity extends BaseBarActivity implements FilterAdapter.Del if (filter.context != null) { for (String val : filter.context) { switch (val) { case "home": popupAddFilterBinding.contextHome.setChecked(true); break; case "public": popupAddFilterBinding.contextPublic.setChecked(true); break; case "notifications": case "home" -> popupAddFilterBinding.contextHome.setChecked(true); case "public" -> popupAddFilterBinding.contextPublic.setChecked(true); case "notifications" -> popupAddFilterBinding.contextNotification.setChecked(true); break; case "thread": popupAddFilterBinding.contextConversation.setChecked(true); break; case "account": popupAddFilterBinding.contextProfiles.setChecked(true); break; case "thread" -> popupAddFilterBinding.contextConversation.setChecked(true); case "account" -> popupAddFilterBinding.contextProfiles.setChecked(true); } } } Loading Loading @@ -193,7 +170,7 @@ public class FilterActivity extends BaseBarActivity implements FilterAdapter.Del canBeSent = false; } } if (popupAddFilterBinding.addTitle.getText().toString().trim().isEmpty()) { if (Objects.requireNonNull(popupAddFilterBinding.addTitle.getText()).toString().trim().isEmpty()) { popupAddFilterBinding.addTitle.setError(context.getString(R.string.cannot_be_empty)); canBeSent = false; } Loading app/src/main/java/app/fedilab/android/mastodon/activities/FollowRequestActivity.java +1 −4 Original line number Diff line number Diff line Loading @@ -94,11 +94,8 @@ public class FollowRequestActivity extends BaseActivity { binding.loadingNextAccounts.setVisibility(View.GONE); if (accountList != null && accounts != null && accounts.accounts != null && accounts.accounts.size() > 0) { int startId = 0; //There are some statuses present in the timeline if (accountList.size() > 0) { startId = accountList.size(); } int startId = accountList.size(); flagLoading = accounts.pagination.max_id == null; accountList.addAll(accounts.accounts); max_id = accounts.pagination.max_id; Loading Loading
app/src/main/java/app/fedilab/android/mastodon/activities/ComposeActivity.java +25 −32 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import android.view.WindowManager; import android.widget.LinearLayout; import android.widget.Toast; import androidx.activity.OnBackPressedCallback; import androidx.annotation.NonNull; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AlertDialog; Loading Loading @@ -158,31 +159,21 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana private String editMessageId; private static int visibilityToNumber(String visibility) { switch (visibility) { case "public": return 3; case "unlisted": return 2; case "private": return 1; case "direct": return 0; } return 3; return switch (visibility) { case "unlisted" -> 2; case "private" -> 1; case "direct" -> 0; default -> 3; }; } private static String visibilityToString(int visibility) { switch (visibility) { case 3: return "public"; case 2: return "unlisted"; case 1: return "private"; case 0: return "direct"; } return "public"; return switch (visibility) { case 2 -> "unlisted"; case 1 -> "private"; case 0 -> "direct"; default -> "public"; }; } public static String getVisibility(BaseAccount account, String defaultVisibility) { Loading @@ -208,13 +199,6 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana } @Override public void onBackPressed() { if (binding.recyclerView.getVisibility() == View.VISIBLE) { storeDraftWarning(); } super.onBackPressed(); } private void storeDraftWarning() { if (statusDraft == null) { Loading Loading @@ -778,6 +762,15 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana composeAdapter.addSharing(null, null, sharedDescription, null, sharedContent, null); } } getOnBackPressedDispatcher().addCallback(new OnBackPressedCallback(true) { @Override public void handleOnBackPressed() { if (binding.recyclerView.getVisibility() == View.VISIBLE) { storeDraftWarning(); } } }); } @Override Loading Loading @@ -1032,7 +1025,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana .into(binding.mediaPreview); if (attachment.description != null) { binding.mediaDescription.setText(attachment.description); binding.mediaDescription.setSelection(binding.mediaDescription.getText().length()); binding.mediaDescription.setSelection(Objects.requireNonNull(binding.mediaDescription.getText()).length()); } binding.mediaDescription.setFilters(new InputFilter[]{new InputFilter.LengthFilter(1500)}); binding.mediaDescription.requestFocus(); Loading @@ -1043,13 +1036,13 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana binding.description.setVisibility(View.GONE); actionBar.show(); binding.recyclerView.setVisibility(View.VISIBLE); composeAdapter.openDescriptionActivity(true, binding.mediaDescription.getText().toString().trim(), holder, attachment, messagePosition, mediaPosition); composeAdapter.openDescriptionActivity(true, Objects.requireNonNull(binding.mediaDescription.getText()).toString().trim(), holder, attachment, messagePosition, mediaPosition); }); binding.mediaCancel.setOnClickListener(v -> { binding.description.setVisibility(View.GONE); actionBar.show(); binding.recyclerView.setVisibility(View.VISIBLE); composeAdapter.openDescriptionActivity(false, binding.mediaDescription.getText().toString().trim(), holder, attachment, messagePosition, mediaPosition); composeAdapter.openDescriptionActivity(false, Objects.requireNonNull(binding.mediaDescription.getText()).toString().trim(), holder, attachment, messagePosition, mediaPosition); }); } Loading
app/src/main/java/app/fedilab/android/mastodon/activities/CustomSharingActivity.java +18 −17 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.widget.Toast; import androidx.preference.PreferenceManager; import java.util.List; import java.util.Objects; import java.util.Set; import app.fedilab.android.R; Loading Loading @@ -126,7 +127,7 @@ public class CustomSharingActivity extends BaseBarActivity implements OnCustomSh binding.setCustomSharingSave.setOnClickListener(v -> { // obtain title, description, keywords title = binding.setCustomSharingTitle.getText().toString(); keywords = binding.setCustomSharingKeywords.getText().toString(); keywords = Objects.requireNonNull(binding.setCustomSharingKeywords.getText()).toString(); CharSequence comma_only = ","; CharSequence space_only = " "; CharSequence double_space = " "; Loading Loading @@ -194,38 +195,38 @@ public class CustomSharingActivity extends BaseBarActivity implements OnCustomSh String param_value = uri.getQueryParameter(param_name); if (param_value != null) switch (param_value) { case "${url}": case "${url}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_url); break; case "${title}": } case "${title}" -> { paramFound = true; builder.appendQueryParameter(param_name, title); break; case "${source}": } case "${source}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_source); break; case "${id}": } case "${id}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_id); break; case "${description}": } case "${description}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_content); break; case "${keywords}": } case "${keywords}" -> { paramFound = true; builder.appendQueryParameter(param_name, keywords); break; case "${creator}": } case "${creator}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_creator); break; case "${thumbnailurl}": } case "${thumbnailurl}" -> { paramFound = true; builder.appendQueryParameter(param_name, bundle_thumbnailurl); break; } } if (!paramFound) { builder.appendQueryParameter(param_name, param_value); Loading
app/src/main/java/app/fedilab/android/mastodon/activities/EditProfileActivity.java +9 −16 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.google.android.material.textfield.TextInputEditText; import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; import java.util.Objects; import app.fedilab.android.BaseMainActivity; import app.fedilab.android.BuildConfig; Loading Loading @@ -115,18 +116,10 @@ public class EditProfileActivity extends BaseBarActivity { if (currentAccount.mastodon_account.source != null) { binding.sensitive.setChecked(currentAccount.mastodon_account.source.sensitive); switch (currentAccount.mastodon_account.source.privacy) { case "public": binding.visibilityPublic.setChecked(true); break; case "unlisted": binding.visibilityUnlisted.setChecked(true); break; case "private": binding.visibilityPrivate.setChecked(true); break; case "direct": binding.visibilityDirect.setChecked(true); break; case "public" -> binding.visibilityPublic.setChecked(true); case "unlisted" -> binding.visibilityUnlisted.setChecked(true); case "private" -> binding.visibilityPrivate.setChecked(true); case "direct" -> binding.visibilityDirect.setChecked(true); } } else { binding.sensitive.setVisibility(View.GONE); Loading Loading @@ -318,8 +311,8 @@ public class EditProfileActivity extends BaseBarActivity { LinkedHashMap<Integer, Field.FieldParams> fields = new LinkedHashMap<>(); for (int i = 0; i < binding.fieldsContainer.getChildCount(); i++) { Field.FieldParams field = new Field.FieldParams(); field.name = ((TextInputEditText) binding.fieldsContainer.getChildAt(i).findViewById(R.id.name)).getText().toString().trim(); field.value = ((TextInputEditText) binding.fieldsContainer.getChildAt(i).findViewById(R.id.value)).getText().toString().trim(); field.name = Objects.requireNonNull(((TextInputEditText) binding.fieldsContainer.getChildAt(i).findViewById(R.id.name)).getText()).toString().trim(); field.value = Objects.requireNonNull(((TextInputEditText) binding.fieldsContainer.getChildAt(i).findViewById(R.id.value)).getText()).toString().trim(); fields.put(i, field); } return fields; Loading @@ -334,8 +327,8 @@ public class EditProfileActivity extends BaseBarActivity { accountsVM.updateCredentials(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, binding.discoverable.isChecked(), binding.bot.isChecked(), binding.displayName.getText().toString().trim(), binding.bio.getText().toString(), Objects.requireNonNull(binding.displayName.getText()).toString().trim(), Objects.requireNonNull(binding.bio.getText()).toString(), binding.locked.isChecked(), getPrivacy(), binding.sensitive.isChecked(), Loading
app/src/main/java/app/fedilab/android/mastodon/activities/FilterActivity.java +14 −37 Original line number Diff line number Diff line Loading @@ -75,27 +75,13 @@ public class FilterActivity extends BaseBarActivity implements FilterAdapter.Del @Override public void onItemSelected(AdapterView<?> parent1, View view, int position1, long id) { switch (position1) { case 0: expire[0] = -1; break; case 1: expire[0] = 1800; break; case 2: expire[0] = 3600; break; case 3: expire[0] = 21600; break; case 4: expire[0] = 43200; break; case 5: expire[0] = 86400; break; case 6: expire[0] = 604800; break; case 0 -> expire[0] = -1; case 1 -> expire[0] = 1800; case 2 -> expire[0] = 3600; case 3 -> expire[0] = 21600; case 4 -> expire[0] = 43200; case 5 -> expire[0] = 86400; case 6 -> expire[0] = 604800; } } Loading Loading @@ -128,21 +114,12 @@ public class FilterActivity extends BaseBarActivity implements FilterAdapter.Del if (filter.context != null) { for (String val : filter.context) { switch (val) { case "home": popupAddFilterBinding.contextHome.setChecked(true); break; case "public": popupAddFilterBinding.contextPublic.setChecked(true); break; case "notifications": case "home" -> popupAddFilterBinding.contextHome.setChecked(true); case "public" -> popupAddFilterBinding.contextPublic.setChecked(true); case "notifications" -> popupAddFilterBinding.contextNotification.setChecked(true); break; case "thread": popupAddFilterBinding.contextConversation.setChecked(true); break; case "account": popupAddFilterBinding.contextProfiles.setChecked(true); break; case "thread" -> popupAddFilterBinding.contextConversation.setChecked(true); case "account" -> popupAddFilterBinding.contextProfiles.setChecked(true); } } } Loading Loading @@ -193,7 +170,7 @@ public class FilterActivity extends BaseBarActivity implements FilterAdapter.Del canBeSent = false; } } if (popupAddFilterBinding.addTitle.getText().toString().trim().isEmpty()) { if (Objects.requireNonNull(popupAddFilterBinding.addTitle.getText()).toString().trim().isEmpty()) { popupAddFilterBinding.addTitle.setError(context.getString(R.string.cannot_be_empty)); canBeSent = false; } Loading
app/src/main/java/app/fedilab/android/mastodon/activities/FollowRequestActivity.java +1 −4 Original line number Diff line number Diff line Loading @@ -94,11 +94,8 @@ public class FollowRequestActivity extends BaseActivity { binding.loadingNextAccounts.setVisibility(View.GONE); if (accountList != null && accounts != null && accounts.accounts != null && accounts.accounts.size() > 0) { int startId = 0; //There are some statuses present in the timeline if (accountList.size() > 0) { startId = accountList.size(); } int startId = accountList.size(); flagLoading = accounts.pagination.max_id == null; accountList.addAll(accounts.accounts); max_id = accounts.pagination.max_id; Loading