diff options
author | emancebo <emancebo@cyngn.com> | 2015-04-20 16:48:39 -0700 |
---|---|---|
committer | Nir Bruderman <nbruderman@gmail.com> | 2015-04-23 16:04:35 +0000 |
commit | 198dd362c31a67996bc84ed63d55d4b08512c843 (patch) | |
tree | 774b202790bff93ea5d8f10efc96284fbc5eb212 | |
parent | bf5bae2dfa0e155fd18b9d716ddfaf4c38c5da62 (diff) | |
download | packages_apps_InCallUI-198dd362c31a67996bc84ed63d55d4b08512c843.tar.gz packages_apps_InCallUI-198dd362c31a67996bc84ed63d55d4b08512c843.tar.bz2 packages_apps_InCallUI-198dd362c31a67996bc84ed63d55d4b08512c843.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 b2baa165..3aaf40c7 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -34,6 +34,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); |