diff options
author | Bob Badour <bbadour@google.com> | 2022-08-10 11:19:23 -0700 |
---|---|---|
committer | Bob Badour <bbadour@google.com> | 2022-08-11 20:51:39 -0700 |
commit | b59def48c92e510ecd81ca6f56b971e1297f84b8 (patch) | |
tree | 14d6290e267aefc5c90f315bfb3fabb5ce151f60 | |
parent | 00545d0fd6ba561271b690bac51f3439d3bc56e5 (diff) | |
download | base-b59def48c92e510ecd81ca6f56b971e1297f84b8.tar.gz |
Fix broken anchor tags.
Test: m droid dist
Change-Id: Ie27ab42f10a00d1c982f4d3ef928cca58019dc1f
2 files changed, 19 insertions, 4 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java index c7eb68240c5b..aaa6dd53a7d0 100644 --- a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java +++ b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java @@ -361,10 +361,15 @@ class LicenseHtmlGeneratorFromXml { writer.println(HTML_MIDDLE_STRING); - count = 0; // Prints all contents of the license files in order of id. for (ContentIdAndFileNames contentIdAndFileNames : contentIdAndFileNamesList) { - writer.format("<tr id=\"id%d\"><td class=\"same-license\">\n", count); + // Assigns an id to a newly referred license file content (should never happen here) + if (!contentIdToOrderMap.containsKey(contentIdAndFileNames.mContentId)) { + contentIdToOrderMap.put(contentIdAndFileNames.mContentId, count); + count++; + } + int id = contentIdToOrderMap.get(contentIdAndFileNames.mContentId); + writer.format("<tr id=\"id%d\"><td class=\"same-license\">\n", id); for (Map.Entry<String, List<String>> libraryFiles : contentIdAndFileNames.mLibraryToFileNameMap.entrySet()) { String libraryName = libraryFiles.getKey(); @@ -379,7 +384,6 @@ class LicenseHtmlGeneratorFromXml { writer.format("%s <br/>\n", fileName); } writer.println("</div><!-- file-list -->"); - count++; } writer.println("<pre class=\"license-text\">"); writer.println(contentIdToFileContentMap.get( diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java index 09b0d7f56e18..7ce04f91458c 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXmlTest.java @@ -116,6 +116,7 @@ public class LicenseHtmlGeneratorFromXmlTest { + "<li><a href=\"#id0\">/file0 - libA</a></li>\n" + "<li><a href=\"#id1\">/file0 - libB</a></li>\n" + "<li><a href=\"#id0\">/file1 - libA</a></li>\n" + + "<li><a href=\"#id0\">/file2 - libC</a></li>\n" + "</ul>\n" + "</div><!-- table of contents -->\n" + "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n" @@ -125,6 +126,10 @@ public class LicenseHtmlGeneratorFromXmlTest { + "/file0 <br/>\n" + "/file1 <br/>\n" + "</div><!-- file-list -->\n" + + "<div class=\"label\"><strong>libC</strong> used by:</div>\n" + + "<div class=\"file-list\">\n" + + "/file2 <br/>\n" + + "</div><!-- file-list -->\n" + "<pre class=\"license-text\">\n" + "license content #0\n" + "</pre><!-- license-text -->\n" @@ -224,13 +229,16 @@ public class LicenseHtmlGeneratorFromXmlTest { Map<String, String> contentIdToFileContentMap = new HashMap<>(); Map<String, Set<String>> toBoth = new HashMap<>(); Map<String, Set<String>> toOne = new HashMap<>(); + Map<String, Set<String>> toOther = new HashMap<>(); toBoth.put("libA", new HashSet<String>(Arrays.asList("0"))); toBoth.put("libB", new HashSet<String>(Arrays.asList("1"))); toOne.put("libA", new HashSet<String>(Arrays.asList("0"))); + toOther.put("libC", new HashSet<String>(Arrays.asList("0"))); fileNameToLibraryToContentIdMap.put("/file0", toBoth); fileNameToLibraryToContentIdMap.put("/file1", toOne); + fileNameToLibraryToContentIdMap.put("/file2", toOther); contentIdToFileContentMap.put("0", "license content #0"); contentIdToFileContentMap.put("1", "license content #1"); @@ -249,7 +257,7 @@ public class LicenseHtmlGeneratorFromXmlTest { Map<String, Set<String>> toOne = new HashMap<>(); toBoth.put("", new HashSet<String>(Arrays.asList("0", "1"))); - toOne.put("", new HashSet<String>(Arrays.asList("0"))); + toOne.put("", new HashSet<String>(Arrays.asList("0", "1"))); fileNameToLibraryToContentIdMap.put("/file0", toBoth); fileNameToLibraryToContentIdMap.put("/file1", toOne); @@ -269,13 +277,16 @@ public class LicenseHtmlGeneratorFromXmlTest { Map<String, String> contentIdToFileContentMap = new HashMap<>(); Map<String, Set<String>> toBoth = new HashMap<>(); Map<String, Set<String>> toOne = new HashMap<>(); + Map<String, Set<String>> toOther = new HashMap<>(); toBoth.put("libA", new HashSet<String>(Arrays.asList("0"))); toBoth.put("libB", new HashSet<String>(Arrays.asList("1"))); toOne.put("libA", new HashSet<String>(Arrays.asList("0"))); + toOther.put("libC", new HashSet<String>(Arrays.asList("0"))); fileNameToLibraryToContentIdMap.put("/file0", toBoth); fileNameToLibraryToContentIdMap.put("/file1", toOne); + fileNameToLibraryToContentIdMap.put("/file2", toOther); contentIdToFileContentMap.put("0", "license content #0"); contentIdToFileContentMap.put("1", "license content #1"); |