!1164 Add rotation value init

Merge pull request !1164 from X PN/dev-0711
This commit is contained in:
openharmony_ci
2022-07-12 02:25:44 +00:00
committed by Gitee
3 changed files with 11 additions and 4 deletions
@@ -48,6 +48,7 @@ public:
~ScreenRotationController() = default;
static void SubscribeGravitySensor();
static void UnsubscribeGravitySensor();
static void Init();
static bool IsScreenRotationLocked();
static void SetScreenRotationLocked(bool isLocked);
static void SetDefaultDeviceRotationOffset(uint32_t defaultDeviceRotationOffset);
+1
View File
@@ -596,6 +596,7 @@ void DisplayManagerService::SetGravitySensorSubscriptionEnabled()
{
if (!isAutoRotationOpen_) {
WLOGFE("autoRotation is not open");
ScreenRotationController::Init();
return;
}
ScreenRotationController::SubscribeGravitySensor();
+9 -4
View File
@@ -52,11 +52,11 @@ void ScreenRotationController::SubscribeGravitySensor()
WLOGFE("dms: gravity sensor's already subscribed");
return;
}
Init();
if (strcpy_s(user_.name, sizeof(user_.name), "ScreenRotationController") != EOK) {
WLOGFE("dms strcpy_s error");
return;
}
ProcessRotationMapping();
user_.userData = nullptr;
user_.callback = &HandleGravitySensorEventCallback;
if (SubscribeSensor(SENSOR_TYPE_ID_GRAVITY, &user_) != 0) {
@@ -69,9 +69,6 @@ void ScreenRotationController::SubscribeGravitySensor()
WLOGFE("dms: Activate gravity sensor failed");
return;
}
currentDisplayRotation_ = GetCurrentDisplayRotation();
lastSensorDecidedRotation_ = currentDisplayRotation_;
rotationLockedRotation_ = currentDisplayRotation_;
isGravitySensorSubscribed_ = true;
}
@@ -93,6 +90,14 @@ void ScreenRotationController::UnsubscribeGravitySensor()
isGravitySensorSubscribed_ = false;
}
void ScreenRotationController::Init()
{
ProcessRotationMapping();
currentDisplayRotation_ = GetCurrentDisplayRotation();
lastSensorDecidedRotation_ = currentDisplayRotation_;
rotationLockedRotation_ = currentDisplayRotation_;
}
bool ScreenRotationController::IsScreenRotationLocked()
{
return isScreenRotationLocked_;