Merge "Fix signing on some GSI targets" into rvc-dev
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index b14f01f..d0b44e1 100644
--- a/target/product/base_system.mk
+++ b/target/product/base_system.mk
@@ -212,7 +212,6 @@
     mtpd \
     ndc \
     netd \
-    NativeAdbDataLoaderService \
     NetworkStackNext \
     org.apache.http.legacy \
     otacerts \
diff --git a/tools/releasetools/sparse_img.py b/tools/releasetools/sparse_img.py
index 6a91cf4..524c0f2 100644
--- a/tools/releasetools/sparse_img.py
+++ b/tools/releasetools/sparse_img.py
@@ -250,13 +250,17 @@
     with open(fn) as f:
       for line in f:
         fn, ranges_text = line.rstrip().split(None, 1)
-        ranges = rangelib.RangeSet.parse(ranges_text)
+        raw_ranges = rangelib.RangeSet.parse(ranges_text)
 
         # Note: e2fsdroid records holes in the extent tree as "0" blocks.
         # This causes confusion because clobbered_blocks always includes
         # the superblock (physical block #0). Since the 0 blocks here do
         # not represent actual physical blocks, remove them from the set.
-        ranges = ranges.subtract(rangelib.RangeSet("0"))
+        ranges = raw_ranges.subtract(rangelib.RangeSet("0"))
+        # b/150334561 we need to perserve the monotonic property of the raw
+        # range. Otherwise, the validation script will read the blocks with
+        # wrong order when pulling files from the image.
+        ranges.monotonic = raw_ranges.monotonic
         ranges.extra['text_str'] = ranges_text
 
         if allow_shared_blocks: