Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xabber-android
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
xabber-android
Commits
6093fe43
Commit
6093fe43
authored
Apr 28, 2015
by
Grigory Fedorov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Message notifications removing fixed.
parent
aabe3254
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
53 additions
and
47 deletions
+53
-47
MessageManager.java
.../java/com/xabber/android/data/message/MessageManager.java
+45
-46
ChatViewer.java
app/src/main/java/com/xabber/android/ui/ChatViewer.java
+8
-1
No files found.
app/src/main/java/com/xabber/android/data/message/MessageManager.java
View file @
6093fe43
...
...
@@ -14,22 +14,6 @@
*/
package
com
.
xabber
.
android
.
data
.
message
;
import
java.io.BufferedWriter
;
import
java.io.File
;
import
java.io.FileWriter
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.HashSet
;
import
java.util.Set
;
import
org.jivesoftware.smack.packet.Message
;
import
org.jivesoftware.smack.packet.Packet
;
import
org.jivesoftware.smack.packet.PacketExtension
;
import
org.jivesoftware.smackx.packet.MUCUser
;
import
android.database.Cursor
;
import
android.os.Environment
;
...
...
@@ -51,14 +35,30 @@ import com.xabber.android.data.entity.BaseEntity;
import
com.xabber.android.data.entity.NestedMap
;
import
com.xabber.android.data.extension.archive.MessageArchiveManager
;
import
com.xabber.android.data.extension.muc.RoomChat
;
import
com.xabber.android.data.roster.OnStatusChangeListener
;
import
com.xabber.android.data.roster.OnRosterReceivedListener
;
import
com.xabber.android.data.roster.OnStatusChangeListener
;
import
com.xabber.android.data.roster.RosterManager
;
import
com.xabber.android.utils.StringUtils
;
import
com.xabber.androiddev.R
;
import
com.xabber.xmpp.address.Jid
;
import
com.xabber.xmpp.delay.Delay
;
import
org.jivesoftware.smack.packet.Message
;
import
org.jivesoftware.smack.packet.Packet
;
import
org.jivesoftware.smack.packet.PacketExtension
;
import
org.jivesoftware.smackx.packet.MUCUser
;
import
java.io.BufferedWriter
;
import
java.io.File
;
import
java.io.FileWriter
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.HashSet
;
import
java.util.Set
;
/**
* Manage chats and its messages.
* <p/>
...
...
@@ -70,11 +70,17 @@ public class MessageManager implements OnLoadListener, OnPacketListener, OnDisco
OnAccountRemovedListener
,
OnRosterReceivedListener
,
OnAccountArchiveModeChangedListener
,
OnStatusChangeListener
{
private
final
static
MessageManager
instance
;
static
{
instance
=
new
MessageManager
();
Application
.
getInstance
().
addManager
(
instance
);
}
/**
* Registered chats for bareAddresses in accounts.
*/
private
final
NestedMap
<
AbstractChat
>
chats
;
/**
* Visible chat.
* <p/>
...
...
@@ -82,19 +88,32 @@ public class MessageManager implements OnLoadListener, OnPacketListener, OnDisco
*/
private
AbstractChat
visibleChat
;
private
final
static
MessageManager
instance
;
static
{
instance
=
new
MessageManager
();
Application
.
getInstance
().
addManager
(
instance
);
private
MessageManager
()
{
chats
=
new
NestedMap
<>();
}
public
static
MessageManager
getInstance
()
{
return
instance
;
}
private
MessageManager
()
{
chats
=
new
NestedMap
<>();
/**
* @param messageItems
* @param clearId Whether message id must be set to the <code>null</code>.
* @return Collection with ids for specified messages.
*/
static
Collection
<
Long
>
getMessageIds
(
Collection
<
MessageItem
>
messageItems
,
boolean
clearId
)
{
ArrayList
<
Long
>
ids
=
new
ArrayList
<>();
for
(
MessageItem
messageItem
:
messageItems
)
{
Long
id
=
messageItem
.
getId
();
if
(
id
==
null
)
{
continue
;
}
ids
.
add
(
id
);
if
(
clearId
)
{
messageItem
.
setId
(
null
);
}
}
return
ids
;
}
@Override
...
...
@@ -316,7 +335,7 @@ public class MessageManager implements OnLoadListener, OnPacketListener, OnDisco
}
});
}
visibleChat
=
chat
;
this
.
visibleChat
=
chat
;
}
/**
...
...
@@ -576,26 +595,6 @@ public class MessageManager implements OnLoadListener, OnPacketListener, OnDisco
});
}
/**
* @param messageItems
* @param clearId Whether message id must be set to the <code>null</code>.
* @return Collection with ids for specified messages.
*/
static
Collection
<
Long
>
getMessageIds
(
Collection
<
MessageItem
>
messageItems
,
boolean
clearId
)
{
ArrayList
<
Long
>
ids
=
new
ArrayList
<>();
for
(
MessageItem
messageItem
:
messageItems
)
{
Long
id
=
messageItem
.
getId
();
if
(
id
==
null
)
{
continue
;
}
ids
.
add
(
id
);
if
(
clearId
)
{
messageItem
.
setId
(
null
);
}
}
return
ids
;
}
private
boolean
isStatusTrackingEnabled
(
String
account
,
String
bareAddress
)
{
if
(
SettingsManager
.
chatsShowStatusChange
()
!=
ChatsShowStatusChange
.
always
)
{
return
false
;
...
...
app/src/main/java/com/xabber/android/ui/ChatViewer.java
View file @
6093fe43
...
...
@@ -85,6 +85,8 @@ public class ChatViewer extends ManagedActivity implements OnChatChangedListener
private
boolean
isRecentChatsSelected
;
private
boolean
isVisible
;
public
static
void
hideKeyboard
(
Activity
activity
)
{
// Check if no view has focus:
View
view
=
activity
.
getCurrentFocus
();
...
...
@@ -255,6 +257,8 @@ public class ChatViewer extends ManagedActivity implements OnChatChangedListener
@Override
protected
void
onResume
()
{
super
.
onResume
();
isVisible
=
true
;
Application
.
getInstance
().
addUIListener
(
OnChatChangedListener
.
class
,
this
);
Application
.
getInstance
().
addUIListener
(
OnContactChangedListener
.
class
,
this
);
Application
.
getInstance
().
addUIListener
(
OnAccountChangedListener
.
class
,
this
);
...
...
@@ -308,6 +312,7 @@ public class ChatViewer extends ManagedActivity implements OnChatChangedListener
Application
.
getInstance
().
removeUIListener
(
OnContactChangedListener
.
class
,
this
);
Application
.
getInstance
().
removeUIListener
(
OnAccountChangedListener
.
class
,
this
);
MessageManager
.
getInstance
().
removeVisibleChat
();
isVisible
=
false
;
}
private
void
selectChatPage
(
BaseEntity
chat
,
boolean
smoothScroll
)
{
...
...
@@ -371,7 +376,9 @@ public class ChatViewer extends ManagedActivity implements OnChatChangedListener
if
(
isRecentChatsSelected
)
{
MessageManager
.
getInstance
().
removeVisibleChat
();
}
else
{
MessageManager
.
getInstance
().
setVisibleChat
(
selectedChat
);
if
(
isVisible
)
{
MessageManager
.
getInstance
().
setVisibleChat
(
selectedChat
);
}
MessageArchiveManager
.
getInstance
().
requestHistory
(
selectedChat
.
getAccount
(),
selectedChat
.
getUser
(),
0
,
MessageManager
.
getInstance
().
getChat
(
selectedChat
.
getAccount
(),
selectedChat
.
getUser
()).
getRequiredMessageCount
());
...
...
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