summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorChad Brubaker <cbrubaker@google.com>2016-06-20 12:40:20 -0700
committerChad Brubaker <cbrubaker@google.com>2016-06-20 12:40:20 -0700
commit9f779ab4affc3bbe401ed6bb433ee78a934162a6 (patch)
tree7f1d9378e22f928da6b8cd8641e72e60afcad306 /core/java/android
parent7c6692646c87ec0057102e77304c8ffc440c36eb (diff)
Add getApplicationConfigForPackage
getApplicationConfigForPackage will be used by system components that need to make connections for apps, e.g. DownloadManager, so that their secure connections have the same configuration as those from the app itself. Bug: 29505888 Change-Id: Idf1cac6307431911eda34529d3fd50f9ca0da314
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/security/NetworkSecurityPolicy.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/core/java/android/security/NetworkSecurityPolicy.java b/core/java/android/security/NetworkSecurityPolicy.java
index 331063e2bfac..1b1c30048ee7 100644
--- a/core/java/android/security/NetworkSecurityPolicy.java
+++ b/core/java/android/security/NetworkSecurityPolicy.java
@@ -17,7 +17,10 @@
package android.security;
import android.annotation.TestApi;
+import android.content.Context;
+import android.content.pm.PackageManager;
import android.security.net.config.ApplicationConfig;
+import android.security.net.config.ManifestConfigSource;
/**
* Network security policy.
@@ -98,4 +101,16 @@ public class NetworkSecurityPolicy {
public void handleTrustStorageUpdate() {
ApplicationConfig.getDefaultInstance().handleTrustStorageUpdate();
}
+
+ /**
+ * 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);
+ }
}