[Tizen] Make AccessibilityInfo to member variable 85/249985/2 accepted/tizen/6.0/unified/20201218.134803 submit/tizen_6.0/20201218.070905
authorSeoyeon Kim <seoyeon2.kim@samsung.com>
Fri, 18 Dec 2020 06:28:23 +0000 (15:28 +0900)
committerSeoyeon Kim <seoyeon2.kim@samsung.com>
Fri, 18 Dec 2020 06:55:29 +0000 (15:55 +0900)
- Currently, AccessibilityInfo gets values as a local variable.
 So, the values is sent with a garbage value.
- To solve this problem, move AccessibilityInfo to member variable.

Change-Id: I626bfbdf034474869d98f43c0b2567e9ec348744
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
dali/internal/window-system/common/event-handler.cpp
dali/internal/window-system/common/window-base.cpp
dali/internal/window-system/common/window-base.h
dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp

index 8bdec19..9c28aad 100755 (executable)
@@ -560,8 +560,11 @@ void EventHandler::OnAccessibilityQuickpanelChanged( const unsigned char& info )
   else
   {
     DALI_LOG_INFO( gSelectionEventLogFilter, Debug::General, "OnAccessibilityQuickpanelChanged: Nothing shows -> EnableAccessibility \n" );
-    // dali app should be enabled.
-    accessibilityAdaptor->EnableAccessibility();
+    if( !accessibilityAdaptor->IsForcedEnable() )
+    {
+      // dali app should be enabled.
+      accessibilityAdaptor->EnableAccessibility();
+    }
   }
 
 #endif
index 22bcb56..ca3db49 100644 (file)
@@ -43,7 +43,8 @@ WindowBase::WindowBase()
   mAccessibilitySignal(),
   mTransitionEffectEventSignal(),
   mKeyboardRepeatSettingsChangedSignal(),
-  mQuickPanelSignal()
+  mQuickPanelSignal(),
+  mAccessibilityInfo()
 {
 }
 
index 46eefd2..6dc03bd 100644 (file)
@@ -476,6 +476,7 @@ protected:
   KeyboardRepeatSettingsChangedSignalType mKeyboardRepeatSettingsChangedSignal;
   WindowRedrawRequestSignalType           mWindowRedrawRequestSignal;
   QuickPanelSignalType                    mQuickPanelSignal;
+  AccessibilityInfo                       mAccessibilityInfo;
 };
 
 } // namespace Adaptor
index e307f22..e5ff6cd 100755 (executable)
@@ -1317,22 +1317,20 @@ void WindowBaseEcoreWl2::OnFontSizeChanged()
 void WindowBaseEcoreWl2::OnEcoreElDBusAccessibilityNotification( void* context, const Eldbus_Message* message )
 {
 #ifdef DALI_ELDBUS_AVAILABLE
-  AccessibilityInfo info;
 
   // The string defines the arg-list's respective types.
-  if( !eldbus_message_arguments_get( message, "iiiiiiu", &info.gestureValue, &info.startX, &info.startY, &info.endX, &info.endY, &info.state, &info.eventTime ) )
+  if( !eldbus_message_arguments_get( message, "iiiiiiu", &mAccessibilityInfo.gestureValue, &mAccessibilityInfo.startX, &mAccessibilityInfo.startY, &mAccessibilityInfo.endX, &mAccessibilityInfo.endY, &mAccessibilityInfo.state, &mAccessibilityInfo.eventTime ) )
   {
     DALI_LOG_ERROR( "OnEcoreElDBusAccessibilityNotification: Error getting arguments\n" );
   }
 
-  mAccessibilitySignal.Emit( info );
+  mAccessibilitySignal.Emit( mAccessibilityInfo );
 #endif
 }
 
 void WindowBaseEcoreWl2::OnEcoreElDBusAccessibilityQuickpanelChanged( void* context, const Eldbus_Message* message )
 {
 #ifdef DALI_ELDBUS_AVAILABLE
-  AccessibilityInfo info;
 
   unsigned int type = 0; // For example, type 1 is QuickPanel, type 3 is AllApps
   unsigned int state = 0; // 0 is hidden, 1 is shown
@@ -1343,16 +1341,16 @@ void WindowBaseEcoreWl2::OnEcoreElDBusAccessibilityQuickpanelChanged( void* cont
     DALI_LOG_ERROR( "OnEcoreElDBusAccessibilityQuickpanelChanged: Error getting arguments\n" );
   }
 
-  if( state == 1 ) // Shown
+  if( state ) // Shown
   {
-    info.quickpanelInfo |= 1 << type;
+    mAccessibilityInfo.quickpanelInfo |= 1 << type;
   }
   else // Hidden
   {
-    info.quickpanelInfo &= ~( 1 << type );
+    mAccessibilityInfo.quickpanelInfo &= ~( 1 << type );
   }
 
-  mQuickPanelSignal.Emit( info.quickpanelInfo );
+  mQuickPanelSignal.Emit( mAccessibilityInfo.quickpanelInfo );
 #endif
 }