Fix for BT crash during CPBR AT cmd processing

Delete the local reference of jstring objects during every callback
for unknown AT command and dial command after JNI calls the Java
methods.
Bug 7044655

Change-Id: I21792b95fbad37c488ec5a1a30521a5413192751
diff --git a/jni/com_android_bluetooth_hfp.cpp b/jni/com_android_bluetooth_hfp.cpp
index 2545408..bad8908 100644
--- a/jni/com_android_bluetooth_hfp.cpp
+++ b/jni/com_android_bluetooth_hfp.cpp
@@ -118,9 +118,11 @@
 
 static void dial_call_callback(char *number) {
     CHECK_CALLBACK_ENV
+    jstring js_number = sCallbackEnv->NewStringUTF(number);
     sCallbackEnv->CallVoidMethod(mCallbacksObj, method_onDialCall,
-                                 sCallbackEnv->NewStringUTF(number));
+                                 js_number);
     checkAndClearExceptionFromCallback(sCallbackEnv, __FUNCTION__);
+    sCallbackEnv->DeleteLocalRef(js_number);
 }
 
 static void dtmf_cmd_callback(char dtmf) {
@@ -169,9 +171,11 @@
 
 static void unknown_at_callback(char *at_string) {
     CHECK_CALLBACK_ENV
+    jstring js_at_string = sCallbackEnv->NewStringUTF(at_string);
     sCallbackEnv->CallVoidMethod(mCallbacksObj, method_onUnknownAt,
-                                 sCallbackEnv->NewStringUTF(at_string));
+                                 js_at_string);
     checkAndClearExceptionFromCallback(sCallbackEnv, __FUNCTION__);
+    sCallbackEnv->DeleteLocalRef(js_at_string);
 }
 
 static void key_pressed_callback() {