Snap for 4683893 from fd75f2cd95d4c37cb9ee3cc1c95a367b34b3da3c to pi-release

Change-Id: I342742a7f2cd846a3562379197ee4c7e58a907ea
diff --git a/mojo/public/tools/bindings/generators/java_templates/interface_definition.tmpl b/mojo/public/tools/bindings/generators/java_templates/interface_definition.tmpl
index ba31186..a723f8c 100644
--- a/mojo/public/tools/bindings/generators/java_templates/interface_definition.tmpl
+++ b/mojo/public/tools/bindings/generators/java_templates/interface_definition.tmpl
@@ -246,7 +246,12 @@
 {%   if method.response_parameters|length %}
                 {{response_struct|name}} response = {{response_struct|name}}.deserialize(messageWithHeader.getPayload());
 {%   endif %}
-                mCallback.call({{run_callback('response', method.response_parameters)}});
+                try {
+                    mCallback.call({{run_callback('response', method.response_parameters)}});
+                } catch (RuntimeException e) {
+                    // TODO(lhchavez): Remove this hack. See b/28814913 for details.
+                    android.util.Log.wtf("{{namespace}}.{{interface.name}}", "Uncaught runtime exception", e);
+                }
                 return true;
             } catch (org.chromium.mojo.bindings.DeserializationException e) {
                 return false;