Merge branch 'security-aosp-rvc-release' into int/11/fp3

* security-aosp-rvc-release:
  No longer export CallSubjectDialog

Change-Id: Id767580c17fad07aec1229099e28a755c5bdf4ac
diff --git a/Android.mk b/Android.mk
index b7a4a8f..1e7cba4 100644
--- a/Android.mk
+++ b/Android.mk
@@ -9,6 +9,7 @@
 #      $ protoc --plugin=protoc-gen-grpc-java=prebuilts/tools/common/m2/repository/io/grpc/protoc-gen-grpc-java/1.0.3/protoc-gen-grpc-java-1.0.3-linux-x86_64.exe \
 #               --grpc-java_out=lite:"packages/apps/Dialer/java/com/android/voicemail/impl/" \
 #               --proto_path="packages/apps/Dialer/java/com/android/voicemail/impl/transcribe/grpc/" "packages/apps/Dialer/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto"
+ifneq ($(TARGET_HAS_LOW_RAM),true)
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
@@ -492,3 +493,4 @@
 include $(BUILD_HOST_JAVA_LIBRARY)
 
 include $(CLEAR_VARS)
+endif #TARGET_HAS_LOW_RAM
diff --git a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
index 05011d1..e044460 100644
--- a/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
+++ b/java/com/android/dialer/app/calllog/CallLogListItemViewHolder.java
@@ -560,7 +560,7 @@
       case CallbackAction.VOICE:
         if (callLogCache.isVoicemailNumber(accountHandle, number)) {
           // Call to generic voicemail number, in case there are multiple accounts
-          primaryActionButtonView.setTag(IntentProvider.getReturnVoicemailCallIntentProvider());
+          primaryActionButtonView.setTag(IntentProvider.getReturnVoicemailCallIntentProvider(null));
         } else if (canSupportAssistedDialing()) {
           primaryActionButtonView.setTag(
               IntentProvider.getAssistedDialIntentProvider(
diff --git a/java/com/android/dialer/app/calllog/IntentProvider.java b/java/com/android/dialer/app/calllog/IntentProvider.java
index 423b49c..21f3418 100644
--- a/java/com/android/dialer/app/calllog/IntentProvider.java
+++ b/java/com/android/dialer/app/calllog/IntentProvider.java
@@ -161,13 +161,14 @@
     };
   }
 
-  public static IntentProvider getReturnVoicemailCallIntentProvider() {
+  public static IntentProvider getReturnVoicemailCallIntentProvider(
+      @Nullable PhoneAccountHandle phoneAccountHandle) {
     return new IntentProvider() {
       @Override
       public Intent getIntent(Context context) {
         return PreCall.getIntent(
             context,
-            CallIntentBuilder.forVoicemail(CallInitiationType.Type.CALL_LOG));
+            CallIntentBuilder.forVoicemail(phoneAccountHandle, CallInitiationType.Type.CALL_LOG));
       }
     };
   }
diff --git a/java/com/android/dialer/callintent/CallIntentBuilder.java b/java/com/android/dialer/callintent/CallIntentBuilder.java
index 7cc5891..613fdf6 100644
--- a/java/com/android/dialer/callintent/CallIntentBuilder.java
+++ b/java/com/android/dialer/callintent/CallIntentBuilder.java
@@ -117,10 +117,10 @@
   }
 
   public static CallIntentBuilder forVoicemail(
-      CallInitiationType.Type callInitiationType) {
+      @Nullable PhoneAccountHandle phoneAccountHandle, CallInitiationType.Type callInitiationType) {
     return new CallIntentBuilder(
             Uri.fromParts(PhoneAccount.SCHEME_VOICEMAIL, "", null), callInitiationType)
-        .setPhoneAccountHandle(null);
+        .setPhoneAccountHandle(phoneAccountHandle);
   }
 
   public void setUri(@NonNull Uri uri) {
diff --git a/java/com/android/dialer/commandline/impl/CallCommand.java b/java/com/android/dialer/commandline/impl/CallCommand.java
index 5bcf785..b3ea860 100644
--- a/java/com/android/dialer/commandline/impl/CallCommand.java
+++ b/java/com/android/dialer/commandline/impl/CallCommand.java
@@ -72,7 +72,7 @@
     CallIntentBuilder callIntentBuilder;
     if ("voicemail".equals(number)) {
       callIntentBuilder =
-          CallIntentBuilder.forVoicemail(CallInitiationType.Type.DIALPAD);
+          CallIntentBuilder.forVoicemail(phoneAccountHandle, CallInitiationType.Type.DIALPAD);
     } else {
       callIntentBuilder = new CallIntentBuilder(number, CallInitiationType.Type.DIALPAD);
     }
diff --git a/java/com/android/dialer/dialpadview/DialpadFragment.java b/java/com/android/dialer/dialpadview/DialpadFragment.java
index 12c82c9..2d0eff5 100644
--- a/java/com/android/dialer/dialpadview/DialpadFragment.java
+++ b/java/com/android/dialer/dialpadview/DialpadFragment.java
@@ -1136,7 +1136,7 @@
 
   public void callVoicemail() {
     PreCall.start(
-        getContext(), CallIntentBuilder.forVoicemail(CallInitiationType.Type.DIALPAD));
+        getContext(), CallIntentBuilder.forVoicemail(null, CallInitiationType.Type.DIALPAD));
     hideAndClearDialpad();
   }
 
diff --git a/java/com/android/dialer/voicemail/listui/error/OmtpVoicemailMessageCreator.java b/java/com/android/dialer/voicemail/listui/error/OmtpVoicemailMessageCreator.java
index 850b938..29b6989 100644
--- a/java/com/android/dialer/voicemail/listui/error/OmtpVoicemailMessageCreator.java
+++ b/java/com/android/dialer/voicemail/listui/error/OmtpVoicemailMessageCreator.java
@@ -66,7 +66,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.voicemail_error_activating_title),
           context.getString(R.string.voicemail_error_activating_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context));
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()));
     }
 
     if (Status.NOTIFICATION_CHANNEL_STATE_NO_CONNECTION == status.notificationChannelState) {
@@ -77,7 +77,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.voicemail_error_activation_failed_title),
           context.getString(R.string.voicemail_error_activation_failed_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           VoicemailErrorMessage.createRetryAction(context, status));
     }
 
@@ -85,7 +85,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.voicemail_error_no_data_title),
           context.getString(R.string.voicemail_error_no_data_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           VoicemailErrorMessage.createRetryAction(context, status));
     }
 
@@ -93,7 +93,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.voicemail_error_no_data_title),
           context.getString(R.string.voicemail_error_no_data_cellular_required_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           VoicemailErrorMessage.createRetryAction(context, status));
     }
 
@@ -101,7 +101,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.voicemail_error_bad_config_title),
           context.getString(R.string.voicemail_error_bad_config_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           VoicemailErrorMessage.createRetryAction(context, status));
     }
 
@@ -109,7 +109,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.voicemail_error_communication_title),
           context.getString(R.string.voicemail_error_communication_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           VoicemailErrorMessage.createRetryAction(context, status));
     }
 
@@ -117,7 +117,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.voicemail_error_server_title),
           context.getString(R.string.voicemail_error_server_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           VoicemailErrorMessage.createRetryAction(context, status));
     }
 
@@ -125,7 +125,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.voicemail_error_server_connection_title),
           context.getString(R.string.voicemail_error_server_connection_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           VoicemailErrorMessage.createRetryAction(context, status));
     }
 
diff --git a/java/com/android/dialer/voicemail/listui/error/VoicemailErrorMessage.java b/java/com/android/dialer/voicemail/listui/error/VoicemailErrorMessage.java
index e22f306..a3c294d 100644
--- a/java/com/android/dialer/voicemail/listui/error/VoicemailErrorMessage.java
+++ b/java/com/android/dialer/voicemail/listui/error/VoicemailErrorMessage.java
@@ -159,7 +159,7 @@
 
   @NonNull
   public static Action createCallVoicemailAction(
-      final Context context) {
+      final Context context, final PhoneAccountHandle phoneAccountHandle) {
     return new Action(
         context.getString(R.string.voicemail_action_call_voicemail),
         new OnClickListener() {
@@ -169,7 +169,7 @@
             PreCall.start(
                 context,
                 CallIntentBuilder.forVoicemail(
-                    CallInitiationType.Type.VOICEMAIL_ERROR_MESSAGE));
+                    phoneAccountHandle, CallInitiationType.Type.VOICEMAIL_ERROR_MESSAGE));
           }
         });
   }
diff --git a/java/com/android/dialer/voicemail/listui/error/Vvm3VoicemailMessageCreator.java b/java/com/android/dialer/voicemail/listui/error/Vvm3VoicemailMessageCreator.java
index 863c586..17173d8 100644
--- a/java/com/android/dialer/voicemail/listui/error/Vvm3VoicemailMessageCreator.java
+++ b/java/com/android/dialer/voicemail/listui/error/Vvm3VoicemailMessageCreator.java
@@ -167,7 +167,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.vvm3_error_unknown_user_title),
           getCustomerSupportString(context, R.string.vvm3_error_unknown_user_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           createCallCustomerSupportAction(context));
     }
 
@@ -175,7 +175,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.vvm3_error_unknown_device_title),
           getCustomerSupportString(context, R.string.vvm3_error_unknown_device_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           createCallCustomerSupportAction(context));
     }
 
@@ -183,7 +183,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.vvm3_error_invalid_password_title),
           getCustomerSupportString(context, R.string.vvm3_error_invalid_password_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           createCallCustomerSupportAction(context));
     }
 
@@ -219,7 +219,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.vvm3_error_subscriber_unknown_title),
           getCustomerSupportString(context, R.string.vvm3_error_subscriber_unknown_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           createCallCustomerSupportAction(context));
     }
 
@@ -227,7 +227,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.vvm3_error_imap_getquota_error_title),
           getCustomerSupportString(context, R.string.vvm3_error_imap_getquota_error_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           createCallCustomerSupportAction(context));
     }
 
@@ -235,7 +235,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.vvm3_error_imap_select_error_title),
           getCustomerSupportString(context, R.string.vvm3_error_imap_select_error_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           createCallCustomerSupportAction(context));
     }
 
@@ -243,7 +243,7 @@
       return new VoicemailErrorMessage(
           context.getString(R.string.vvm3_error_imap_error_title),
           getCustomerSupportString(context, R.string.vvm3_error_imap_error_message),
-          VoicemailErrorMessage.createCallVoicemailAction(context),
+          VoicemailErrorMessage.createCallVoicemailAction(context, status.getPhoneAccountHandle()),
           createCallCustomerSupportAction(context));
     }
 
diff --git a/java/com/android/voicemail/impl/sms/LegacyModeSmsHandler.java b/java/com/android/voicemail/impl/sms/LegacyModeSmsHandler.java
index 5a16f86..4e82722 100644
--- a/java/com/android/voicemail/impl/sms/LegacyModeSmsHandler.java
+++ b/java/com/android/voicemail/impl/sms/LegacyModeSmsHandler.java
@@ -108,7 +108,7 @@
               PreCall.getIntent(
                   context,
                   CallIntentBuilder.forVoicemail(
-                      CallInitiationType.Type.LEGACY_VOICEMAIL_NOTIFICATION)),
+                      phoneAccountHandle, CallInitiationType.Type.LEGACY_VOICEMAIL_NOTIFICATION)),
               PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
     } else {
       Intent launchVoicemailSettingsIntent =