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
This commit is contained in:
@@ -253,7 +253,7 @@ LIBANDROID {
|
||||
ASurfaceTransaction_setDamageRegion; # introduced=29
|
||||
ASurfaceTransaction_setDesiredPresentTime; # introduced=29
|
||||
ASurfaceTransaction_setFrameRate; # introduced=30
|
||||
ASurfaceTransaction_setFrameRateWithSeamlessness; # introduced=31
|
||||
ASurfaceTransaction_setFrameRateWithChangeStrategy; # introduced=31
|
||||
ASurfaceTransaction_setGeometry; # introduced=29
|
||||
ASurfaceTransaction_setHdrMetadata_cta861_3; # introduced=29
|
||||
ASurfaceTransaction_setHdrMetadata_smpte2086; # introduced=29
|
||||
|
||||
@@ -596,24 +596,25 @@ void ASurfaceTransaction_setColor(ASurfaceTransaction* aSurfaceTransaction,
|
||||
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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user