From: SinJae Lee Date: Mon, 8 Jan 2018 06:11:29 +0000 (+0900) Subject: Handled pre-resume scenario of watch application X-Git-Tag: dali_1.3.7~4 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git;a=commitdiff_plain;h=fb4c93d425ef24838ccd10d69adb1e423ffac7cd Handled pre-resume scenario of watch application [Issue#] N/A [Request] N/A [Occurrence Version] N/A [Problem] According to platform policy, all ui engines should forcely update in OnTimeTick during pause state [Cause & Measure] In LCD on case, up-to-date screen should be shown. [Developer] SinJae Lee Change-Id: Ifccfc0b1f8119e28c2a4830361d29a0e5ddaf0ec --- diff --git a/adaptors/wearable/watch-application-impl.cpp b/adaptors/wearable/watch-application-impl.cpp index 7bad7fe..dd5b004 100755 --- a/adaptors/wearable/watch-application-impl.cpp +++ b/adaptors/wearable/watch-application-impl.cpp @@ -46,11 +46,47 @@ WatchApplication::~WatchApplication() { } +void WatchApplication::OnInit() +{ + Application::OnInit(); + + Dali::Adaptor::Get().SetRenderRefreshRate( 2 ); // make 30 fps for watch applications + + mState = INITIALIZED; +} + +void WatchApplication::OnTerminate() +{ + Application::OnTerminate(); + + mState = TERMINATED; +} + +void WatchApplication::OnResume() +{ + Application::OnResume(); + + mState = RESUMED; +} + +void WatchApplication::OnPause() +{ + Application::OnPause(); + + mState = PAUSED; +} + void WatchApplication::OnTimeTick(WatchTime& time) { Dali::WatchApplication watch(this); mTickSignal.Emit( watch, time ); + if(mState == PAUSED) + { + // This is a pre-resume scenario. All rendering engine of tizen SHOULD forcely update once at this time. + Internal::Adaptor::Adaptor::GetImplementation( GetAdaptor() ).RequestUpdateOnce(); + } + // A watch application will queue messages to update the UI in the signal emitted above // Process these immediately to avoid a blinking issue where the old time is briefly visible CoreEventInterface& eventInterface = Internal::Adaptor::Adaptor::GetImplementation( GetAdaptor() ); diff --git a/adaptors/wearable/watch-application-impl.h b/adaptors/wearable/watch-application-impl.h old mode 100644 new mode 100755 index 6617805..0c9b723 --- a/adaptors/wearable/watch-application-impl.h +++ b/adaptors/wearable/watch-application-impl.h @@ -35,6 +35,14 @@ namespace Adaptor class WatchApplication; typedef IntrusivePtr WatchApplicationPtr; +enum WatchApplicationState +{ + INITIALIZED, + PAUSED, + RESUMED = INITIALIZED, + TERMINATED +}; + /** * Implementation of the WatchApplication class. */ @@ -68,6 +76,26 @@ public: virtual ~WatchApplication(); /** + * Called when the framework is initialised. + */ + virtual void OnInit(); + + /** + * Called when the framework is terminated. + */ + virtual void OnTerminate(); + + /** + * Called when the framework is paused. + */ + virtual void OnPause(); + + /** + * Called when the framework resumes from a paused state. + */ + virtual void OnResume(); + + /** * Called every second */ void OnTimeTick(WatchTime& time); @@ -95,7 +123,10 @@ public: // Signals WatchTimeSignal mTickSignal; WatchTimeSignal mAmbientTickSignal; - WatchBoolSignal mAmbientChangeSignal; + WatchBoolSignal mAmbientChangeSignal; + +private: + WatchApplicationState mState; }; inline WatchApplication& GetImplementation(Dali::WatchApplication& watch)