Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
apk
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
apk
Commits
e5e31e20
Commit
e5e31e20
authored
Dec 04, 2014
by
DrKLO
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug fixes
parent
8233e89d
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
113 additions
and
66 deletions
+113
-66
build.gradle
TMessagesProj/build.gradle
+2
-2
SecretChatHelper.java
.../src/main/java/org/telegram/android/SecretChatHelper.java
+4
-3
SendMessagesHelper.java
...rc/main/java/org/telegram/android/SendMessagesHelper.java
+27
-0
Utilities.java
...sProj/src/main/java/org/telegram/messenger/Utilities.java
+1
-1
ActionBarLayout.java
.../main/java/org/telegram/ui/ActionBar/ActionBarLayout.java
+20
-0
ChatMediaCell.java
...oj/src/main/java/org/telegram/ui/Cells/ChatMediaCell.java
+7
-2
ChatActivity.java
...sagesProj/src/main/java/org/telegram/ui/ChatActivity.java
+6
-1
ChatActivityEnterView.java
...ava/org/telegram/ui/Components/ChatActivityEnterView.java
+33
-50
LaunchActivity.java
...gesProj/src/main/java/org/telegram/ui/LaunchActivity.java
+9
-3
PhotoViewer.java
TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java
+4
-4
No files found.
TMessagesProj/build.gradle
View file @
e5e31e20
...
...
@@ -80,7 +80,7 @@ android {
defaultConfig
{
minSdkVersion
8
targetSdkVersion
21
versionCode
40
3
versionName
"2.1.
0
"
versionCode
40
5
versionName
"2.1.
1
"
}
}
TMessagesProj/src/main/java/org/telegram/android/SecretChatHelper.java
View file @
e5e31e20
...
...
@@ -650,6 +650,7 @@ public class SecretChatHelper {
if
(
req
==
null
||
chat
.
auth_key
==
null
||
chat
instanceof
TLRPC
.
TL_encryptedChatRequested
||
chat
instanceof
TLRPC
.
TL_encryptedChatWaiting
)
{
return
;
}
SendMessagesHelper
.
getInstance
().
putToSendingMessages
(
newMsgObj
);
Utilities
.
stageQueue
.
postRunnable
(
new
Runnable
()
{
@Override
public
void
run
()
{
...
...
@@ -797,6 +798,7 @@ public class SecretChatHelper {
if
(
newMsgObj
.
media
instanceof
TLRPC
.
TL_messageMediaVideo
)
{
SendMessagesHelper
.
getInstance
().
stopVideoService
(
attachPath
);
}
SendMessagesHelper
.
getInstance
().
removeFromSendingMessages
(
newMsgObj
.
id
);
}
});
}
...
...
@@ -812,6 +814,7 @@ public class SecretChatHelper {
if
(
newMsgObj
.
media
instanceof
TLRPC
.
TL_messageMediaVideo
)
{
SendMessagesHelper
.
getInstance
().
stopVideoService
(
newMsgObj
.
attachPath
);
}
SendMessagesHelper
.
getInstance
().
removeFromSendingMessages
(
newMsgObj
.
id
);
}
});
}
...
...
@@ -1174,8 +1177,8 @@ public class SecretChatHelper {
if
(
serviceMessage
.
action
.
key_fingerprint
==
fingerprint
)
{
chat
.
future_auth_key
=
authKey
;
chat
.
future_key_fingerprint
=
fingerprint
;
MessagesStorage
.
getInstance
().
updateEncryptedChat
(
chat
);
sendCommitKeyMessage
(
chat
,
null
);
}
else
{
chat
.
future_auth_key
=
new
byte
[
256
];
chat
.
future_key_fingerprint
=
0
;
...
...
@@ -1183,8 +1186,6 @@ public class SecretChatHelper {
MessagesStorage
.
getInstance
().
updateEncryptedChat
(
chat
);
sendAbortKeyMessage
(
chat
,
null
,
serviceMessage
.
action
.
exchange_id
);
}
sendCommitKeyMessage
(
chat
,
null
);
}
else
{
chat
.
future_auth_key
=
new
byte
[
256
];
chat
.
future_key_fingerprint
=
0
;
...
...
TMessagesProj/src/main/java/org/telegram/android/SendMessagesHelper.java
View file @
e5e31e20
...
...
@@ -38,6 +38,7 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter
private
TLRPC
.
ChatParticipants
currentChatInfo
=
null
;
private
HashMap
<
String
,
ArrayList
<
DelayedMessage
>>
delayedMessages
=
new
HashMap
<
String
,
ArrayList
<
DelayedMessage
>>();
private
HashMap
<
Integer
,
MessageObject
>
unsentMessages
=
new
HashMap
<
Integer
,
MessageObject
>();
private
HashMap
<
Integer
,
TLRPC
.
Message
>
sendingMessages
=
new
HashMap
<
Integer
,
TLRPC
.
Message
>();
private
class
DelayedMessage
{
public
TLObject
sendRequest
;
...
...
@@ -77,6 +78,7 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter
public
void
cleanUp
()
{
delayedMessages
.
clear
();
unsentMessages
.
clear
();
sendingMessages
.
clear
();
currentChatInfo
=
null
;
}
...
...
@@ -309,6 +311,16 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter
}
else
if
(
messageObject
.
messageOwner
.
action
.
encryptedAction
instanceof
TLRPC
.
TL_decryptedMessageActionResend
)
{
}
else
if
(
messageObject
.
messageOwner
.
action
.
encryptedAction
instanceof
TLRPC
.
TL_decryptedMessageActionCommitKey
)
{
SecretChatHelper
.
getInstance
().
sendCommitKeyMessage
(
encryptedChat
,
messageObject
.
messageOwner
);
}
else
if
(
messageObject
.
messageOwner
.
action
.
encryptedAction
instanceof
TLRPC
.
TL_decryptedMessageActionAbortKey
)
{
SecretChatHelper
.
getInstance
().
sendAbortKeyMessage
(
encryptedChat
,
messageObject
.
messageOwner
,
0
);
}
else
if
(
messageObject
.
messageOwner
.
action
.
encryptedAction
instanceof
TLRPC
.
TL_decryptedMessageActionRequestKey
)
{
SecretChatHelper
.
getInstance
().
sendRequestKeyMessage
(
encryptedChat
,
messageObject
.
messageOwner
);
}
else
if
(
messageObject
.
messageOwner
.
action
.
encryptedAction
instanceof
TLRPC
.
TL_decryptedMessageActionAcceptKey
)
{
SecretChatHelper
.
getInstance
().
sendAcceptKeyMessage
(
encryptedChat
,
messageObject
.
messageOwner
);
}
else
if
(
messageObject
.
messageOwner
.
action
.
encryptedAction
instanceof
TLRPC
.
TL_decryptedMessageActionNoop
)
{
SecretChatHelper
.
getInstance
().
sendNoopMessage
(
encryptedChat
,
messageObject
.
messageOwner
);
}
return
true
;
}
...
...
@@ -1072,7 +1084,20 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter
});
}
protected
void
putToSendingMessages
(
TLRPC
.
Message
message
)
{
sendingMessages
.
put
(
message
.
id
,
message
);
}
protected
void
removeFromSendingMessages
(
int
mid
)
{
sendingMessages
.
remove
(
mid
);
}
public
boolean
isSendingMessage
(
int
mid
)
{
return
sendingMessages
.
containsKey
(
mid
);
}
private
void
performSendMessageRequest
(
final
TLObject
req
,
final
TLRPC
.
Message
newMsgObj
,
final
String
originalPath
)
{
putToSendingMessages
(
newMsgObj
);
ConnectionsManager
.
getInstance
().
performRpc
(
req
,
new
RPCRequest
.
RPCRequestDelegate
()
{
@Override
public
void
run
(
TLObject
response
,
TLRPC
.
TL_error
error
)
{
...
...
@@ -1131,6 +1156,7 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter
}
NotificationCenter
.
getInstance
().
postNotificationName
(
NotificationCenter
.
messageReceivedByServer
,
oldId
,
(
isBroadcast
?
oldId
:
newMsgObj
.
id
),
newMsgObj
);
processSentMessage
(
oldId
);
removeFromSendingMessages
(
oldId
);
}
});
if
(
newMsgObj
.
media
instanceof
TLRPC
.
TL_messageMediaVideo
)
{
...
...
@@ -1149,6 +1175,7 @@ public class SendMessagesHelper implements NotificationCenter.NotificationCenter
if
(
newMsgObj
.
media
instanceof
TLRPC
.
TL_messageMediaVideo
)
{
stopVideoService
(
newMsgObj
.
attachPath
);
}
removeFromSendingMessages
(
newMsgObj
.
id
);
}
});
}
...
...
TMessagesProj/src/main/java/org/telegram/messenger/Utilities.java
View file @
e5e31e20
...
...
@@ -112,7 +112,7 @@ public class Utilities {
private
native
static
void
aesIgeEncryption
(
ByteBuffer
buffer
,
byte
[]
key
,
byte
[]
iv
,
boolean
encrypt
,
int
offset
,
int
length
);
public
static
void
aesIgeEncryption
(
ByteBuffer
buffer
,
byte
[]
key
,
byte
[]
iv
,
boolean
encrypt
,
boolean
changeIv
,
int
offset
,
int
length
)
{
aesIgeEncryption
(
buffer
,
key
,
changeIv
?
iv
:
(
byte
[])
iv
.
clone
(),
encrypt
,
offset
,
length
);
aesIgeEncryption
(
buffer
,
key
,
changeIv
?
iv
:
iv
.
clone
(),
encrypt
,
offset
,
length
);
}
public
static
Integer
parseInt
(
String
value
)
{
...
...
TMessagesProj/src/main/java/org/telegram/ui/ActionBar/ActionBarLayout.java
View file @
e5e31e20
...
...
@@ -614,6 +614,11 @@ public class ActionBarLayout extends FrameLayout {
public
void
onAnimationEnd
(
Object
animation
)
{
onAnimationEndCheck
(
false
);
}
@Override
public
void
onAnimationCancel
(
Object
animation
)
{
onAnimationEndCheck
(
false
);
}
});
currentAnimation
.
start
();
}
else
{
...
...
@@ -638,6 +643,11 @@ public class ActionBarLayout extends FrameLayout {
public
void
onAnimationEnd
(
Object
animation
)
{
onAnimationEndCheck
(
false
);
}
@Override
public
void
onAnimationCancel
(
Object
animation
)
{
onAnimationEndCheck
(
false
);
}
});
currentAnimation
.
start
();
}
...
...
@@ -747,6 +757,11 @@ public class ActionBarLayout extends FrameLayout {
public
void
onAnimationEnd
(
Object
animation
)
{
onAnimationEndCheck
(
false
);
}
@Override
public
void
onAnimationCancel
(
Object
animation
)
{
onAnimationEndCheck
(
false
);
}
});
currentAnimation
.
start
();
}
...
...
@@ -784,6 +799,11 @@ public class ActionBarLayout extends FrameLayout {
public
void
onAnimationEnd
(
Object
animation
)
{
onAnimationEndCheck
(
false
);
}
@Override
public
void
onAnimationCancel
(
Object
animation
)
{
onAnimationEndCheck
(
false
);
}
});
currentAnimation
.
start
();
}
else
{
...
...
TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMediaCell.java
View file @
e5e31e20
...
...
@@ -25,6 +25,7 @@ import android.view.SoundEffectConstants;
import
org.telegram.android.AndroidUtilities
;
import
org.telegram.android.ImageLoader
;
import
org.telegram.android.LocaleController
;
import
org.telegram.android.SendMessagesHelper
;
import
org.telegram.messenger.ConnectionsManager
;
import
org.telegram.messenger.FileLoader
;
import
org.telegram.android.MediaController
;
...
...
@@ -335,6 +336,7 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
private
void
didPressedButton
(
boolean
animated
)
{
if
(
buttonState
==
0
)
{
cancelLoading
=
false
;
radialProgress
.
setProgress
(
0
,
false
);
if
(
currentMessageObject
.
type
==
1
)
{
if
(
currentMessageObject
.
imagePreview
!=
null
)
{
photoImage
.
setImage
(
currentPhotoObject
.
photoOwner
.
location
,
currentPhotoFilter
,
new
BitmapDrawable
(
currentMessageObject
.
imagePreview
),
currentPhotoObject
.
photoOwner
.
size
,
false
);
...
...
@@ -675,6 +677,9 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
buttonState
=
1
;
radialProgress
.
setBackground
(
getDrawableForCurrentState
(),
true
,
animated
);
Float
progress
=
FileLoader
.
getInstance
().
getFileProgress
(
currentMessageObject
.
messageOwner
.
attachPath
);
if
(
progress
==
null
&&
SendMessagesHelper
.
getInstance
().
isSendingMessage
(
currentMessageObject
.
messageOwner
.
id
))
{
progress
=
1.0f
;
}
radialProgress
.
setProgress
(
progress
!=
null
?
progress
:
0
,
false
);
invalidate
();
}
...
...
@@ -702,8 +707,8 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
Float
progress
=
FileLoader
.
getInstance
().
getFileProgress
(
fileName
);
setProgress
=
progress
!=
null
?
progress
:
0
;
}
radialProgress
.
setBackground
(
getDrawableForCurrentState
(),
progressVisible
,
animated
);
radialProgress
.
setProgress
(
setProgress
,
false
);
radialProgress
.
setBackground
(
getDrawableForCurrentState
(),
progressVisible
,
animated
);
invalidate
();
}
else
{
MediaController
.
getInstance
().
removeLoadingFileObserver
(
this
);
...
...
@@ -925,7 +930,7 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
public
void
onProgressDownload
(
String
fileName
,
float
progress
)
{
radialProgress
.
setProgress
(
progress
,
true
);
if
(
buttonState
!=
1
)
{
updateButtonState
(
tru
e
);
updateButtonState
(
fals
e
);
}
}
...
...
TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java
View file @
e5e31e20
...
...
@@ -2345,7 +2345,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
dayArr
.
remove
(
obj
);
if
(
dayArr
.
isEmpty
())
{
messagesByDays
.
remove
(
obj
.
dateKey
);
messages
.
remove
(
index
);
if
(
index
>=
0
&&
index
<
messages
.
size
())
{
//TODO fix it
messages
.
remove
(
index
);
}
}
updated
=
true
;
}
...
...
@@ -2681,6 +2683,9 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
@Override
public
void
onPause
()
{
super
.
onPause
();
if
(
menuItem
!=
null
)
{
menuItem
.
closeSubMenu
();
}
chatActivityEnterView
.
hideEmojiPopup
();
paused
=
true
;
NotificationsController
.
getInstance
().
setOpennedDialogId
(
0
);
...
...
TMessagesProj/src/main/java/org/telegram/ui/Components/ChatActivityEnterView.java
View file @
e5e31e20
...
...
@@ -30,6 +30,7 @@ import android.widget.EditText;
import
android.widget.FrameLayout
;
import
android.widget.ImageButton
;
import
android.widget.ImageView
;
import
android.widget.PopupWindow
;
import
android.widget.TextView
;
import
org.telegram.android.AndroidUtilities
;
...
...
@@ -50,6 +51,8 @@ import org.telegram.ui.AnimationCompat.ObjectAnimatorProxy;
import
org.telegram.ui.AnimationCompat.ViewProxy
;
import
org.telegram.messenger.ApplicationLoader
;
import
java.lang.reflect.Field
;
public
class
ChatActivityEnterView
implements
NotificationCenter
.
NotificationCenterDelegate
,
SizeNotifierRelativeLayout
.
SizeNotifierRelativeLayoutDelegate
{
public
static
interface
ChatActivityEnterViewDelegate
{
...
...
@@ -61,6 +64,7 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
private
EditText
messsageEditText
;
private
ImageButton
sendButton
;
private
PopupWindow
emojiPopup
;
private
ImageView
emojiButton
;
private
EmojiView
emojiView
;
private
TextView
recordTimeText
;
...
...
@@ -76,9 +80,6 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
private
int
runningAnimationType
;
private
int
audioInterfaceState
;
private
WindowManager
.
LayoutParams
windowLayoutParams
;
private
boolean
showingEmoji
;
private
int
keyboardHeight
;
private
int
keyboardHeightLand
;
private
boolean
keyboardVisible
;
...
...
@@ -127,7 +128,6 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
if
(
sizeNotifierRelativeLayout
!=
null
)
{
sizeNotifierRelativeLayout
.
delegate
=
null
;
}
removeEmojiWindow
();
}
public
void
setContainerView
(
Activity
activity
,
View
containerView
)
{
...
...
@@ -164,14 +164,14 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
emojiButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
showEmojiPopup
(
!
showingEmoji
);
showEmojiPopup
(
emojiPopup
==
null
||
!
emojiPopup
.
isShowing
()
);
}
});
messsageEditText
.
setOnKeyListener
(
new
View
.
OnKeyListener
()
{
@Override
public
boolean
onKey
(
View
view
,
int
i
,
KeyEvent
keyEvent
)
{
if
(
i
==
4
&&
!
keyboardVisible
&&
showingEmoji
)
{
if
(
i
==
4
&&
!
keyboardVisible
&&
emojiPopup
!=
null
&&
emojiPopup
.
isShowing
()
)
{
if
(
keyEvent
.
getAction
()
==
1
)
{
showEmojiPopup
(
false
);
}
...
...
@@ -187,7 +187,7 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
messsageEditText
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
if
(
showingEmoji
)
{
if
(
emojiPopup
!=
null
&&
emojiPopup
.
isShowing
()
)
{
showEmojiPopup
(
false
);
}
}
...
...
@@ -609,9 +609,8 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
}
private
void
showEmojiPopup
(
boolean
show
)
{
showingEmoji
=
show
;
if
(
show
)
{
if
(
emoji
View
==
null
)
{
if
(
emoji
Popup
==
null
)
{
if
(
parentActivity
==
null
)
{
return
;
}
...
...
@@ -636,16 +635,17 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
}
}
});
emojiPopup
=
new
PopupWindow
(
emojiView
);
windowLayoutParams
=
new
WindowManager
.
LayoutParams
();
windowLayoutParams
.
gravity
=
Gravity
.
BOTTOM
|
Gravity
.
LEFT
;
if
(
Build
.
VERSION
.
SDK_INT
>=
21
)
{
windowLayoutParams
.
type
=
WindowManager
.
LayoutParams
.
TYPE_SYSTEM_ERROR
;
}
else
{
windowLayoutParams
.
type
=
WindowManager
.
LayoutParams
.
TYPE_APPLICATION_PANEL
;
windowLayoutParams
.
token
=
parentActivity
.
getWindow
().
getDecorView
().
getWindowToken
();
try
{
Field
field
=
PopupWindow
.
class
.
getDeclaredField
(
"mWindowLayoutType"
);
field
.
setAccessible
(
true
);
field
.
set
(
emojiPopup
,
WindowManager
.
LayoutParams
.
TYPE_SYSTEM_ERROR
);
}
catch
(
Exception
e
)
{
/* ignored */
}
}
windowLayoutParams
.
flags
=
WindowManager
.
LayoutParams
.
FLAG_NOT_FOCUSABLE
;
}
int
currentHeight
;
WindowManager
wm
=
(
WindowManager
)
ApplicationLoader
.
applicationContext
.
getSystemService
(
Activity
.
WINDOW_SERVICE
);
...
...
@@ -661,19 +661,13 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
}
else
{
currentHeight
=
keyboardHeight
;
}
windowLayoutParams
.
height
=
currentHeight
;
windowLayoutParams
.
width
=
AndroidUtilities
.
displaySize
.
x
;
try
{
if
(
emojiView
.
getParent
()
!=
null
)
{
wm
.
removeViewImmediate
(
emojiView
);
}
}
catch
(
Exception
e
)
{
FileLog
.
e
(
"tmessages"
,
e
);
emojiPopup
.
setHeight
(
View
.
MeasureSpec
.
makeMeasureSpec
(
currentHeight
,
View
.
MeasureSpec
.
EXACTLY
));
if
(
sizeNotifierRelativeLayout
!=
null
)
{
emojiPopup
.
setWidth
(
View
.
MeasureSpec
.
makeMeasureSpec
(
AndroidUtilities
.
displaySize
.
x
,
View
.
MeasureSpec
.
EXACTLY
));
}
try
{
wm
.
addView
(
emojiView
,
windowLayoutParams
);
emojiPopup
.
showAtLocation
(
parentActivity
.
getWindow
().
getDecorView
(),
Gravity
.
BOTTOM
|
Gravity
.
LEFT
,
0
,
0
);
}
catch
(
Exception
e
)
{
FileLog
.
e
(
"tmessages"
,
e
);
return
;
...
...
@@ -692,7 +686,9 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
if
(
emojiButton
!=
null
)
{
emojiButton
.
setImageResource
(
R
.
drawable
.
ic_msg_panel_smiles
);
}
removeEmojiWindow
();
if
(
emojiPopup
!=
null
)
{
emojiPopup
.
dismiss
();
}
if
(
sizeNotifierRelativeLayout
!=
null
)
{
sizeNotifierRelativeLayout
.
post
(
new
Runnable
()
{
public
void
run
()
{
...
...
@@ -704,22 +700,8 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
}
}
private
void
removeEmojiWindow
()
{
if
(
emojiView
==
null
)
{
return
;
}
try
{
if
(
emojiView
.
getParent
()
!=
null
)
{
WindowManager
wm
=
(
WindowManager
)
ApplicationLoader
.
applicationContext
.
getSystemService
(
Context
.
WINDOW_SERVICE
);
wm
.
removeViewImmediate
(
emojiView
);
}
}
catch
(
Exception
e
)
{
FileLog
.
e
(
"tmessages"
,
e
);
}
}
public
void
hideEmojiPopup
()
{
if
(
showingEmoji
)
{
if
(
emojiPopup
!=
null
&&
emojiPopup
.
isShowing
()
)
{
showEmojiPopup
(
false
);
}
}
...
...
@@ -780,7 +762,7 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
}
public
boolean
isEmojiPopupShowing
()
{
return
showingEmoji
;
return
emojiPopup
!=
null
&&
emojiPopup
.
isShowing
()
;
}
public
void
addToAttachLayout
(
View
view
)
{
...
...
@@ -820,23 +802,24 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
}
}
if
(
showingEmoji
)
{
if
(
emojiPopup
!=
null
&&
emojiPopup
.
isShowing
()
)
{
int
newHeight
=
0
;
if
(
rotation
==
Surface
.
ROTATION_270
||
rotation
==
Surface
.
ROTATION_90
)
{
newHeight
=
keyboardHeightLand
;
}
else
{
newHeight
=
keyboardHeight
;
}
if
(
windowLayoutParams
.
width
!=
AndroidUtilities
.
displaySize
.
x
||
windowLayoutParams
.
height
!=
newHeight
)
{
windowLayoutParams
.
width
=
AndroidUtilities
.
displaySize
.
x
;
windowLayoutParams
.
height
=
newHeight
;
wm
.
updateViewLayout
(
emojiView
,
windowLayoutParams
);
final
WindowManager
.
LayoutParams
layoutParams
=
(
WindowManager
.
LayoutParams
)
emojiPopup
.
getContentView
().
getLayoutParams
();
if
(
layoutParams
.
width
!=
AndroidUtilities
.
displaySize
.
x
||
layoutParams
.
height
!=
newHeight
)
{
layoutParams
.
width
=
AndroidUtilities
.
displaySize
.
x
;
layoutParams
.
height
=
newHeight
;
wm
.
updateViewLayout
(
emojiPopup
.
getContentView
(),
layoutParams
);
if
(!
keyboardVisible
)
{
sizeNotifierRelativeLayout
.
post
(
new
Runnable
()
{
@Override
public
void
run
()
{
if
(
sizeNotifierRelativeLayout
!=
null
)
{
sizeNotifierRelativeLayout
.
setPadding
(
0
,
0
,
0
,
windowL
ayoutParams
.
height
);
sizeNotifierRelativeLayout
.
setPadding
(
0
,
0
,
0
,
l
ayoutParams
.
height
);
sizeNotifierRelativeLayout
.
requestLayout
();
}
}
...
...
@@ -849,7 +832,7 @@ public class ChatActivityEnterView implements NotificationCenter.NotificationCen
keyboardVisible
=
height
>
0
;
if
(
keyboardVisible
&&
sizeNotifierRelativeLayout
.
getPaddingBottom
()
>
0
)
{
showEmojiPopup
(
false
);
}
else
if
(!
keyboardVisible
&&
keyboardVisible
!=
oldValue
&&
showingEmoji
)
{
}
else
if
(!
keyboardVisible
&&
keyboardVisible
!=
oldValue
&&
emojiPopup
!=
null
&&
emojiPopup
.
isShowing
()
)
{
showEmojiPopup
(
false
);
}
}
...
...
TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java
View file @
e5e31e20
...
...
@@ -585,7 +585,7 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
String
scheme
=
data
.
getScheme
();
if
(
scheme
!=
null
)
{
if
((
scheme
.
equals
(
"http"
)
||
scheme
.
equals
(
"https"
)))
{
String
host
=
data
.
getHost
();
String
host
=
data
.
getHost
()
.
toLowerCase
()
;
if
(
host
.
equals
(
"telegram.me"
))
{
String
path
=
data
.
getPath
();
if
(
path
!=
null
&&
path
.
length
()
>=
6
)
{
...
...
@@ -593,7 +593,7 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
}
}
}
else
if
(
scheme
.
equals
(
"tg"
))
{
String
url
=
data
.
toString
();
String
url
=
data
.
toString
()
.
toLowerCase
()
;
if
(
url
.
startsWith
(
"tg:resolve"
)
||
url
.
startsWith
(
"tg://resolve"
))
{
url
=
url
.
replace
(
"tg:resolve"
,
"tg://telegram.org"
).
replace
(
"tg://resolve"
,
"tg://telegram.org"
);
data
=
Uri
.
parse
(
url
);
...
...
@@ -730,7 +730,13 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
args
.
putString
(
"selectAlertStringGroup"
,
LocaleController
.
getString
(
"SendMessagesToGroup"
,
R
.
string
.
SendMessagesToGroup
));
MessagesActivity
fragment
=
new
MessagesActivity
(
args
);
fragment
.
setDelegate
(
this
);
actionBarLayout
.
presentFragment
(
fragment
,
false
,
true
,
true
);
boolean
removeLast
=
false
;
if
(
AndroidUtilities
.
isTablet
())
{
removeLast
=
layersActionBarLayout
.
fragmentsStack
.
size
()
>
0
&&
layersActionBarLayout
.
fragmentsStack
.
get
(
layersActionBarLayout
.
fragmentsStack
.
size
()
-
1
)
instanceof
MessagesActivity
;
}
else
{
removeLast
=
actionBarLayout
.
fragmentsStack
.
size
()
>
1
&&
actionBarLayout
.
fragmentsStack
.
get
(
actionBarLayout
.
fragmentsStack
.
size
()
-
1
)
instanceof
MessagesActivity
;
}
actionBarLayout
.
presentFragment
(
fragment
,
removeLast
,
true
,
true
);
pushOpened
=
true
;
if
(
PhotoViewer
.
getInstance
().
isVisible
())
{
PhotoViewer
.
getInstance
().
closePhoto
(
false
);
...
...
TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java
View file @
e5e31e20
...
...
@@ -1744,7 +1744,6 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
NotificationCenter
.
getInstance
().
removeObserver
(
this
,
NotificationCenter
.
userPhotosLoaded
);
ConnectionsManager
.
getInstance
().
cancelRpcsForClassGuid
(
classGuid
);
isVisible
=
false
;
isActionBarVisible
=
false
;
if
(
velocityTracker
!=
null
)
{
...
...
@@ -1922,6 +1921,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
}
private
void
onPhotoClosed
(
PlaceProviderObject
object
)
{
isVisible
=
false
;
disableShowCheck
=
true
;
currentMessageObject
=
null
;
currentFileLocation
=
null
;
...
...
@@ -1935,9 +1935,6 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
centerImage
.
setImageBitmap
((
Bitmap
)
null
);
leftImage
.
setImageBitmap
((
Bitmap
)
null
);
rightImage
.
setImageBitmap
((
Bitmap
)
null
);
if
(
object
!=
null
)
{
object
.
imageReceiver
.
setVisible
(
true
,
true
);
}
containerView
.
post
(
new
Runnable
()
{
@Override
public
void
run
()
{
...
...
@@ -1957,6 +1954,9 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
}
placeProvider
=
null
;
disableShowCheck
=
false
;
if
(
object
!=
null
)
{
object
.
imageReceiver
.
setVisible
(
true
,
true
);
}
}
public
boolean
isVisible
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment