Merge "Dexopt: fix a bug due to unsign int." am: 2d95bb9dc4 am: d9be9588ae am: d40888363b am: 623da1817e

Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1500650

Change-Id: Ia1dd27ede31d0942e175edff513bbdee5312eed9
diff --git a/cmds/installd/dexopt.cpp b/cmds/installd/dexopt.cpp
index f583c9b..594880a 100644
--- a/cmds/installd/dexopt.cpp
+++ b/cmds/installd/dexopt.cpp
@@ -450,16 +450,22 @@
             AddArg("--boot-image-merge");
         }
 
+        // The percent won't exceed 100, otherwise, don't set it and use the
+        // default one set in profman.
         uint32_t min_new_classes_percent_change = ::android::base::GetUintProperty<uint32_t>(
-            "dalvik.vm.bgdexopt.new-classes-percent", /*default*/-1);
-        if (min_new_classes_percent_change >= 0 && min_new_classes_percent_change <= 100) {
+            "dalvik.vm.bgdexopt.new-classes-percent",
+            /*default*/std::numeric_limits<uint32_t>::max());
+        if (min_new_classes_percent_change <= 100) {
           AddArg("--min-new-classes-percent-change=" +
                  std::to_string(min_new_classes_percent_change));
         }
 
+        // The percent won't exceed 100, otherwise, don't set it and use the
+        // default one set in profman.
         uint32_t min_new_methods_percent_change = ::android::base::GetUintProperty<uint32_t>(
-            "dalvik.vm.bgdexopt.new-methods-percent", /*default*/-1);
-        if (min_new_methods_percent_change >=0 && min_new_methods_percent_change <= 100) {
+            "dalvik.vm.bgdexopt.new-methods-percent",
+            /*default*/std::numeric_limits<uint32_t>::max());
+        if (min_new_methods_percent_change <= 100) {
           AddArg("--min-new-methods-percent-change=" +
                  std::to_string(min_new_methods_percent_change));
         }