summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoman Birg <roman@cyngn.com>2015-04-15 10:07:28 -0700
committerRoman Birg <roman@cyngn.com>2015-04-24 13:07:34 -0700
commitc7f41012299c5f231e65c8d1e8f32549dfc5e992 (patch)
tree49957d9a5ab3ad286324baf8afa469fa1dbc6504
parent198dd362c31a67996bc84ed63d55d4b08512c843 (diff)
downloadpackages_apps_InCallUI-c7f41012299c5f231e65c8d1e8f32549dfc5e992.tar.gz
packages_apps_InCallUI-c7f41012299c5f231e65c8d1e8f32549dfc5e992.tar.bz2
packages_apps_InCallUI-c7f41012299c5f231e65c8d1e8f32549dfc5e992.zip
InCallUI: show legal warning on first call record
Change-Id: Ia404652b2e20177426c03c053ea8c4cffd1db52d Signed-off-by: Roman Birg <roman@cyngn.com>
-rw-r--r--res/values/cm_strings.xml2
-rw-r--r--src/com/android/incallui/CallButtonPresenter.java26
2 files changed, 28 insertions, 0 deletions
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
index 3aaf40c7..d76e42f1 100644
--- a/res/values/cm_strings.xml
+++ b/res/values/cm_strings.xml
@@ -72,6 +72,8 @@
<string name="menu_start_record">Record call</string>
<string name="menu_stop_record">Stop recording</string>
<string name="recording_time_text">Recording</string>
+ <string name="recording_warning_title">Enable call recording?</string>
+ <string name="recording_warning_text">Notice: You are responsible for compliance with any laws, regulations and rules that apply to the use of call recording functionality and the use or distribution of those recordings.</string>
<!-- Set Subscription screen: label sub 1 -->
<string name="sub_1">SIM 1</string>
diff --git a/src/com/android/incallui/CallButtonPresenter.java b/src/com/android/incallui/CallButtonPresenter.java
index 7e7a0219..7bc67744 100644
--- a/src/com/android/incallui/CallButtonPresenter.java
+++ b/src/com/android/incallui/CallButtonPresenter.java
@@ -19,6 +19,7 @@ package com.android.incallui;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.SharedPreferences;
import android.os.Bundle;
import android.telecom.AudioState;
import android.telecom.InCallService.VideoCall;
@@ -47,6 +48,7 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto
private static final String KEY_AUTOMATICALLY_MUTED = "incall_key_automatically_muted";
private static final String KEY_PREVIOUS_MUTE_STATE = "incall_key_previous_mute_state";
+ private static final String RECORDING_WARNING_PRESENTED = "recording_warning_presented";
private Call mCall;
private boolean mAutomaticallyMuted = false;
@@ -338,6 +340,30 @@ public class CallButtonPresenter extends Presenter<CallButtonPresenter.CallButto
public void callRecordClicked(boolean startRecording) {
CallRecorder recorder = CallRecorder.getInstance();
if (startRecording) {
+ Context context = getUi().getContext();
+ final SharedPreferences prefs = InCallApp.getPrefs(context);
+ boolean warningPresented = prefs
+ .getBoolean(RECORDING_WARNING_PRESENTED, false);
+ if (!warningPresented) {
+ new AlertDialog.Builder(context)
+ .setTitle(R.string.recording_warning_title)
+ .setMessage(R.string.recording_warning_text)
+ .setPositiveButton(R.string.menu_start_record,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ prefs
+ .edit()
+ .putBoolean(RECORDING_WARNING_PRESENTED, true)
+ .apply();
+ callRecordClicked(true);
+ }
+ })
+ .setNegativeButton(android.R.string.cancel, null)
+ .create()
+ .show();
+ return;
+ }
recorder.startRecording(mCall.getNumber(),
mCall.getCreateTimeMillis());
} else if (recorder.isRecording()) {