Commit 5b9534ad authored by Thomas's avatar Thomas
Browse files

Fix some color issues

parent e7dd79d8
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.drawable.DrawableCompat;
import androidx.lifecycle.ViewModelProvider;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;

@@ -181,6 +182,17 @@ public class EditProfileActivity extends BaseActivity {
                binding.addField.setVisibility(View.GONE);
            }
        });

        ThemeHelper.changeColorOutlineButton(EditProfileActivity.this, binding.visibilityPublic);
        ThemeHelper.changeColorOutlineButton(EditProfileActivity.this, binding.visibilityUnlisted);
        ThemeHelper.changeColorOutlineButton(EditProfileActivity.this, binding.visibilityPrivate);
        ThemeHelper.changeColorOutlineButton(EditProfileActivity.this, binding.visibilityDirect);
        DrawableCompat.setTintList(DrawableCompat.wrap(binding.bot.getThumbDrawable()), ThemeHelper.getSwitchCompatThumbDrawable(EditProfileActivity.this));
        DrawableCompat.setTintList(DrawableCompat.wrap(binding.discoverable.getThumbDrawable()), ThemeHelper.getSwitchCompatThumbDrawable(EditProfileActivity.this));
        DrawableCompat.setTintList(DrawableCompat.wrap(binding.sensitive.getThumbDrawable()), ThemeHelper.getSwitchCompatThumbDrawable(EditProfileActivity.this));
        ThemeHelper.changeColorOutlineButton(EditProfileActivity.this, binding.locked);
        ThemeHelper.changeColorOutlineButton(EditProfileActivity.this, binding.unlocked);

        //Actions with the activity
        accountsVM = new ViewModelProvider(EditProfileActivity.this).get(AccountsVM.class);
        binding.headerSelect.setOnClickListener(view -> startActivityForResult(prepareIntent(), EditProfileActivity.PICK_MEDIA_HEADER));
+10 −7
Original line number Diff line number Diff line
@@ -486,12 +486,7 @@ public class ProfileActivity extends BaseActivity {
        if (currentAccount == null || account == null) {
            return;
        }
        //The value for account is from same server so id can be used
        if (account.id.equals(currentAccount.user_id)) {
            binding.accountFollow.setVisibility(View.GONE);
            binding.headerEditProfile.setVisibility(View.VISIBLE);
            binding.headerEditProfile.bringToFront();
        }

        //Manage indentity proofs if not yet displayed

        if (identityProofList != null && identityProofList.size() > 0) {
@@ -515,7 +510,7 @@ public class ProfileActivity extends BaseActivity {
            }
        }
        binding.accountFollow.setBackgroundTintList(ThemeHelper.getButtonActionColorStateList(ProfileActivity.this));
        binding.headerEditProfile.setBackgroundTintList(ThemeHelper.getButtonActionColorStateList(ProfileActivity.this));

        binding.accountFollow.setEnabled(true);
        //Visibility depending of the relationship
        if (relationship != null) {
@@ -556,6 +551,14 @@ public class ProfileActivity extends BaseActivity {
                binding.accountFollow.setVisibility(View.VISIBLE);
                binding.accountFollow.setContentDescription(getString(R.string.action_follow));
            }
            //The value for account is from same server so id can be used

            if (account.id.equals(currentAccount.user_id)) {
                binding.accountFollow.setVisibility(View.GONE);
                binding.headerEditProfile.setVisibility(View.VISIBLE);
                binding.headerEditProfile.bringToFront();
            }
            binding.headerEditProfile.setBackgroundTintList(ThemeHelper.getButtonActionColorStateList(ProfileActivity.this));
            if (!relationship.following) {
                binding.accountNotification.setVisibility(View.GONE);
            } else {
+31 −1
Original line number Diff line number Diff line
@@ -363,7 +363,7 @@ public class ThemeHelper {
                new int[]{-android.R.attr.state_checked},
        };
        int alphaColor = ColorUtils.setAlphaComponent(ContextCompat.getColor(context, R.color.cyanea_accent_dark_reference), 0xee);
        int alphaColorUnchecked = ColorUtils.setAlphaComponent(getAttColor(context, R.attr.mTextColor), 0xaa);
        int alphaColorUnchecked = ColorUtils.setAlphaComponent(getAttColor(context, R.attr.mTextColor), 0xee);
        int[] colors = new int[]{
                alphaColor,
                alphaColorUnchecked
@@ -409,6 +409,36 @@ public class ThemeHelper {
        return new ColorStateList(states, colors);
    }


    public static void changeColorOutlineButton(Context context, MaterialButton materialButton) {
        if (materialButton != null) {
            materialButton.setStrokeColor(ThemeHelper.getButtonOutlineColorStateList(context));
            materialButton.setRippleColor(ThemeHelper.getButtonOutlineColorStateList(context));
            materialButton.setIconTint(ThemeHelper.getButtonOutlineColorStateList(context));
            materialButton.setTextColor(ThemeHelper.getButtonOutlineColorStateList(context));
        }
    }

    /**
     * Allow to set colors for Material buttons inside a toggle group
     *
     * @param context - Context
     * @return - ColorStateList
     */
    public static ColorStateList getButtonOutlineColorStateList(Context context) {
        int[][] states = new int[][]{
                new int[]{android.R.attr.state_checked},
                new int[]{-android.R.attr.state_checked},
        };
        int alphaColorUnchecked = ColorUtils.setAlphaComponent(getAttColor(context, R.attr.mTextColor), 0xaa);
        int[] colors = new int[]{
                ContextCompat.getColor(context, R.color.cyanea_accent_dark_reference),
                alphaColorUnchecked
        };
        return new ColorStateList(states, colors);
    }


    /**
     * Allow to set background colors for Material buttons inside a toggle group
     *
+5 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import app.fedilab.android.client.entities.api.Account;
import app.fedilab.android.databinding.DrawerAccountBinding;
import app.fedilab.android.helper.Helper;
import app.fedilab.android.helper.MastodonHelper;
import app.fedilab.android.helper.ThemeHelper;
import app.fedilab.android.viewmodel.mastodon.AccountsVM;
import es.dmoral.toasty.Toasty;

@@ -110,6 +111,10 @@ public class AccountAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder
                accountViewHolder.binding.followAction.setIconResource(R.drawable.ic_baseline_person_add_24);
                accountViewHolder.binding.followAction.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(context, R.color.cyanea_accent_dark_reference)));
            }
            ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.block);
            ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.mute);
            ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.muteNotification);
            ThemeHelper.changeColorOutlineButton(context, accountViewHolder.binding.muteTimed);


            if (account.relationShip.blocking) {