Proper checks for SCHED_NORMAL. am: b7798be47e
am: 91feb47dc1

Change-Id: I16e00faf86fc3b1ae8d64348d8be32396942d389
diff --git a/transport/HidlTransportSupport.cpp b/transport/HidlTransportSupport.cpp
index b214f1a..591ccba 100644
--- a/transport/HidlTransportSupport.cpp
+++ b/transport/HidlTransportSupport.cpp
@@ -47,17 +47,24 @@
         return false;
     }
 
-    if (policy != SCHED_NORMAL && policy != SCHED_FIFO && policy != SCHED_RR) {
-        LOG(ERROR) << "Invalid scheduler policy " << policy;
-        return false;
-    }
-
-    if (policy == SCHED_NORMAL && (priority < -20 || priority > 19)) {
-        LOG(ERROR) << "Invalid priority for SCHED_NORMAL: " << priority;
-        return false;
-    } else if (priority < 1 || priority > 99) {
-        LOG(ERROR) << "Invalid priority for real-time policy: " << priority;
-        return false;
+    switch (policy) {
+        case SCHED_NORMAL: {
+            if (priority < -20 || priority > 19) {
+                LOG(ERROR) << "Invalid priority for SCHED_NORMAL: " << priority;
+                return false;
+            }
+        } break;
+        case SCHED_RR:
+        case SCHED_FIFO: {
+            if (priority < 1 || priority > 99) {
+                LOG(ERROR) << "Invalid priority for " << policy << " policy: " << priority;
+                return false;
+            }
+        } break;
+        default: {
+            LOG(ERROR) << "Invalid scheduler policy " << policy;
+            return false;
+        }
     }
 
     // Due to ABI considerations, IBase cannot have a destructor to clean this up.