Commit ca46b69b authored by DrKLO's avatar DrKLO

More Android L design

parent 41359b14
......@@ -24,7 +24,10 @@ import android.view.Surface;
import android.view.View;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.AbsListView;
import android.widget.EdgeEffect;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import org.telegram.messenger.FileLog;
......@@ -466,4 +469,26 @@ public class AndroidUtilities {
}
return size;
}
public static void setListViewEdgeEffectColor(ListView listView, int color) {
if (Build.VERSION.SDK_INT >= 21) {
try {
Field field = AbsListView.class.getDeclaredField("mEdgeGlowTop");
field.setAccessible(true);
EdgeEffect mEdgeGlowTop = (EdgeEffect) field.get(listView);
if (mEdgeGlowTop != null) {
mEdgeGlowTop.setColor(color);
}
field = AbsListView.class.getDeclaredField("mEdgeGlowBottom");
field.setAccessible(true);
EdgeEffect mEdgeGlowBottom = (EdgeEffect) field.get(listView);
if (mEdgeGlowBottom != null) {
mEdgeGlowBottom.setColor(color);
}
} catch (Exception e) {
FileLog.e("tmessages", e);
}
}
}
}
......@@ -110,6 +110,7 @@ public class MessagesController implements NotificationCenter.NotificationCenter
public static final int UPDATE_MASK_USER_PRINT = 64;
public static final int UPDATE_MASK_USER_PHONE = 128;
public static final int UPDATE_MASK_READ_DIALOG_MESSAGE = 256;
public static final int UPDATE_MASK_SELECT_DIALOG = 512;
public static final int UPDATE_MASK_ALL = UPDATE_MASK_AVATAR | UPDATE_MASK_STATUS | UPDATE_MASK_NAME | UPDATE_MASK_CHAT_AVATAR | UPDATE_MASK_CHAT_NAME | UPDATE_MASK_CHAT_MEMBERS | UPDATE_MASK_USER_PRINT | UPDATE_MASK_USER_PHONE | UPDATE_MASK_READ_DIALOG_MESSAGE;
public static class PrintingUser {
......@@ -1006,6 +1007,9 @@ public class MessagesController implements NotificationCenter.NotificationCenter
}
public void deleteDialog(final long did, int offset, final boolean onlyHistory) {
if (offset == 0) {
MessagesStorage.getInstance().deleteDialog(did, onlyHistory);
}
TLRPC.TL_dialog dialog = dialogs_dict.get(did);
if (dialog != null) {
int lower_part = (int)did;
......@@ -1035,7 +1039,6 @@ public class MessagesController implements NotificationCenter.NotificationCenter
});
}
});
MessagesStorage.getInstance().deleteDialog(did, onlyHistory);
NotificationCenter.getInstance().postNotificationName(NotificationCenter.removeAllMessagesFromDialog, did);
NotificationCenter.getInstance().postNotificationName(NotificationCenter.dialogsNeedReload);
}
......@@ -1760,7 +1763,7 @@ public class MessagesController implements NotificationCenter.NotificationCenter
TLRPC.TL_dialog dialog = dialogs_dict.get(dialog_id);
if (dialog != null) {
dialog.unread_count = 0;
NotificationCenter.getInstance().postNotificationName(NotificationCenter.dialogsNeedReload);
NotificationCenter.getInstance().postNotificationName(NotificationCenter.updateInterfaces, UPDATE_MASK_READ_DIALOG_MESSAGE);
}
if (!popup) {
NotificationsController.getInstance().processReadMessages(null, dialog_id, 0, max_positive_id, false);
......@@ -1824,7 +1827,7 @@ public class MessagesController implements NotificationCenter.NotificationCenter
TLRPC.TL_dialog dialog = dialogs_dict.get(dialog_id);
if (dialog != null) {
dialog.unread_count = 0;
NotificationCenter.getInstance().postNotificationName(NotificationCenter.dialogsNeedReload);
NotificationCenter.getInstance().postNotificationName(NotificationCenter.updateInterfaces, UPDATE_MASK_READ_DIALOG_MESSAGE);
}
HashMap<Long, Integer> dialogsToUpdate = new HashMap<Long, Integer>();
dialogsToUpdate.put(dialog_id, 0);
......@@ -2049,6 +2052,9 @@ public class MessagesController implements NotificationCenter.NotificationCenter
return;
}
final TLRPC.messages_StatedMessage res = (TLRPC.messages_StatedMessage) response;
if (user.id == UserConfig.getClientUserId()) {
res.chats = null;
}
MessagesStorage.getInstance().putUsersAndChats(res.users, res.chats, true, true);
AndroidUtilities.runOnUIThread(new Runnable() {
......
......@@ -15,9 +15,9 @@
*/
package org.telegram.ui.Animation;
public abstract class FloatProperty<T> extends Property<T, Float> {
public abstract class FloatProperty10<T> extends Property<T, Float> {
public FloatProperty(String name) {
public FloatProperty10(String name) {
super(Float.class, name);
}
......
......@@ -18,6 +18,8 @@ package org.telegram.ui.Animation;
import android.view.View;
import org.telegram.ui.Views.ActionBar.ActionBarLayout;
import java.util.HashMap;
public final class ObjectAnimator10 extends ValueAnimator {
......@@ -25,7 +27,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
private static final HashMap<String, Property> PROXY_PROPERTIES = new HashMap<String, Property>();
static {
Property<View, Float> ALPHA = new FloatProperty<View>("alpha") {
Property<View, Float> ALPHA = new FloatProperty10<View>("alpha") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setAlpha(value);
......@@ -37,7 +39,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
}
};
Property<View, Float> PIVOT_X = new FloatProperty<View>("pivotX") {
Property<View, Float> PIVOT_X = new FloatProperty10<View>("pivotX") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setPivotX(value);
......@@ -49,7 +51,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
}
};
Property<View, Float> PIVOT_Y = new FloatProperty<View>("pivotY") {
Property<View, Float> PIVOT_Y = new FloatProperty10<View>("pivotY") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setPivotY(value);
......@@ -61,7 +63,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
}
};
Property<View, Float> TRANSLATION_X = new FloatProperty<View>("translationX") {
Property<View, Float> TRANSLATION_X = new FloatProperty10<View>("translationX") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setTranslationX(value);
......@@ -73,7 +75,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
}
};
Property<View, Float> TRANSLATION_Y = new FloatProperty<View>("translationY") {
Property<View, Float> TRANSLATION_Y = new FloatProperty10<View>("translationY") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setTranslationY(value);
......@@ -85,7 +87,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
}
};
Property<View, Float> ROTATION = new FloatProperty<View>("rotation") {
Property<View, Float> ROTATION = new FloatProperty10<View>("rotation") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setRotation(value);
......@@ -97,7 +99,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
}
};
Property<View, Float> ROTATION_X = new FloatProperty<View>("rotationX") {
Property<View, Float> ROTATION_X = new FloatProperty10<View>("rotationX") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setRotationX(value);
......@@ -109,7 +111,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
}
};
Property<View, Float> ROTATION_Y = new FloatProperty<View>("rotationY") {
Property<View, Float> ROTATION_Y = new FloatProperty10<View>("rotationY") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setRotationY(value);
......@@ -121,7 +123,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
}
};
Property<View, Float> SCALE_X = new FloatProperty<View>("scaleX") {
Property<View, Float> SCALE_X = new FloatProperty10<View>("scaleX") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setScaleX(value);
......@@ -133,7 +135,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
}
};
Property<View, Float> SCALE_Y = new FloatProperty<View>("scaleY") {
Property<View, Float> SCALE_Y = new FloatProperty10<View>("scaleY") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setScaleY(value);
......@@ -169,7 +171,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
}
};
Property<View, Float> X = new FloatProperty<View>("x") {
Property<View, Float> X = new FloatProperty10<View>("x") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setX(value);
......@@ -181,7 +183,7 @@ public final class ObjectAnimator10 extends ValueAnimator {
}
};
Property<View, Float> Y = new FloatProperty<View>("y") {
Property<View, Float> Y = new FloatProperty10<View>("y") {
@Override
public void setValue(View object, float value) {
View10.wrap(object).setY(value);
......
......@@ -148,10 +148,10 @@ public class PropertyValuesHolder implements Cloneable {
Class args[] = null;
if (valueType == null) {
try {
returnVal = targetClass.getMethod(methodName, args);
returnVal = targetClass.getMethod(methodName);
} catch (NoSuchMethodException e) {
try {
returnVal = targetClass.getDeclaredMethod(methodName, args);
returnVal = targetClass.getDeclaredMethod(methodName);
returnVal.setAccessible(true);
} catch (NoSuchMethodException e2) {
e2.printStackTrace();
......@@ -464,7 +464,7 @@ public class PropertyValuesHolder implements Cloneable {
static class FloatPropertyValuesHolder extends PropertyValuesHolder {
private static final HashMap<Class, HashMap<String, Integer>> sJNISetterPropertyMap = new HashMap<Class, HashMap<String, Integer>>();
private FloatProperty mFloatProperty;
private FloatProperty10 mFloatProperty;
FloatKeyframeSet mFloatKeyframeSet;
float mFloatAnimatedValue;
......@@ -481,8 +481,8 @@ public class PropertyValuesHolder implements Cloneable {
mValueType = float.class;
mKeyframeSet = keyframeSet;
mFloatKeyframeSet = (FloatKeyframeSet) mKeyframeSet;
if (property instanceof FloatProperty) {
mFloatProperty = (FloatProperty) mProperty;
if (property instanceof FloatProperty10) {
mFloatProperty = (FloatProperty10) mProperty;
}
}
......@@ -494,8 +494,8 @@ public class PropertyValuesHolder implements Cloneable {
public FloatPropertyValuesHolder(Property property, float... values) {
super(property);
setFloatValues(values);
if (property instanceof FloatProperty) {
mFloatProperty = (FloatProperty) mProperty;
if (property instanceof FloatProperty10) {
mFloatProperty = (FloatProperty10) mProperty;
}
}
......
......@@ -18,6 +18,7 @@ import org.telegram.ui.Animation.AnimatorListenerAdapter10;
import org.telegram.ui.Animation.AnimatorSet10;
import org.telegram.ui.Animation.View10;
import java.util.ArrayList;
import java.util.Arrays;
public class AnimatorSetProxy {
......@@ -41,6 +42,22 @@ public class AnimatorSetProxy {
}
}
public void playTogether(ArrayList<Object> items) {
if (View10.NEED_PROXY) {
ArrayList<Animator10> animators = new ArrayList<Animator10>();
for (Object obj : items) {
animators.add((Animator10)obj);
}
((AnimatorSet10) animatorSet).playTogether(animators);
} else {
ArrayList<Animator> animators = new ArrayList<Animator>();
for (Object obj : items) {
animators.add((Animator)obj);
}
((AnimatorSet) animatorSet).playTogether(animators);
}
}
public AnimatorSetProxy setDuration(long duration) {
if (View10.NEED_PROXY) {
((AnimatorSet10) animatorSet).setDuration(duration);
......
......@@ -78,4 +78,36 @@ public class ObjectAnimatorProxy {
((ObjectAnimator) objectAnimator).start();
}
}
public void setAutoCancel(boolean cancel) {
if (View10.NEED_PROXY) {
((ObjectAnimator10) objectAnimator).setAutoCancel(cancel);
} else {
((ObjectAnimator) objectAnimator).setAutoCancel(cancel);
}
}
public boolean isRunning() {
if (View10.NEED_PROXY) {
return ((ObjectAnimator10) objectAnimator).isRunning();
} else {
return ((ObjectAnimator) objectAnimator).isRunning();
}
}
public void end() {
if (View10.NEED_PROXY) {
((ObjectAnimator10) objectAnimator).end();
} else {
((ObjectAnimator) objectAnimator).end();
}
}
public void cancel() {
if (View10.NEED_PROXY) {
((ObjectAnimator10) objectAnimator).cancel();
} else {
((ObjectAnimator) objectAnimator).cancel();
}
}
}
......@@ -72,6 +72,7 @@ public class ChatContactCell extends ChatBaseCell {
addContactDrawableOut = getResources().getDrawable(R.drawable.addcontact_green);
}
avatarImage = new ImageReceiver(this);
avatarDrawable = new AvatarDrawable();
}
public void setContactDelegate(ChatContactCellDelegate delegate) {
......
/*
* This is the source code of Telegram for Android v. 1.7.x.
* It is licensed under GNU GPL v. 2 or later.
* You should have received a copy of the license in this archive (see LICENSE).
*
* Copyright Nikolai Kudashov, 2013-2014.
*/
package org.telegram.ui.Cells;
import android.content.Context;
import android.util.TypedValue;
import android.view.Gravity;
import android.widget.FrameLayout;
import android.widget.TextView;
import org.telegram.android.AndroidUtilities;
public class DetailTextCell extends FrameLayout {
private TextView textView;
public DetailTextCell(Context context) {
super(context);
textView = new TextView(context);
textView.setTextColor(0xffa3a3a3);
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 13);
textView.setGravity(Gravity.CENTER);
textView.setPadding(0, AndroidUtilities.dp(19), 0, AndroidUtilities.dp(19));
addView(textView);
LayoutParams layoutParams = (LayoutParams) textView.getLayoutParams();
layoutParams.width = LayoutParams.WRAP_CONTENT;
layoutParams.height = LayoutParams.WRAP_CONTENT;
layoutParams.leftMargin = AndroidUtilities.dp(17);
layoutParams.rightMargin = AndroidUtilities.dp(17);
layoutParams.gravity = Gravity.CENTER;
textView.setLayoutParams(layoutParams);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
}
public void setText(String text) {
textView.setText(text);
}
}
......@@ -56,6 +56,7 @@ public class DialogCell extends BaseCell {
private boolean allowPrintStrings;
private int lastMessageDate;
private int unreadCount;
private boolean lastUnreadState;
private MessageObject message;
private ImageReceiver avatarImage;
......@@ -148,7 +149,7 @@ public class DialogCell extends BaseCell {
errorDrawable = getResources().getDrawable(R.drawable.dialogs_warning);
countDrawable = getResources().getDrawable(R.drawable.dialogs_badge);
groupDrawable = getResources().getDrawable(R.drawable.list_group);
broadcastDrawable = getResources().getDrawable(R.drawable.broadcast);
broadcastDrawable = getResources().getDrawable(R.drawable.list_broadcast);
}
}
......@@ -166,6 +167,7 @@ public class DialogCell extends BaseCell {
allowPrintStrings = usePrintStrings;
lastMessageDate = date;
unreadCount = unread;
lastUnreadState = messageObject != null && messageObject.isUnread();
update(0);
}
......@@ -584,7 +586,9 @@ public class DialogCell extends BaseCell {
}
}
if ((mask & MessagesController.UPDATE_MASK_READ_DIALOG_MESSAGE) != 0) {
continueUpdate = true;
if (message != null && lastUnreadState != message.isUnread()) {
continueUpdate = true;
}
}
if (!continueUpdate) {
......
......@@ -16,12 +16,15 @@ import org.telegram.android.AndroidUtilities;
public class DividerCell extends BaseCell {
Paint paint = new Paint();
private static Paint paint;
public DividerCell(Context context) {
super(context);
paint.setColor(0xffd9d9d9);
paint.setStrokeWidth(1);
if (paint == null) {
paint = new Paint();
paint.setColor(0xffd9d9d9);
paint.setStrokeWidth(1);
}
}
@Override
......
/*
* This is the source code of Telegram for Android v. 1.7.x.
* It is licensed under GNU GPL v. 2 or later.
* You should have received a copy of the license in this archive (see LICENSE).
*
* Copyright Nikolai Kudashov, 2013-2014.
*/
package org.telegram.ui.Cells;
import android.content.Context;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.Gravity;
import android.widget.FrameLayout;
import android.widget.TextView;
import org.telegram.android.AndroidUtilities;
import org.telegram.android.LocaleController;
public class HeaderCell extends FrameLayout {
private TextView textView;
private void init() {
textView = new TextView(getContext());
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 15);
textView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf"));
textView.setTextColor(0xff3e90cf);
textView.setGravity((LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.CENTER_VERTICAL);
addView(textView);
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams)textView.getLayoutParams();
layoutParams.width = FrameLayout.LayoutParams.MATCH_PARENT;
layoutParams.height = FrameLayout.LayoutParams.MATCH_PARENT;
layoutParams.leftMargin = AndroidUtilities.dp(17);
layoutParams.rightMargin = AndroidUtilities.dp(17);
layoutParams.topMargin = AndroidUtilities.dp(15);
layoutParams.gravity = LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT;
textView.setLayoutParams(layoutParams);
}
public HeaderCell(Context context) {
super(context);
init();
}
public HeaderCell(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public HeaderCell(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
public HeaderCell(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
init();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(38), MeasureSpec.EXACTLY));
}
public void setText(String text) {
textView.setText(text);
}
}
......@@ -95,13 +95,11 @@ public class ProfileSearchCell extends BaseCell {
offlinePaint.setTextSize(AndroidUtilities.dp(16));
offlinePaint.setColor(0xff999999);
lockDrawable = getResources().getDrawable(R.drawable.list_secret);
linePaint = new Paint();
linePaint.setColor(0xffdcdcdc);
broadcastDrawable = getResources().getDrawable(R.drawable.broadcast);
broadcastDrawable = getResources().getDrawable(R.drawable.list_broadcast);
lockDrawable = getResources().getDrawable(R.drawable.list_secret);
groupDrawable = getResources().getDrawable(R.drawable.list_group);
}
}
......
/*
* This is the source code of Telegram for Android v. 1.7.x.
* It is licensed under GNU GPL v. 2 or later.
* You should have received a copy of the license in this archive (see LICENSE).
*
* Copyright Nikolai Kudashov, 2013-2014.
*/
package org.telegram.ui.Cells;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import org.telegram.android.AndroidUtilities;
import org.telegram.messenger.R;
public class ShadowSectionCell extends View {
private void init() {
setBackgroundResource(R.drawable.greydivider);
}
public ShadowSectionCell(Context context) {
super(context);
init();
}
public ShadowSectionCell(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public ShadowSectionCell(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
public ShadowSectionCell(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
init();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(12), MeasureSpec.EXACTLY));
}
}
/*
* This is the source code of Telegram for Android v. 1.7.x.
* It is licensed under GNU GPL v. 2 or later.
* You should have received a copy of the license in this archive (see LICENSE).
*
* Copyright Nikolai Kudashov, 2013-2014.
*/
package org.telegram.ui.Cells;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.TypedValue;
import android.view.Gravity;
import android.widget.FrameLayout;
import android.widget.TextView;
import org.telegram.android.AndroidUtilities;
import org.telegram.android.LocaleController;
import org.telegram.ui.Views.Switch;
public class TextCheckCell extends FrameLayout {
private TextView textView;
private Switch checkBox;
private static Paint paint;
private boolean needDivider;
public TextCheckCell(Context context) {
super(context);
if (paint == null) {
paint = new Paint();
paint.setColor(0xffd9d9d9);
paint.setStrokeWidth(1);
}
textView = new TextView(context);
textView.setTextColor(0xff000000);
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
textView.setLines(1);
textView.setMaxLines(1);
textView.setSingleLine(true);
textView.setGravity((LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.CENTER_VERTICAL);
addView(textView);
LayoutParams layoutParams = (LayoutParams) textView.getLayoutParams();
layoutParams.width = LayoutParams.MATCH_PARENT;
layoutParams.height = LayoutParams.MATCH_PARENT;
layoutParams.leftMargin = AndroidUtilities.dp(17);
layoutParams.rightMargin = AndroidUtilities.dp(17);
layoutParams.gravity = LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT;
textView.setLayoutParams(layoutParams);
checkBox = new Switch(context);
checkBox.setDuplicateParentStateEnabled(false);
checkBox.setFocusable(false);
checkBox.setFocusableInTouchMode(false);
checkBox.setClickable(false);
addView(checkBox);
layoutParams = (LayoutParams) checkBox.getLayoutParams();
layoutParams.width = LayoutParams.WRAP_CONTENT;
layoutParams.height = LayoutParams.WRAP_CONTENT;
layoutParams.leftMargin = AndroidUtilities.dp(14);
layoutParams.rightMargin = AndroidUtilities.dp(14);
layoutParams.gravity = (LocaleController.isRTL ? Gravity.LEFT : Gravity.RIGHT) | Gravity.CENTER_VERTICAL;
checkBox.setLayoutParams(layoutParams);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(48) + (needDivider ? 1 : 0), MeasureSpec.EXACTLY));
}
public void setTextAndCheck(String text, boolean checked, boolean divider) {
textView.setText(text);
checkBox.setChecked(checked);
needDivider = divider;
setWillNotDraw(!divider);
}
@Override
protected void onDraw(Canvas canvas) {
if (needDivider) {
canvas.drawLine(getPaddingLeft(), getHeight() - 1, getWidth() - getPaddingRight(), getHeight() - 1, paint);
}
}
}
......@@ -39,7 +39,7 @@ public class TextDetailCell extends FrameLayout {
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) textView.getLayoutParams();
layoutParams.width = LayoutParams.WRAP_CONTENT;
layoutParams.height = LayoutParams.WRAP_CONTENT;
layoutParams.topMargin = AndroidUtilities.dp(11);
layoutParams.topMargin = AndroidUtilities.dp(10);
layoutParams.leftMargin = AndroidUtilities.dp(LocaleController.isRTL ? 16 : 71);
layoutParams.rightMargin = AndroidUtilities.dp(LocaleController.isRTL ? 71 : 16);
layoutParams.gravity = LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT;
......@@ -56,7 +56,7 @@ public class TextDetailCell extends FrameLayout {
layoutParams = (FrameLayout.LayoutParams) valueTextView.getLayoutParams();
layoutParams.width = LayoutParams.WRAP_CONTENT;
layoutParams.height = LayoutParams.WRAP_CONTENT;
layoutParams.topMargin = AndroidUtilities.dp(36);
layoutParams.topMargin = AndroidUtilities.dp(35);
layoutParams.leftMargin = AndroidUtilities.dp(LocaleController.isRTL ? 16 : 71);
layoutParams.rightMargin = AndroidUtilities.dp(LocaleController.isRTL ? 71 : 16);
layoutParams.gravity = LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT;
......
/*
* This is the source code of Telegram for Android v. 1.7.x.
* It is licensed under GNU GPL v. 2 or later.
* You should have received a copy of the license in this archive (see LICENSE).
*
* Copyright Nikolai Kudashov, 2013-2014.
*/
package org.telegram.ui.Cells;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.TypedValue;
import android.view.Gravity;
import android.widget.FrameLayout;
import android.widget.TextView;
import org.telegram.android.AndroidUtilities;
import org.telegram.android.LocaleController;
public class TextDetailSettingsCell extends FrameLayout {
private TextView textView;
private TextView valueTextView;
private static Paint paint;
private boolean needDivider;
public TextDetailSettingsCell(Context context) {
super(context);
if (paint == null) {
paint = new Paint();
paint.setColor(0xffd9d9d9);
paint.setStrokeWidth(1);
}
textView = new TextView(context);
textView.setTextColor(0xff000000);
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
textView.setLines(1);
textView.setMaxLines(1);
textView.setSingleLine(true);
textView.setGravity((LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.CENTER_VERTICAL);
addView(textView);
LayoutParams layoutParams = (LayoutParams) textView.getLayoutParams();
layoutParams.width = LayoutParams.WRAP_CONTENT;
layoutParams.height = LayoutParams.WRAP_CONTENT;
layoutParams.topMargin = AndroidUtilities.dp(10);
layoutParams.leftMargin = AndroidUtilities.dp(17);
layoutParams.rightMargin = AndroidUtilities.dp(17);
layoutParams.gravity = LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT;
textView.setLayoutParams(layoutParams);
valueTextView = new TextView(context);
valueTextView.setTextColor(0xff8a8a8a);
valueTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 13);
valueTextView.setLines(1);
valueTextView.setMaxLines(1);
valueTextView.setSingleLine(true);
valueTextView.setGravity((LocaleController.isRTL ? Gravity.LEFT : Gravity.RIGHT) | Gravity.CENTER_VERTICAL);
addView(valueTextView);
layoutParams = (LayoutParams) valueTextView.getLayoutParams();
layoutParams.width = LayoutParams.WRAP_CONTENT;
layoutParams.height = LayoutParams.WRAP_CONTENT;
layoutParams.topMargin = AndroidUtilities.dp(35);
layoutParams.leftMargin = AndroidUtilities.dp(17);
layoutParams.rightMargin = AndroidUtilities.dp(17);
layoutParams.gravity = LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT;
valueTextView.setLayoutParams(layoutParams);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(64) + (needDivider ? 1 : 0), MeasureSpec.EXACTLY));
}
public void setTextAndValue(String text, String value, boolean divider) {
textView.setText(text);
valueTextView.setText(value);
needDivider = divider;
setWillNotDraw(!divider);
}
@Override
protected void onDraw(Canvas canvas) {
if (needDivider) {
canvas.drawLine(getPaddingLeft(), getHeight() - 1, getWidth() - getPaddingRight(), getHeight() - 1, paint);
}
}
}
/*
* This is the source code of Telegram for Android v. 1.7.x.
* It is licensed under GNU GPL v. 2 or later.
* You should have received a copy of the license in this archive (see LICENSE).
*
* Copyright Nikolai Kudashov, 2013-2014.
*/
package org.telegram.ui.Cells;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.TypedValue;
import android.view.Gravity;
import android.widget.FrameLayout;
import android.widget.TextView;
import org.telegram.android.AndroidUtilities;
import org.telegram.android.LocaleController;
public class TextSettingsCell extends FrameLayout {
private TextView textView;
private TextView valueTextView;
private static Paint paint;
private boolean needDivider;
public TextSettingsCell(Context context) {
super(context);
if (paint == null) {
paint = new Paint();
paint.setColor(0xffd9d9d9);
paint.setStrokeWidth(1);
}
textView = new TextView(context);
textView.setTextColor(0xff000000);
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
textView.setLines(1);
textView.setMaxLines(1);
textView.setSingleLine(true);
textView.setGravity((LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.CENTER_VERTICAL);
addView(textView);
LayoutParams layoutParams = (LayoutParams) textView.getLayoutParams();
layoutParams.width = LayoutParams.MATCH_PARENT;
layoutParams.height = LayoutParams.MATCH_PARENT;
layoutParams.leftMargin = AndroidUtilities.dp(17);
layoutParams.rightMargin = AndroidUtilities.dp(17);
layoutParams.gravity = LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT;
textView.setLayoutParams(layoutParams);
valueTextView = new TextView(context);
valueTextView.setTextColor(0xff2f8cc9);
valueTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
valueTextView.setLines(1);
valueTextView.setMaxLines(1);
valueTextView.setSingleLine(true);
valueTextView.setGravity((LocaleController.isRTL ? Gravity.LEFT : Gravity.RIGHT) | Gravity.CENTER_VERTICAL);
addView(valueTextView);
layoutParams = (LayoutParams) valueTextView.getLayoutParams();
layoutParams.width = LayoutParams.WRAP_CONTENT;
layoutParams.height = LayoutParams.MATCH_PARENT;
layoutParams.leftMargin = AndroidUtilities.dp(17);
layoutParams.rightMargin = AndroidUtilities.dp(17);
layoutParams.gravity = LocaleController.isRTL ? Gravity.LEFT : Gravity.RIGHT;
valueTextView.setLayoutParams(layoutParams);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(AndroidUtilities.dp(48) + (needDivider ? 1 : 0), MeasureSpec.EXACTLY));
}
public void setTextColor(int color) {
textView.setTextColor(color);
}
public void setText(String text, boolean divider) {
textView.setText(text);
valueTextView.setVisibility(GONE);
needDivider = divider;
setWillNotDraw(!divider);
}
public void setTextAndValue(String text, String value, boolean divider) {
textView.setText(text);
valueTextView.setText(value);
valueTextView.setVisibility(VISIBLE);
needDivider = divider;
setWillNotDraw(!divider);
}
@Override
protected void onDraw(Canvas canvas) {
if (needDivider) {
canvas.drawLine(getPaddingLeft(), getHeight() - 1, getWidth() - getPaddingRight(), getHeight() - 1, paint);
}
}
}
......@@ -37,7 +37,7 @@ import org.telegram.messenger.Utilities;
import org.telegram.android.MessageObject;
import org.telegram.ui.Adapters.BaseFragmentAdapter;
import org.telegram.ui.Cells.UserCell;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.AvatarDrawable;
import org.telegram.ui.Views.AvatarUpdater;
......@@ -173,14 +173,14 @@ public class ChatProfileActivity extends BaseFragment implements NotificationCen
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
if (chat_id > 0) {
actionBarLayer.setTitle(LocaleController.getString("GroupInfo", R.string.GroupInfo));
actionBar.setTitle(LocaleController.getString("GroupInfo", R.string.GroupInfo));
} else {
actionBarLayer.setTitle(LocaleController.getString("BroadcastList", R.string.BroadcastList));
actionBar.setTitle(LocaleController.getString("BroadcastList", R.string.BroadcastList));
}
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -190,7 +190,7 @@ public class ChatProfileActivity extends BaseFragment implements NotificationCen
}
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
View item = menu.addItemResource(done_button, R.layout.group_profile_add_member_layout);
TextView textView = (TextView)item.findViewById(R.id.done_button);
if (textView != null) {
......@@ -653,7 +653,7 @@ public class ChatProfileActivity extends BaseFragment implements NotificationCen
if (i == settingsSectionRow) {
((SettingsSectionLayout) view).setText(LocaleController.getString("SETTINGS", R.string.SETTINGS));
} else if (i == sharedMediaSectionRow) {
((SettingsSectionLayout) view).setText(LocaleController.getString("SHAREDMEDIA", R.string.SHAREDMEDIA));
} else if (i == membersSectionRow) {
TLRPC.Chat chat = MessagesController.getInstance().getChat(chat_id);
int count = chat.participants_count;
......
......@@ -52,16 +52,16 @@ public class ChatProfileChangeNameActivity extends BaseFragment {
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setCustomView(R.layout.settings_do_action_layout);
actionBar.setCustomView(R.layout.settings_do_action_layout);
Button cancelButton = (Button)actionBarLayer.findViewById(R.id.cancel_button);
Button cancelButton = (Button) actionBar.findViewById(R.id.cancel_button);
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finishFragment();
}
});
doneButton = actionBarLayer.findViewById(R.id.done_button);
doneButton = actionBar.findViewById(R.id.done_button);
doneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
......
......@@ -65,15 +65,15 @@ public class ContactAddActivity extends BaseFragment implements NotificationCent
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setCustomView(R.layout.settings_do_action_layout);
Button cancelButton = (Button)actionBarLayer.findViewById(R.id.cancel_button);
actionBar.setCustomView(R.layout.settings_do_action_layout);
Button cancelButton = (Button) actionBar.findViewById(R.id.cancel_button);
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finishFragment();
}
});
doneButton = actionBarLayer.findViewById(R.id.done_button);
doneButton = actionBar.findViewById(R.id.done_button);
doneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
......
......@@ -42,7 +42,7 @@ import org.telegram.ui.Adapters.BaseSectionsAdapter;
import org.telegram.ui.Adapters.ContactsActivityAdapter;
import org.telegram.ui.Adapters.ContactsActivitySearchAdapter;
import org.telegram.ui.Cells.UserCell;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.ActionBar.ActionBarMenuItem;
import org.telegram.ui.Views.ActionBar.BaseFragment;
......@@ -117,15 +117,15 @@ public class ContactsActivity extends BaseFragment implements NotificationCenter
searching = false;
searchWas = false;
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
if (destroyAfterSelect) {
actionBarLayer.setTitle(LocaleController.getString("SelectContact", R.string.SelectContact));
actionBar.setTitle(LocaleController.getString("SelectContact", R.string.SelectContact));
} else {
actionBarLayer.setTitle(LocaleController.getString("Contacts", R.string.Contacts));
actionBar.setTitle(LocaleController.getString("Contacts", R.string.Contacts));
}
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -134,7 +134,7 @@ public class ContactsActivity extends BaseFragment implements NotificationCenter
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
menu.addItem(0, R.drawable.ic_ab_search).setIsSearchField(true).setActionBarMenuItemSearchListener(new ActionBarMenuItem.ActionBarMenuItemSearchListener() {
@Override
public void onSearchExpand() {
......
......@@ -25,7 +25,7 @@ import org.telegram.android.LocaleController;
import org.telegram.messenger.R;
import org.telegram.messenger.Utilities;
import org.telegram.ui.Adapters.BaseFragmentAdapter;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.ActionBar.ActionBarMenuItem;
import org.telegram.ui.Views.ActionBar.BaseFragment;
......@@ -122,11 +122,11 @@ public class CountrySelectActivity extends BaseFragment {
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBarLayer.setTitle(LocaleController.getString("ChooseCountry", R.string.ChooseCountry));
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
actionBar.setTitle(LocaleController.getString("ChooseCountry", R.string.ChooseCountry));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -135,7 +135,7 @@ public class CountrySelectActivity extends BaseFragment {
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
menu.addItem(0, R.drawable.ic_ab_search).setIsSearchField(true).setActionBarMenuItemSearchListener(new ActionBarMenuItem.ActionBarMenuItemSearchListener() {
@Override
public void onSearchExpand() {
......
......@@ -29,7 +29,7 @@ import org.telegram.android.LocaleController;
import org.telegram.messenger.R;
import org.telegram.messenger.Utilities;
import org.telegram.ui.Adapters.BaseFragmentAdapter;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.ActionBar.ActionBarMenuItem;
import org.telegram.ui.Views.BackupImageView;
......@@ -130,10 +130,10 @@ public class DocumentSelectActivity extends BaseFragment {
}
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBarLayer.setTitle(LocaleController.getString("SelectFile", R.string.SelectFile));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
actionBar.setTitle(LocaleController.getString("SelectFile", R.string.SelectFile));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -146,7 +146,7 @@ public class DocumentSelectActivity extends BaseFragment {
}
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
ActionBarMenuItem item = menu.addItem(1, R.drawable.ic_ab_other);
fragmentView = inflater.inflate(R.layout.document_select_layout, container, false);
......@@ -168,7 +168,7 @@ public class DocumentSelectActivity extends BaseFragment {
File file = item.file;
if (file == null) {
HistoryEntry he = history.remove(history.size() - 1);
actionBarLayer.setTitle(he.title);
actionBar.setTitle(he.title);
if (he.dir != null) {
listFiles(he.dir);
} else {
......@@ -180,12 +180,12 @@ public class DocumentSelectActivity extends BaseFragment {
he.scrollItem = listView.getFirstVisiblePosition();
he.scrollOffset = listView.getChildAt(0).getTop();
he.dir = currentDir;
he.title = actionBarLayer.getTitle().toString();
he.title = actionBar.getTitle().toString();
if (!listFiles(file)) {
return;
}
history.add(he);
actionBarLayer.setTitle(item.title);
actionBar.setTitle(item.title);
listView.setSelection(0);
} else {
if (!file.canRead()) {
......@@ -230,7 +230,7 @@ public class DocumentSelectActivity extends BaseFragment {
public boolean onBackPressed() {
if (history.size() > 0) {
HistoryEntry he = history.remove(history.size() - 1);
actionBarLayer.setTitle(he.title);
actionBar.setTitle(he.title);
if (he.dir != null) {
listFiles(he.dir);
} else {
......
......@@ -45,7 +45,7 @@ import org.telegram.android.NotificationCenter;
import org.telegram.messenger.R;
import org.telegram.messenger.UserConfig;
import org.telegram.messenger.Utilities;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.AvatarDrawable;
import org.telegram.ui.Views.BackupImageView;
......@@ -139,16 +139,16 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
if (isBroadcast) {
actionBarLayer.setTitle(LocaleController.getString("NewBroadcastList", R.string.NewBroadcastList));
actionBar.setTitle(LocaleController.getString("NewBroadcastList", R.string.NewBroadcastList));
} else {
actionBarLayer.setTitle(LocaleController.getString("NewGroup", R.string.NewGroup));
actionBar.setTitle(LocaleController.getString("NewGroup", R.string.NewGroup));
}
actionBarLayer.setSubtitle(LocaleController.formatString("MembersCount", R.string.MembersCount, selectedContacts.size(), maxCount));
actionBar.setSubtitle(LocaleController.formatString("MembersCount", R.string.MembersCount, selectedContacts.size(), maxCount));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -166,7 +166,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
View doneItem = menu.addItemResource(done_button, R.layout.group_create_done_layout);
TextView doneTextView = (TextView)doneItem.findViewById(R.id.done_button);
doneTextView.setText(LocaleController.getString("Next", R.string.Next));
......@@ -227,7 +227,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
selectedContacts.remove(sp.uid);
}
}
actionBarLayer.setSubtitle(LocaleController.formatString("MembersCount", R.string.MembersCount, selectedContacts.size(), maxCount));
actionBar.setSubtitle(LocaleController.formatString("MembersCount", R.string.MembersCount, selectedContacts.size(), maxCount));
listView.invalidateViews();
} else {
search = true;
......@@ -293,7 +293,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
span.uid = user.id;
ignoreChange = false;
}
actionBarLayer.setSubtitle(LocaleController.formatString("MembersCount", R.string.MembersCount, selectedContacts.size(), maxCount));
actionBar.setSubtitle(LocaleController.formatString("MembersCount", R.string.MembersCount, selectedContacts.size(), maxCount));
if (searching || searchWas) {
searching = false;
searchWas = false;
......
......@@ -31,7 +31,7 @@ import org.telegram.android.MessagesController;
import org.telegram.android.NotificationCenter;
import org.telegram.messenger.R;
import org.telegram.ui.Cells.UserCell;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.AvatarDrawable;
import org.telegram.ui.Views.AvatarUpdater;
......@@ -123,15 +123,15 @@ public class GroupCreateFinalActivity extends BaseFragment implements Notificati
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
if (isBroadcast) {
actionBarLayer.setTitle(LocaleController.getString("NewBroadcastList", R.string.NewBroadcastList));
actionBar.setTitle(LocaleController.getString("NewBroadcastList", R.string.NewBroadcastList));
} else {
actionBarLayer.setTitle(LocaleController.getString("NewGroup", R.string.NewGroup));
actionBar.setTitle(LocaleController.getString("NewGroup", R.string.NewGroup));
}
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -177,7 +177,7 @@ public class GroupCreateFinalActivity extends BaseFragment implements Notificati
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
View doneItem = menu.addItemResource(done_button, R.layout.group_create_done_layout);
TextView doneTextView = (TextView)doneItem.findViewById(R.id.done_button);
......
......@@ -26,7 +26,7 @@ import org.telegram.android.LocaleController;
import org.telegram.messenger.TLRPC;
import org.telegram.android.MessagesController;
import org.telegram.messenger.R;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.BaseFragment;
import org.telegram.ui.Views.IdenticonDrawable;
......@@ -46,12 +46,12 @@ public class IdenticonActivity extends BaseFragment {
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBarLayer.setTitle(LocaleController.getString("EncryptionKey", R.string.EncryptionKey));
actionBarLayer.setTitleIcon(R.drawable.ic_lock_white, AndroidUtilities.dp(4));
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
actionBar.setTitle(LocaleController.getString("EncryptionKey", R.string.EncryptionKey));
actionBar.setTitleIcon(R.drawable.ic_lock_white, AndroidUtilities.dp(4));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......
......@@ -27,7 +27,7 @@ import org.telegram.android.LocaleController;
import org.telegram.messenger.R;
import org.telegram.messenger.Utilities;
import org.telegram.ui.Adapters.BaseFragmentAdapter;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.ActionBar.ActionBarMenuItem;
import org.telegram.ui.Views.ActionBar.BaseFragment;
......@@ -50,11 +50,11 @@ public class LanguageSelectActivity extends BaseFragment {
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBarLayer.setTitle(LocaleController.getString("Language", R.string.Language));
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
actionBar.setTitle(LocaleController.getString("Language", R.string.Language));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -63,7 +63,7 @@ public class LanguageSelectActivity extends BaseFragment {
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
menu.addItem(0, R.drawable.ic_ab_search).setIsSearchField(true).setActionBarMenuItemSearchListener(new ActionBarMenuItem.ActionBarMenuItemSearchListener() {
@Override
public void onSearchExpand() {
......
......@@ -240,7 +240,6 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
});
} else {
drawerLayoutContainer = new DrawerLayoutContainer(this);
drawerLayoutContainer.setStatusBarColor(0xff54759e);
drawerLayoutContainer.addView(actionBarLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
ListView listView = new ListView(this);
......@@ -933,7 +932,7 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
Utilities.checkForUpdates(this);
ApplicationLoader.mainInterfacePaused = false;
ConnectionsManager.getInstance().setAppPaused(false, false);
actionBarLayout.getActionBar().setBackOverlayVisible(currentConnectionState != 0);
//actionBarLayout.getActionBar().setBackOverlayVisible(currentConnectionState != 0);
}
@Override
......@@ -974,7 +973,7 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
if (currentConnectionState != state) {
FileLog.e("tmessages", "switch to state " + state);
currentConnectionState = state;
actionBarLayout.getActionBar().setBackOverlayVisible(currentConnectionState != 0);
//actionBarLayout.getActionBar().setBackOverlayVisible(currentConnectionState != 0);
}
}
}
......
......@@ -35,7 +35,7 @@ import org.telegram.android.MessageObject;
import org.telegram.android.MessagesController;
import org.telegram.android.NotificationCenter;
import org.telegram.messenger.R;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.ActionBar.ActionBarMenuItem;
import org.telegram.ui.Views.AvatarDrawable;
......@@ -91,15 +91,15 @@ public class LocationActivity extends BaseFragment implements NotificationCenter
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
if (messageObject != null) {
actionBarLayer.setTitle(LocaleController.getString("ChatLocation", R.string.ChatLocation));
actionBar.setTitle(LocaleController.getString("ChatLocation", R.string.ChatLocation));
} else {
actionBarLayer.setTitle(LocaleController.getString("ShareLocation", R.string.ShareLocation));
actionBar.setTitle(LocaleController.getString("ShareLocation", R.string.ShareLocation));
}
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -128,7 +128,7 @@ public class LocationActivity extends BaseFragment implements NotificationCenter
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
menu.addItem(map_to_my_location, R.drawable.ic_ab_location);
ActionBarMenuItem item = menu.addItem(0, R.drawable.ic_ab_other);
......
......@@ -27,7 +27,7 @@ import org.telegram.android.AndroidUtilities;
import org.telegram.messenger.FileLog;
import org.telegram.android.LocaleController;
import org.telegram.messenger.R;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.ActionBar.BaseFragment;
import org.telegram.ui.Views.SlideView;
......@@ -68,9 +68,9 @@ public class LoginActivity extends BaseFragment implements SlideView.SlideViewDe
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setTitle(LocaleController.getString("AppName", R.string.AppName));
actionBar.setTitle(LocaleController.getString("AppName", R.string.AppName));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == done_button) {
......@@ -79,7 +79,7 @@ public class LoginActivity extends BaseFragment implements SlideView.SlideViewDe
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
View doneItem = menu.addItemResource(done_button, R.layout.group_create_done_layout);
TextView doneTextView = (TextView)doneItem.findViewById(R.id.done_button);
doneTextView.setText(LocaleController.getString("Done", R.string.Done).toUpperCase());
......@@ -103,7 +103,7 @@ public class LoginActivity extends BaseFragment implements SlideView.SlideViewDe
FileLog.e("tmessages", e);
}
actionBarLayer.setTitle(views[0].getHeaderName());
actionBar.setTitle(views[0].getHeaderName());
Bundle savedInstanceState = loadCurrentState();
if (savedInstanceState != null) {
......@@ -283,7 +283,7 @@ public class LoginActivity extends BaseFragment implements SlideView.SlideViewDe
currentViewNum = page;
newView.setParams(params);
actionBarLayer.setTitle(newView.getHeaderName());
actionBar.setTitle(newView.getHeaderName());
newView.onShow();
newView.setX(back ? -AndroidUtilities.displaySize.x : AndroidUtilities.displaySize.x);
outView.animate().setInterpolator(new AccelerateDecelerateInterpolator()).setListener(new Animator.AnimatorListener() {
......@@ -328,7 +328,7 @@ public class LoginActivity extends BaseFragment implements SlideView.SlideViewDe
currentViewNum = page;
views[page].setParams(params);
views[page].setVisibility(View.VISIBLE);
actionBarLayer.setTitle(views[page].getHeaderName());
actionBar.setTitle(views[page].getHeaderName());
views[page].onShow();
}
}
......
......@@ -33,7 +33,7 @@ import org.telegram.android.MessagesController;
import org.telegram.android.NotificationCenter;
import org.telegram.messenger.R;
import org.telegram.ui.Adapters.BaseFragmentAdapter;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.BackupImageView;
import org.telegram.ui.Views.ActionBar.BaseFragment;
......@@ -87,10 +87,10 @@ public class MediaActivity extends BaseFragment implements NotificationCenter.No
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBarLayer.setTitle(LocaleController.getString("SharedMedia", R.string.SharedMedia));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
actionBar.setTitle(LocaleController.getString("SharedMedia", R.string.SharedMedia));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -259,9 +259,6 @@ public class MediaActivity extends BaseFragment implements NotificationCenter.No
@Override
public void onResume() {
super.onResume();
if (parentLayout != null) {
parentLayout.getDrawerLayoutContainer().setStatusBarColor(0xff54759e);
}
if (listAdapter != null) {
listAdapter.notifyDataSetChanged();
}
......
......@@ -46,7 +46,7 @@ import org.telegram.ui.AnimationCompat.ObjectAnimatorProxy;
import org.telegram.ui.AnimationCompat.ViewProxy;
import org.telegram.ui.Cells.UserCell;
import org.telegram.ui.Cells.DialogCell;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.ActionBar.ActionBarMenuItem;
import org.telegram.ui.Views.ActionBar.BaseFragment;
......@@ -129,7 +129,7 @@ public class MessagesActivity extends BaseFragment implements NotificationCenter
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
menu.addItem(0, R.drawable.ic_ab_search).setIsSearchField(true).setActionBarMenuItemSearchListener(new ActionBarMenuItem.ActionBarMenuItemSearchListener() {
@Override
public void onSearchExpand() {
......@@ -189,15 +189,15 @@ public class MessagesActivity extends BaseFragment implements NotificationCenter
}
});
if (onlySelect) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setTitle(LocaleController.getString("SelectChat", R.string.SelectChat));
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setTitle(LocaleController.getString("SelectChat", R.string.SelectChat));
} else {
actionBarLayer.setBackButtonDrawable(new MenuDrawable());
actionBarLayer.setTitle(LocaleController.getString("AppName", R.string.AppName));
actionBar.setBackButtonDrawable(new MenuDrawable());
actionBar.setTitle(LocaleController.getString("AppName", R.string.AppName));
}
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBar.setBackOverlay(R.layout.updating_state_layout);
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -357,9 +357,9 @@ public class MessagesActivity extends BaseFragment implements NotificationCenter
return;
}
messagesActivityAdapter.setOpenedDialogId(openedDialogId = dialog_id);
updateVisibleRows(MessagesController.UPDATE_MASK_SELECT_DIALOG);
}
presentFragment(new ChatActivity(args));
updateVisibleRows(0);
}
}
});
......@@ -501,7 +501,6 @@ public class MessagesActivity extends BaseFragment implements NotificationCenter
@Override
public void onResume() {
super.onResume();
showActionBar();
if (messagesActivityAdapter != null) {
messagesActivityAdapter.notifyDataSetChanged();
}
......@@ -579,7 +578,7 @@ public class MessagesActivity extends BaseFragment implements NotificationCenter
openedDialogId = dialog_id;
}
messagesActivityAdapter.setOpenedDialogId(openedDialogId);
updateVisibleRows(0);
updateVisibleRows(MessagesController.UPDATE_MASK_SELECT_DIALOG);
}
}
}
......@@ -603,14 +602,17 @@ public class MessagesActivity extends BaseFragment implements NotificationCenter
View child = messagesListView.getChildAt(a);
if (child instanceof DialogCell) {
DialogCell cell = (DialogCell) child;
if (!serverOnly && AndroidUtilities.isTablet()) {
if (cell.getDialogId() == openedDialogId) {
child.setBackgroundColor(0x0f000000);
} else {
child.setBackgroundColor(0);
if ((mask & MessagesController.UPDATE_MASK_SELECT_DIALOG) != 0) {
if (!serverOnly && AndroidUtilities.isTablet()) {
if (cell.getDialogId() == openedDialogId) {
child.setBackgroundColor(0x0f000000);
} else {
child.setBackgroundColor(0);
}
}
} else {
cell.update(mask);
}
cell.update(mask);
} else if (child instanceof UserCell) {
((UserCell) child).update(mask);
}
......
......@@ -328,15 +328,15 @@ public class PhotoCropActivity extends BaseFragment {
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setCustomView(R.layout.settings_do_action_layout);
Button cancelButton = (Button)actionBarLayer.findViewById(R.id.cancel_button);
actionBar.setCustomView(R.layout.settings_do_action_layout);
Button cancelButton = (Button) actionBar.findViewById(R.id.cancel_button);
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finishFragment();
}
});
View doneButton = actionBarLayer.findViewById(R.id.done_button);
View doneButton = actionBar.findViewById(R.id.done_button);
doneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
......
......@@ -32,7 +32,7 @@ import org.telegram.messenger.R;
import org.telegram.messenger.TLRPC;
import org.telegram.android.MessageObject;
import org.telegram.ui.Adapters.BaseFragmentAdapter;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.ActionBar.BaseFragment;
import org.telegram.ui.Views.BackupImageView;
......@@ -84,17 +84,17 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackgroundColor(0xff333333);
actionBarLayer.setItemsBackground(R.drawable.bar_selector_picker);
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setTitle(LocaleController.getString("Gallery", R.string.Gallery));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setBackgroundColor(0xff333333);
actionBar.setItemsBackground(R.drawable.bar_selector_picker);
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setTitle(LocaleController.getString("Gallery", R.string.Gallery));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
if (selectedAlbum != null) {
selectedAlbum = null;
actionBarLayer.setTitle(LocaleController.getString("Gallery", R.string.Gallery));
actionBar.setTitle(LocaleController.getString("Gallery", R.string.Gallery));
fixLayoutInternal();
} else {
if (Build.VERSION.SDK_INT < 11) {
......@@ -113,7 +113,7 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
menu.addItem(1, R.drawable.ic_ab_other);
fragmentView = inflater.inflate(R.layout.photo_picker_layout, container, false);
......@@ -158,7 +158,7 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen
return;
}
selectedAlbum = albumsSorted.get(i);
actionBarLayer.setTitle(selectedAlbum.bucketName);
actionBar.setTitle(selectedAlbum.bucketName);
fixLayoutInternal();
} else {
if (i < 0 || i >= selectedAlbum.photos.size()) {
......@@ -231,7 +231,7 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen
public boolean onBackPressed() {
if (selectedAlbum != null) {
selectedAlbum = null;
actionBarLayer.setTitle(LocaleController.getString("Gallery", R.string.Gallery));
actionBar.setTitle(LocaleController.getString("Gallery", R.string.Gallery));
fixLayoutInternal();
return false;
}
......
......@@ -64,7 +64,6 @@ import org.telegram.ui.AnimationCompat.AnimatorSetProxy;
import org.telegram.ui.AnimationCompat.ObjectAnimatorProxy;
import org.telegram.ui.AnimationCompat.ViewProxy;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.ActionBar.ActionBarMenuItem;
import org.telegram.ui.Views.ClippingImageView;
......@@ -84,7 +83,6 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
private Activity parentActivity;
private ActionBar actionBar;
private ActionBarLayer actionBarLayer;
private boolean isActionBarVisible = true;
private static Drawable[] progressDrawables = null;
......@@ -484,7 +482,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
loadingMoreImages = true;
MessagesController.getInstance().loadMedia(currentDialogId, 0, 100, 0, true, classGuid);
} else if (!imagesArr.isEmpty()) {
actionBarLayer.setTitle(LocaleController.formatString("Of", R.string.Of, (totalImagesCount - imagesArr.size()) + currentIndex + 1, totalImagesCount));
actionBar.setTitle(LocaleController.formatString("Of", R.string.Of, (totalImagesCount - imagesArr.size()) + currentIndex + 1, totalImagesCount));
}
}
} else if (id == NotificationCenter.mediaDidLoaded) {
......@@ -603,18 +601,16 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
windowLayoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
actionBar = new ActionBar(activity);
containerView.addView(actionBar);
actionBar.setBackgroundColor(0x7F000000);
layoutParams = (FrameLayout.LayoutParams)actionBar.getLayoutParams();
actionBar.setItemsBackground(R.drawable.bar_selector_white);
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setTitle(LocaleController.formatString("Of", R.string.Of, 1, 1));
containerView.addView(actionBar);
layoutParams = (FrameLayout.LayoutParams) actionBar.getLayoutParams();
layoutParams.width = FrameLayout.LayoutParams.MATCH_PARENT;
actionBar.setLayoutParams(layoutParams);
actionBarLayer = actionBar.createLayer();
actionBarLayer.setItemsBackground(R.drawable.bar_selector_white);
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setTitle(LocaleController.formatString("Of", R.string.Of, 1, 1));
actionBar.setCurrentActionBarLayer(actionBarLayer);
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -692,7 +688,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
menuItem = menu.addItem(0, R.drawable.ic_ab_other);
menuItem.addSubItem(gallery_menu_save, LocaleController.getString("SaveToGallery", R.string.SaveToGallery), 0);
menuItem.addSubItem(gallery_menu_showall, LocaleController.getString("ShowAllMedia", R.string.ShowAllMedia), 0);
......@@ -953,7 +949,6 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
}
isActionBarVisible = show;
actionBar.setEnabled(show);
actionBarLayer.setEnabled(show);
bottomLayout.setEnabled(show);
if (animated) {
......@@ -1295,7 +1290,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
MessagesController.getInstance().loadMedia(currentDialogId, 0, 100, lastMessage.messageOwner.id, !cacheEndReached, classGuid);
loadingMoreImages = true;
}
actionBarLayer.setTitle(LocaleController.formatString("Of", R.string.Of, (totalImagesCount - imagesArr.size()) + currentIndex + 1, totalImagesCount));
actionBar.setTitle(LocaleController.formatString("Of", R.string.Of, (totalImagesCount - imagesArr.size()) + currentIndex + 1, totalImagesCount));
}
if (currentMessageObject.messageOwner.ttl != 0) {
menuItem.hideSubItem(gallery_menu_save);
......@@ -1317,12 +1312,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
if (old != null && currentFileLocation != null && old.local_id == currentFileLocation.local_id && old.volume_id == currentFileLocation.volume_id) {
sameImage = true;
}
actionBarLayer.setTitle(LocaleController.formatString("Of", R.string.Of, currentIndex + 1, imagesArrLocations.size()));
actionBar.setTitle(LocaleController.formatString("Of", R.string.Of, currentIndex + 1, imagesArrLocations.size()));
menuItem.showSubItem(gallery_menu_save);
shareButton.setVisibility(View.VISIBLE);
} else if (!imagesArrLocals.isEmpty()) {
currentPathObject = imagesArrLocals.get(index).path;
actionBarLayer.setTitle(LocaleController.formatString("Of", R.string.Of, currentIndex + 1, imagesArrLocals.size()));
actionBar.setTitle(LocaleController.formatString("Of", R.string.Of, currentIndex + 1, imagesArrLocals.size()));
if (placeProvider.isPhotoChecked(currentIndex)) {
checkImageView.setBackgroundColor(0xff42d1f6);
......@@ -1559,7 +1554,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
return;
}
actionBarLayer.setTitle(LocaleController.formatString("Of", R.string.Of, 1, 1));
actionBar.setTitle(LocaleController.formatString("Of", R.string.Of, 1, 1));
NotificationCenter.getInstance().addObserver(this, NotificationCenter.FileDidFailedLoad);
NotificationCenter.getInstance().addObserver(this, NotificationCenter.FileDidLoaded);
NotificationCenter.getInstance().addObserver(this, NotificationCenter.FileLoadProgressChanged);
......
......@@ -45,7 +45,6 @@ import org.telegram.messenger.TLRPC;
import org.telegram.android.MessageObject;
import org.telegram.android.PhotoObject;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.AvatarDrawable;
import org.telegram.ui.Views.BackupImageView;
......@@ -59,7 +58,7 @@ import java.util.ArrayList;
public class PopupNotificationActivity extends Activity implements NotificationCenter.NotificationCenterDelegate {
private ActionBarLayer actionBarLayer;
private ActionBar actionBar;
private ChatActivityEnterView chatActivityEnterView;
private BackupImageView avatarImageView;
private TextView countText;
......@@ -182,19 +181,16 @@ public class PopupNotificationActivity extends Activity implements NotificationC
messageContainer = new FrameLayoutTouch(this);
popupContainer.addView(messageContainer, 0);
ActionBar actionBar = new ActionBar(this);
actionBar = new ActionBar(this);
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackgroundResource(R.color.header);
actionBar.setItemsBackground(R.drawable.bar_selector);
popupContainer.addView(actionBar);
ViewGroup.LayoutParams layoutParams = actionBar.getLayoutParams();
layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;
actionBar.setLayoutParams(layoutParams);
actionBarLayer = actionBar.createLayer();
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackgroundResource(R.color.header);
actionBarLayer.setItemsBackground(R.drawable.bar_selector);
actionBar.setCurrentActionBarLayer(actionBarLayer);
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
View view = menu.addItemResource(2, R.layout.popup_count_layout);
countText = (TextView) view.findViewById(R.id.count_text);
......@@ -202,7 +198,7 @@ public class PopupNotificationActivity extends Activity implements NotificationC
avatarImageView = (BackupImageView)view.findViewById(R.id.chat_avatar_image);
avatarImageView.processDetach = false;
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -715,7 +711,7 @@ public class PopupNotificationActivity extends Activity implements NotificationC
}
private void updateInterfaceForCurrentMessage(int move) {
if (actionBarLayer == null) {
if (actionBar == null) {
return;
}
currentChat = null;
......@@ -736,15 +732,15 @@ public class PopupNotificationActivity extends Activity implements NotificationC
}
if (currentChat != null && currentUser != null) {
actionBarLayer.setTitle(currentChat.title);
actionBarLayer.setSubtitle(ContactsController.formatName(currentUser.first_name, currentUser.last_name));
actionBarLayer.setTitleIcon(0, 0);
actionBar.setTitle(currentChat.title);
actionBar.setSubtitle(ContactsController.formatName(currentUser.first_name, currentUser.last_name));
actionBar.setTitleIcon(0, 0);
} else if (currentUser != null) {
actionBarLayer.setTitle(ContactsController.formatName(currentUser.first_name, currentUser.last_name));
actionBar.setTitle(ContactsController.formatName(currentUser.first_name, currentUser.last_name));
if ((int)dialog_id == 0) {
actionBarLayer.setTitleIcon(R.drawable.ic_lock_white, AndroidUtilities.dp(4));
actionBar.setTitleIcon(R.drawable.ic_lock_white, AndroidUtilities.dp(4));
} else {
actionBarLayer.setTitleIcon(0, 0);
actionBar.setTitleIcon(0, 0);
}
}
......@@ -755,7 +751,7 @@ public class PopupNotificationActivity extends Activity implements NotificationC
}
private void updateSubtitle() {
if (actionBarLayer == null) {
if (actionBar == null) {
return;
}
if (currentChat != null || currentUser == null) {
......@@ -763,12 +759,12 @@ public class PopupNotificationActivity extends Activity implements NotificationC
}
if (currentUser.id / 1000 != 777 && currentUser.id / 1000 != 333 && ContactsController.getInstance().contactsDict.get(currentUser.id) == null && (ContactsController.getInstance().contactsDict.size() != 0 || !ContactsController.getInstance().isLoadingContacts())) {
if (currentUser.phone != null && currentUser.phone.length() != 0) {
actionBarLayer.setTitle(PhoneFormat.getInstance().format("+" + currentUser.phone));
actionBar.setTitle(PhoneFormat.getInstance().format("+" + currentUser.phone));
} else {
actionBarLayer.setTitle(ContactsController.formatName(currentUser.first_name, currentUser.last_name));
actionBar.setTitle(ContactsController.formatName(currentUser.first_name, currentUser.last_name));
}
} else {
actionBarLayer.setTitle(ContactsController.formatName(currentUser.first_name, currentUser.last_name));
actionBar.setTitle(ContactsController.formatName(currentUser.first_name, currentUser.last_name));
}
CharSequence printString = MessagesController.getInstance().printingStrings.get(currentMessageObject.getDialogId());
if (printString == null || printString.length() == 0) {
......@@ -778,10 +774,10 @@ public class PopupNotificationActivity extends Activity implements NotificationC
if (user != null) {
currentUser = user;
}
actionBarLayer.setSubtitle(LocaleController.formatUserStatus(currentUser));
actionBar.setSubtitle(LocaleController.formatUserStatus(currentUser));
} else {
lastPrintString = printString;
actionBarLayer.setSubtitle(printString);
actionBar.setSubtitle(printString);
setTypingAnimation(true);
}
}
......@@ -816,18 +812,18 @@ public class PopupNotificationActivity extends Activity implements NotificationC
}
private void setTypingAnimation(boolean start) {
if (actionBarLayer == null) {
if (actionBar == null) {
return;
}
if (start) {
try {
actionBarLayer.setSubTitleIcon(0, typingDotsDrawable, AndroidUtilities.dp(4));
actionBar.setSubTitleIcon(0, typingDotsDrawable, AndroidUtilities.dp(4));
typingDotsDrawable.start();
} catch (Exception e) {
FileLog.e("tmessages", e);
}
} else {
actionBarLayer.setSubTitleIcon(0, null, 0);
actionBar.setSubTitleIcon(0, null, 0);
typingDotsDrawable.stop();
}
}
......
......@@ -23,9 +23,11 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.FrameLayout;
import android.widget.ListView;
import android.widget.TextView;
import org.telegram.android.AndroidUtilities;
import org.telegram.android.MessagesController;
import org.telegram.android.MessagesStorage;
import org.telegram.messenger.ConnectionsManager;
......@@ -37,8 +39,9 @@ import org.telegram.messenger.RPCRequest;
import org.telegram.messenger.TLObject;
import org.telegram.messenger.TLRPC;
import org.telegram.ui.Adapters.BaseFragmentAdapter;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.BaseFragment;
import org.telegram.ui.Views.AvatarDrawable;
import org.telegram.ui.Views.ColorPickerView;
public class ProfileNotificationsActivity extends BaseFragment implements NotificationCenter.NotificationCenterDelegate {
......@@ -76,12 +79,10 @@ public class ProfileNotificationsActivity extends BaseFragment implements Notifi
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBarLayer.setTitle(LocaleController.getString("NotificationsAndSounds", R.string.NotificationsAndSounds));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
actionBar.setTitle(LocaleController.getString("NotificationsAndSounds", R.string.NotificationsAndSounds));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -90,9 +91,19 @@ public class ProfileNotificationsActivity extends BaseFragment implements Notifi
}
});
fragmentView = inflater.inflate(R.layout.settings_layout, container, false);
listView = (ListView)fragmentView.findViewById(R.id.listView);
fragmentView = new FrameLayout(getParentActivity());
FrameLayout frameLayout = (FrameLayout) fragmentView;
listView = new ListView(getParentActivity());
listView.setDivider(null);
listView.setDividerHeight(0);
listView.setVerticalScrollBarEnabled(false);
AndroidUtilities.setListViewEdgeEffectColor(listView, AvatarDrawable.getProfileBackColorForId(5));
frameLayout.addView(listView);
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) listView.getLayoutParams();
layoutParams.width = FrameLayout.LayoutParams.MATCH_PARENT;
layoutParams.height = FrameLayout.LayoutParams.MATCH_PARENT;
listView.setLayoutParams(layoutParams);
listView.setAdapter(new ListAdapter(getParentActivity()));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
......@@ -253,14 +264,6 @@ public class ProfileNotificationsActivity extends BaseFragment implements Notifi
return fragmentView;
}
@Override
public void onResume() {
super.onResume();
if (parentLayout != null) {
parentLayout.getDrawerLayoutContainer().setStatusBarColor(0xff54759e);
}
}
public void updateServerNotificationsSettings() {
if ((int)dialog_id == 0) {
return;
......
......@@ -28,7 +28,7 @@ import org.telegram.android.NotificationCenter;
import org.telegram.messenger.R;
import org.telegram.ui.Adapters.BaseFragmentAdapter;
import org.telegram.ui.Cells.UserCell;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.ActionBar.BaseFragment;
......@@ -60,10 +60,10 @@ public class SettingsBlockedUsersActivity extends BaseFragment implements Notifi
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBarLayer.setTitle(LocaleController.getString("BlockedUsers", R.string.BlockedUsers));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
actionBar.setTitle(LocaleController.getString("BlockedUsers", R.string.BlockedUsers));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -80,7 +80,7 @@ public class SettingsBlockedUsersActivity extends BaseFragment implements Notifi
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
menu.addItem(block_user, R.drawable.plus);
fragmentView = inflater.inflate(R.layout.settings_blocked_users_layout, container, false);
......
......@@ -45,15 +45,15 @@ public class SettingsChangeNameActivity extends BaseFragment {
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setCustomView(R.layout.settings_do_action_layout);
Button cancelButton = (Button)actionBarLayer.findViewById(R.id.cancel_button);
actionBar.setCustomView(R.layout.settings_do_action_layout);
Button cancelButton = (Button) actionBar.findViewById(R.id.cancel_button);
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finishFragment();
}
});
doneButton = actionBarLayer.findViewById(R.id.done_button);
doneButton = actionBar.findViewById(R.id.done_button);
doneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
......
......@@ -59,15 +59,15 @@ public class SettingsChangeUsernameActivity extends BaseFragment {
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setCustomView(R.layout.settings_do_action_layout);
Button cancelButton = (Button)actionBarLayer.findViewById(R.id.cancel_button);
actionBar.setCustomView(R.layout.settings_do_action_layout);
Button cancelButton = (Button) actionBar.findViewById(R.id.cancel_button);
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finishFragment();
}
});
doneButton = actionBarLayer.findViewById(R.id.done_button);
doneButton = actionBar.findViewById(R.id.done_button);
doneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
......
......@@ -22,6 +22,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
......@@ -39,8 +40,10 @@ import org.telegram.android.MessagesController;
import org.telegram.messenger.R;
import org.telegram.messenger.RPCRequest;
import org.telegram.ui.Adapters.BaseFragmentAdapter;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Cells.TextCheckCell;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.BaseFragment;
import org.telegram.ui.Views.AvatarDrawable;
import org.telegram.ui.Views.ColorPickerView;
import org.telegram.ui.Views.SettingsSectionLayout;
......@@ -119,10 +122,10 @@ public class SettingsNotificationsActivity extends BaseFragment implements Notif
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
actionBarLayer.setTitle(LocaleController.getString("NotificationsAndSounds", R.string.NotificationsAndSounds));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout);
actionBar.setTitle(LocaleController.getString("NotificationsAndSounds", R.string.NotificationsAndSounds));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -131,10 +134,20 @@ public class SettingsNotificationsActivity extends BaseFragment implements Notif
}
});
fragmentView = inflater.inflate(R.layout.settings_layout, container, false);
final ListAdapter listAdapter = new ListAdapter(getParentActivity());
listView = (ListView)fragmentView.findViewById(R.id.listView);
listView.setAdapter(listAdapter);
fragmentView = new FrameLayout(getParentActivity());
FrameLayout frameLayout = (FrameLayout) fragmentView;
listView = new ListView(getParentActivity());
listView.setDivider(null);
listView.setDividerHeight(0);
listView.setVerticalScrollBarEnabled(false);
AndroidUtilities.setListViewEdgeEffectColor(listView, AvatarDrawable.getProfileBackColorForId(5));
frameLayout.addView(listView);
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) listView.getLayoutParams();
layoutParams.width = FrameLayout.LayoutParams.MATCH_PARENT;
layoutParams.height = FrameLayout.LayoutParams.MATCH_PARENT;
listView.setLayoutParams(layoutParams);
listView.setAdapter(new ListAdapter(getParentActivity()));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, final int i, long l) {
......@@ -559,13 +572,10 @@ public class SettingsNotificationsActivity extends BaseFragment implements Notif
}
} if (type == 1) {
if (view == null) {
LayoutInflater li = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = li.inflate(R.layout.settings_row_check_notify_layout, viewGroup, false);
view = new TextCheckCell(mContext);
}
TextView textView = (TextView)view.findViewById(R.id.settings_row_text);
View divider = view.findViewById(R.id.settings_row_divider);
TextCheckCell checkCell = (TextCheckCell) view;
ImageView checkButton = (ImageView)view.findViewById(R.id.settings_row_check_button);
SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("Notifications", Activity.MODE_PRIVATE);
boolean enabled = false;
boolean enabledAll = preferences.getBoolean("EnableAll", true);
......@@ -577,49 +587,28 @@ public class SettingsNotificationsActivity extends BaseFragment implements Notif
} else if (i == groupAlertRow) {
enabled = enabledGroup;
}
textView.setText(LocaleController.getString("Alert", R.string.Alert));
divider.setVisibility(View.VISIBLE);
checkCell.setTextAndCheck(LocaleController.getString("Alert", R.string.Alert), enabled, true);
} else if (i == messagePreviewRow || i == groupPreviewRow) {
if (i == messagePreviewRow) {
enabled = preferences.getBoolean("EnablePreviewAll", true);
} else if (i == groupPreviewRow) {
enabled = preferences.getBoolean("EnablePreviewGroup", true);
}
textView.setText(LocaleController.getString("MessagePreview", R.string.MessagePreview));
divider.setVisibility(View.VISIBLE);
checkCell.setTextAndCheck(LocaleController.getString("MessagePreview", R.string.MessagePreview), enabled, true);
} else if (i == inappSoundRow) {
enabled = preferences.getBoolean("EnableInAppSounds", true);
textView.setText(LocaleController.getString("InAppSounds", R.string.InAppSounds));
divider.setVisibility(View.VISIBLE);
checkCell.setTextAndCheck(LocaleController.getString("InAppSounds", R.string.InAppSounds), preferences.getBoolean("EnableInAppSounds", true), true);
} else if (i == inappVibrateRow) {
enabled = preferences.getBoolean("EnableInAppVibrate", true);
textView.setText(LocaleController.getString("InAppVibrate", R.string.InAppVibrate));
divider.setVisibility(View.VISIBLE);
checkCell.setTextAndCheck(LocaleController.getString("InAppVibrate", R.string.InAppVibrate), preferences.getBoolean("EnableInAppVibrate", true), true);
} else if (i == inappPreviewRow) {
enabled = preferences.getBoolean("EnableInAppPreview", true);
textView.setText(LocaleController.getString("InAppPreview", R.string.InAppPreview));
divider.setVisibility(View.INVISIBLE);
checkCell.setTextAndCheck(LocaleController.getString("InAppPreview", R.string.InAppPreview), preferences.getBoolean("EnableInAppPreview", true), false);
} else if (i == contactJoinedRow) {
enabled = preferences.getBoolean("EnableContactJoined", true);
textView.setText(LocaleController.getString("ContactJoined", R.string.ContactJoined));
divider.setVisibility(View.INVISIBLE);
checkCell.setTextAndCheck(LocaleController.getString("ContactJoined", R.string.ContactJoined), preferences.getBoolean("EnableContactJoined", true), false);
} else if (i == pebbleAlertRow) {
enabled = preferences.getBoolean("EnablePebbleNotifications", false);
textView.setText(LocaleController.getString("Pebble", R.string.Pebble));
divider.setVisibility(View.INVISIBLE);
checkCell.setTextAndCheck(LocaleController.getString("Pebble", R.string.Pebble), preferences.getBoolean("EnablePebbleNotifications", false), false);
} else if (i == notificationsServiceRow) {
enabled = preferences.getBoolean("pushService", true);
textView.setText(LocaleController.getString("NotificationsService", R.string.NotificationsService));
divider.setVisibility(View.INVISIBLE);
checkCell.setTextAndCheck(LocaleController.getString("NotificationsService", R.string.NotificationsService), preferences.getBoolean("pushService", true), false);
} else if (i == badgeNumberRow) {
enabled = preferences.getBoolean("badgeNumber", true);
textView.setText(LocaleController.getString("BadgeNumber", R.string.BadgeNumber));
divider.setVisibility(View.VISIBLE);
}
if (enabled) {
checkButton.setImageResource(R.drawable.btn_check_on);
} else {
checkButton.setImageResource(R.drawable.btn_check_off);
checkCell.setTextAndCheck(LocaleController.getString("BadgeNumber", R.string.BadgeNumber), preferences.getBoolean("badgeNumber", true), true);
}
} else if (type == 2) {
if (view == null) {
......
......@@ -99,15 +99,15 @@ public class SettingsWallpapersActivity extends BaseFragment implements Notifica
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setCustomView(R.layout.settings_do_action_layout);
Button cancelButton = (Button)actionBarLayer.findViewById(R.id.cancel_button);
actionBar.setCustomView(R.layout.settings_do_action_layout);
Button cancelButton = (Button) actionBar.findViewById(R.id.cancel_button);
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finishFragment();
}
});
doneButton = actionBarLayer.findViewById(R.id.done_button);
doneButton = actionBar.findViewById(R.id.done_button);
doneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
......
......@@ -46,7 +46,7 @@ import org.telegram.android.MediaController;
import org.telegram.messenger.FileLog;
import org.telegram.messenger.R;
import org.telegram.messenger.Utilities;
import org.telegram.ui.Views.ActionBar.ActionBarLayer;
import org.telegram.ui.Views.ActionBar.ActionBar;
import org.telegram.ui.Views.ActionBar.ActionBarMenu;
import org.telegram.ui.Views.ActionBar.BaseFragment;
import org.telegram.ui.Views.VideoSeekBarView;
......@@ -220,11 +220,11 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
@Override
public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) {
actionBarLayer.setBackgroundColor(0xff333333);
actionBarLayer.setItemsBackground(R.drawable.bar_selector_white);
actionBarLayer.setBackButtonImage(R.drawable.ic_ab_back);
actionBarLayer.setTitle(LocaleController.getString("EditVideo", R.string.EditVideo));
actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
actionBar.setBackgroundColor(0xff333333);
actionBar.setItemsBackground(R.drawable.bar_selector_white);
actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setTitle(LocaleController.getString("EditVideo", R.string.EditVideo));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override
public void onItemClick(int id) {
if (id == -1) {
......@@ -253,7 +253,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
}
});
ActionBarMenu menu = actionBarLayer.createMenu();
ActionBarMenu menu = actionBar.createMenu();
View doneItem = menu.addItemResource(1, R.layout.group_create_done_layout);
TextView doneTextView = (TextView) doneItem.findViewById(R.id.done_button);
......
......@@ -20,14 +20,12 @@ import org.telegram.android.AndroidUtilities;
public class ActionBarMenu extends LinearLayout {
private ActionBar parentActionBar;
private ActionBarLayer parentActionBarLayer;
protected ActionBar parentActionBar;
public ActionBarMenu(Context context, ActionBar actionBar, ActionBarLayer layer) {
public ActionBarMenu(Context context, ActionBar layer) {
super(context);
setOrientation(LinearLayout.HORIZONTAL);
parentActionBar = actionBar;
parentActionBarLayer = layer;
parentActionBar = layer;
}
public ActionBarMenu(Context context) {
......@@ -49,7 +47,7 @@ public class ActionBarMenu extends LinearLayout {
addView(view);
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams)view.getLayoutParams();
layoutParams.height = FrameLayout.LayoutParams.FILL_PARENT;
view.setBackgroundResource(parentActionBarLayer.itemsBackgroundResourceId);
view.setBackgroundResource(parentActionBar.itemsBackgroundResourceId);
view.setLayoutParams(layoutParams);
view.setOnClickListener(new OnClickListener() {
@Override
......@@ -61,11 +59,11 @@ public class ActionBarMenu extends LinearLayout {
}
public ActionBarMenuItem addItem(int id, int icon) {
return addItem(id, icon, parentActionBarLayer.itemsBackgroundResourceId);
return addItem(id, icon, parentActionBar.itemsBackgroundResourceId);
}
public ActionBarMenuItem addItem(int id, int icon, int backgroundResource) {
ActionBarMenuItem menuItem = new ActionBarMenuItem(getContext(), this, parentActionBar, backgroundResource);
ActionBarMenuItem menuItem = new ActionBarMenuItem(getContext(), this, backgroundResource);
menuItem.setTag(id);
menuItem.setScaleType(ImageView.ScaleType.CENTER);
menuItem.setImageResource(icon);
......@@ -79,11 +77,11 @@ public class ActionBarMenu extends LinearLayout {
public void onClick(View view) {
ActionBarMenuItem item = (ActionBarMenuItem)view;
if (item.hasSubMenu()) {
if (parentActionBarLayer.actionBarMenuOnItemClick.canOpenMenu()) {
if (parentActionBar.actionBarMenuOnItemClick.canOpenMenu()) {
item.toggleSubMenu();
}
} else if (item.isSearchField()) {
parentActionBarLayer.onSearchFieldVisibilityChanged(item.toggleSearch());
parentActionBar.onSearchFieldVisibilityChanged(item.toggleSearch());
} else {
onItemClick((Integer)view.getTag());
}
......@@ -102,8 +100,8 @@ public class ActionBarMenu extends LinearLayout {
}
public void onItemClick(int id) {
if (parentActionBarLayer.actionBarMenuOnItemClick != null) {
parentActionBarLayer.actionBarMenuOnItemClick.onItemClick(id);
if (parentActionBar.actionBarMenuOnItemClick != null) {
parentActionBar.actionBarMenuOnItemClick.onItemClick(id);
}
}
......@@ -132,7 +130,7 @@ public class ActionBarMenu extends LinearLayout {
if (view instanceof ActionBarMenuItem) {
ActionBarMenuItem item = (ActionBarMenuItem)view;
if (item.isSearchField()) {
parentActionBarLayer.onSearchFieldVisibilityChanged(item.toggleSearch());
parentActionBar.onSearchFieldVisibilityChanged(item.toggleSearch());
}
}
}
......
......@@ -13,7 +13,6 @@ import android.graphics.Rect;
import android.os.Build;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.view.ActionMode;
import android.view.ContextMenu;
import android.view.Gravity;
......@@ -48,7 +47,6 @@ public class ActionBarMenuItem extends ImageView {
private ActionBarPopupWindow.ActionBarPopupWindowLayout popupLayout;
private ActionBarMenu parentMenu;
private ActionBarPopupWindow popupWindow;
private ActionBar parentActionBar;
private EditText searchField;
private boolean isSearchField = false;
private ActionBarMenuItemSearchListener listener;
......@@ -57,23 +55,10 @@ public class ActionBarMenuItem extends ImageView {
private View selectedMenuView;
private Runnable showMenuRunnable;
public ActionBarMenuItem(Context context, ActionBarMenu menu, ActionBar actionBar, int background) {
public ActionBarMenuItem(Context context, ActionBarMenu menu, int background) {
super(context);
setBackgroundResource(background);
parentMenu = menu;
parentActionBar = actionBar;
}
public ActionBarMenuItem(Context context) {
super(context);
}
public ActionBarMenuItem(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ActionBarMenuItem(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
......@@ -254,10 +239,10 @@ public class ActionBarMenuItem extends ImageView {
}
popupWindow.setFocusable(true);
if (popupLayout.getMeasuredWidth() == 0) {
popupWindow.showAsDropDown(this, parentActionBar.getMeasuredWidth() - popupLayout.getMeasuredWidth() - getLeft() - parentMenu.getLeft(), -getMeasuredHeight());
popupWindow.update(this, parentActionBar.getMeasuredWidth() - popupLayout.getMeasuredWidth() - getLeft() - parentMenu.getLeft(), -getMeasuredHeight(), -1, -1);
popupWindow.showAsDropDown(this, parentMenu.parentActionBar.getMeasuredWidth() - popupLayout.getMeasuredWidth() - getLeft() - parentMenu.getLeft(), -getMeasuredHeight());
popupWindow.update(this, parentMenu.parentActionBar.getMeasuredWidth() - popupLayout.getMeasuredWidth() - getLeft() - parentMenu.getLeft(), -getMeasuredHeight(), -1, -1);
} else {
popupWindow.showAsDropDown(this, parentActionBar.getMeasuredWidth() - popupLayout.getMeasuredWidth() - getLeft() - parentMenu.getLeft(), -getMeasuredHeight());
popupWindow.showAsDropDown(this, parentMenu.parentActionBar.getMeasuredWidth() - popupLayout.getMeasuredWidth() - getLeft() - parentMenu.getLeft(), -getMeasuredHeight());
}
}
......@@ -402,10 +387,10 @@ public class ActionBarMenuItem extends ImageView {
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
if (popupWindow != null && popupWindow.isShowing()) {
int x = parentActionBar.getMeasuredWidth() - popupLayout.getMeasuredWidth() - getLeft() - parentMenu.getLeft();
int x = parentMenu.parentActionBar.getMeasuredWidth() - popupLayout.getMeasuredWidth() - getLeft() - parentMenu.getLeft();
int y = -getMeasuredHeight();
FileLog.e("tmessages", "x = " + x + " y = " + y);
popupWindow.update(this, parentActionBar.getMeasuredWidth() - popupLayout.getMeasuredWidth() - getLeft() - parentMenu.getLeft(), -getMeasuredHeight(), -1, -1);
popupWindow.update(this, parentMenu.parentActionBar.getMeasuredWidth() - popupLayout.getMeasuredWidth() - getLeft() - parentMenu.getLeft(), -getMeasuredHeight(), -1, -1);
}
}
......
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<decelerateInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
android:factor="1.5" />
This diff is collapsed.
This diff is collapsed.
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_attach.png

1.64 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_attach.png

1.64 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_attach.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_attach.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_attach.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_attach.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_doc.png

883 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_doc.png

1.08 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_doc.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_doc.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_doc.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_doc.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_done_gray.png

1.28 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_done_gray.png

1.15 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_done_gray.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_done_gray.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_done_gray.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_done_gray.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_copy.png

273 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_copy.png

1.13 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_copy.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_copy.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_copy.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_copy.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_delete.png

617 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_delete.png

1.07 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_delete.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_delete.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_delete.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_delete.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_forward.png

585 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_forward.png

1.37 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_forward.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_forward.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_forward.png
TMessagesProj/src/main/res/drawable-hdpi/ic_ab_fwd_forward.png
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment