diff options
author | Christian Williams <christianw@google.com> | 2017-10-06 17:12:04 -0700 |
---|---|---|
committer | Christian Williams <christianw@google.com> | 2017-10-06 17:12:04 -0700 |
commit | d2c68ab0722bbb96daf0cd8c52a8425e230517ae (patch) | |
tree | 07e747361a6415b21969342da1d8434a7023e169 /resources/src/main/java/org | |
parent | 8c89268c30d3b7935eab85bbd0ca91fd12b988de (diff) | |
download | robolectric-shadows-d2c68ab0722bbb96daf0cd8c52a8425e230517ae.tar.gz |
Refactor ManifestFactory implementations toward removing #create(ManifestIdentifier).
Refactor ManifestIdentifier to hold libraries' ManifestIdentifiers instead of paths.
Diffstat (limited to 'resources/src/main/java/org')
-rw-r--r-- | resources/src/main/java/org/robolectric/manifest/AndroidManifest.java | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/resources/src/main/java/org/robolectric/manifest/AndroidManifest.java b/resources/src/main/java/org/robolectric/manifest/AndroidManifest.java index 7fb10543b..bea6f9310 100644 --- a/resources/src/main/java/org/robolectric/manifest/AndroidManifest.java +++ b/resources/src/main/java/org/robolectric/manifest/AndroidManifest.java @@ -30,6 +30,7 @@ public class AndroidManifest { private final FsFile resDirectory; private final FsFile assetsDirectory; private final String overridePackageName; + private final List<AndroidManifest> libraryManifests; private boolean manifestIsParsed; @@ -53,7 +54,6 @@ public class AndroidManifest { private final List<String> usedPermissions = new ArrayList<>(); private final Map<String, String> applicationAttributes = new HashMap<>(); private MetaData applicationMetaData; - private List<AndroidManifest> libraryManifests = new ArrayList<>(); /** * Creates a Robolectric configuration using specified locations. @@ -74,13 +74,31 @@ public class AndroidManifest { * @param assetsDirectory Location of the assets directory. * @param overridePackageName Application package name. */ - public AndroidManifest(FsFile androidManifestFile, FsFile resDirectory, FsFile assetsDirectory, String overridePackageName) { + public AndroidManifest(FsFile androidManifestFile, FsFile resDirectory, FsFile assetsDirectory, + String overridePackageName) { + this(androidManifestFile, resDirectory, assetsDirectory, Collections.emptyList(), overridePackageName); + this.packageName = overridePackageName; + } + + /** + * Creates a Robolectric configuration using specified values. + * + * @param androidManifestFile Location of the AndroidManifest.xml file. + * @param resDirectory Location of the res directory. + * @param assetsDirectory Location of the assets directory. + * @param libraryManifests List of dependency library manifests. + * @param overridePackageName Application package name. + */ + public AndroidManifest(FsFile androidManifestFile, FsFile resDirectory, FsFile assetsDirectory, + List<AndroidManifest> libraryManifests, String overridePackageName) { this.androidManifestFile = androidManifestFile; this.resDirectory = resDirectory; this.assetsDirectory = assetsDirectory; this.overridePackageName = overridePackageName; + this.libraryManifests = libraryManifests; this.packageName = overridePackageName; + } public String getThemeRef(String activityClassName) { @@ -563,11 +581,6 @@ public class AndroidManifest { return providers; } - public void setLibraryManifests(List<AndroidManifest> libraryManifests) { - Preconditions.checkNotNull(libraryManifests); - this.libraryManifests = libraryManifests; - } - public List<AndroidManifest> getLibraryManifests() { assert(libraryManifests != null); return Collections.unmodifiableList(libraryManifests); |