Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8a0845e5 authored by Tobias Thierer's avatar Tobias Thierer
Browse files

Use StrictJarManifest.ATTRIBUTE_NAME_NAME instead of Attributes.Name.NAME.

Introduce a constant StrictJarManifest.ATTRIBUTE_NAME_NAME so that
callers (StrictJarManifest{,Reader}) don't need to rely on
Attributes.Name.NAME which was added via an Android patch.

Bug: 35910877
Test: Treehugger

Change-Id: I292fbefc6c5561609dcd8281d1e2a931a1ffa5b2
parent 1035f48f
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -44,6 +44,9 @@ public class StrictJarManifest implements Cloneable {

    private static final byte[] VALUE_SEPARATOR = new byte[] { ':', ' ' };

    /** The attribute name "Name". */
    static final Attributes.Name ATTRIBUTE_NAME_NAME = new Attributes.Name("Name");

    private final Attributes mainAttributes;
    private final HashMap<String, Attributes> entries;

@@ -276,7 +279,7 @@ public class StrictJarManifest implements Cloneable {
        Iterator<String> i = manifest.getEntries().keySet().iterator();
        while (i.hasNext()) {
            String key = i.next();
            writeEntry(out, Attributes.Name.NAME, key, encoder, buffer);
            writeEntry(out, ATTRIBUTE_NAME_NAME, key, encoder, buffer);
            Attributes attributes = manifest.entries.get(key);
            Iterator<?> entries = attributes.keySet().iterator();
            while (entries.hasNext()) {
+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ class StrictJarManifestReader {
    public void readEntries(Map<String, Attributes> entries, Map<String, StrictJarManifest.Chunk> chunks) throws IOException {
        int mark = pos;
        while (readHeader()) {
            if (!Attributes.Name.NAME.equals(name)) {
            if (!StrictJarManifest.ATTRIBUTE_NAME_NAME.equals(name)) {
                throw new IOException("Entry is not named");
            }
            String entryNameValue = value;