@Override
public void process(@NonNull Context context, @Nullable String key, @NonNull View view, @NonNull String suffix) {
final TabLayout tl = (TabLayout) view;
final ColorResult result = getColorFromSuffix(context, key, view, suffix);
if (result == null) return;
final int color = result.getColor();
if (mTextMode) {
tl.setTabTextColors(ATEUtil.adjustAlpha(color, UNFOCUSED_ALPHA), color);
} else if (mIndicatorMode) {
tl.setSelectedTabIndicatorColor(color);
final ColorStateList sl = new ColorStateList(new int[][]{
new int[]{-android.R.attr.state_selected},
new int[]{android.R.attr.state_selected}
},
new int[]{
ATEUtil.adjustAlpha(color, UNFOCUSED_ALPHA),
color
});
for (int i = 0; i < tl.getTabCount(); i++) {
final TabLayout.Tab tab = tl.getTabAt(i);
if (tab != null && tab.getIcon() != null)
tab.setIcon(TintHelper.createTintedDrawable(tab.getIcon(), sl));
}
}
}
}