summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremancebo <emancebo@cyngn.com>2015-04-20 16:48:39 -0700
committerEd Mancebo <emancebo@cyngn.com>2015-04-23 19:22:40 +0000
commitd060295e2f825dcbfb2e4a4e1c79cf0cac3939bb (patch)
treeb54a7bfc91acf50a1e0bbd40c0d69e119769fb1a
parente8c0f1957c7af362f5e514bf9b264b936b6e5f3c (diff)
downloadpackages_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.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 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);