Files
arcanechat-android/src/main/java/org/thoughtcrime/securesms/ProfileTextItem.java
T
2026-03-11 18:53:16 +01:00

61 lines
1.7 KiB
Java

package org.thoughtcrime.securesms;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.drawable.DrawableCompat;
import org.thoughtcrime.securesms.util.ResUtil;
public class ProfileTextItem extends LinearLayout {
private TextView labelView;
private @Nullable TextView valueView;
public ProfileTextItem(Context context) {
super(context);
}
public ProfileTextItem(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
labelView = findViewById(R.id.label);
valueView = findViewById(R.id.value);
}
public void set(String label, int icon, boolean tint) {
labelView.setText(label);
if (icon != 0) {
Drawable orgDrawable = ContextCompat.getDrawable(getContext(), icon);
if (orgDrawable != null) {
Drawable drawable =
orgDrawable
.mutate(); // avoid global state modification and showing eg. app-icon tinted also
// elsewhere
drawable = DrawableCompat.wrap(drawable);
if (tint) {
int color = ResUtil.getColor(getContext(), R.attr.colorAccent);
DrawableCompat.setTint(drawable, color);
}
labelView.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null);
}
}
}
public void setValue(String value) {
if (valueView != null) {
valueView.setText(value);
valueView.setVisibility(View.VISIBLE);
}
}
}