RESTRICT AUTOMERGE Implement advanced vpn ui in vpn settings

Bug: 220684478
Test: atest -c VpnSettingsTest

Change-Id: If89de16d02cb8b1f387b8f388f8fcf82ad39066b
This commit is contained in:
Hugh Chen
2022-04-14 10:34:04 +00:00
parent 2acf102055
commit 858e6ff3d5
10 changed files with 353 additions and 8 deletions

View File

@@ -45,6 +45,7 @@ import com.android.settings.security.SecurityFeatureProvider;
import com.android.settings.security.SecuritySettingsFeatureProvider;
import com.android.settings.slices.SlicesFeatureProvider;
import com.android.settings.users.UserFeatureProvider;
import com.android.settings.vpn2.AdvancedVpnFeatureProvider;
import com.android.settings.wifi.WifiTrackerLibProvider;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -177,6 +178,11 @@ public abstract class FeatureFactory {
*/
public abstract AccessibilityMetricsFeatureProvider getAccessibilityMetricsFeatureProvider();
/**
* Retrieves implementation for advanced vpn feature.
*/
public abstract AdvancedVpnFeatureProvider getAdvancedVpnFeatureProvider();
public static final class FactoryNotFoundException extends RuntimeException {
public FactoryNotFoundException(Throwable throwable) {
super("Unable to create factory. Did you misconfigure Proguard?", throwable);

View File

@@ -71,6 +71,8 @@ import com.android.settings.slices.SlicesFeatureProvider;
import com.android.settings.slices.SlicesFeatureProviderImpl;
import com.android.settings.users.UserFeatureProvider;
import com.android.settings.users.UserFeatureProviderImpl;
import com.android.settings.vpn2.AdvancedVpnFeatureProvider;
import com.android.settings.vpn2.AdvancedVpnFeatureProviderImpl;
import com.android.settings.wifi.WifiTrackerLibProvider;
import com.android.settings.wifi.WifiTrackerLibProviderImpl;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -106,6 +108,7 @@ public class FeatureFactoryImpl extends FeatureFactory {
private SecuritySettingsFeatureProvider mSecuritySettingsFeatureProvider;
private AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider;
private AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
private AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
@Override
public SupportFeatureProvider getSupportFeatureProvider(Context context) {
@@ -334,4 +337,12 @@ public class FeatureFactoryImpl extends FeatureFactory {
}
return mAccessibilityMetricsFeatureProvider;
}
@Override
public AdvancedVpnFeatureProvider getAdvancedVpnFeatureProvider() {
if (mAdvancedVpnFeatureProvider == null) {
mAdvancedVpnFeatureProvider = new AdvancedVpnFeatureProviderImpl();
}
return mAdvancedVpnFeatureProvider;
}
}