some clean ups for affiliation change context menu

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java | 10 
src/main/res/menu/muc_details_context.xml                              |  4 
src/main/res/values/strings.xml                                        |  8 
3 files changed, 16 insertions(+), 6 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java 🔗

@@ -245,6 +245,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
 				MenuItem giveAdminPrivileges = menu.findItem(R.id.give_admin_privileges);
 				MenuItem removeAdminPrivileges = menu.findItem(R.id.remove_admin_privileges);
 				MenuItem removeFromRoom = menu.findItem(R.id.remove_from_room);
+				MenuItem banFromConference = menu.findItem(R.id.ban_from_conference);
 				startConversation.setVisible(true);
 				if (self.getAffiliation().ranks(MucOptions.Affiliation.ADMIN) &&
 						self.getAffiliation().outranks(user.getAffiliation())) {
@@ -254,13 +255,15 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
 						} else {
 							removeMembership.setVisible(true);
 						}
+						banFromConference.setVisible(true);
+					} else {
+						removeFromRoom.setVisible(true);
 					}
 					if (user.getAffiliation() != MucOptions.Affiliation.ADMIN) {
 						giveAdminPrivileges.setVisible(true);
 					} else {
 						removeAdminPrivileges.setVisible(true);
 					}
-					removeFromRoom.setVisible(true);
 				}
 			}
 
@@ -289,6 +292,9 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
 			case R.id.remove_from_room:
 				removeFromRoom(mSelectedUser);
 				return true;
+			case R.id.ban_from_conference:
+				xmppConnectionService.changeAffiliationInConference(mConversation,mSelectedUser.getJid(), MucOptions.Affiliation.OUTCAST,this);
+				return true;
 			default:
 				return super.onContextItemSelected(item);
 		}
@@ -299,7 +305,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
 			xmppConnectionService.changeAffiliationInConference(mConversation,user.getJid(), MucOptions.Affiliation.NONE,this);
 		} else {
 			AlertDialog.Builder builder = new AlertDialog.Builder(this);
-			builder.setTitle(R.string.ban_user_from_conference);
+			builder.setTitle(R.string.ban_from_conference);
 			builder.setMessage(getString(R.string.removing_from_public_conference,user.getName()));
 			builder.setNegativeButton(R.string.cancel,null);
 			builder.setPositiveButton(R.string.ban_now,new DialogInterface.OnClickListener() {

src/main/res/menu/muc_details_context.xml 🔗

@@ -21,6 +21,10 @@
 		android:id="@+id/remove_membership"
 		android:title="@string/remove_membership"
 		android:visible="false"/>
+	<item
+		android:id="@+id/ban_from_conference"
+	    android:title="@string/ban_from_conference"
+	    android:visible="false" />
 	<item
 		android:id="@+id/remove_from_room"
         android:title="@string/remove_from_room"

src/main/res/values/strings.xml 🔗

@@ -412,12 +412,12 @@
 	<string name="member">Member</string>
 	<string name="advanced_mode">Advanced mode</string>
 	<string name="grant_membership">Grant membership</string>
-	<string name="remove_membership">Remove membership</string>
+	<string name="remove_membership">Revoke membership</string>
 	<string name="grant_admin_privileges">Grant admin privileges</string>
-	<string name="remove_admin_privileges">Remove admin privileges</string>
-	<string name="remove_from_room">Remove from room</string>
+	<string name="remove_admin_privileges">Revoke admin privileges</string>
+	<string name="remove_from_room">Remove from conference</string>
 	<string name="could_not_change_affiliation">Could not change affiliation</string>
-	<string name="ban_user_from_conference">Ban user from conference</string>
+	<string name="ban_from_conference">Ban from conference</string>
 	<string name="removing_from_public_conference">You are trying to remove %s from a public conference. The only way to do that is to ban that user for ever.</string>
 	<string name="ban_now">Ban now</string>
 </resources>