diff options
author | Roman Birg <roman@cyngn.com> | 2015-04-15 10:07:28 -0700 |
---|---|---|
committer | Roman Birg <roman@cyngn.com> | 2015-04-24 13:07:34 -0700 |
commit | c7f41012299c5f231e65c8d1e8f32549dfc5e992 (patch) | |
tree | 49957d9a5ab3ad286324baf8afa469fa1dbc6504 | |
parent | 198dd362c31a67996bc84ed63d55d4b08512c843 (diff) | |
download | packages_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.xml | 2 | ||||
-rw-r--r-- | src/com/android/incallui/CallButtonPresenter.java | 26 |
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()) { |