[prefs] ui fixes
This commit is contained in:
@@ -16,7 +16,7 @@ public class ExteraConfig {
|
||||
private static final Object sync = new Object();
|
||||
|
||||
private static final int[] OFFICIAL_CHANNELS = {1233768168, 1524581881, 1571726392, 1632728092, 1638754701, 1779596027, 1172503281};
|
||||
private static final int[] DEVS = {963080346, 1282540315, 1374434073, 388099852, 1999113390, 1566664501};
|
||||
private static final int[] DEVS = {963080346, 1282540315, 1374434073, 388099852, 1972014627};
|
||||
|
||||
public static boolean useSystemFonts;
|
||||
public static boolean disableVibration;
|
||||
|
||||
@@ -415,7 +415,11 @@ public class AppearancePreferencesEntry extends BaseFragment {
|
||||
}
|
||||
switch (holder.getItemViewType()) {
|
||||
case 1:
|
||||
holder.itemView.setBackground(Theme.getThemedDrawable(mContext, R.drawable.greydivider, Theme.key_windowBackgroundGrayShadow));
|
||||
if (position == drawerDividerRow) {
|
||||
holder.itemView.setBackground(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow));
|
||||
} else {
|
||||
holder.itemView.setBackground(Theme.getThemedDrawable(mContext, R.drawable.greydivider, Theme.key_windowBackgroundGrayShadow));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
HeaderCell headerCell = (HeaderCell) holder.itemView;
|
||||
|
||||
@@ -382,7 +382,11 @@ public class ChatsPreferencesEntry extends BaseFragment {
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
||||
switch (holder.getItemViewType()) {
|
||||
case 1:
|
||||
holder.itemView.setBackground(Theme.getThemedDrawable(mContext, R.drawable.greydivider, Theme.key_windowBackgroundGrayShadow));
|
||||
if (position == mediaDividerRow) {
|
||||
holder.itemView.setBackground(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow));
|
||||
} else {
|
||||
holder.itemView.setBackground(Theme.getThemedDrawable(mContext, R.drawable.greydivider, Theme.key_windowBackgroundGrayShadow));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
HeaderCell headerCell = (HeaderCell) holder.itemView;
|
||||
|
||||
@@ -272,6 +272,9 @@ public class GeneralPreferencesEntry extends BaseFragment {
|
||||
TextInfoPrivacyCell cell = (TextInfoPrivacyCell) holder.itemView;
|
||||
if (position == forcePacmanAnimationInfoRow) {
|
||||
cell.setText(LocaleController.getString("ForcePacmanAnimationInfo", R.string.ForcePacmanAnimationInfo));
|
||||
holder.itemView.setBackground(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow));
|
||||
} else {
|
||||
holder.itemView.setBackground(Theme.getThemedDrawable(mContext, R.drawable.greydivider, Theme.key_windowBackgroundGrayShadow));
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -298,7 +301,6 @@ public class GeneralPreferencesEntry extends BaseFragment {
|
||||
break;
|
||||
case 4:
|
||||
view = new TextInfoPrivacyCell(mContext);
|
||||
view.setBackgroundDrawable(Theme.getThemedDrawable(mContext, R.drawable.greydivider, Theme.key_windowBackgroundGrayShadow));
|
||||
break;
|
||||
default:
|
||||
view = new ShadowSectionCell(mContext);
|
||||
|
||||
@@ -38,8 +38,8 @@ public class MainPreferencesEntry extends BaseFragment {
|
||||
private int appearanceRow;
|
||||
private int chatsRow;
|
||||
|
||||
private int dividerInfoRow;
|
||||
private int dividerExteraInfoRow;
|
||||
private int categoryDividerRow;
|
||||
private int aboutExteraDividerRow;
|
||||
|
||||
private int infoHeaderRow;
|
||||
private int aboutExteraRow;
|
||||
@@ -47,6 +47,7 @@ public class MainPreferencesEntry extends BaseFragment {
|
||||
private int channelRow;
|
||||
private int groupRow;
|
||||
private int crowdinRow;
|
||||
private int infoDividerRow;
|
||||
|
||||
@Override
|
||||
public boolean onFragmentCreate() {
|
||||
@@ -117,21 +118,20 @@ public class MainPreferencesEntry extends BaseFragment {
|
||||
rowCount = 0;
|
||||
|
||||
aboutExteraRow = rowCount++;
|
||||
|
||||
dividerExteraInfoRow = rowCount++;
|
||||
aboutExteraDividerRow = rowCount++;
|
||||
|
||||
categoryHeaderRow = rowCount++;
|
||||
generalRow = rowCount++;
|
||||
appearanceRow = rowCount++;
|
||||
chatsRow = rowCount++;
|
||||
|
||||
dividerInfoRow = rowCount++;
|
||||
categoryDividerRow = rowCount++;
|
||||
|
||||
infoHeaderRow = rowCount++;
|
||||
channelRow = rowCount++;
|
||||
groupRow = rowCount++;
|
||||
crowdinRow = rowCount++;
|
||||
sourceCodeRow = rowCount++;
|
||||
infoDividerRow = rowCount++;
|
||||
|
||||
if (listAdapter != null) {
|
||||
listAdapter.notifyDataSetChanged();
|
||||
@@ -163,7 +163,11 @@ public class MainPreferencesEntry extends BaseFragment {
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
||||
switch (holder.getItemViewType()) {
|
||||
case 1:
|
||||
holder.itemView.setBackground(Theme.getThemedDrawable(mContext, R.drawable.greydivider, Theme.key_windowBackgroundGrayShadow));
|
||||
if (position == infoDividerRow) {
|
||||
holder.itemView.setBackground(Theme.getThemedDrawable(mContext, R.drawable.greydivider_bottom, Theme.key_windowBackgroundGrayShadow));
|
||||
} else {
|
||||
holder.itemView.setBackground(Theme.getThemedDrawable(mContext, R.drawable.greydivider, Theme.key_windowBackgroundGrayShadow));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
TextCell textCell = (TextCell) holder.itemView;
|
||||
@@ -194,10 +198,6 @@ public class MainPreferencesEntry extends BaseFragment {
|
||||
break;
|
||||
case 4:
|
||||
InfoSettingsCell textDetailCell = (InfoSettingsCell) holder.itemView;
|
||||
textDetailCell.setMultilineDetail(true);
|
||||
if (position == aboutExteraRow) {
|
||||
textDetailCell.setTextAndValueAndIcon(ExteraUtils.getAppName() + " | v" + BuildVars.BUILD_VERSION_STRING, LocaleController.getString("AboutExteraDescription", R.string.AboutExteraDescription), R.drawable.ic_logo_foreground, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -234,7 +234,7 @@ public class MainPreferencesEntry extends BaseFragment {
|
||||
}
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
if (position == dividerInfoRow || position == dividerExteraInfoRow) {
|
||||
if (position == categoryDividerRow || position == aboutExteraDividerRow || position == infoDividerRow) {
|
||||
return 1;
|
||||
} else if (position == generalRow || position == appearanceRow || position == chatsRow ||
|
||||
position == channelRow || position == groupRow || position == crowdinRow ||
|
||||
|
||||
@@ -19,16 +19,19 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.telegram.messenger.AndroidUtilities;
|
||||
import org.telegram.messenger.BuildVars;
|
||||
import org.telegram.messenger.LocaleController;
|
||||
import org.telegram.messenger.R;
|
||||
import org.telegram.ui.ActionBar.Theme;
|
||||
import org.telegram.ui.Components.LayoutHelper;
|
||||
|
||||
import com.exteragram.messenger.ExteraUtils;
|
||||
|
||||
public class InfoSettingsCell extends FrameLayout {
|
||||
|
||||
private TextView textView;
|
||||
private TextView valueTextView;
|
||||
private ImageView imageView;
|
||||
private boolean needDivider;
|
||||
private boolean multiline;
|
||||
|
||||
public InfoSettingsCell(Context context) {
|
||||
super(context);
|
||||
@@ -36,59 +39,34 @@ public class InfoSettingsCell extends FrameLayout {
|
||||
textView = new TextView(context);
|
||||
textView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteBlackText));
|
||||
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 18);
|
||||
textView.setText(ExteraUtils.getAppName() + " | v" + BuildVars.BUILD_VERSION_STRING);
|
||||
textView.setLines(1);
|
||||
textView.setMaxLines(1);
|
||||
textView.setSingleLine(true);
|
||||
textView.setPadding(0, 0, 0, 0);
|
||||
textView.setGravity(Gravity.CENTER);
|
||||
addView(textView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER | Gravity.TOP, 50, 148, 50, 0));
|
||||
|
||||
valueTextView = new TextView(context);
|
||||
valueTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText2));
|
||||
valueTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 13);
|
||||
valueTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14);
|
||||
valueTextView.setText(LocaleController.getString("AboutExteraDescription", R.string.AboutExteraDescription));
|
||||
valueTextView.setGravity(Gravity.CENTER);
|
||||
valueTextView.setLines(1);
|
||||
valueTextView.setMaxLines(1);
|
||||
valueTextView.setSingleLine(true);
|
||||
valueTextView.setLines(0);
|
||||
valueTextView.setMaxLines(0);
|
||||
valueTextView.setSingleLine(false);
|
||||
valueTextView.setPadding(0, 0, 0, 0);
|
||||
addView(valueTextView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, Gravity.CENTER | Gravity.TOP, 70, 178, 70, 20));
|
||||
|
||||
imageView = new ImageView(context);
|
||||
imageView.setScaleType(ImageView.ScaleType.CENTER);
|
||||
imageView.setImageResource(R.drawable.ic_logo_foreground);
|
||||
addView(imageView, LayoutHelper.createFrame(108, 108, Gravity.CENTER | Gravity.TOP, 0, 20, 0, 0));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
if (!multiline) {
|
||||
super.onMeasure(MeasureSpec.makeMeasureSpec(MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(64) + (needDivider ? 1 : 0), MeasureSpec.EXACTLY));
|
||||
} else {
|
||||
super.onMeasure(MeasureSpec.makeMeasureSpec(MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
|
||||
}
|
||||
}
|
||||
|
||||
public void setMultilineDetail(boolean value) {
|
||||
multiline = value;
|
||||
if (value) {
|
||||
valueTextView.setLines(0);
|
||||
valueTextView.setMaxLines(0);
|
||||
valueTextView.setSingleLine(false);
|
||||
valueTextView.setPadding(0, 0, 0, AndroidUtilities.dp(12));
|
||||
} else {
|
||||
valueTextView.setLines(1);
|
||||
valueTextView.setMaxLines(1);
|
||||
valueTextView.setSingleLine(true);
|
||||
valueTextView.setPadding(0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
public void setTextAndValueAndIcon(String text, CharSequence value, int resId, boolean divider) {
|
||||
textView.setText(text);
|
||||
valueTextView.setText(value);
|
||||
imageView.setImageResource(resId);
|
||||
textView.setPadding(0, 0, 0, 0);
|
||||
valueTextView.setPadding(0, 0, 0, 0);
|
||||
needDivider = divider;
|
||||
setWillNotDraw(!divider);
|
||||
super.onMeasure(MeasureSpec.makeMeasureSpec(MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -96,11 +74,4 @@ public class InfoSettingsCell extends FrameLayout {
|
||||
super.invalidate();
|
||||
textView.invalidate();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
if (needDivider && Theme.dividerPaint != null) {
|
||||
canvas.drawLine(getMeasuredWidth(), getMeasuredHeight() - 1, 0, getMeasuredHeight() - 1, Theme.dividerPaint);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user