Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorAndrew Comminos <andrewcomminos@gmail.com>2014-01-26 11:04:11 +0400
committerAndrew Comminos <andrewcomminos@gmail.com>2014-01-26 11:04:11 +0400
commita73987c532874a9f235ec5d95216cb78fa426d0f (patch)
treee700e314006cbac44b719e5141e31b151236cc13 /src/main
parentef7a1c576080b02a5a5460558646eea0ebb3a9da (diff)
Added proper permission denied message support.
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/morlunk/jumble/protocol/UserHandler.java30
-rw-r--r--src/main/res/values/strings.xml9
2 files changed, 38 insertions, 1 deletions
diff --git a/src/main/java/com/morlunk/jumble/protocol/UserHandler.java b/src/main/java/com/morlunk/jumble/protocol/UserHandler.java
index c8ac313..f48d608 100644
--- a/src/main/java/com/morlunk/jumble/protocol/UserHandler.java
+++ b/src/main/java/com/morlunk/jumble/protocol/UserHandler.java
@@ -274,10 +274,38 @@ public class UserHandler extends ProtocolHandler {
@Override
public void messagePermissionDenied(final Mumble.PermissionDenied msg) {
+ final String reason;
+ switch (msg.getType()) {
+ case ChannelName:
+ reason = getService().getString(R.string.deny_reason_channel_name);
+ break;
+ case TextTooLong:
+ reason = getService().getString(R.string.deny_reason_text_too_long);
+ break;
+ case TemporaryChannel:
+ reason = getService().getString(R.string.deny_reason_no_operation_temp);
+ break;
+ case MissingCertificate:
+ reason = getService().getString(R.string.deny_reason_no_certificate);
+ break;
+ case UserName:
+ reason = getService().getString(R.string.deny_reason_invalid_username);
+ break;
+ case ChannelFull:
+ reason = getService().getString(R.string.deny_reason_channel_full);
+ break;
+ case NestingLimit:
+ reason = getService().getString(R.string.deny_reason_channel_nesting);
+ break;
+ default:
+ if(msg.hasReason()) reason = getService().getString(R.string.deny_reason_other, msg.getReason());
+ else reason = getService().getString(R.string.perm_denied);
+
+ }
getService().notifyObservers(new JumbleService.ObserverRunnable() {
@Override
public void run(IJumbleObserver observer) throws RemoteException {
- observer.onPermissionDenied(msg.getReason());
+ observer.onPermissionDenied(reason);
}
});
}
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index f12f76b..fce65b4 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -45,4 +45,13 @@
<string name="chat_notify_user_recording_stopped">%s stopped recording.</string>
<string name="bluetooth_connected">Bluetooth connected</string>
<string name="bluetooth_disconnected">Bluetooth disconnected</string>
+ <string name="deny_reason_channel_name">Denied: Invalid channel name.</string>
+ <string name="deny_reason_text_too_long">Denied: Text message too long.</string>
+ <string name="deny_reason_no_operation_temp">Denied: Operation not permitted in temporary channel.</string>
+ <string name="deny_reason_no_certificate">You need a certificate to perform this operation.</string>
+ <string name="deny_reason_invalid_username">Invalid username.</string>
+ <string name="deny_reason_channel_full">Channel is full.</string>
+ <string name="deny_reason_channel_nesting">Channel nesting limit reached.</string>
+ <string name="deny_reason_other">Reason: %s</string>
+ <string name="perm_denied">Permission denied.</string>
</resources>