Empty/invalid values should be rejected in several fields
Test case
Steps
- Connect to core
- Go to overflow menu →
Core Settings
Network
(servers)
- Add a new network
- Set
Network Name
- Don't add any servers
- Press
Save
This one may be more difficult to implement and can be set aside to a new issue if desired.
Quassel desktop actually even catches this if you delete all servers from a network after adding it:
Invalid Network Settings
The following problems need to be corrected before your changes can be applied:
- All networks need at least one server defined
Network
(name)
- Add a new network
- Don't set
Network Name
- Add a dummy server
- Press
Save
Server
Network → - Add a new server to an existing network
- Don't fill in
Host
- Press
Save
Identity
- Add a new identity
- Don't fill in
Identity name
- Press
Save
Chatlists
- Add a new chat list
- Don't fill in
Name
- Press
Save
Technically, this one is accepted by the Quassel core, but the desktop GUI requires specifying a name.
Ignore Rule
(ignore rule)
Ignore List → - Add a new ignore rule
- Don't fill in
Ignore Rule
- Press
Save
Technically, this one is accepted by the Quassel core, but the desktop GUI requires specifying an ignore rule.
Ignore Rule
(scope)
Ignore List → This one needs fixed in upstream Quassel, too. It can be ignored for now, or fixed.
- Add a new ignore rule
- Fill in
Ignore Rule
- Set Scope to
Network Scope
- Don't fill in
Scope Rule
- Press
Save
Technically, this one is accepted by the Quassel core, and the desktop GUI does not require specifying an ignore rule scope, but it probably should.
Aliases
→ Alias
(name)
- Add a new alias
- Don't fill in
Name
- Press
Save
Bonus: this logs a crash report in Quasseldroid due to a non-null value set to null. See the crash issue for the specifics.
Aliases
→ Alias
(expansion)
- Add a new alias
- Don't fill in
Expansion
- Press
Save
Bonus: this logs a crash report in Quasseldroid due to a non-null value set to null. See the crash issue for the specifics.
Expected
Quasseldroid rejects the empty fields in the above cases.
Actual
Quasseldroid accepts the empty fields in the above cases, highlighting with red/whatever method Android uses to indicate a field is required.
Additional
The Android approaches appears to be using setHint
and setError
.