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
ad863779
Commit
ad863779
authored
Oct 10, 2014
by
DrKLO
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Different improvements
parent
22a0c2ac
Changes
18
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
302 additions
and
104 deletions
+302
-104
build.gradle
TMessagesProj/build.gradle
+2
-2
ImageLoader.java
...sProj/src/main/java/org/telegram/android/ImageLoader.java
+4
-0
MessageObject.java
...roj/src/main/java/org/telegram/android/MessageObject.java
+2
-6
MessagesController.java
...rc/main/java/org/telegram/android/MessagesController.java
+11
-4
MessagesStorage.java
...j/src/main/java/org/telegram/android/MessagesStorage.java
+5
-10
NotificationCenter.java
...rc/main/java/org/telegram/android/NotificationCenter.java
+1
-0
TLRPC.java
...sagesProj/src/main/java/org/telegram/messenger/TLRPC.java
+1
-0
ChatBaseCell.java
...roj/src/main/java/org/telegram/ui/Cells/ChatBaseCell.java
+5
-0
ChatMediaCell.java
...oj/src/main/java/org/telegram/ui/Cells/ChatMediaCell.java
+10
-17
ChatActivity.java
...sagesProj/src/main/java/org/telegram/ui/ChatActivity.java
+139
-54
PhotoViewer.java
TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java
+2
-2
SecretPhotoViewer.java
...Proj/src/main/java/org/telegram/ui/SecretPhotoViewer.java
+102
-9
LayoutListView.java
...j/src/main/java/org/telegram/ui/Views/LayoutListView.java
+18
-0
circle1.png
TMessagesProj/src/main/res/drawable-hdpi/circle1.png
+0
-0
circle1.png
TMessagesProj/src/main/res/drawable-ldpi/circle1.png
+0
-0
circle1.png
TMessagesProj/src/main/res/drawable-mdpi/circle1.png
+0
-0
circle1.png
TMessagesProj/src/main/res/drawable-xhdpi/circle1.png
+0
-0
circle1.png
TMessagesProj/src/main/res/drawable-xxhdpi/circle1.png
+0
-0
No files found.
TMessagesProj/build.gradle
View file @
ad863779
...
...
@@ -80,7 +80,7 @@ android {
defaultConfig
{
minSdkVersion
8
targetSdkVersion
19
versionCode
35
5
versionName
"1.9.
4
"
versionCode
35
7
versionName
"1.9.
5
"
}
}
TMessagesProj/src/main/java/org/telegram/android/ImageLoader.java
View file @
ad863779
...
...
@@ -831,6 +831,10 @@ public class ImageLoader {
});
}
public
void
putImageToCache
(
BitmapDrawable
bitmap
,
String
key
)
{
memCache
.
put
(
key
,
bitmap
);
}
public
void
loadImage
(
final
TLRPC
.
FileLocation
fileLocation
,
final
String
httpUrl
,
final
ImageReceiver
imageView
,
final
int
size
,
final
boolean
cacheOnly
)
{
if
((
fileLocation
==
null
&&
httpUrl
==
null
)
||
imageView
==
null
||
(
fileLocation
!=
null
&&
!(
fileLocation
instanceof
TLRPC
.
TL_fileLocation
)
&&
!(
fileLocation
instanceof
TLRPC
.
TL_fileEncryptedLocation
)))
{
return
;
...
...
TMessagesProj/src/main/java/org/telegram/android/MessageObject.java
View file @
ad863779
...
...
@@ -616,7 +616,7 @@ public class MessageObject {
}
public
boolean
isSecretMedia
()
{
return
messageOwner
.
media
instanceof
TLRPC
.
TL_messageMediaPhoto
&&
messageOwner
.
ttl
!=
0
;
return
messageOwner
.
media
instanceof
TLRPC
.
TL_messageMediaPhoto
&&
messageOwner
.
ttl
!=
0
&&
messageOwner
.
ttl
<=
60
;
}
public
static
void
setIsUnread
(
TLRPC
.
Message
message
,
boolean
unread
)
{
...
...
@@ -672,12 +672,8 @@ public class MessageObject {
String
str
;
if
(
secondsLeft
<
60
)
{
str
=
secondsLeft
+
"s"
;
}
else
if
(
secondsLeft
<
60
*
60
)
{
str
=
secondsLeft
/
60
+
"m"
;
}
else
if
(
secondsLeft
<
60
*
60
*
24
)
{
str
=
secondsLeft
/
60
/
60
+
"h"
;
}
else
{
str
=
secondsLeft
/
60
/
60
/
24
+
"d
"
;
str
=
secondsLeft
/
60
+
"m
"
;
}
return
str
;
}
...
...
TMessagesProj/src/main/java/org/telegram/android/MessagesController.java
View file @
ad863779
...
...
@@ -17,6 +17,7 @@ import android.content.SharedPreferences;
import
android.content.pm.PackageInfo
;
import
android.os.Build
;
import
android.text.Html
;
import
android.util.SparseArray
;
import
org.telegram.messenger.BuffersStorage
;
import
org.telegram.messenger.ByteBufferDesc
;
...
...
@@ -502,7 +503,7 @@ public class MessagesController implements NotificationCenter.NotificationCenter
}
}
public
void
didAddedNewTask
(
final
int
minDate
)
{
public
void
didAddedNewTask
(
final
int
minDate
,
final
SparseArray
<
ArrayList
<
Integer
>>
mids
)
{
Utilities
.
stageQueue
.
postRunnable
(
new
Runnable
()
{
@Override
public
void
run
()
{
...
...
@@ -511,6 +512,12 @@ public class MessagesController implements NotificationCenter.NotificationCenter
}
}
});
AndroidUtilities
.
RunOnUIThread
(
new
Runnable
()
{
@Override
public
void
run
()
{
NotificationCenter
.
getInstance
().
postNotificationName
(
NotificationCenter
.
didCreatedNewDeleteTask
,
mids
);
}
});
}
public
void
getNewDeleteTask
(
final
ArrayList
<
Integer
>
oldTask
)
{
...
...
@@ -3552,7 +3559,7 @@ public class MessagesController implements NotificationCenter.NotificationCenter
newMessage
.
media
.
photo
.
date
=
newMessage
.
date
;
newMessage
.
media
.
photo
.
caption
=
""
;
newMessage
.
media
.
photo
.
geo
=
new
TLRPC
.
TL_geoPointEmpty
();
if
(
decryptedMessage
.
media
.
thumb
.
length
!=
0
&&
decryptedMessage
.
media
.
thumb
.
length
<=
5000
&&
decryptedMessage
.
media
.
thumb_w
<
100
&&
decryptedMessage
.
media
.
thumb_h
<
100
)
{
if
(
decryptedMessage
.
media
.
thumb
.
length
!=
0
&&
decryptedMessage
.
media
.
thumb
.
length
<=
6000
&&
decryptedMessage
.
media
.
thumb_w
<=
100
&&
decryptedMessage
.
media
.
thumb_h
<=
100
)
{
TLRPC
.
TL_photoCachedSize
small
=
new
TLRPC
.
TL_photoCachedSize
();
small
.
w
=
decryptedMessage
.
media
.
thumb_w
;
small
.
h
=
decryptedMessage
.
media
.
thumb_h
;
...
...
@@ -3581,7 +3588,7 @@ public class MessagesController implements NotificationCenter.NotificationCenter
}
newMessage
.
media
=
new
TLRPC
.
TL_messageMediaVideo
();
newMessage
.
media
.
video
=
new
TLRPC
.
TL_videoEncrypted
();
if
(
decryptedMessage
.
media
.
thumb
.
length
!=
0
&&
decryptedMessage
.
media
.
thumb
.
length
<=
5000
&&
decryptedMessage
.
media
.
thumb_w
<
100
&&
decryptedMessage
.
media
.
thumb_h
<
100
)
{
if
(
decryptedMessage
.
media
.
thumb
.
length
!=
0
&&
decryptedMessage
.
media
.
thumb
.
length
<=
6000
&&
decryptedMessage
.
media
.
thumb_w
<=
100
&&
decryptedMessage
.
media
.
thumb_h
<=
100
)
{
newMessage
.
media
.
video
.
thumb
=
new
TLRPC
.
TL_photoCachedSize
();
newMessage
.
media
.
video
.
thumb
.
bytes
=
decryptedMessage
.
media
.
thumb
;
newMessage
.
media
.
video
.
thumb
.
w
=
decryptedMessage
.
media
.
thumb_w
;
...
...
@@ -3623,7 +3630,7 @@ public class MessagesController implements NotificationCenter.NotificationCenter
newMessage
.
media
.
document
.
size
=
message
.
file
.
size
;
newMessage
.
media
.
document
.
key
=
decryptedMessage
.
media
.
key
;
newMessage
.
media
.
document
.
iv
=
decryptedMessage
.
media
.
iv
;
if
(
decryptedMessage
.
media
.
thumb
.
length
!=
0
&&
decryptedMessage
.
media
.
thumb
.
length
<=
5000
&&
decryptedMessage
.
media
.
thumb_w
<
100
&&
decryptedMessage
.
media
.
thumb_h
<
100
)
{
if
(
decryptedMessage
.
media
.
thumb
.
length
!=
0
&&
decryptedMessage
.
media
.
thumb
.
length
<=
6000
&&
decryptedMessage
.
media
.
thumb_w
<=
100
&&
decryptedMessage
.
media
.
thumb_h
<=
100
)
{
newMessage
.
media
.
document
.
thumb
=
new
TLRPC
.
TL_photoCachedSize
();
newMessage
.
media
.
document
.
thumb
.
bytes
=
decryptedMessage
.
media
.
thumb
;
newMessage
.
media
.
document
.
thumb
.
w
=
decryptedMessage
.
media
.
thumb_w
;
...
...
TMessagesProj/src/main/java/org/telegram/android/MessagesStorage.java
View file @
ad863779
...
...
@@ -882,7 +882,7 @@ public class MessagesStorage {
state
.
dispose
();
database
.
commitTransaction
();
database
.
executeFast
(
String
.
format
(
Locale
.
US
,
"UPDATE messages SET ttl = 0 WHERE mid IN(%s)"
,
mids
.
toString
())).
stepThis
().
dispose
();
MessagesController
.
getInstance
().
didAddedNewTask
(
minDate
);
MessagesController
.
getInstance
().
didAddedNewTask
(
minDate
,
messages
);
}
}
catch
(
Exception
e
)
{
FileLog
.
e
(
"tmessages"
,
e
);
...
...
@@ -2432,15 +2432,10 @@ public class MessagesStorage {
}
private
int
getMessageMediaType
(
TLRPC
.
Message
message
)
{
if
(
message
.
media
==
null
)
{
return
0
;
}
else
if
(
message
.
media
instanceof
TLRPC
.
TL_messageMediaPhoto
)
{
if
(
message
.
media
instanceof
TLRPC
.
TL_messageMediaPhoto
&&
message
.
ttl
!=
0
&&
message
.
ttl
<=
60
)
{
return
1
;
}
else
if
(
message
.
media
instanceof
TLRPC
.
TL_messageMediaVideo
)
{
return
2
;
}
else
{
return
0
;
}
return
0
;
}
private
void
putMessagesInternal
(
final
ArrayList
<
TLRPC
.
Message
>
messages
,
final
boolean
withTransaction
,
final
boolean
isBroadcast
,
final
int
downloadMask
)
{
...
...
@@ -2478,7 +2473,7 @@ public class MessagesStorage {
messagesIdsMap
.
put
(
message
.
id
,
dialog_id
);
}
if
(
message
.
ttl
==
0
&&
(
message
.
media
instanceof
TLRPC
.
TL_messageMediaVideo
||
message
.
media
instanceof
TLRPC
.
TL_messageMediaPhoto
))
{
if
(
message
.
media
instanceof
TLRPC
.
TL_messageMediaVideo
||
message
.
media
instanceof
TLRPC
.
TL_messageMediaPhoto
&&
(
message
.
ttl
==
0
||
message
.
ttl
>
60
))
{
if
(
messageMediaIds
.
length
()
>
0
)
{
messageMediaIds
.
append
(
","
);
}
...
...
@@ -2562,7 +2557,7 @@ public class MessagesStorage {
state3
.
step
();
}
if
(
message
.
ttl
==
0
&&
(
message
.
media
instanceof
TLRPC
.
TL_messageMediaVideo
||
message
.
media
instanceof
TLRPC
.
TL_messageMediaPhoto
))
{
if
(
message
.
media
instanceof
TLRPC
.
TL_messageMediaVideo
||
message
.
media
instanceof
TLRPC
.
TL_messageMediaPhoto
&&
(
message
.
ttl
==
0
||
message
.
ttl
>
60
))
{
state2
.
requery
();
state2
.
bindInteger
(
1
,
messageId
);
state2
.
bindLong
(
2
,
dialog_id
);
...
...
TMessagesProj/src/main/java/org/telegram/android/NotificationCenter.java
View file @
ad863779
...
...
@@ -41,6 +41,7 @@ public class NotificationCenter {
public
static
final
int
openedChatChanged
=
29
;
public
static
final
int
hideEmojiKeyboard
=
30
;
public
static
final
int
stopEncodingService
=
31
;
public
static
final
int
didCreatedNewDeleteTask
=
32
;
public
static
final
int
wallpapersDidLoaded
=
171
;
public
static
final
int
closeOtherAppActivities
=
702
;
...
...
TMessagesProj/src/main/java/org/telegram/messenger/TLRPC.java
View file @
ad863779
...
...
@@ -9333,6 +9333,7 @@ public class TLRPC {
public
byte
[]
auth_key
;
public
int
user_id
;
public
int
ttl
;
public
int
layer
;
}
public
static
class
FileLocation
extends
TLObject
{
...
...
TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatBaseCell.java
View file @
ad863779
...
...
@@ -118,6 +118,7 @@ public class ChatBaseCell extends BaseCell {
private
CheckForTap
pendingCheckForTap
=
null
;
private
int
last_send_state
=
0
;
private
int
last_delete_date
=
0
;
private
final
class
CheckForTap
implements
Runnable
{
public
void
run
()
{
...
...
@@ -219,6 +220,9 @@ public class ChatBaseCell extends BaseCell {
if
(
last_send_state
!=
currentMessageObject
.
messageOwner
.
send_state
)
{
return
true
;
}
if
(
last_delete_date
!=
currentMessageObject
.
messageOwner
.
destroyTime
)
{
return
true
;
}
TLRPC
.
User
newUser
=
MessagesController
.
getInstance
().
getUser
(
currentMessageObject
.
messageOwner
.
from_id
);
TLRPC
.
FileLocation
newPhoto
=
null
;
...
...
@@ -251,6 +255,7 @@ public class ChatBaseCell extends BaseCell {
public
void
setMessageObject
(
MessageObject
messageObject
)
{
currentMessageObject
=
messageObject
;
last_send_state
=
messageObject
.
messageOwner
.
send_state
;
last_delete_date
=
messageObject
.
messageOwner
.
destroyTime
;
isPressed
=
false
;
isCheckPressed
=
true
;
isAvatarVisible
=
false
;
...
...
TMessagesProj/src/main/java/org/telegram/ui/Cells/ChatMediaCell.java
View file @
ad863779
...
...
@@ -42,8 +42,6 @@ import java.util.Locale;
public
class
ChatMediaCell
extends
ChatBaseCell
implements
MediaController
.
FileDownloadProgressListener
{
public
static
interface
ChatMediaCellDelegate
{
public
abstract
boolean
didPressedImage
(
ChatMediaCell
cell
);
public
abstract
void
didUnpressedImage
(
ChatMediaCell
cell
);
public
abstract
void
didClickedImage
(
ChatMediaCell
cell
);
public
abstract
void
didPressedOther
(
ChatMediaCell
cell
);
}
...
...
@@ -85,7 +83,6 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
private
boolean
otherPressed
=
false
;
private
int
buttonX
;
private
int
buttonY
;
private
boolean
listenForUnpressed
=
false
;
private
StaticLayout
infoLayout
;
private
int
infoWidth
;
...
...
@@ -212,10 +209,8 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
}
}
}
listenForUnpressed
=
false
;
if
(
imagePressed
&&
mediaDelegate
!=
null
&&
mediaDelegate
.
didPressedImage
(
this
))
{
if
(
imagePressed
&&
currentMessageObject
.
isSecretMedia
())
{
imagePressed
=
false
;
listenForUnpressed
=
true
;
}
else
if
(
result
)
{
startCheckLongPress
();
}
...
...
@@ -242,8 +237,10 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
}
else
if
(
imagePressed
)
{
if
(
event
.
getAction
()
==
MotionEvent
.
ACTION_UP
)
{
imagePressed
=
false
;
playSoundEffect
(
SoundEffectConstants
.
CLICK
);
didClickedImage
();
if
(
buttonState
==
-
1
||
buttonState
==
2
||
buttonState
==
3
)
{
playSoundEffect
(
SoundEffectConstants
.
CLICK
);
didClickedImage
();
}
invalidate
();
}
else
if
(
event
.
getAction
()
==
MotionEvent
.
ACTION_CANCEL
)
{
imagePressed
=
false
;
...
...
@@ -277,14 +274,6 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
}
}
}
}
else
if
(
listenForUnpressed
)
{
if
(
event
.
getAction
()
==
MotionEvent
.
ACTION_POINTER_UP
||
event
.
getAction
()
==
MotionEvent
.
ACTION_UP
||
event
.
getAction
()
==
MotionEvent
.
ACTION_CANCEL
)
{
if
(
listenForUnpressed
&&
mediaDelegate
!=
null
)
{
mediaDelegate
.
didUnpressedImage
(
this
);
}
listenForUnpressed
=
false
;
}
result
=
true
;
}
}
if
(!
result
)
{
...
...
@@ -575,6 +564,10 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
w
=
timeWidthTotal
;
}
if
(
currentMessageObject
.
isSecretMedia
())
{
w
=
h
=
(
int
)
(
Math
.
min
(
AndroidUtilities
.
displaySize
.
x
,
AndroidUtilities
.
displaySize
.
y
)
*
0.5f
);
}
photoWidth
=
w
;
photoHeight
=
h
;
backgroundWidth
=
w
+
AndroidUtilities
.
dp
(
12
);
...
...
@@ -785,7 +778,7 @@ public class ChatMediaCell extends ChatBaseCell implements MediaController.FileD
}
private
void
updateSecretTimeText
()
{
if
(
currentMessageObject
==
null
)
{
if
(
currentMessageObject
==
null
||
currentMessageObject
.
isOut
()
)
{
return
;
}
String
str
=
currentMessageObject
.
getSecretTimeString
();
...
...
TMessagesProj/src/main/java/org/telegram/ui/ChatActivity.java
View file @
ad863779
This diff is collapsed.
Click to expand it.
TMessagesProj/src/main/java/org/telegram/ui/PhotoViewer.java
View file @
ad863779
...
...
@@ -234,7 +234,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
public
int
getSelectedCount
();
}
private
static
class
FrameLayoutTouchListener
extends
FrameLayout
{
private
class
FrameLayoutTouchListener
extends
FrameLayout
{
public
FrameLayoutTouchListener
(
Context
context
)
{
super
(
context
);
}
...
...
@@ -251,7 +251,7 @@ public class PhotoViewer implements NotificationCenter.NotificationCenterDelegat
}
}
private
static
class
FrameLayoutDrawer
extends
FrameLayout
{
private
class
FrameLayoutDrawer
extends
FrameLayout
{
public
FrameLayoutDrawer
(
Context
context
)
{
super
(
context
);
setWillNotDraw
(
false
);
...
...
TMessagesProj/src/main/java/org/telegram/ui/SecretPhotoViewer.java
View file @
ad863779
This diff is collapsed.
Click to expand it.
TMessagesProj/src/main/java/org/telegram/ui/Views/LayoutListView.java
View file @
ad863779
...
...
@@ -10,11 +10,17 @@ package org.telegram.ui.Views;
import
android.content.Context
;
import
android.util.AttributeSet
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.widget.ListView
;
public
class
LayoutListView
extends
ListView
{
public
static
interface
OnInterceptTouchEventListener
{
public
abstract
boolean
onInterceptTouchEvent
(
MotionEvent
event
);
}
private
OnInterceptTouchEventListener
onInterceptTouchEventListener
;
private
int
height
=
-
1
;
public
LayoutListView
(
Context
context
)
{
...
...
@@ -29,6 +35,18 @@ public class LayoutListView extends ListView {
super
(
context
,
attrs
,
defStyle
);
}
public
void
setOnInterceptTouchEventListener
(
OnInterceptTouchEventListener
listener
)
{
onInterceptTouchEventListener
=
listener
;
}
@Override
public
boolean
onInterceptTouchEvent
(
MotionEvent
ev
)
{
if
(
onInterceptTouchEventListener
!=
null
)
{
return
onInterceptTouchEventListener
.
onInterceptTouchEvent
(
ev
);
}
return
super
.
onInterceptTouchEvent
(
ev
);
}
@Override
protected
void
onLayout
(
boolean
changed
,
int
left
,
int
top
,
int
right
,
int
bottom
)
{
View
v
=
getChildAt
(
getChildCount
()
-
1
);
...
...
TMessagesProj/src/main/res/drawable-hdpi/circle1.png
0 → 100755
View file @
ad863779
1.53 KB
TMessagesProj/src/main/res/drawable-ldpi/circle1.png
0 → 100755
View file @
ad863779
1.19 KB
TMessagesProj/src/main/res/drawable-mdpi/circle1.png
0 → 100755
View file @
ad863779
1.31 KB
TMessagesProj/src/main/res/drawable-xhdpi/circle1.png
0 → 100755
View file @
ad863779
1.77 KB
TMessagesProj/src/main/res/drawable-xxhdpi/circle1.png
0 → 100755
View file @
ad863779
2.29 KB
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