display specific error message when password is too weak on registration
This commit is contained in:
		
							parent
							
								
									198a9f2226
								
							
						
					
					
						commit
						3409399ef1
					
				| @ -110,7 +110,8 @@ public class Account extends AbstractEntity { | ||||
| 		HOST_UNKNOWN(true), | ||||
| 		REGISTRATION_PLEASE_WAIT(true), | ||||
| 		STREAM_ERROR(true), | ||||
| 		POLICY_VIOLATION(true); | ||||
| 		POLICY_VIOLATION(true), | ||||
| 		REGISTRATION_PASSWORD_TOO_WEAK(true); | ||||
| 
 | ||||
| 		private final boolean isError; | ||||
| 
 | ||||
| @ -118,11 +119,11 @@ public class Account extends AbstractEntity { | ||||
| 			return this.isError; | ||||
| 		} | ||||
| 
 | ||||
| 		private State(final boolean isError) { | ||||
| 		State(final boolean isError) { | ||||
| 			this.isError = isError; | ||||
| 		} | ||||
| 
 | ||||
| 		private State() { | ||||
| 		State() { | ||||
| 			this(false); | ||||
| 		} | ||||
| 
 | ||||
| @ -164,6 +165,8 @@ public class Account extends AbstractEntity { | ||||
| 					return R.string.account_status_policy_violation; | ||||
| 				case REGISTRATION_PLEASE_WAIT: | ||||
| 					return R.string.registration_please_wait; | ||||
| 				case REGISTRATION_PASSWORD_TOO_WEAK: | ||||
| 					return R.string.registration_password_too_weak; | ||||
| 				case STREAM_ERROR: | ||||
| 					return R.string.account_status_stream_error; | ||||
| 				default: | ||||
|  | ||||
| @ -34,6 +34,7 @@ import java.security.Principal; | ||||
| import java.security.PrivateKey; | ||||
| import java.security.cert.X509Certificate; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Arrays; | ||||
| import java.util.HashMap; | ||||
| import java.util.Hashtable; | ||||
| import java.util.Iterator; | ||||
| @ -182,20 +183,24 @@ public class XmppConnection implements Runnable { | ||||
| 				forceCloseSocket(); | ||||
| 				changeStatus(Account.State.REGISTRATION_SUCCESSFUL); | ||||
| 			} else { | ||||
| 				final List<String> PASSWORD_TOO_WEAK_MSGS = Arrays.asList( | ||||
| 						"The password is too weak", | ||||
| 						"Please use a longer password."); | ||||
| 				Element error = packet.findChild("error"); | ||||
| 				if (error != null && error.hasChild("conflict")) { | ||||
| 					forceCloseSocket(); | ||||
| 					changeStatus(Account.State.REGISTRATION_CONFLICT); | ||||
| 				} else if (error != null | ||||
| 						&& "wait".equals(error.getAttribute("type")) | ||||
| 						&& error.hasChild("resource-constraint")) { | ||||
| 					forceCloseSocket(); | ||||
| 					changeStatus(Account.State.REGISTRATION_PLEASE_WAIT); | ||||
| 				} else { | ||||
| 					forceCloseSocket(); | ||||
| 					changeStatus(Account.State.REGISTRATION_FAILED); | ||||
| 					Log.d(Config.LOGTAG, packet.toString()); | ||||
| 				Account.State state = Account.State.REGISTRATION_FAILED; | ||||
| 				if (error != null) { | ||||
| 					if (error.hasChild("conflict")) { | ||||
| 						state = Account.State.REGISTRATION_CONFLICT; | ||||
| 					} else if (error.hasChild("resource-constraint") | ||||
| 							&& "wait".equals(error.getAttribute("type"))) { | ||||
| 						state = Account.State.REGISTRATION_PLEASE_WAIT; | ||||
| 					} else if (error.hasChild("not-acceptable") | ||||
| 							&& PASSWORD_TOO_WEAK_MSGS.contains(error.findChildContent("text"))) { | ||||
| 						state = Account.State.REGISTRATION_PASSWORD_TOO_WEAK; | ||||
| 					} | ||||
| 				} | ||||
| 				changeStatus(state); | ||||
| 				forceCloseSocket(); | ||||
| 			} | ||||
| 		} | ||||
| 	}; | ||||
|  | ||||
| @ -648,6 +648,7 @@ | ||||
| 	<string name="device_does_not_support_battery_op">Your device does not support opting out of battery optimization</string> | ||||
| 	<string name="show_password">Show password</string> | ||||
| 	<string name="registration_please_wait">Registration failed: Try again later</string> | ||||
| 	<string name="registration_password_too_weak">Registration failed: Password too weak</string> | ||||
| 	<string name="create_conference">Create conference</string> | ||||
| 	<string name="join_or_create_conference">Join or create conference</string> | ||||
| 	<string name="conference_subject">Subject</string> | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Daniel Gultsch
						Daniel Gultsch