diff options
author | emancebo <emancebo@cyngn.com> | 2015-04-20 16:48:39 -0700 |
---|---|---|
committer | Ed Mancebo <emancebo@cyngn.com> | 2015-04-23 19:22:40 +0000 |
commit | d060295e2f825dcbfb2e4a4e1c79cf0cac3939bb (patch) | |
tree | b54a7bfc91acf50a1e0bbd40c0d69e119769fb1a | |
parent | e8c0f1957c7af362f5e514bf9b264b936b6e5f3c (diff) | |
download | packages_apps_InCallUI-d060295e2f825dcbfb2e4a4e1c79cf0cac3939bb.tar.gz packages_apps_InCallUI-d060295e2f825dcbfb2e4a4e1c79cf0cac3939bb.tar.bz2 packages_apps_InCallUI-d060295e2f825dcbfb2e4a4e1c79cf0cac3939bb.zip |
Fix call recorder exception on unknown number / conference call
Change-Id: Ibb4f4aa6e79cbd953611ac39ce9f2d4d89615c47
(cherry picked from commit c21907022be37a885e94867801404c91e8f9cc83)
-rw-r--r-- | res/values/cm_strings.xml | 1 | ||||
-rw-r--r-- | src/com/android/incallui/CallRecorder.java | 27 |
2 files changed, 19 insertions, 9 deletions
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml index 442584b9..95eec9c5 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -31,6 +31,7 @@ <string name="onscreenBlacklistText">Blacklist</string> <string name="call_recording_failed_message">Failed to start call recording</string> + <string name="call_recording_file_location">Saved call recording to <xliff:g id="filename">%s</xliff:g></string> <!-- Blacklist confirmation dialog --> <string name="blacklist_dialog_title">Add to blacklist</string> diff --git a/src/com/android/incallui/CallRecorder.java b/src/com/android/incallui/CallRecorder.java index 2afd8c34..48523fa6 100644 --- a/src/com/android/incallui/CallRecorder.java +++ b/src/com/android/incallui/CallRecorder.java @@ -157,15 +157,24 @@ public class CallRecorder implements CallList.Listener { try { final CallRecording recording = mService.stopRecording(); if (recording != null) { - new Thread(new Runnable() { - @Override - public void run() { - CallRecordingDataStore dataStore = new CallRecordingDataStore(); - dataStore.open(mContext); - dataStore.putRecording(recording); - dataStore.close(); - } - }).start(); + if (!TextUtils.isEmpty(recording.phoneNumber)) { + new Thread(new Runnable() { + @Override + public void run() { + CallRecordingDataStore dataStore = new CallRecordingDataStore(); + dataStore.open(mContext); + dataStore.putRecording(recording); + dataStore.close(); + } + }).start(); + } else { + // Data store is an index by number so that we can link recordings in the + // call detail page. If phone number is not available (conference call or + // unknown number) then just display a toast. + String msg = mContext.getResources().getString( + R.string.call_recording_file_location, recording.fileName); + Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show(); + } } } catch (RemoteException e) { Log.w(TAG, "Failed to stop recording", e); |