StartPropertySetThread.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * Copyright (C) 2017 The Android Open Source Project
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #include <cutils/properties.h>
  17. #include "StartPropertySetThread.h"
  18. namespace android {
  19. StartPropertySetThread::StartPropertySetThread(bool timestampPropertyValue):
  20. Thread(false), mTimestampPropertyValue(timestampPropertyValue) {}
  21. status_t StartPropertySetThread::Start() {
  22. return run("SurfaceFlinger::StartPropertySetThread", PRIORITY_NORMAL);
  23. }
  24. bool StartPropertySetThread::threadLoop() {
  25. // Set property service.sf.present_timestamp, consumer need check its readiness
  26. property_set(kTimestampProperty, mTimestampPropertyValue ? "1" : "0");
  27. // Clear BootAnimation exit flag
  28. property_set("service.bootanim.exit", "0");
  29. // Start BootAnimation if not started
  30. property_set("ctl.start", "bootanim");
  31. // Exit immediately
  32. return false;
  33. }
  34. } // namespace android