diff --git a/core/java/com/android/internal/net/VpnConfig.java b/core/java/com/android/internal/net/VpnConfig.java
index 98599d01873f0..420f8a959f05b 100644
--- a/core/java/com/android/internal/net/VpnConfig.java
+++ b/core/java/com/android/internal/net/VpnConfig.java
@@ -17,8 +17,10 @@
package com.android.internal.net;
import android.app.PendingIntent;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.res.Resources;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.UserHandle;
@@ -47,7 +49,10 @@ public class VpnConfig implements Parcelable {
public static Intent getIntentForConfirmation() {
Intent intent = new Intent();
- intent.setClassName(DIALOGS_PACKAGE, DIALOGS_PACKAGE + ".ConfirmDialog");
+ ComponentName componentName = ComponentName.unflattenFromString(
+ Resources.getSystem().getString(
+ com.android.internal.R.string.config_customVpnConfirmDialogComponent));
+ intent.setClassName(componentName.getPackageName(), componentName.getClassName());
return intent;
}
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 99be34ab683ab..bbc58f5d3da7d 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -1394,6 +1394,10 @@
com.android.systemui/com.android.systemui.usb.UsbDebuggingActivity
+
+ com.android.vpndialogs/com.android.vpndialogs.CustomDialog
+
;com.android.settings;
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 5b2b394e9efc7..412ae9dd64117 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -1638,6 +1638,7 @@
+