summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/com/android/incallui/answer/impl/AnswerFragment.java49
-rw-r--r--java/com/android/voicemail/impl/res/xml/vvm_config.xml196
2 files changed, 46 insertions, 199 deletions
diff --git a/java/com/android/incallui/answer/impl/AnswerFragment.java b/java/com/android/incallui/answer/impl/AnswerFragment.java
index 8d8b08791..2405b8edd 100644
--- a/java/com/android/incallui/answer/impl/AnswerFragment.java
+++ b/java/com/android/incallui/answer/impl/AnswerFragment.java
@@ -22,10 +22,15 @@ import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.annotation.SuppressLint;
+import android.annotation.TargetApi;
+import android.app.KeyguardManager;
+import android.app.KeyguardManager.KeyguardDismissCallback;
import android.content.Context;
import android.content.pm.PackageManager;
import android.location.Location;
import android.net.Uri;
+import android.os.Build.VERSION;
+import android.os.Build.VERSION_CODES;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
@@ -1052,14 +1057,47 @@ public class AnswerFragment extends Fragment
}
@Override
+ @TargetApi(VERSION_CODES.O)
public void smsSelected(@Nullable CharSequence text) {
LogUtil.i("AnswerFragment.smsSelected", null);
textResponsesFragment = null;
if (text == null) {
- createCustomSmsDialogFragment = CreateCustomSmsDialogFragment.newInstance();
- createCustomSmsDialogFragment.show(getChildFragmentManager(), null);
- return;
+ if (VERSION.SDK_INT < VERSION_CODES.O) {
+ LogUtil.i("AnswerFragment.smsSelected", "below O, showing dialog directly");
+ showCustomSmsDialog();
+ return;
+ }
+ if (!getContext().getSystemService(KeyguardManager.class).isKeyguardLocked()) {
+ LogUtil.i("AnswerFragment.smsSelected", "not locked, showing dialog directly");
+ showCustomSmsDialog();
+ return;
+ }
+
+ // Show the custom reply dialog only after device is unlocked, as it may cause impersonation
+ // see b/137134588
+ LogUtil.i("AnswerFragment.smsSelected", "dismissing keyguard");
+ getContext()
+ .getSystemService(KeyguardManager.class)
+ .requestDismissKeyguard(
+ getActivity(),
+ new KeyguardDismissCallback() {
+ @Override
+ public void onDismissCancelled() {
+ LogUtil.i("AnswerFragment.smsSelected", "onDismissCancelled");
+ }
+
+ @Override
+ public void onDismissError() {
+ LogUtil.i("AnswerFragment.smsSelected", "onDismissError");
+ }
+
+ @Override
+ public void onDismissSucceeded() {
+ LogUtil.i("AnswerFragment.smsSelected", "onDismissSucceeded");
+ showCustomSmsDialog();
+ }
+ });return;
}
if (primaryCallState != null && canRejectCallWithSms()) {
@@ -1068,6 +1106,11 @@ public class AnswerFragment extends Fragment
}
}
+ private void showCustomSmsDialog() {
+ createCustomSmsDialogFragment = CreateCustomSmsDialogFragment.newInstance();
+ createCustomSmsDialogFragment.showNow(getChildFragmentManager(), null);
+ }
+
@Override
public void smsDismissed() {
LogUtil.i("AnswerFragment.smsDismissed", null);
diff --git a/java/com/android/voicemail/impl/res/xml/vvm_config.xml b/java/com/android/voicemail/impl/res/xml/vvm_config.xml
index 077d6032b..dd142ec9e 100644
--- a/java/com/android/voicemail/impl/res/xml/vvm_config.xml
+++ b/java/com/android/voicemail/impl/res/xml/vvm_config.xml
@@ -21,200 +21,4 @@
<item value="TEST"/>
</string-array>
</pbundle_as_map>
-
- <pbundle_as_map>
- <!-- Bouygues France -->
- <string-array name="mccmnc">
- <item value="20820"/>
- <item value="20821"/>
- <item value="20888"/>
- </string-array>
- <string name="feature_flag_name">vvm_carrier_flag_20820</string>
- <int
- name="vvm_port_number_int"
- value="5499"/>
- <string name="vvm_destination_number_string">22344</string>
- <string name="vvm_type_string">vvm_type_omtp</string>
- </pbundle_as_map>
-
- <pbundle_as_map>
- <!-- Orange Belgium -->
- <string-array name="mccmnc">
- <item value="20610"/>
- </string-array>
-
- <int
- name="vvm_port_number_int"
- value="0"/>
- <string name="vvm_destination_number_string">8082</string>
- <string name="vvm_type_string">vvm_type_omtp</string>
- <boolean
- name="vvm_cellular_data_required_bool"
- value="true"/>
- <!-- Carrier VVM app com.orange.vvm only supports Orange FR-->
- <string-array name="vvm_disabled_capabilities_string_array">
- <!-- a bug -->
- <item value="STARTTLS"/>
- </string-array>
- </pbundle_as_map>
-
- <pbundle_as_map>
- <!-- Orange France -->
- <string-array name="mccmnc">
- <item value="20801"/>
- <item value="20802"/>
- </string-array>
-
- <int
- name="vvm_port_number_int"
- value="20481"/>
- <string name="vvm_destination_number_string">21101</string>
- <string-array name="carrier_vvm_package_name_string_array">
- <item value="com.orange.vvm"/>
- </string-array>
- <string name="vvm_type_string">vvm_type_omtp</string>
- <boolean
- name="vvm_cellular_data_required_bool"
- value="true"/>
- <string-array name="vvm_disabled_capabilities_string_array">
- <!-- a bug -->
- <item value="STARTTLS"/>
- </string-array>
- </pbundle_as_map>
-
- <pbundle_as_map>
- <!-- T-Mobile USA-->
- <string-array name="mccmnc">
- <item value="310160"/>
- <item value="310200"/>
- <item value="310210"/>
- <item value="310220"/>
- <item value="310230"/>
- <item value="310240"/>
- <item value="310250"/>
- <item value="310260"/>
- <item value="310270"/>
- <item value="310300"/>
- <item value="310310"/>
- <item value="310490"/>
- <item value="310530"/>
- <item value="310590"/>
- <item value="310640"/>
- <item value="310660"/>
- <item value="310800"/>
- </string-array>
-
- <int
- name="vvm_port_number_int"
- value="1808"/>
- <int
- name="vvm_ssl_port_number_int"
- value="993"/>
- <string name="vvm_destination_number_string">122</string>
- <string-array name="carrier_vvm_package_name_string_array">
- <item value="com.tmobile.vvm.application"/>
- </string-array>
- <string name="vvm_type_string">vvm_type_cvvm</string>>
- <string-array name="vvm_disabled_capabilities_string_array">
- <!-- a bug -->
- <item value="AUTH=DIGEST-MD5"/>
- </string-array>
- <string name="vvm_carrier_allows_ott_transcription_string">true</string>
- <boolean
- name="vvm_ignore_transcription"
- value="false"/>
- </pbundle_as_map>
-
- <pbundle_as_map>
- <!-- tracfone USA-->
- <string name="feature_flag_name">vvm_carrier_flag_tracfone_usa</string>
-
- <string-array name="mccmnc">
- <item value="310260?gid1=4d4b"/>
- <item value="310260?gid1=534d"/>
- <item value="310260?gid1=6134"/>
- <item value="310260?gid1=ddff"/>
- <item value="310260?gid1=deff"/>
- <item value="311480?gid1=BA01270000000000"/>
- </string-array>
-
- <string name="vvm_type_string">vvm_type_disable</string>>
- </pbundle_as_map>
-
- <pbundle_as_map>
- <!-- Telus Canada -->
- <string name="feature_flag_name">vvm_carrier_flag_302220</string>
- <string-array name="mccmnc">
- <item value="302220"/>
- </string-array>
- <int
- name="vvm_port_number_int"
- value="5499"/>
- <string name="vvm_destination_number_string">7723</string>
- <string name="vvm_type_string">vvm_type_omtp</string>
- <boolean
- name="vvm_cellular_data_required_bool"
- value="true"/>
- </pbundle_as_map>
-
- <pbundle_as_map>
- <!-- Verizon USA -->
- <string-array name="mccmnc">
- <item value="310004"/>
- <item value="310010"/>
- <item value="310012"/>
- <item value="310013"/>
- <item value="310590"/>
- <item value="310890"/>
- <item value="310910"/>
- <item value="311110"/>
- <item value="311270"/>
- <item value="311271"/>
- <item value="311272"/>
- <item value="311273"/>
- <item value="311274"/>
- <item value="311275"/>
- <item value="311276"/>
- <item value="311277"/>
- <item value="311278"/>
- <item value="311279"/>
- <item value="311280"/>
- <item value="311281"/>
- <item value="311282"/>
- <item value="311283"/>
- <item value="311284"/>
- <item value="311285"/>
- <item value="311286"/>
- <item value="311287"/>
- <item value="311288"/>
- <item value="311289"/>
- <item value="311390"/>
- <item value="311480"/>
- <item value="311481"/>
- <item value="311482"/>
- <item value="311483"/>
- <item value="311484"/>
- <item value="311485"/>
- <item value="311486"/>
- <item value="311487"/>
- <item value="311488"/>
- <item value="311489"/>
- </string-array>
-
- <int
- name="vvm_port_number_int"
- value="0"/>
- <string name="vvm_destination_number_string">900080006200</string>
- <string name="vvm_type_string">vvm_type_vvm3</string>
- <string name="vvm_client_prefix_string">//VZWVVM</string>
- <boolean
- name="vvm_cellular_data_required_bool"
- value="true"/>
- <boolean
- name="vvm_legacy_mode_enabled_bool"
- value="true"/>
- <!-- VVM3 specific value for the voicemail management gateway to use if the SMS didn't provide
- one -->
- <string name="default_vmg_url">https://mobile.vzw.com/VMGIMS/VMServices</string>
- </pbundle_as_map>
</list>