summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremancebo <emancebo@cyngn.com>2015-04-20 16:48:39 -0700
committerNir Bruderman <nbruderman@gmail.com>2015-04-23 16:04:35 +0000
commit198dd362c31a67996bc84ed63d55d4b08512c843 (patch)
tree774b202790bff93ea5d8f10efc96284fbc5eb212
parentbf5bae2dfa0e155fd18b9d716ddfaf4c38c5da62 (diff)
downloadpackages_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.xml1
-rw-r--r--src/com/android/incallui/CallRecorder.java27
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);