show warning snackbar before joining anon-non-private room. fixes #3306
This commit is contained in:
		
							parent
							
								
									5b681553df
								
							
						
					
					
						commit
						1a1bfb3246
					
				| @ -676,7 +676,8 @@ public class MucOptions { | |||||||
|         SHUTDOWN, |         SHUTDOWN, | ||||||
|         DESTROYED, |         DESTROYED, | ||||||
|         INVALID_NICK, |         INVALID_NICK, | ||||||
|         UNKNOWN |         UNKNOWN, | ||||||
|  |         NON_ANONYMOUS | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private interface OnEventListener { |     private interface OnEventListener { | ||||||
|  | |||||||
| @ -2298,6 +2298,13 @@ public class XmppConnectionService extends Service { | |||||||
| 				private void join(Conversation conversation) { | 				private void join(Conversation conversation) { | ||||||
| 					Account account = conversation.getAccount(); | 					Account account = conversation.getAccount(); | ||||||
| 					final MucOptions mucOptions = conversation.getMucOptions(); | 					final MucOptions mucOptions = conversation.getMucOptions(); | ||||||
|  | 
 | ||||||
|  | 					if (mucOptions.nonanonymous() && !mucOptions.membersOnly() && !conversation.getBooleanAttribute("accept_non_anonymous", false)) { | ||||||
|  | 					    mucOptions.setError(MucOptions.Error.NON_ANONYMOUS); | ||||||
|  | 					    updateConversationUi(); | ||||||
|  | 					    return; | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
| 					final Jid joinJid = mucOptions.getSelf().getFullJid(); | 					final Jid joinJid = mucOptions.getSelf().getFullJid(); | ||||||
| 					Log.d(Config.LOGTAG, account.getJid().asBareJid().toString() + ": joining conversation " + joinJid.toString()); | 					Log.d(Config.LOGTAG, account.getJid().asBareJid().toString() + ": joining conversation " + joinJid.toString()); | ||||||
| 					PresencePacket packet = mPresenceGenerator.selfPresence(account, Presence.Status.ONLINE, mucOptions.nonanonymous() || onConferenceJoined != null); | 					PresencePacket packet = mPresenceGenerator.selfPresence(account, Presence.Status.ONLINE, mucOptions.nonanonymous() || onConferenceJoined != null); | ||||||
|  | |||||||
| @ -187,6 +187,16 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke | |||||||
|             activity.xmppConnectionService.joinMuc(conversation); |             activity.xmppConnectionService.joinMuc(conversation); | ||||||
|         } |         } | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|  |     private OnClickListener acceptJoin = new OnClickListener() { | ||||||
|  |         @Override | ||||||
|  |         public void onClick(View v) { | ||||||
|  |             conversation.setAttribute("accept_non_anonymous",true); | ||||||
|  |             activity.xmppConnectionService.updateConversation(conversation); | ||||||
|  |             activity.xmppConnectionService.joinMuc(conversation); | ||||||
|  |         } | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|     private OnClickListener enterPassword = new OnClickListener() { |     private OnClickListener enterPassword = new OnClickListener() { | ||||||
| 
 | 
 | ||||||
|         @Override |         @Override | ||||||
| @ -2119,6 +2129,9 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke | |||||||
|                 case DESTROYED: |                 case DESTROYED: | ||||||
|                     showSnackbar(R.string.conference_destroyed, R.string.leave, leaveMuc); |                     showSnackbar(R.string.conference_destroyed, R.string.leave, leaveMuc); | ||||||
|                     break; |                     break; | ||||||
|  |                 case NON_ANONYMOUS: | ||||||
|  |                     showSnackbar(R.string.group_chat_will_make_your_jabber_id_public, R.string.join, acceptJoin); | ||||||
|  |                     break; | ||||||
|                 default: |                 default: | ||||||
|                     hideSnackbar(); |                     hideSnackbar(); | ||||||
|                     break; |                     break; | ||||||
|  | |||||||
| @ -803,4 +803,5 @@ | |||||||
|     <string name="install_orbot">Install Orbot</string> |     <string name="install_orbot">Install Orbot</string> | ||||||
|     <string name="start_orbot">Start Orbot</string> |     <string name="start_orbot">Start Orbot</string> | ||||||
|     <string name="no_market_app_installed">No market app installed.</string> |     <string name="no_market_app_installed">No market app installed.</string> | ||||||
|  |     <string name="group_chat_will_make_your_jabber_id_public">This group chat will make your Jabber ID public</string> | ||||||
| </resources> | </resources> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Daniel Gultsch
						Daniel Gultsch