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
6dd5005b
Commit
6dd5005b
authored
Apr 02, 2015
by
Grigory Fedorov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
No context menu for active chats.
parent
03708487
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
44 additions
and
65 deletions
+44
-65
ContextMenuHelper.java
.../java/com/xabber/android/ui/helper/ContextMenuHelper.java
+44
-65
No files found.
app/src/main/java/com/xabber/android/ui/helper/ContextMenuHelper.java
View file @
6dd5005b
...
@@ -56,9 +56,8 @@ public class ContextMenuHelper {
...
@@ -56,9 +56,8 @@ public class ContextMenuHelper {
private
ContextMenuHelper
()
{
private
ContextMenuHelper
()
{
}
}
public
static
void
createContactContextMenu
(
public
static
void
createContactContextMenu
(
final
FragmentActivity
activity
,
final
FragmentActivity
activity
,
final
UpdatableAdapter
adapter
,
final
UpdatableAdapter
adapter
,
AbstractContact
abstractContact
,
ContextMenu
menu
)
{
AbstractContact
abstractContact
,
ContextMenu
menu
)
{
final
String
account
=
abstractContact
.
getAccount
();
final
String
account
=
abstractContact
.
getAccount
();
final
String
user
=
abstractContact
.
getUser
();
final
String
user
=
abstractContact
.
getUser
();
menu
.
setHeaderTitle
(
abstractContact
.
getName
());
menu
.
setHeaderTitle
(
abstractContact
.
getName
());
...
@@ -68,7 +67,6 @@ public class ContextMenuHelper {
...
@@ -68,7 +67,6 @@ public class ContextMenuHelper {
MUCEditor
.
createIntent
(
activity
,
account
,
user
));
MUCEditor
.
createIntent
(
activity
,
account
,
user
));
menu
.
add
(
R
.
string
.
muc_delete
).
setOnMenuItemClickListener
(
menu
.
add
(
R
.
string
.
muc_delete
).
setOnMenuItemClickListener
(
new
MenuItem
.
OnMenuItemClickListener
()
{
new
MenuItem
.
OnMenuItemClickListener
()
{
@Override
@Override
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
MUCDeleteDialogFragment
.
newInstance
(
account
,
user
)
MUCDeleteDialogFragment
.
newInstance
(
account
,
user
)
...
@@ -76,19 +74,16 @@ public class ContextMenuHelper {
...
@@ -76,19 +74,16 @@ public class ContextMenuHelper {
"MUC_DELETE"
);
"MUC_DELETE"
);
return
true
;
return
true
;
}
}
});
});
if
(
MUCManager
.
getInstance
().
isDisabled
(
account
,
user
))
if
(
MUCManager
.
getInstance
().
isDisabled
(
account
,
user
))
menu
.
add
(
R
.
string
.
muc_join
).
setOnMenuItemClickListener
(
menu
.
add
(
R
.
string
.
muc_join
).
setOnMenuItemClickListener
(
new
MenuItem
.
OnMenuItemClickListener
()
{
new
MenuItem
.
OnMenuItemClickListener
()
{
@Override
@Override
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
MUCManager
.
getInstance
().
joinRoom
(
account
,
MUCManager
.
getInstance
().
joinRoom
(
account
,
user
,
true
);
user
,
true
);
return
true
;
return
true
;
}
}
});
});
else
else
menu
.
add
(
R
.
string
.
muc_leave
).
setOnMenuItemClickListener
(
menu
.
add
(
R
.
string
.
muc_leave
).
setOnMenuItemClickListener
(
...
@@ -194,52 +189,47 @@ public class ContextMenuHelper {
...
@@ -194,52 +189,47 @@ public class ContextMenuHelper {
}
}
public
static
void
createGroupContextMenu
(
final
FragmentActivity
activity
,
public
static
void
createGroupContextMenu
(
final
FragmentActivity
activity
,
UpdatableAdapter
adapter
,
final
String
account
,
final
String
group
,
UpdatableAdapter
adapter
,
final
String
account
,
final
String
group
,
ContextMenu
menu
)
{
ContextMenu
menu
)
{
menu
.
setHeaderTitle
(
GroupManager
.
getInstance
().
getGroupName
(
account
,
group
));
menu
.
setHeaderTitle
(
GroupManager
.
getInstance
().
getGroupName
(
account
,
if
(!
group
.
equals
(
GroupManager
.
ACTIVE_CHATS
)
&&
!
group
.
equals
(
GroupManager
.
IS_ROOM
))
{
group
));
if
(
group
!=
GroupManager
.
ACTIVE_CHATS
&&
group
!=
GroupManager
.
IS_ROOM
)
{
menu
.
add
(
R
.
string
.
group_rename
).
setOnMenuItemClickListener
(
menu
.
add
(
R
.
string
.
group_rename
).
setOnMenuItemClickListener
(
new
MenuItem
.
OnMenuItemClickListener
()
{
new
MenuItem
.
OnMenuItemClickListener
()
{
@Override
@Override
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
GroupRenameDialogFragment
.
newInstance
(
GroupRenameDialogFragment
.
newInstance
(
account
==
GroupManager
.
NO_ACCOUNT
?
null
account
.
equals
(
GroupManager
.
NO_ACCOUNT
)
?
null
:
account
,
:
account
,
group
.
equals
(
GroupManager
.
NO_GROUP
)
?
null
group
==
GroupManager
.
NO_GROUP
?
null
:
group
).
show
(
activity
.
getFragmentManager
(),
:
group
).
show
(
activity
.
getFragmentManager
(),
"GROUP_RENAME"
);
"GROUP_RENAME"
);
return
true
;
return
true
;
}
}
});
});
if
(
group
!=
GroupManager
.
NO_GROUP
)
if
(
!
group
.
equals
(
GroupManager
.
NO_GROUP
))
{
menu
.
add
(
R
.
string
.
group_remove
).
setOnMenuItemClickListener
(
menu
.
add
(
R
.
string
.
group_remove
).
setOnMenuItemClickListener
(
new
MenuItem
.
OnMenuItemClickListener
()
{
new
MenuItem
.
OnMenuItemClickListener
()
{
@Override
@Override
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
GroupDeleteDialogFragment
GroupDeleteDialogFragment
.
newInstance
(
.
newInstance
(
account
.
equals
(
GroupManager
.
NO_ACCOUNT
)
?
null
:
account
,
group
)
account
==
GroupManager
.
NO_ACCOUNT
?
null
:
account
,
group
)
.
show
(
activity
.
getFragmentManager
(),
"GROUP_DELETE"
);
.
show
(
activity
.
getFragmentManager
(),
"GROUP_DELETE"
);
return
true
;
return
true
;
}
}
});
});
}
}
if
(!
group
.
equals
(
GroupManager
.
ACTIVE_CHATS
))
{
createOfflineModeContextMenu
(
adapter
,
account
,
group
,
menu
);
}
}
createOfflineModeContextMenu
(
adapter
,
account
,
group
,
menu
);
}
}
public
static
void
createAccountContextMenu
(
public
static
void
createAccountContextMenu
(
final
FragmentActivity
activity
,
UpdatableAdapter
adapter
,
final
FragmentActivity
activity
,
UpdatableAdapter
adapter
,
final
String
account
,
ContextMenu
menu
)
{
final
String
account
,
ContextMenu
menu
)
{
menu
.
setHeaderTitle
(
AccountManager
.
getInstance
().
getVerboseName
(
account
));
menu
.
setHeaderTitle
(
AccountManager
.
getInstance
()
AccountItem
accountItem
=
AccountManager
.
getInstance
().
getAccount
(
account
);
.
getVerboseName
(
account
));
AccountItem
accountItem
=
AccountManager
.
getInstance
().
getAccount
(
account
);
ConnectionState
state
=
accountItem
.
getState
();
ConnectionState
state
=
accountItem
.
getState
();
if
(
state
==
ConnectionState
.
waiting
)
if
(
state
==
ConnectionState
.
waiting
)
{
menu
.
add
(
R
.
string
.
account_reconnect
).
setOnMenuItemClickListener
(
menu
.
add
(
R
.
string
.
account_reconnect
).
setOnMenuItemClickListener
(
new
MenuItem
.
OnMenuItemClickListener
()
{
new
MenuItem
.
OnMenuItemClickListener
()
{
...
@@ -253,67 +243,56 @@ public class ContextMenuHelper {
...
@@ -253,67 +243,56 @@ public class ContextMenuHelper {
}
}
});
});
menu
.
add
(
R
.
string
.
status_editor
).
setIntent
(
}
StatusEditor
.
createIntent
(
activity
,
account
));
menu
.
add
(
R
.
string
.
status_editor
).
setIntent
(
StatusEditor
.
createIntent
(
activity
,
account
));
menu
.
add
(
R
.
string
.
account_editor
).
setIntent
(
menu
.
add
(
R
.
string
.
account_editor
).
setIntent
(
AccountEditor
.
createIntent
(
activity
,
account
));
AccountEditor
.
createIntent
(
activity
,
account
));
if
(
state
.
isConnected
())
{
if
(
state
.
isConnected
())
{
menu
.
add
(
R
.
string
.
contact_viewer
).
setOnMenuItemClickListener
(
menu
.
add
(
R
.
string
.
contact_viewer
).
setOnMenuItemClickListener
(
new
MenuItem
.
OnMenuItemClickListener
()
{
new
MenuItem
.
OnMenuItemClickListener
()
{
@Override
@Override
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
public
boolean
onMenuItemClick
(
MenuItem
item
)
{
String
user
=
AccountManager
.
getInstance
()
String
user
=
AccountManager
.
getInstance
().
getAccount
(
account
).
getRealJid
();
.
getAccount
(
account
).
getRealJid
();
if
(
user
==
null
)
{
if
(
user
==
null
)
Application
.
getInstance
().
onError
(
R
.
string
.
NOT_CONNECTED
);
Application
.
getInstance
().
onError
(
}
else
{
R
.
string
.
NOT_CONNECTED
);
activity
.
startActivity
(
ContactViewer
.
createIntent
(
activity
,
account
,
user
));
else
{
activity
.
startActivity
(
ContactViewer
.
createIntent
(
activity
,
account
,
user
));
}
}
return
true
;
return
true
;
}
}
});
});
menu
.
add
(
R
.
string
.
contact_add
).
setIntent
(
menu
.
add
(
R
.
string
.
contact_add
).
setIntent
(
ContactAdd
.
createIntent
(
activity
,
account
));
ContactAdd
.
createIntent
(
activity
,
account
));
}
}
if
(
SettingsManager
.
contactsShowAccounts
())
if
(
SettingsManager
.
contactsShowAccounts
())
{
createOfflineModeContextMenu
(
adapter
,
account
,
null
,
menu
);
createOfflineModeContextMenu
(
adapter
,
account
,
null
,
menu
);
}
}
}
private
static
void
createOfflineModeContextMenu
(
UpdatableAdapter
adapter
,
private
static
void
createOfflineModeContextMenu
(
UpdatableAdapter
adapter
,
String
account
,
String
group
,
ContextMenu
menu
)
{
String
account
,
String
group
,
ContextMenu
menu
)
{
SubMenu
mapMode
=
menu
.
addSubMenu
(
R
.
string
.
show_offline_settings
);
SubMenu
mapMode
=
menu
.
addSubMenu
(
R
.
string
.
show_offline_settings
);
mapMode
.
setHeaderTitle
(
R
.
string
.
show_offline_settings
);
mapMode
.
setHeaderTitle
(
R
.
string
.
show_offline_settings
);
MenuItem
always
=
mapMode
.
add
(
R
.
string
.
show_offline_settings
,
0
,
0
,
MenuItem
always
=
mapMode
.
add
(
R
.
string
.
show_offline_settings
,
0
,
0
,
R
.
string
.
show_offline_always
)
R
.
string
.
show_offline_always
).
setOnMenuItemClickListener
(
.
setOnMenuItemClickListener
(
new
OfflineModeClickListener
(
adapter
,
account
,
group
,
new
OfflineModeClickListener
(
adapter
,
account
,
group
,
ShowOfflineMode
.
always
));
ShowOfflineMode
.
always
));
MenuItem
normal
=
mapMode
.
add
(
R
.
string
.
show_offline_settings
,
0
,
0
,
R
.
string
.
show_offline_normal
).
setOnMenuItemClickListener
(
MenuItem
normal
=
mapMode
.
add
(
R
.
string
.
show_offline_settings
,
0
,
0
,
new
OfflineModeClickListener
(
adapter
,
account
,
group
,
ShowOfflineMode
.
normal
));
R
.
string
.
show_offline_normal
).
setOnMenuItemClickListener
(
MenuItem
never
=
mapMode
.
add
(
R
.
string
.
show_offline_settings
,
0
,
0
,
R
.
string
.
show_offline_never
).
setOnMenuItemClickListener
(
new
OfflineModeClickListener
(
adapter
,
account
,
group
,
new
OfflineModeClickListener
(
adapter
,
account
,
group
,
ShowOfflineMode
.
never
));
ShowOfflineMode
.
normal
));
MenuItem
never
=
mapMode
.
add
(
R
.
string
.
show_offline_settings
,
0
,
0
,
R
.
string
.
show_offline_never
).
setOnMenuItemClickListener
(
new
OfflineModeClickListener
(
adapter
,
account
,
group
,
ShowOfflineMode
.
never
));
mapMode
.
setGroupCheckable
(
R
.
string
.
show_offline_settings
,
true
,
true
);
mapMode
.
setGroupCheckable
(
R
.
string
.
show_offline_settings
,
true
,
true
);
ShowOfflineMode
showOfflineMode
=
GroupManager
.
getInstance
()
ShowOfflineMode
showOfflineMode
=
GroupManager
.
getInstance
().
getShowOfflineMode
(
account
,
.
getShowOfflineMode
(
account
,
group
==
null
?
GroupManager
.
IS_ACCOUNT
:
group
);
group
==
null
?
GroupManager
.
IS_ACCOUNT
:
group
);
if
(
showOfflineMode
==
ShowOfflineMode
.
always
)
if
(
showOfflineMode
==
ShowOfflineMode
.
always
)
{
always
.
setChecked
(
true
);
always
.
setChecked
(
true
);
else
if
(
showOfflineMode
==
ShowOfflineMode
.
normal
)
}
else
if
(
showOfflineMode
==
ShowOfflineMode
.
normal
)
{
normal
.
setChecked
(
true
);
normal
.
setChecked
(
true
);
else
if
(
showOfflineMode
==
ShowOfflineMode
.
never
)
}
else
if
(
showOfflineMode
==
ShowOfflineMode
.
never
)
{
never
.
setChecked
(
true
);
never
.
setChecked
(
true
);
else
}
else
{
throw
new
IllegalStateException
();
throw
new
IllegalStateException
();
}
}
}
private
static
class
OfflineModeClickListener
implements
private
static
class
OfflineModeClickListener
implements
MenuItem
.
OnMenuItemClickListener
{
MenuItem
.
OnMenuItemClickListener
{
private
final
UpdatableAdapter
adapter
;
private
final
UpdatableAdapter
adapter
;
private
final
String
account
;
private
final
String
account
;
...
...
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