sendMessage(context, address, toNonNull(context.getString(resource, args)));
}
+ /**
+ * Send a confirmation message to a certain Address. A confirm message is a message that:
+ * 1) Confers no information (except for confirming that the command was executed).
+ * 2) May be dropped if the user asked so.
+ *
+ * @param context Context instance
+ * @param address destination Address
+ * @param resource String resource for the message text
+ * @param args format parameters for the resource
+ */
+ public static void sendConfirmMessage(final Context context, final Address address, final int resource, final Object... args){
+ final SharedPreferences sp=PreferenceManager.getDefaultSharedPreferences(context);
+ if(address.protocol != Protocol.SMS || !sp.getBoolean("expensive_sms", false))
+ sendMessage(context, address, resource, args);
+ }
+
/**
* Send a notification to the user.
*
PreferenceManager.getDefaultSharedPreferences(context).edit()
.putString(MessageType.valueOf(args[0].toUpperCase(Locale.ENGLISH)).toString(), replyTo.toString())
.commit();
- sendMessage(context, replyTo, notification_enabled);
+ sendConfirmMessage(context, replyTo, notification_enabled);
} catch (IllegalArgumentException e){
sendMessage(context, replyTo, messagetype_should_be_one_of, join(", ",toNonNull(MessageType.values())));
break;
PreferenceManager.getDefaultSharedPreferences(context).edit()
.remove(MessageType.valueOf(args[0].toUpperCase(Locale.ENGLISH)).toString())
.commit();
- sendMessage(context, replyTo, notification_disabled);
+ sendConfirmMessage(context, replyTo, notification_disabled);
} catch (IllegalArgumentException e){
sendMessage(context, replyTo, messagetype_should_be_one_of, join(", ",toNonNull(MessageType.values())));
break;
else
Heavy.setPassword(context, replyTo, toNonNull(args[0]));
} catch (SecurityException e){
- sendMessage(context, replyTo, security_exception+e.getMessage());
+ sendMessage(context, replyTo, security_exception, e.getMessage());
}
break;