setFrameRate: Make shouldBeSeamless an enum

Change the shouldBeSeamless parameter to an enum
in order to make the API easier to understand.

This changes
 - SurfaceControl.setFrameRate
 - Surface.setFrameRate
 - ANativeWindow_setFrameRateWithChangeStrategy
 - ASurfaceTransaction_setFrameRateWithChangeStrategy

Bug: 179116474
Test: atest SetFrameRateTest
Change-Id: I55265399238e2c95fbb90fd33a4c2513d1fc5cec
diff --git a/native/android/surface_control.cpp b/native/android/surface_control.cpp
index e8cf63f..6c12c43 100644
--- a/native/android/surface_control.cpp
+++ b/native/android/surface_control.cpp
@@ -596,24 +596,25 @@
     color.g = g;
     color.b = b;
 
-    transaction->setBackgroundColor(surfaceControl, color, alpha, static_cast<ui::Dataspace>(dataspace));
+    transaction->setBackgroundColor(surfaceControl, color, alpha,
+                                    static_cast<ui::Dataspace>(dataspace));
 }
 
 void ASurfaceTransaction_setFrameRate(ASurfaceTransaction* aSurfaceTransaction,
                                       ASurfaceControl* aSurfaceControl, float frameRate,
                                       int8_t compatibility) {
-    ASurfaceTransaction_setFrameRateWithSeamlessness(aSurfaceTransaction, aSurfaceControl,
-                                                     frameRate, compatibility,
-                                                     /*shouldBeSeamless*/ true);
+    ASurfaceTransaction_setFrameRateWithChangeStrategy(
+            aSurfaceTransaction, aSurfaceControl, frameRate, compatibility,
+            ANATIVEWINDOW_CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS);
 }
 
-void ASurfaceTransaction_setFrameRateWithSeamlessness(ASurfaceTransaction* aSurfaceTransaction,
-                                                      ASurfaceControl* aSurfaceControl,
-                                                      float frameRate, int8_t compatibility,
-                                                      bool shouldBeSeamless) {
+void ASurfaceTransaction_setFrameRateWithChangeStrategy(ASurfaceTransaction* aSurfaceTransaction,
+                                                        ASurfaceControl* aSurfaceControl,
+                                                        float frameRate, int8_t compatibility,
+                                                        int8_t changeFrameRateStrategy) {
     CHECK_NOT_NULL(aSurfaceTransaction);
     CHECK_NOT_NULL(aSurfaceControl);
     Transaction* transaction = ASurfaceTransaction_to_Transaction(aSurfaceTransaction);
     sp<SurfaceControl> surfaceControl = ASurfaceControl_to_SurfaceControl(aSurfaceControl);
-    transaction->setFrameRate(surfaceControl, frameRate, compatibility, shouldBeSeamless);
+    transaction->setFrameRate(surfaceControl, frameRate, compatibility, changeFrameRateStrategy);
 }