diff options
author | emancebo <emancebo@cyngn.com> | 2015-04-20 16:48:39 -0700 |
---|---|---|
committer | emancebo <emancebo@cyngn.com> | 2015-04-20 16:48:39 -0700 |
commit | c21907022be37a885e94867801404c91e8f9cc83 (patch) | |
tree | 308a0bae87fdfcf733244c4d30c6655dd34b9b97 | |
parent | 344d8912055ef6a902ba6471a2d97869ac0be5b3 (diff) | |
download | packages_apps_InCallUI-c21907022be37a885e94867801404c91e8f9cc83.tar.gz packages_apps_InCallUI-c21907022be37a885e94867801404c91e8f9cc83.tar.bz2 packages_apps_InCallUI-c21907022be37a885e94867801404c91e8f9cc83.zip |
Fix call recorder exception on unknown number / conference call
Change-Id: Ibb4f4aa6e79cbd953611ac39ce9f2d4d89615c47
-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); |