Commit 6866004a authored by DrKLO's avatar DrKLO

Material everywhere

parent ce33df07
...@@ -80,7 +80,7 @@ android { ...@@ -80,7 +80,7 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 8 minSdkVersion 8
targetSdkVersion 21 targetSdkVersion 21
versionCode 382 versionCode 383
versionName "2.0.0" versionName "2.0.0"
} }
} }
/****************************************************************************** /******************************************************************************
** This file is an amalgamation of many separate C source files from SQLite ** This file is an amalgamation of many separate C source files from SQLite
** version 3.8.7. By combining all the individual C code files into this ** version 3.8.7.1. By combining all the individual C code files into this
** single large file, the entire code can be compiled as a single translation ** single large file, the entire code can be compiled as a single translation
** unit. This allows many compilers to do optimizations that would not be ** unit. This allows many compilers to do optimizations that would not be
** possible if the files were compiled separately. Performance improvements ** possible if the files were compiled separately. Performance improvements
...@@ -231,9 +231,9 @@ extern "C" { ...@@ -231,9 +231,9 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()]. ** [sqlite_version()] and [sqlite_source_id()].
*/ */
#define SQLITE_VERSION "3.8.7" #define SQLITE_VERSION "3.8.7.1"
#define SQLITE_VERSION_NUMBER 3008007 #define SQLITE_VERSION_NUMBER 3008007
#define SQLITE_SOURCE_ID "2014-10-17 11:24:17 e4ab094f8afce0817f4074e823fabe59fc29ebb4" #define SQLITE_SOURCE_ID "2014-10-29 13:59:56 3b7b72c4685aa5cf5e675c2c47ebec10d9704221"
/* /*
** CAPI3REF: Run-Time Library Version Numbers ** CAPI3REF: Run-Time Library Version Numbers
...@@ -20756,11 +20756,7 @@ SQLITE_PRIVATE int sqlite3ApiExit(sqlite3* db, int rc){ ...@@ -20756,11 +20756,7 @@ SQLITE_PRIVATE int sqlite3ApiExit(sqlite3* db, int rc){
** the glibc version so the glibc version is definitely preferred. ** the glibc version so the glibc version is definitely preferred.
*/ */
#if !defined(HAVE_STRCHRNUL) #if !defined(HAVE_STRCHRNUL)
# if defined(linux)
# define HAVE_STRCHRNUL 1
# else
# define HAVE_STRCHRNUL 0 # define HAVE_STRCHRNUL 0
# endif
#endif #endif
...@@ -42806,6 +42802,14 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){ ...@@ -42806,6 +42802,14 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){
rc = SQLITE_OK; rc = SQLITE_OK;
}else{ }else{
rc = sqlite3OsTruncate(pPager->jfd, 0); rc = sqlite3OsTruncate(pPager->jfd, 0);
if( rc==SQLITE_OK && pPager->fullSync ){
/* Make sure the new file size is written into the inode right away.
** Otherwise the journal might resurrect following a power loss and
** cause the last transaction to roll back. See
** https://bugzilla.mozilla.org/show_bug.cgi?id=1072773
*/
rc = sqlite3OsSync(pPager->jfd, pPager->syncFlags);
}
} }
pPager->journalOff = 0; pPager->journalOff = 0;
}else if( pPager->journalMode==PAGER_JOURNALMODE_PERSIST }else if( pPager->journalMode==PAGER_JOURNALMODE_PERSIST
...@@ -71443,7 +71447,7 @@ case OP_Column: { ...@@ -71443,7 +71447,7 @@ case OP_Column: {
if( pOp->p4type==P4_MEM ){ if( pOp->p4type==P4_MEM ){
sqlite3VdbeMemShallowCopy(pDest, pOp->p4.pMem, MEM_Static); sqlite3VdbeMemShallowCopy(pDest, pOp->p4.pMem, MEM_Static);
}else{ }else{
MemSetTypeFlag(pDest, MEM_Null); sqlite3VdbeMemSetNull(pDest);
} }
goto op_column_out; goto op_column_out;
} }
...@@ -93757,7 +93761,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( ...@@ -93757,7 +93761,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom(
assert( nKey==nPk ); /* OP_Found will use an unpacked key */ assert( nKey==nPk ); /* OP_Found will use an unpacked key */
assert( !IsVirtual(pTab) ); assert( !IsVirtual(pTab) );
if( aToOpen[iDataCur-iTabCur] ){ if( aToOpen[iDataCur-iTabCur] ){
assert( pPk!=0 ); assert( pPk!=0 || pTab->pSelect!=0 );
sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, addrBypass, iKey, nKey); sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, addrBypass, iKey, nKey);
VdbeCoverage(v); VdbeCoverage(v);
} }
...@@ -111281,8 +111285,8 @@ SQLITE_PRIVATE void sqlite3Update( ...@@ -111281,8 +111285,8 @@ SQLITE_PRIVATE void sqlite3Update(
/* Top of the update loop */ /* Top of the update loop */
if( okOnePass ){ if( okOnePass ){
if( aToOpen[iDataCur-iBaseCur] ){ if( aToOpen[iDataCur-iBaseCur] && !isView ){
assert( pPk!=0 ); assert( pPk );
sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, labelBreak, regKey, nKey); sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, labelBreak, regKey, nKey);
VdbeCoverageNeverTaken(v); VdbeCoverageNeverTaken(v);
} }
...@@ -107,9 +107,9 @@ extern "C" { ...@@ -107,9 +107,9 @@ extern "C" {
** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
** [sqlite_version()] and [sqlite_source_id()]. ** [sqlite_version()] and [sqlite_source_id()].
*/ */
#define SQLITE_VERSION "3.8.7" #define SQLITE_VERSION "3.8.7.1"
#define SQLITE_VERSION_NUMBER 3008007 #define SQLITE_VERSION_NUMBER 3008007
#define SQLITE_SOURCE_ID "2014-10-17 11:24:17 e4ab094f8afce0817f4074e823fabe59fc29ebb4" #define SQLITE_SOURCE_ID "2014-10-29 13:59:56 3b7b72c4685aa5cf5e675c2c47ebec10d9704221"
/* /*
** CAPI3REF: Run-Time Library Version Numbers ** CAPI3REF: Run-Time Library Version Numbers
......
...@@ -1354,7 +1354,11 @@ public class MessagesController implements NotificationCenter.NotificationCenter ...@@ -1354,7 +1354,11 @@ public class MessagesController implements NotificationCenter.NotificationCenter
req.peer.user_id = user.id; req.peer.user_id = user.id;
} }
} }
if (load_type == 3) {
req.offset = -count / 2;
} else {
req.offset = 0; req.offset = 0;
}
req.limit = count; req.limit = count;
req.max_id = max_id; req.max_id = max_id;
long reqId = ConnectionsManager.getInstance().performRpc(req, new RPCRequest.RPCRequestDelegate() { long reqId = ConnectionsManager.getInstance().performRpc(req, new RPCRequest.RPCRequestDelegate() {
......
...@@ -130,6 +130,9 @@ public class MessagesStorage { ...@@ -130,6 +130,9 @@ public class MessagesStorage {
database.executeFast("CREATE TABLE sent_files_v2(uid TEXT, type INTEGER, data BLOB, PRIMARY KEY (uid, type))").stepThis().dispose(); database.executeFast("CREATE TABLE sent_files_v2(uid TEXT, type INTEGER, data BLOB, PRIMARY KEY (uid, type))").stepThis().dispose();
database.executeFast("CREATE TABLE messages_holes(uid INTEGER, start INTEGER, end INTEGER, PRIMARY KEY(uid, start));").stepThis().dispose();
database.executeFast("CREATE INDEX IF NOT EXISTS type_uid_end_messages_holes ON messages_holes(uid, end);").stepThis().dispose();
database.executeFast("CREATE INDEX IF NOT EXISTS type_date_idx_download_queue ON download_queue(type, date);").stepThis().dispose(); database.executeFast("CREATE INDEX IF NOT EXISTS type_date_idx_download_queue ON download_queue(type, date);").stepThis().dispose();
database.executeFast("CREATE INDEX IF NOT EXISTS mid_idx_randoms ON randoms(mid);").stepThis().dispose(); database.executeFast("CREATE INDEX IF NOT EXISTS mid_idx_randoms ON randoms(mid);").stepThis().dispose();
...@@ -185,7 +188,7 @@ public class MessagesStorage { ...@@ -185,7 +188,7 @@ public class MessagesStorage {
} }
int version = database.executeInt("PRAGMA user_version"); int version = database.executeInt("PRAGMA user_version");
if (version < 7) { if (version < 9) {
updateDbToLastVersion(version); updateDbToLastVersion(version);
} }
} }
...@@ -320,6 +323,12 @@ public class MessagesStorage { ...@@ -320,6 +323,12 @@ public class MessagesStorage {
database.executeFast("PRAGMA user_version = 8").stepThis().dispose(); database.executeFast("PRAGMA user_version = 8").stepThis().dispose();
version = 8; version = 8;
}*/ }*/
if ((version == 7 || version == 8) && version < 9) {
database.executeFast("CREATE TABLE IF NOT EXISTS messages_holes(uid INTEGER, start INTEGER, end INTEGER, PRIMARY KEY(uid, start));").stepThis().dispose();
database.executeFast("CREATE INDEX IF NOT EXISTS type_uid_end_messages_holes ON messages_holes(uid, end);").stepThis().dispose();
database.executeFast("PRAGMA user_version = 9").stepThis().dispose();
version = 9;
}
} catch (Exception e) { } catch (Exception e) {
FileLog.e("tmessages", e); FileLog.e("tmessages", e);
} }
...@@ -1617,11 +1626,13 @@ public class MessagesStorage { ...@@ -1617,11 +1626,13 @@ public class MessagesStorage {
int min_unread_id = 0; int min_unread_id = 0;
int last_message_id = 0; int last_message_id = 0;
int max_unread_date = 0; int max_unread_date = 0;
int hole_start = Integer.MAX_VALUE;
int hole_end = Integer.MAX_VALUE;
try { try {
ArrayList<Integer> loadedUsers = new ArrayList<Integer>(); ArrayList<Integer> loadedUsers = new ArrayList<Integer>();
ArrayList<Integer> fromUser = new ArrayList<Integer>(); ArrayList<Integer> fromUser = new ArrayList<Integer>();
SQLiteCursor cursor; SQLiteCursor cursor = null;
int lower_id = (int)dialog_id; int lower_id = (int)dialog_id;
if (lower_id != 0) { if (lower_id != 0) {
...@@ -1632,8 +1643,19 @@ public class MessagesStorage { ...@@ -1632,8 +1643,19 @@ public class MessagesStorage {
} }
cursor.dispose(); cursor.dispose();
boolean containMessage = false;
cursor = database.queryFinalized(String.format(Locale.US, "SELECT mid FROM messages WHERE mid = %d", max_id));
if (cursor.next()) {
containMessage = true;
}
cursor.dispose();
if (containMessage) {
cursor = database.queryFinalized(String.format(Locale.US, "SELECT * FROM (SELECT read_state, data, send_state, mid, date FROM messages WHERE uid = %d AND mid <= %d ORDER BY date DESC, mid DESC LIMIT %d) UNION " + cursor = database.queryFinalized(String.format(Locale.US, "SELECT * FROM (SELECT read_state, data, send_state, mid, date FROM messages WHERE uid = %d AND mid <= %d ORDER BY date DESC, mid DESC LIMIT %d) UNION " +
"SELECT * FROM (SELECT read_state, data, send_state, mid, date FROM messages WHERE uid = %d AND mid > %d ORDER BY date ASC, mid ASC LIMIT %d)", dialog_id, max_id, count_query / 2, dialog_id, max_id, count_query / 2)); "SELECT * FROM (SELECT read_state, data, send_state, mid, date FROM messages WHERE uid = %d AND mid > %d ORDER BY date ASC, mid ASC LIMIT %d)", dialog_id, max_id, count_query / 2, dialog_id, max_id, count_query / 2 - 1));
} else {
cursor = null;
}
} else if (load_type == 1) { } else if (load_type == 1) {
cursor = database.queryFinalized(String.format(Locale.US, "SELECT read_state, data, send_state, mid, date FROM messages WHERE uid = %d AND date >= %d AND mid > %d ORDER BY date ASC, mid ASC LIMIT %d", dialog_id, minDate, max_id, count_query)); cursor = database.queryFinalized(String.format(Locale.US, "SELECT read_state, data, send_state, mid, date FROM messages WHERE uid = %d AND date >= %d AND mid > %d ORDER BY date ASC, mid ASC LIMIT %d", dialog_id, minDate, max_id, count_query));
} else if (minDate != 0) { } else if (minDate != 0) {
...@@ -1724,16 +1746,17 @@ public class MessagesStorage { ...@@ -1724,16 +1746,17 @@ public class MessagesStorage {
cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d ORDER BY m.mid ASC LIMIT %d,%d", dialog_id, offset_query, count_query)); cursor = database.queryFinalized(String.format(Locale.US, "SELECT m.read_state, m.data, m.send_state, m.mid, m.date, r.random_id FROM messages as m LEFT JOIN randoms as r ON r.mid = m.mid WHERE m.uid = %d ORDER BY m.mid ASC LIMIT %d,%d", dialog_id, offset_query, count_query));
} }
} }
if (cursor != null) {
while (cursor.next()) { while (cursor.next()) {
ByteBufferDesc data = buffersStorage.getFreeBuffer(cursor.byteArrayLength(1)); ByteBufferDesc data = buffersStorage.getFreeBuffer(cursor.byteArrayLength(1));
if (data != null && cursor.byteBufferValue(1, data.buffer) != 0) { if (data != null && cursor.byteBufferValue(1, data.buffer) != 0) {
if (load_type == 3 && res.messages.isEmpty()) { /*if (load_type == 3 && res.messages.isEmpty()) {
int id = cursor.intValue(3); int id = cursor.intValue(3);
if (id > max_id) { if (id > max_id) {
break; break;
} }
} }*/
TLRPC.Message message = (TLRPC.Message)TLClassStore.Instance().TLdeserialize(data, data.readInt32()); TLRPC.Message message = (TLRPC.Message) TLClassStore.Instance().TLdeserialize(data, data.readInt32());
MessageObject.setIsUnread(message, cursor.intValue(0) != 1); MessageObject.setIsUnread(message, cursor.intValue(0) != 1);
message.id = cursor.intValue(3); message.id = cursor.intValue(3);
message.date = cursor.intValue(4); message.date = cursor.intValue(4);
...@@ -1759,7 +1782,7 @@ public class MessagesStorage { ...@@ -1759,7 +1782,7 @@ public class MessagesStorage {
if (lower_id == 0 && !cursor.isNull(5)) { if (lower_id == 0 && !cursor.isNull(5)) {
message.random_id = cursor.longValue(5); message.random_id = cursor.longValue(5);
} }
if ((int)dialog_id == 0 && message.media != null && message.media.photo != null) { if ((int) dialog_id == 0 && message.media != null && message.media.photo != null) {
try { try {
SQLiteCursor cursor2 = database.queryFinalized(String.format(Locale.US, "SELECT date FROM enc_tasks_v2 WHERE mid = %d", message.id)); SQLiteCursor cursor2 = database.queryFinalized(String.format(Locale.US, "SELECT date FROM enc_tasks_v2 WHERE mid = %d", message.id));
if (cursor2.next()) { if (cursor2.next()) {
...@@ -1774,6 +1797,7 @@ public class MessagesStorage { ...@@ -1774,6 +1797,7 @@ public class MessagesStorage {
buffersStorage.reuseFreeBuffer(data); buffersStorage.reuseFreeBuffer(data);
} }
cursor.dispose(); cursor.dispose();
}
Collections.sort(res.messages, new Comparator<TLRPC.Message>() { Collections.sort(res.messages, new Comparator<TLRPC.Message>() {
@Override @Override
......
...@@ -23,7 +23,6 @@ import android.widget.TextView; ...@@ -23,7 +23,6 @@ import android.widget.TextView;
import org.telegram.android.AndroidUtilities; import org.telegram.android.AndroidUtilities;
import org.telegram.messenger.R; import org.telegram.messenger.R;
import org.telegram.ui.AnimationCompat.ViewProxy;
public class ActionBar extends FrameLayout { public class ActionBar extends FrameLayout {
...@@ -43,15 +42,17 @@ public class ActionBar extends FrameLayout { ...@@ -43,15 +42,17 @@ public class ActionBar extends FrameLayout {
private TextView subTitleTextView; private TextView subTitleTextView;
private ActionBarMenu menu; private ActionBarMenu menu;
private ActionBarMenu actionMode; private ActionBarMenu actionMode;
private View actionOverlay;
private boolean occupyStatusBar = Build.VERSION.SDK_INT >= 21; private boolean occupyStatusBar = Build.VERSION.SDK_INT >= 21;
private boolean allowOverlayTitle;
private CharSequence lastTitle;
private boolean showingOverlayTitle;
protected boolean isSearchFieldVisible; protected boolean isSearchFieldVisible;
protected int itemsBackgroundResourceId; protected int itemsBackgroundResourceId;
private boolean isBackOverlayVisible; private boolean isBackOverlayVisible;
protected BaseFragment parentFragment; protected BaseFragment parentFragment;
public ActionBarMenuOnItemClick actionBarMenuOnItemClick; public ActionBarMenuOnItemClick actionBarMenuOnItemClick;
private float alphaEx = 1;
private int extraHeight; private int extraHeight;
public ActionBar(Context context) { public ActionBar(Context context) {
...@@ -182,7 +183,6 @@ public class ActionBar extends FrameLayout { ...@@ -182,7 +183,6 @@ public class ActionBar extends FrameLayout {
} }
backButtonImageView = new ImageView(getContext()); backButtonImageView = new ImageView(getContext());
titleFrameLayout.addView(backButtonImageView); titleFrameLayout.addView(backButtonImageView);
backButtonImageView.setVisibility(VISIBLE);
backButtonImageView.setScaleType(ImageView.ScaleType.CENTER); backButtonImageView.setScaleType(ImageView.ScaleType.CENTER);
backButtonImageView.setBackgroundResource(itemsBackgroundResourceId); backButtonImageView.setBackgroundResource(itemsBackgroundResourceId);
backButtonImageView.setOnClickListener(new OnClickListener() { backButtonImageView.setOnClickListener(new OnClickListener() {
...@@ -273,6 +273,7 @@ public class ActionBar extends FrameLayout { ...@@ -273,6 +273,7 @@ public class ActionBar extends FrameLayout {
createTitleTextView(); createTitleTextView();
} }
if (titleTextView != null) { if (titleTextView != null) {
lastTitle = value;
titleTextView.setVisibility(value != null ? VISIBLE : GONE); titleTextView.setVisibility(value != null ? VISIBLE : GONE);
titleTextView.setText(value); titleTextView.setText(value);
positionTitle(getMeasuredWidth(), getMeasuredHeight()); positionTitle(getMeasuredWidth(), getMeasuredHeight());
...@@ -364,7 +365,7 @@ public class ActionBar extends FrameLayout { ...@@ -364,7 +365,7 @@ public class ActionBar extends FrameLayout {
} }
actionMode.setVisibility(GONE); actionMode.setVisibility(GONE);
if (titleFrameLayout != null) { if (titleFrameLayout != null) {
titleFrameLayout.setVisibility(isSearchFieldVisible || actionOverlay == null || actionOverlay.getVisibility() == GONE ? VISIBLE : INVISIBLE); titleFrameLayout.setVisibility(VISIBLE);
} }
if (menu != null) { if (menu != null) {
menu.setVisibility(VISIBLE); menu.setVisibility(VISIBLE);
...@@ -387,7 +388,6 @@ public class ActionBar extends FrameLayout { ...@@ -387,7 +388,6 @@ public class ActionBar extends FrameLayout {
if (drawable != null && drawable instanceof MenuDrawable) { if (drawable != null && drawable instanceof MenuDrawable) {
((MenuDrawable)drawable).setRotation(visible ? 1 : 0, true); ((MenuDrawable)drawable).setRotation(visible ? 1 : 0, true);
} }
positionBackOverlay(getMeasuredWidth(), getMeasuredHeight());
} }
public void closeSearchField() { public void closeSearchField() {
...@@ -403,25 +403,10 @@ public class ActionBar extends FrameLayout { ...@@ -403,25 +403,10 @@ public class ActionBar extends FrameLayout {
positionBackImage(actionBarHeight); positionBackImage(actionBarHeight);
positionMenu(MeasureSpec.getSize(widthMeasureSpec), actionBarHeight); positionMenu(MeasureSpec.getSize(widthMeasureSpec), actionBarHeight);
positionTitle(MeasureSpec.getSize(widthMeasureSpec), actionBarHeight); positionTitle(MeasureSpec.getSize(widthMeasureSpec), actionBarHeight);
positionBackOverlay(MeasureSpec.getSize(widthMeasureSpec), actionBarHeight);
actionBarHeight += occupyStatusBar ? AndroidUtilities.statusBarHeight : 0; actionBarHeight += occupyStatusBar ? AndroidUtilities.statusBarHeight : 0;
super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(actionBarHeight + extraHeight, MeasureSpec.EXACTLY)); super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(actionBarHeight + extraHeight, MeasureSpec.EXACTLY));
} }
public void setAlphaEx(float alpha) {
alphaEx = alpha;
if (menu != null) {
ViewProxy.setAlpha(menu, alphaEx);
}
if (titleFrameLayout != null) {
ViewProxy.setAlpha(titleFrameLayout, alphaEx);
}
}
public float getAlphaEx() {
return alphaEx;
}
public void onMenuButtonPressed() { public void onMenuButtonPressed() {
if (menu != null) { if (menu != null) {
menu.onMenuButtonPressed(); menu.onMenuButtonPressed();
...@@ -434,30 +419,24 @@ public class ActionBar extends FrameLayout { ...@@ -434,30 +419,24 @@ public class ActionBar extends FrameLayout {
} }
} }
public void setBackOverlay(int resourceId) { public void setAllowOverlayTitle(boolean value) {
LayoutInflater li = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); allowOverlayTitle = value;
actionOverlay = li.inflate(resourceId, null);
addView(actionOverlay);
actionOverlay.setVisibility(GONE);
actionOverlay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (actionBarMenuOnItemClick != null) {
actionBarMenuOnItemClick.onItemClick(-1);
}
}
});
} }
public void setBackOverlayVisible(boolean visible) { public void setTitleOverlayText(String text) {
if (actionOverlay == null || parentFragment == null || parentFragment.parentLayout == null) { if (showingOverlayTitle == (text != null) || !allowOverlayTitle || parentFragment.parentLayout == null) {
return; return;
} }
isBackOverlayVisible = visible; showingOverlayTitle = text != null;
if (visible) { CharSequence textToSet = text != null ? text : lastTitle;
parentFragment.parentLayout.onOverlayShow(actionOverlay, parentFragment); if (textToSet != null && titleTextView == null) {
createTitleTextView();
}
if (titleTextView != null) {
titleTextView.setVisibility(textToSet != null ? VISIBLE : GONE);
titleTextView.setText(textToSet);
positionTitle(getMeasuredWidth(), getMeasuredHeight());
} }
positionBackOverlay(getMeasuredWidth(), getMeasuredHeight());
} }
public void setExtraHeight(int value, boolean layout) { public void setExtraHeight(int value, boolean layout) {
...@@ -471,24 +450,6 @@ public class ActionBar extends FrameLayout { ...@@ -471,24 +450,6 @@ public class ActionBar extends FrameLayout {
return extraHeight; return extraHeight;
} }
private void positionBackOverlay(int widthMeasureSpec, int heightMeasureSpec) {
if (actionOverlay == null) {
return;
}
titleFrameLayout.setVisibility(isSearchFieldVisible || actionOverlay == null || actionOverlay.getVisibility() == GONE ? VISIBLE : INVISIBLE);
actionOverlay.setVisibility(!isSearchFieldVisible && isBackOverlayVisible ? VISIBLE : GONE);
if (actionOverlay.getVisibility() == VISIBLE) {
MarginLayoutParams layoutParams = (MarginLayoutParams) actionOverlay.getLayoutParams();
layoutParams.width = LayoutParams.WRAP_CONTENT;
layoutParams.height = LayoutParams.MATCH_PARENT;
actionOverlay.setLayoutParams(layoutParams);
actionOverlay.measure(widthMeasureSpec, heightMeasureSpec);
layoutParams.topMargin = occupyStatusBar ? AndroidUtilities.statusBarHeight : 0;
layoutParams.width = Math.min(actionOverlay.getMeasuredWidth() + AndroidUtilities.dp(4), widthMeasureSpec - (menu != null ? menu.getMeasuredWidth() : 0));
actionOverlay.setLayoutParams(layoutParams);
}
}
public void setOccupyStatusBar(boolean value) { public void setOccupyStatusBar(boolean value) {
occupyStatusBar = value; occupyStatusBar = value;
} }
......
...@@ -42,7 +42,6 @@ public class ActionBarLayout extends FrameLayout { ...@@ -42,7 +42,6 @@ public class ActionBarLayout extends FrameLayout {
public static interface ActionBarLayoutDelegate { public static interface ActionBarLayoutDelegate {
public abstract boolean onPreIme(); public abstract boolean onPreIme();
public abstract void onOverlayShow(View view, BaseFragment fragment);
public abstract boolean needPresentFragment(BaseFragment fragment, boolean removeLast, boolean forceWithoutAnimation, ActionBarLayout layout); public abstract boolean needPresentFragment(BaseFragment fragment, boolean removeLast, boolean forceWithoutAnimation, ActionBarLayout layout);
public abstract boolean needAddFragmentToStack(BaseFragment fragment, ActionBarLayout layout); public abstract boolean needAddFragmentToStack(BaseFragment fragment, ActionBarLayout layout);
public abstract boolean needCloseLastFragment(ActionBarLayout layout); public abstract boolean needCloseLastFragment(ActionBarLayout layout);
...@@ -128,6 +127,8 @@ public class ActionBarLayout extends FrameLayout { ...@@ -128,6 +127,8 @@ public class ActionBarLayout extends FrameLayout {
private View backgroundView; private View backgroundView;
private boolean removeActionBarExtraHeight; private boolean removeActionBarExtraHeight;
private String titleOverlayText;
private ActionBarLayoutDelegate delegate = null; private ActionBarLayoutDelegate delegate = null;
protected Activity parentActivity = null; protected Activity parentActivity = null;
...@@ -332,6 +333,7 @@ public class ActionBarLayout extends FrameLayout { ...@@ -332,6 +333,7 @@ public class ActionBarLayout extends FrameLayout {
lastFragment.actionBar.setOccupyStatusBar(false); lastFragment.actionBar.setOccupyStatusBar(false);
} }
containerViewBack.addView(lastFragment.actionBar); containerViewBack.addView(lastFragment.actionBar);
lastFragment.actionBar.setTitleOverlayText(titleOverlayText);
} }
containerViewBack.addView(fragmentView); containerViewBack.addView(fragmentView);
ViewGroup.LayoutParams layoutParams = fragmentView.getLayoutParams(); ViewGroup.LayoutParams layoutParams = fragmentView.getLayoutParams();
...@@ -558,6 +560,7 @@ public class ActionBarLayout extends FrameLayout { ...@@ -558,6 +560,7 @@ public class ActionBarLayout extends FrameLayout {
fragment.actionBar.setOccupyStatusBar(false); fragment.actionBar.setOccupyStatusBar(false);
} }
containerViewBack.addView(fragment.actionBar); containerViewBack.addView(fragment.actionBar);
fragment.actionBar.setTitleOverlayText(titleOverlayText);
} }
containerViewBack.addView(fragmentView); containerViewBack.addView(fragmentView);
ViewGroup.LayoutParams layoutParams = fragmentView.getLayoutParams(); ViewGroup.LayoutParams layoutParams = fragmentView.getLayoutParams();
...@@ -695,6 +698,7 @@ public class ActionBarLayout extends FrameLayout { ...@@ -695,6 +698,7 @@ public class ActionBarLayout extends FrameLayout {
previousFragment.actionBar.setOccupyStatusBar(false); previousFragment.actionBar.setOccupyStatusBar(false);
} }
containerView.addView(previousFragment.actionBar); containerView.addView(previousFragment.actionBar);
previousFragment.actionBar.setTitleOverlayText(titleOverlayText);
} }
containerView.addView(fragmentView); containerView.addView(fragmentView);
ViewGroup.LayoutParams layoutParams = fragmentView.getLayoutParams(); ViewGroup.LayoutParams layoutParams = fragmentView.getLayoutParams();
...@@ -798,6 +802,7 @@ public class ActionBarLayout extends FrameLayout { ...@@ -798,6 +802,7 @@ public class ActionBarLayout extends FrameLayout {
parent.removeView(previousFragment.actionBar); parent.removeView(previousFragment.actionBar);
} }
containerView.addView(previousFragment.actionBar); containerView.addView(previousFragment.actionBar);
previousFragment.actionBar.setTitleOverlayText(titleOverlayText);
} }
containerView.addView(fragmentView); containerView.addView(fragmentView);
ViewGroup.LayoutParams layoutParams = fragmentView.getLayoutParams(); ViewGroup.LayoutParams layoutParams = fragmentView.getLayoutParams();
...@@ -842,12 +847,6 @@ public class ActionBarLayout extends FrameLayout { ...@@ -842,12 +847,6 @@ public class ActionBarLayout extends FrameLayout {
return super.onKeyUp(keyCode, event); return super.onKeyUp(keyCode, event);
} }
protected void onOverlayShow(View view, BaseFragment fragment) {
if (delegate != null) {
delegate.onOverlayShow(view, fragment);
}
}
public void onActionModeStarted(ActionMode mode) { public void onActionModeStarted(ActionMode mode) {
if (currentActionBar != null) { if (currentActionBar != null) {
currentActionBar.setVisibility(GONE); currentActionBar.setVisibility(GONE);
...@@ -942,4 +941,13 @@ public class ActionBarLayout extends FrameLayout { ...@@ -942,4 +941,13 @@ public class ActionBarLayout extends FrameLayout {
public void setRemoveActionBarExtraHeight(boolean value) { public void setRemoveActionBarExtraHeight(boolean value) {
removeActionBarExtraHeight = value; removeActionBarExtraHeight = value;
} }
public void setTitleOverlayText(String text) {
titleOverlayText = text;
for (BaseFragment fragment : fragmentsStack) {
if (fragment.actionBar != null) {
fragment.actionBar.setTitleOverlayText(titleOverlayText);
}
}
}
} }
...@@ -57,6 +57,7 @@ public class DialogsSearchAdapter extends BaseContactsSearchAdapter { ...@@ -57,6 +57,7 @@ public class DialogsSearchAdapter extends BaseContactsSearchAdapter {
public DialogsSearchAdapter(Context context, boolean messagesSearch) { public DialogsSearchAdapter(Context context, boolean messagesSearch) {
mContext = context; mContext = context;
needMessagesSearch = messagesSearch; needMessagesSearch = messagesSearch;
needMessagesSearch = false;
} }
public void setDelegate(MessagesActivitySearchAdapterDelegate delegate) { public void setDelegate(MessagesActivitySearchAdapterDelegate delegate) {
......
...@@ -67,7 +67,7 @@ public class BlockedUsersActivity extends BaseFragment implements NotificationCe ...@@ -67,7 +67,7 @@ public class BlockedUsersActivity extends BaseFragment implements NotificationCe
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("BlockedUsers", R.string.BlockedUsers)); actionBar.setTitle(LocaleController.getString("BlockedUsers", R.string.BlockedUsers));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -74,6 +74,8 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD ...@@ -74,6 +74,8 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
private boolean photoNotSet = false; private boolean photoNotSet = false;
private boolean cancelLoading = false; private boolean cancelLoading = false;
private boolean allowedToSetPhoto = true;
private int TAG; private int TAG;
private int buttonState = 0; private int buttonState = 0;
...@@ -595,18 +597,19 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD ...@@ -595,18 +597,19 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
} }
} }
if (photoExist || MediaController.getInstance().canDownloadMedia(MediaController.AUTODOWNLOAD_MASK_PHOTO)) { if (photoExist || MediaController.getInstance().canDownloadMedia(MediaController.AUTODOWNLOAD_MASK_PHOTO)) {
if (allowedToSetPhoto || ImageLoader.getInstance().getImageFromMemory(currentPhotoObject.photoOwner.location, null, currentPhotoFilter, null) != null) {
allowedToSetPhoto = true;
if (messageObject.imagePreview != null) { if (messageObject.imagePreview != null) {
photoImage.setImage(currentPhotoObject.photoOwner.location, currentPhotoFilter, new BitmapDrawable(messageObject.imagePreview), noSize ? 0 : currentPhotoObject.photoOwner.size, false); photoImage.setImage(currentPhotoObject.photoOwner.location, currentPhotoFilter, new BitmapDrawable(messageObject.imagePreview), noSize ? 0 : currentPhotoObject.photoOwner.size, false);
} else { } else {
photoImage.setImage(currentPhotoObject.photoOwner.location, currentPhotoFilter, null, noSize ? 0 : currentPhotoObject.photoOwner.size, false); photoImage.setImage(currentPhotoObject.photoOwner.location, currentPhotoFilter, null, noSize ? 0 : currentPhotoObject.photoOwner.size, false);
} }
} else { } else {
photoNotSet = true;
if (messageObject.imagePreview != null) {
photoImage.setImageBitmap(messageObject.imagePreview); photoImage.setImageBitmap(messageObject.imagePreview);
} else {
photoImage.setImageBitmap((Bitmap)null);
} }
} else {
photoNotSet = true;
photoImage.setImageBitmap(messageObject.imagePreview);
} }
} }
} else { } else {
...@@ -800,6 +803,18 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD ...@@ -800,6 +803,18 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
} }
} }
public void setAllowedToSetPhoto(boolean value) {
if (allowedToSetPhoto == value) {
return;
}
allowedToSetPhoto = value;
if (value && currentMessageObject != null && currentMessageObject.type == 1) {
MessageObject temp = currentMessageObject;
currentMessageObject = null;
setMessageObject(temp);
}
}
@Override @Override
protected void onAfterBackgroundDraw(Canvas canvas) { protected void onAfterBackgroundDraw(Canvas canvas) {
boolean imageDrawn = false; boolean imageDrawn = false;
......
...@@ -58,7 +58,7 @@ public class ChangeChatNameActivity extends BaseFragment { ...@@ -58,7 +58,7 @@ public class ChangeChatNameActivity extends BaseFragment {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("EditName", R.string.EditName)); actionBar.setTitle(LocaleController.getString("EditName", R.string.EditName));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -50,7 +50,7 @@ public class ChangeNameActivity extends BaseFragment { ...@@ -50,7 +50,7 @@ public class ChangeNameActivity extends BaseFragment {
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("EditName", R.string.EditName)); actionBar.setTitle(LocaleController.getString("EditName", R.string.EditName));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -63,7 +63,7 @@ public class ChangeUsernameActivity extends BaseFragment { ...@@ -63,7 +63,7 @@ public class ChangeUsernameActivity extends BaseFragment {
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("Username", R.string.Username)); actionBar.setTitle(LocaleController.getString("Username", R.string.Username));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -80,7 +80,7 @@ public class ContactAddActivity extends BaseFragment implements NotificationCent ...@@ -80,7 +80,7 @@ public class ContactAddActivity extends BaseFragment implements NotificationCent
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
if (addContact) { if (addContact) {
actionBar.setTitle(LocaleController.getString("AddContactTitle", R.string.AddContactTitle)); actionBar.setTitle(LocaleController.getString("AddContactTitle", R.string.AddContactTitle));
} else { } else {
......
...@@ -119,7 +119,7 @@ public class ContactsActivity extends BaseFragment implements NotificationCenter ...@@ -119,7 +119,7 @@ public class ContactsActivity extends BaseFragment implements NotificationCenter
searchWas = false; searchWas = false;
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(destroyAfterSelect ? LocaleController.getString("SelectContact", R.string.SelectContact) : LocaleController.getString("Contacts", R.string.Contacts)); actionBar.setTitle(destroyAfterSelect ? LocaleController.getString("SelectContact", R.string.SelectContact) : LocaleController.getString("Contacts", R.string.Contacts));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
......
...@@ -64,7 +64,7 @@ public class CountrySelectActivity extends BaseFragment { ...@@ -64,7 +64,7 @@ public class CountrySelectActivity extends BaseFragment {
public View createView(LayoutInflater inflater, final ViewGroup container) { public View createView(LayoutInflater inflater, final ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("ChooseCountry", R.string.ChooseCountry)); actionBar.setTitle(LocaleController.getString("ChooseCountry", R.string.ChooseCountry));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
......
...@@ -132,7 +132,7 @@ public class DocumentSelectActivity extends BaseFragment { ...@@ -132,7 +132,7 @@ public class DocumentSelectActivity extends BaseFragment {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("SelectFile", R.string.SelectFile)); actionBar.setTitle(LocaleController.getString("SelectFile", R.string.SelectFile));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -52,6 +52,7 @@ import org.telegram.ui.Adapters.ContactsSearchAdapter; ...@@ -52,6 +52,7 @@ import org.telegram.ui.Adapters.ContactsSearchAdapter;
import org.telegram.ui.ActionBar.ActionBar; import org.telegram.ui.ActionBar.ActionBar;
import org.telegram.ui.ActionBar.ActionBarMenu; import org.telegram.ui.ActionBar.ActionBarMenu;
import org.telegram.ui.ActionBar.BaseFragment; import org.telegram.ui.ActionBar.BaseFragment;
import org.telegram.ui.Cells.UserCell;
import org.telegram.ui.Views.SectionsListView; import org.telegram.ui.Views.SectionsListView;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -145,7 +146,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen ...@@ -145,7 +146,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
searchWas = false; searchWas = false;
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
if (isAlwaysShare) { if (isAlwaysShare) {
actionBar.setTitle(LocaleController.getString("AlwaysShareWithTitle", R.string.AlwaysShareWithTitle)); actionBar.setTitle(LocaleController.getString("AlwaysShareWithTitle", R.string.AlwaysShareWithTitle));
} else if (isNeverShare) { } else if (isNeverShare) {
...@@ -473,9 +474,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen ...@@ -473,9 +474,7 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
} else if (id == NotificationCenter.updateInterfaces) { } else if (id == NotificationCenter.updateInterfaces) {
int mask = (Integer)args[0]; int mask = (Integer)args[0];
if ((mask & MessagesController.UPDATE_MASK_AVATAR) != 0 || (mask & MessagesController.UPDATE_MASK_NAME) != 0 || (mask & MessagesController.UPDATE_MASK_STATUS) != 0) { if ((mask & MessagesController.UPDATE_MASK_AVATAR) != 0 || (mask & MessagesController.UPDATE_MASK_NAME) != 0 || (mask & MessagesController.UPDATE_MASK_STATUS) != 0) {
if (listView != null) { updateVisibleRows(mask);
listView.invalidateViews();
}
} }
} else if (id == NotificationCenter.chatDidCreated) { } else if (id == NotificationCenter.chatDidCreated) {
AndroidUtilities.runOnUIThread(new Runnable() { AndroidUtilities.runOnUIThread(new Runnable() {
...@@ -487,6 +486,18 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen ...@@ -487,6 +486,18 @@ public class GroupCreateActivity extends BaseFragment implements NotificationCen
} }
} }
private void updateVisibleRows(int mask) {
if (listView != null) {
int count = listView.getChildCount();
for (int a = 0; a < count; a++) {
View child = listView.getChildAt(a);
if (child instanceof UserCell) {
((UserCell) child).update(mask);
}
}
}
}
public void setDelegate(GroupCreateActivityDelegate delegate) { public void setDelegate(GroupCreateActivityDelegate delegate) {
this.delegate = delegate; this.delegate = delegate;
} }
......
...@@ -140,7 +140,7 @@ public class GroupCreateFinalActivity extends BaseFragment implements Notificati ...@@ -140,7 +140,7 @@ public class GroupCreateFinalActivity extends BaseFragment implements Notificati
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
if (isBroadcast) { if (isBroadcast) {
actionBar.setTitle(LocaleController.getString("NewBroadcastList", R.string.NewBroadcastList)); actionBar.setTitle(LocaleController.getString("NewBroadcastList", R.string.NewBroadcastList));
} else { } else {
......
...@@ -21,7 +21,6 @@ import android.widget.ImageView; ...@@ -21,7 +21,6 @@ import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import org.telegram.android.AndroidUtilities;
import org.telegram.android.LocaleController; import org.telegram.android.LocaleController;
import org.telegram.messenger.TLRPC; import org.telegram.messenger.TLRPC;
import org.telegram.android.MessagesController; import org.telegram.android.MessagesController;
...@@ -47,7 +46,7 @@ public class IdenticonActivity extends BaseFragment { ...@@ -47,7 +46,7 @@ public class IdenticonActivity extends BaseFragment {
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("EncryptionKey", R.string.EncryptionKey)); actionBar.setTitle(LocaleController.getString("EncryptionKey", R.string.EncryptionKey));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
......
...@@ -58,7 +58,7 @@ public class LanguageSelectActivity extends BaseFragment { ...@@ -58,7 +58,7 @@ public class LanguageSelectActivity extends BaseFragment {
searchWas = false; searchWas = false;
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("Language", R.string.Language)); actionBar.setTitle(LocaleController.getString("Language", R.string.Language));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
......
...@@ -101,7 +101,7 @@ public class LastSeenActivity extends BaseFragment implements NotificationCenter ...@@ -101,7 +101,7 @@ public class LastSeenActivity extends BaseFragment implements NotificationCenter
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("PrivacyLastSeen", R.string.PrivacyLastSeen)); actionBar.setTitle(LocaleController.getString("PrivacyLastSeen", R.string.PrivacyLastSeen));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -78,7 +78,7 @@ public class LastSeenUsersActivity extends BaseFragment implements NotificationC ...@@ -78,7 +78,7 @@ public class LastSeenUsersActivity extends BaseFragment implements NotificationC
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
if (isAlwaysShare) { if (isAlwaysShare) {
actionBar.setTitle(LocaleController.getString("AlwaysShareWithTitle", R.string.AlwaysShareWithTitle)); actionBar.setTitle(LocaleController.getString("AlwaysShareWithTitle", R.string.AlwaysShareWithTitle));
} else { } else {
......
...@@ -34,7 +34,6 @@ import android.widget.FrameLayout; ...@@ -34,7 +34,6 @@ import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.ListView; import android.widget.ListView;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import org.telegram.android.AndroidUtilities; import org.telegram.android.AndroidUtilities;
...@@ -917,7 +916,7 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa ...@@ -917,7 +916,7 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
Utilities.checkForUpdates(this); Utilities.checkForUpdates(this);
ApplicationLoader.mainInterfacePaused = false; ApplicationLoader.mainInterfacePaused = false;
ConnectionsManager.getInstance().setAppPaused(false, false); ConnectionsManager.getInstance().setAppPaused(false, false);
//actionBarLayout.getActionBar().setBackOverlayVisible(currentConnectionState != 0); updateCurrentConnectionState();
} }
@Override @Override
...@@ -958,13 +957,25 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa ...@@ -958,13 +957,25 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
if (currentConnectionState != state) { if (currentConnectionState != state) {
FileLog.e("tmessages", "switch to state " + state); FileLog.e("tmessages", "switch to state " + state);
currentConnectionState = state; currentConnectionState = state;
//actionBarLayout.getActionBar().setBackOverlayVisible(currentConnectionState != 0); updateCurrentConnectionState();
} }
} else if (id == NotificationCenter.mainUserInfoChanged) { } else if (id == NotificationCenter.mainUserInfoChanged) {
drawerLayoutAdapter.notifyDataSetChanged(); drawerLayoutAdapter.notifyDataSetChanged();
} }
} }
private void updateCurrentConnectionState() {
String text = null;
if (currentConnectionState == 1) {
text = LocaleController.getString("WaitingForNetwork", R.string.WaitingForNetwork);
} else if (currentConnectionState == 2) {
text = LocaleController.getString("Connecting", R.string.Connecting);
} else if (currentConnectionState == 3) {
text = LocaleController.getString("Updating", R.string.Updating);
}
actionBarLayout.setTitleOverlayText(text);
}
@Override @Override
protected void onSaveInstanceState(Bundle outState) { protected void onSaveInstanceState(Bundle outState) {
try { try {
...@@ -1070,24 +1081,6 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa ...@@ -1070,24 +1081,6 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
return false; return false;
} }
@Override
public void onOverlayShow(View view, BaseFragment fragment) {
if (view == null || fragment == null || actionBarLayout.fragmentsStack.isEmpty()) {
return;
}
View backStatusButton = view.findViewById(R.id.back_button);
TextView statusText = (TextView)view.findViewById(R.id.status_text);
backStatusButton.setVisibility(actionBarLayout.fragmentsStack.get(0) == fragment ? View.GONE : View.VISIBLE);
view.setEnabled(actionBarLayout.fragmentsStack.get(0) != fragment);
if (currentConnectionState == 1) {
statusText.setText(LocaleController.getString("WaitingForNetwork", R.string.WaitingForNetwork));
} else if (currentConnectionState == 2) {
statusText.setText(LocaleController.getString("Connecting", R.string.Connecting));
} else if (currentConnectionState == 3) {
statusText.setText(LocaleController.getString("Updating", R.string.Updating));
}
}
@Override @Override
public boolean onKeyUp(int keyCode, KeyEvent event) { public boolean onKeyUp(int keyCode, KeyEvent event) {
if (AndroidUtilities.isTablet()) { if (AndroidUtilities.isTablet()) {
......
...@@ -93,7 +93,7 @@ public class LocationActivity extends BaseFragment implements NotificationCenter ...@@ -93,7 +93,7 @@ public class LocationActivity extends BaseFragment implements NotificationCenter
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
if (messageObject != null) { if (messageObject != null) {
actionBar.setTitle(LocaleController.getString("ChatLocation", R.string.ChatLocation)); actionBar.setTitle(LocaleController.getString("ChatLocation", R.string.ChatLocation));
} else { } else {
......
...@@ -89,7 +89,7 @@ public class MediaActivity extends BaseFragment implements NotificationCenter.No ...@@ -89,7 +89,7 @@ public class MediaActivity extends BaseFragment implements NotificationCenter.No
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("SharedMedia", R.string.SharedMedia)); actionBar.setTitle(LocaleController.getString("SharedMedia", R.string.SharedMedia));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -202,7 +202,7 @@ public class MessagesActivity extends BaseFragment implements NotificationCenter ...@@ -202,7 +202,7 @@ public class MessagesActivity extends BaseFragment implements NotificationCenter
actionBar.setBackButtonDrawable(new MenuDrawable()); actionBar.setBackButtonDrawable(new MenuDrawable());
actionBar.setTitle(LocaleController.getString("AppName", R.string.AppName)); actionBar.setTitle(LocaleController.getString("AppName", R.string.AppName));
} }
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -136,7 +136,7 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif ...@@ -136,7 +136,7 @@ public class NotificationsSettingsActivity extends BaseFragment implements Notif
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("NotificationsAndSounds", R.string.NotificationsAndSounds)); actionBar.setTitle(LocaleController.getString("NotificationsAndSounds", R.string.NotificationsAndSounds));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -331,7 +331,7 @@ public class PhotoCropActivity extends BaseFragment { ...@@ -331,7 +331,7 @@ public class PhotoCropActivity extends BaseFragment {
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("AddContact", R.string.AddContact)); actionBar.setTitle(LocaleController.getString("AddContact", R.string.AddContact));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -145,9 +145,12 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen ...@@ -145,9 +145,12 @@ public class PhotoPickerActivity extends BaseFragment implements NotificationCen
}); });
cancelButton.setText(LocaleController.getString("Cancel", R.string.Cancel).toUpperCase()); cancelButton.setText(LocaleController.getString("Cancel", R.string.Cancel).toUpperCase());
cancelButton.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf"));
doneButtonTextView = (TextView)doneButton.findViewById(R.id.done_button_text); doneButtonTextView = (TextView)doneButton.findViewById(R.id.done_button_text);
doneButtonTextView.setText(LocaleController.getString("Send", R.string.Send).toUpperCase()); doneButtonTextView.setText(LocaleController.getString("Send", R.string.Send).toUpperCase());
doneButtonTextView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf"));
doneButtonBadgeTextView = (TextView)doneButton.findViewById(R.id.done_button_badge); doneButtonBadgeTextView = (TextView)doneButton.findViewById(R.id.done_button_badge);
doneButtonBadgeTextView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf"));
listView.setAdapter(listAdapter = new ListAdapter(getParentActivity())); listView.setAdapter(listAdapter = new ListAdapter(getParentActivity()));
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
......
...@@ -911,9 +911,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat ...@@ -911,9 +911,12 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
pickerView.setLayoutParams(layoutParams); pickerView.setLayoutParams(layoutParams);
cancelButton.setText(LocaleController.getString("Cancel", R.string.Cancel).toUpperCase()); cancelButton.setText(LocaleController.getString("Cancel", R.string.Cancel).toUpperCase());
cancelButton.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf"));
doneButtonTextView = (TextView)doneButton.findViewById(R.id.done_button_text); doneButtonTextView = (TextView)doneButton.findViewById(R.id.done_button_text);
doneButtonTextView.setText(LocaleController.getString("Send", R.string.Send).toUpperCase()); doneButtonTextView.setText(LocaleController.getString("Send", R.string.Send).toUpperCase());
doneButtonTextView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf"));
doneButtonBadgeTextView = (TextView)doneButton.findViewById(R.id.done_button_badge); doneButtonBadgeTextView = (TextView)doneButton.findViewById(R.id.done_button_badge);
doneButtonBadgeTextView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf"));
gestureDetector = new GestureDetector(containerView.getContext(), this); gestureDetector = new GestureDetector(containerView.getContext(), this);
gestureDetector.setOnDoubleTapListener(this); gestureDetector.setOnDoubleTapListener(this);
......
...@@ -91,7 +91,7 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio ...@@ -91,7 +91,7 @@ public class PrivacySettingsActivity extends BaseFragment implements Notificatio
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("PrivacySettings", R.string.PrivacySettings)); actionBar.setTitle(LocaleController.getString("PrivacySettings", R.string.PrivacySettings));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -81,7 +81,7 @@ public class ProfileNotificationsActivity extends BaseFragment implements Notifi ...@@ -81,7 +81,7 @@ public class ProfileNotificationsActivity extends BaseFragment implements Notifi
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("NotificationsAndSounds", R.string.NotificationsAndSounds)); actionBar.setTitle(LocaleController.getString("NotificationsAndSounds", R.string.NotificationsAndSounds));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
...@@ -83,6 +83,9 @@ public class AvatarDrawable extends Drawable { ...@@ -83,6 +83,9 @@ public class AvatarDrawable extends Drawable {
} }
public static int getColorIndex(int id) { public static int getColorIndex(int id) {
if (id >= 0 && id < 8) {
return id;
}
try { try {
String str; String str;
if (id >= 0) { if (id >= 0) {
......
...@@ -103,7 +103,7 @@ public class WallpapersActivity extends BaseFragment implements NotificationCent ...@@ -103,7 +103,7 @@ public class WallpapersActivity extends BaseFragment implements NotificationCent
public View createView(LayoutInflater inflater, ViewGroup container) { public View createView(LayoutInflater inflater, ViewGroup container) {
if (fragmentView == null) { if (fragmentView == null) {
actionBar.setBackButtonImage(R.drawable.ic_ab_back); actionBar.setBackButtonImage(R.drawable.ic_ab_back);
actionBar.setBackOverlay(R.layout.updating_state_layout); actionBar.setAllowOverlayTitle(true);
actionBar.setTitle(LocaleController.getString("ChatBackground", R.string.ChatBackground)); actionBar.setTitle(LocaleController.getString("ChatBackground", R.string.ChatBackground));
actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() { actionBar.setActionBarMenuOnItemClick(new ActionBar.ActionBarMenuOnItemClick() {
@Override @Override
......
TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_down.9.png

394 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_down.9.png

1.21 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_down.9.png
TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_down.9.png
TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_down.9.png
TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_down.9.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_up.9.png

382 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_up.9.png

1.21 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_up.9.png
TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_up.9.png
TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_up.9.png
TMessagesProj/src/main/res/drawable-hdpi/btn_send_location_up.9.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-hdpi/ic_msg_panel_hide.png

1.31 KB | W: | H:

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

1.32 KB | W: | H:

TMessagesProj/src/main/res/drawable-hdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-hdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-hdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-hdpi/ic_msg_panel_hide.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_down.9.png

290 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_down.9.png

1.13 KB | W: | H:

TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_down.9.png
TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_down.9.png
TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_down.9.png
TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_down.9.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_up.9.png

277 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_up.9.png

1.11 KB | W: | H:

TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_up.9.png
TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_up.9.png
TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_up.9.png
TMessagesProj/src/main/res/drawable-mdpi/btn_send_location_up.9.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-mdpi/ic_msg_panel_hide.png

1.21 KB | W: | H:

TMessagesProj/src/main/res/drawable-mdpi/ic_msg_panel_hide.png

1.14 KB | W: | H:

TMessagesProj/src/main/res/drawable-mdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-mdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-mdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-mdpi/ic_msg_panel_hide.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-xhdpi/btn_send_location_up.9.png

500 Bytes | W: | H:

TMessagesProj/src/main/res/drawable-xhdpi/btn_send_location_up.9.png

1.32 KB | W: | H:

TMessagesProj/src/main/res/drawable-xhdpi/btn_send_location_up.9.png
TMessagesProj/src/main/res/drawable-xhdpi/btn_send_location_up.9.png
TMessagesProj/src/main/res/drawable-xhdpi/btn_send_location_up.9.png
TMessagesProj/src/main/res/drawable-xhdpi/btn_send_location_up.9.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-xhdpi/ic_msg_panel_hide.png

1.37 KB | W: | H:

TMessagesProj/src/main/res/drawable-xhdpi/ic_msg_panel_hide.png

1.41 KB | W: | H:

TMessagesProj/src/main/res/drawable-xhdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-xhdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-xhdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-xhdpi/ic_msg_panel_hide.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-xxhdpi/ic_lock_header.png

1.27 KB | W: | H:

TMessagesProj/src/main/res/drawable-xxhdpi/ic_lock_header.png

1.19 KB | W: | H:

TMessagesProj/src/main/res/drawable-xxhdpi/ic_lock_header.png
TMessagesProj/src/main/res/drawable-xxhdpi/ic_lock_header.png
TMessagesProj/src/main/res/drawable-xxhdpi/ic_lock_header.png
TMessagesProj/src/main/res/drawable-xxhdpi/ic_lock_header.png
  • 2-up
  • Swipe
  • Onion skin
TMessagesProj/src/main/res/drawable-xxhdpi/ic_msg_panel_hide.png

1.51 KB | W: | H:

TMessagesProj/src/main/res/drawable-xxhdpi/ic_msg_panel_hide.png

1.74 KB | W: | H:

TMessagesProj/src/main/res/drawable-xxhdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-xxhdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-xxhdpi/ic_msg_panel_hide.png
TMessagesProj/src/main/res/drawable-xxhdpi/ic_msg_panel_hide.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="22dp" android:textSize="22dp"
android:textColor="#000000" android:textColor="#212121"
android:layout_marginRight="88dp" android:layout_marginRight="88dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginLeft="12dp" android:layout_marginLeft="12dp"
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="22dp" android:textSize="22dp"
android:textColor="#000000" android:textColor="#212121"
android:layout_marginLeft="88dp" android:layout_marginLeft="88dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginRight="12dp" android:layout_marginRight="12dp"
......
...@@ -14,21 +14,14 @@ ...@@ -14,21 +14,14 @@
android:paddingLeft="3dp" android:paddingLeft="3dp"
android:layout_width="0.0dip" android:layout_width="0.0dip"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_weight="1.0" android:layout_weight="1.0"/>
android:textStyle="bold"/>
<View
android:layout_gravity="center_vertical"
android:background="#5c5c5c"
android:layout_width="1px"
android:layout_height="28dp" />
<FrameLayout <FrameLayout
android:id="@+id/done_button" android:id="@+id/done_button"
android:background="@drawable/bar_selector_picker" android:background="@drawable/bar_selector_picker"
android:paddingRight="3dp" android:paddingRight="3dp"
android:clickable="true" android:clickable="true"
android:layout_width="0.0dip" android:layout_width="0dp"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_weight="1.0"> android:layout_weight="1.0">
...@@ -45,11 +38,12 @@ ...@@ -45,11 +38,12 @@
android:background="@drawable/photobadge" android:background="@drawable/photobadge"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="19dp" android:layout_height="23dp"
android:minWidth="23dp"
android:id="@+id/done_button_badge" android:id="@+id/done_button_badge"
android:paddingLeft="6dp" android:paddingLeft="8dp"
android:paddingRight="6dp" android:paddingRight="8dp"
android:textStyle="bold" android:paddingBottom="1dp"
android:layout_marginRight="10dp"/> android:layout_marginRight="10dp"/>
<TextView <TextView
...@@ -60,7 +54,7 @@ ...@@ -60,7 +54,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/done_button_text" android:id="@+id/done_button_text"
android:drawablePadding="8dp" android:drawablePadding="8dp"
android:textStyle="bold"/> android:layout_gravity="center_vertical"/>
</LinearLayout> </LinearLayout>
......
<org.telegram.ui.Views.FrameLayoutFixed
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="fill_parent"
android:background="@drawable/bar_selector"
android:id="@+id/back_button_background"
android:layout_gravity="top">
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/ic_ab_back"
android:layout_gravity="center_vertical|left"
android:layout_marginLeft="3dp"
android:id="@+id/back_button"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="16dp"
android:textColor="#ffffff"
android:textSize="17dp"
android:layout_gravity="center_vertical|left"
android:gravity="top|left"
android:ellipsize="end"
android:singleLine="true"
android:paddingRight="2dp"
android:id="@+id/status_text"/>
</org.telegram.ui.Views.FrameLayoutFixed>
\ No newline at end of file
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