diff options
-rw-r--r-- | java/com/android/incallui/answer/impl/AnswerFragment.java | 49 | ||||
-rw-r--r-- | java/com/android/voicemail/impl/res/xml/vvm_config.xml | 196 |
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> |