diff options
| author | 2016-01-22 21:48:07 -0800 | |
|---|---|---|
| committer | 2016-01-22 22:04:20 -0800 | |
| commit | 056e8b5a5ac041fd3db0a1e02b819baf38ebdc88 (patch) | |
| tree | 43979046943230425fee1b48d67d425a0c4b32c6 | |
| parent | b7fbe1104fd93b426dd6a6f2ed9dfc9cb12b4dd8 (diff) | |
Add getApplicationConfigForPackage
This allows services which make network connections on behalf of
applications to honor the application's network security policy.
Change-Id: I562b7bd0eb20f2f8c9f8342c211166d4e3397780
| -rw-r--r-- | core/java/android/security/NetworkSecurityPolicy.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/core/java/android/security/NetworkSecurityPolicy.java b/core/java/android/security/NetworkSecurityPolicy.java index 46aa1af247de..83c4e4a50f91 100644 --- a/core/java/android/security/NetworkSecurityPolicy.java +++ b/core/java/android/security/NetworkSecurityPolicy.java @@ -16,6 +16,11 @@ package android.security; +import android.content.Context; +import android.content.pm.PackageManager; +import android.security.net.config.ApplicationConfig; +import android.security.net.config.ManifestConfigSource; + /** * Network security policy. * @@ -87,4 +92,17 @@ public class NetworkSecurityPolicy { FrameworkNetworkSecurityPolicy policy = new FrameworkNetworkSecurityPolicy(permitted); libcore.net.NetworkSecurityPolicy.setInstance(policy); } + + + /** + * Returns an {@link ApplicationConfig} based on the configuration for {@code packageName}. + * + * @hide + */ + public static ApplicationConfig getApplicationConfigForPackage(Context context, + String packageName) throws PackageManager.NameNotFoundException { + Context appContext = context.createPackageContext(packageName, 0); + ManifestConfigSource source = new ManifestConfigSource(appContext); + return new ApplicationConfig(source); + } } |