platform/core/accessibility/screen-reader.git
2 years agoDisable default label when old context root object became new context current object 48/287148/1 accepted/tizen_6.5_unified tizen_6.5 accepted/tizen/6.5/unified/20230201.130004 submit/tizen_6.5/20230127.015228
Lukasz Oleksak [Mon, 16 Jan 2023 11:47:34 +0000 (12:47 +0100)]
Disable default label when old context root object became new context current object

Change-Id: I8852a8c53181039b8a2c4a3be1a2373cfcdd0b14

2 years agoflat_navi: Support returning directly to the old root 47/287147/1
Artur Świgoń [Fri, 13 Jan 2023 12:42:57 +0000 (13:42 +0100)]
flat_navi: Support returning directly to the old root

This functionality can be used with drop-down lists, where after dismissing
the list, navigation should resume at the drop-down button.

Change-Id: I067c6a5501e14ea1d46c3d1ab1f30fb1c355450f

2 years agoflat_navi: Handle focus chain end in drop-down menu 46/287146/1
Artur Świgoń [Thu, 12 Jan 2023 11:07:28 +0000 (12:07 +0100)]
flat_navi: Handle focus chain end in drop-down menu

This patch tries to detect the focus chain end scenario in a drop-down menu and
close the menu, before falling back to the default looping behaviour.

Change-Id: I0f9fb34825954349b6644a83e1c58e74ed3a3905

2 years agoFix for toast popup reading 54/284454/1 accepted/tizen/6.5/unified/20221129.124316 submit/tizen_6.5/20221124.012612
Lukasz Oleksak [Thu, 10 Nov 2022 10:30:36 +0000 (11:30 +0100)]
Fix for toast popup reading

This patch allows a transient notification UI element (like toast popup)
to be read without inducing navigation context change. It requires,
the UI element to be given an ATSPI_ROLE_NOTIFICATION by application developer.
This is analogous case to the requirement of seting ATSPI_ROLE_TOGGLE_BUTTON role
for button using custom tizen theme style.

Change-Id: I373e6f700d28364967d256af280e33de34083b36

2 years agogranularity_read: type correction and optimization in _valid_character_check() 99/283299/1 accepted/tizen/6.5/unified/20221109.213852 submit/tizen_6.5/20221109.043059
Maria Bialota [Fri, 21 Oct 2022 10:44:13 +0000 (12:44 +0200)]
granularity_read: type correction and optimization in _valid_character_check()

Corrected variable types and in _valid_character_check() function
and optimized number of strlen() calls in the function

Change-Id: I98dd720ea5d650bd5ffdec348cacfc04b1653423

2 years agoIn new UX reading of current value is part of state phrase 18/282418/1 accepted/tizen/6.5/unified/20221020.114745 submit/tizen_6.5/20221019.081319
Lukasz Oleksak [Wed, 14 Sep 2022 12:14:54 +0000 (14:14 +0200)]
In new UX reading of current value is part of state phrase

Change-Id: I3850bf57b6659a8886f43f6fc71cac52331aa37d

2 years agoLimiting locking of display to completion time of last utterance 17/282417/1
Lukasz Oleksak [Tue, 20 Sep 2022 12:41:53 +0000 (14:41 +0200)]
Limiting locking of display to completion time of last utterance

Change-Id: Icfabaad91ee4e365e3b31bae72fc3d42c7108c5c

2 years agoDo not read "Image" when highlighting a Gengrid item 42/281042/1
Artur Świgoń [Wed, 7 Sep 2022 11:32:05 +0000 (13:32 +0200)]
Do not read "Image" when highlighting a Gengrid item

Change-Id: I1f23c7b5a65fb0326ba541b4225905728d6301f3

2 years agoRemoval of description trait for hoversel, inwin and combobox 41/281041/1
Lukasz Oleksak [Wed, 7 Sep 2022 08:47:22 +0000 (10:47 +0200)]
Removal of description trait for hoversel, inwin and combobox

Change-Id: Ide2287050df7d4ac6e157bc9621c74c8f71487b9

2 years agoChanges to internationalization according to new UX guidelines 40/281040/1
Maria Bialota [Wed, 31 Aug 2022 17:23:11 +0000 (19:23 +0200)]
Changes to internationalization according to new UX guidelines

Change-Id: Ibb3578f5a8a7271af2d1880444344586f4675829

2 years agoCorrect g_strlcpy() & g_strlcat() usage 39/281039/1
Artur Świgoń [Fri, 2 Sep 2022 12:25:41 +0000 (14:25 +0200)]
Correct g_strlcpy() & g_strlcat() usage

g_strlcpy() and g_strlcat() are either wrappers around system strlcpy()
and strlcat(), respectively, or GLib-provided replacements. Either way,
these functions take the whole buffer size as a parameter and take all
necessary care to copy at most (sizeof(buf) - strlen(buf) - 1) bytes and
NUL-terminate the output as well.

References:
- https://linux.die.net/man/3/strlcpy
- https://linux.die.net/man/3/strlcat
- https://docs.gtk.org/glib/func.strlcpy.html
- https://docs.gtk.org/glib/func.strlcat.html

Change-Id: I66de1f03ca84098ddc00975a7525148e1aada3a5

2 years agoAllows recursive composition of state and role traits through the controlled objects 47/280647/1
Lukasz Oleksak [Tue, 30 Aug 2022 16:13:30 +0000 (18:13 +0200)]
Allows recursive composition of state and role traits through the controlled objects

Change-Id: I2f3577dd906a927e88aa5623f8bbb3cdf98389f9

2 years agoIntroduce consistent method for composition of extended description 46/280646/1
Lukasz Oleksak [Thu, 25 Aug 2022 13:32:12 +0000 (15:32 +0200)]
Introduce consistent method for composition of extended description

Change-Id: I8bc5411a90ef3cf2ed6051d806c83738ee9c7ec0

2 years agoJoining slider percentage value with state trait 45/280645/1
Lukasz Oleksak [Fri, 26 Aug 2022 13:16:07 +0000 (15:16 +0200)]
Joining slider percentage value with state trait

Change-Id: I108996af10c7bbc7111ec5cb5641deaae38c1e07

2 years agoRemoved reading object name when checked state change 44/280644/1
Maria Bialota [Fri, 26 Aug 2022 08:59:26 +0000 (10:59 +0200)]
Removed reading object name when checked state change

Change-Id: I05f84146fec648055fea00c672d04fc0ab8198fa
(cherry picked from commit 9ce17837b9d988df07bd1c49ea564769c6cbab3c)

2 years agoUnification of translation for key IDS_ACCS_BODY_DISABLED_TTS among variants of Engli... 43/280643/1
Lukasz Oleksak [Wed, 24 Aug 2022 17:12:03 +0000 (19:12 +0200)]
Unification of translation for key IDS_ACCS_BODY_DISABLED_TTS among variants of English language

Change-Id: Idcc7c3201296d2a891c3a9c3e102c3b0cd0dd9fc
(cherry picked from commit fe5bad2b9c6d397b6d179b4f5780d9602e68c711)

2 years agoRead COMBO_BOX role only as "Dropdown list" 42/280642/1
Artur Świgoń [Fri, 12 Aug 2022 10:57:06 +0000 (12:57 +0200)]
Read COMBO_BOX role only as "Dropdown list"

Change-Id: I73ab66303c3b2bf545ef1399a98206416f27e796

2 years agoRead "Editing" as state and not description 41/280641/1
Artur Świgoń [Fri, 12 Aug 2022 09:11:43 +0000 (11:11 +0200)]
Read "Editing" as state and not description

This is a UX change. "Edit field, (pause), editing"
becomes "Editing, edit field".

Change-Id: Ia6e9c2ff84a129d9b0be6eb933965598c28a3c88

2 years agoModified reading description for slider according to new UX 40/280640/1
Maria Bialota [Thu, 11 Aug 2022 17:41:05 +0000 (19:41 +0200)]
Modified reading description for slider according to new UX

Old UX: "Slider, $value%, Flick up and down to adjust the position"
New UX: "$value%, $name, slider".

Change-Id: I4f3ab5db39baab2b93fd5cdcad2ef71ac42cd044

2 years agoRemoved omission of role reading for switch-type buttons 39/280639/1
Maria Bialota [Thu, 11 Aug 2022 16:41:29 +0000 (18:41 +0200)]
Removed omission of role reading for switch-type buttons

Also cleaned up redundant Slider role handling.

Change-Id: I8fed9de414b6960f890a66fa1ef28f87fffd084f

2 years agoMoved state information reading before the atspi object name 38/280638/1
Maria Bialota [Thu, 11 Aug 2022 11:35:15 +0000 (13:35 +0200)]
Moved state information reading before the atspi object name

Change-Id: I757fec8c4e3025a2249f8b90d15fd55732427eb9

2 years agoHandle HEADING role similarly to LIST_ITEM 37/280637/1
Artur Świgoń [Wed, 10 Aug 2022 12:47:23 +0000 (14:47 +0200)]
Handle HEADING role similarly to LIST_ITEM

The new UX mandates Genlist group items to be read as "Heading".

Change-Id: I1290a2164fc19783737ef34243ec1ead1399cc28

2 years agoGive chance to focus widget after accidentaly entered move slider mode 36/280636/1
Lukasz Oleksak [Mon, 27 Jun 2022 13:07:33 +0000 (15:07 +0200)]
Give chance to focus widget after accidentaly entered move slider mode

Change-Id: Icc24c4747212f993bcaca5a0af747c115b037eef

3 years agoapp_tracker: use root if there is not default label object 08/270108/1
Shinwoo Kim [Mon, 24 Jan 2022 09:09:51 +0000 (18:09 +0900)]
app_tracker: use root if there is not default label object

The at-spi2-atk does not provide 'GetDefaultLabelInfo'.
The Flutter toolkit is working on the at-spi2-atk.

If Flutter window is activated, screen-reader is not working
with the Flutter window for the '1 finger swipe'.
The screen-reader is working with deactivated window.

It is because that 'on_timeout_rebuild_navigation_context'
does not call 'view_content_changed' which calls
'flat_navi_context_setup' changing context's root and current
So the context root is not changed.

The patch is calling 'view_content_changed' using
the Flutter windowk before the at-spi2-atk provides
'GetDefaultLabelInfo' interface.

Change-Id: Icf3a72a9203345857f1682706bfbc6320d0ca7b6

3 years agoapp_tracker: set timer variable to NULL before return FALSE 22/269822/1 accepted/tizen/6.5/unified/20220124.125509 submit/tizen_6.5/20220121.012735
Shinwoo Kim [Tue, 18 Jan 2022 05:42:44 +0000 (14:42 +0900)]
app_tracker: set timer variable to NULL before return FALSE

First of all, it is the correct way to use of timer.

If a toolkit does not support the default label,
then it is not able to make an object have focus (highlight)
because app_tracker_context_valid_check in _focus_widget returns
APP_TRACKER_CONTEXT_NOT_VALID.

Change-Id: I6b2db7b8afd7598d63820121725ac11a22281be0

3 years ago[TV] do not use IsEnabled property 11/268111/2 accepted/tizen/6.5/unified/20211217.121952 submit/tizen_6.5/20211216.151201
Shinwoo Kim [Thu, 16 Dec 2021 08:26:28 +0000 (17:26 +0900)]
[TV] do not use IsEnabled property

The TV NUI under the suppress screen reader mode does not need to send
ATSPI events for the screen-reader.

The TV EFL does not use screen-reader AT client for the Voice Guide.
The TV Web is enabling bridge based on VCONF or ScreenReaderEnabled.
So it is not necessary to use IsEnabled property.

This patch is to make NUI under the suppress screen reader mode
do NOT enable ATSPI bridge.

Change-Id: Idd4110336b6d8f48ebeb73387927105d93d7b742

3 years ago[DEBUG] Added logs for tracking reentrancy during disposing reading command 39/267639/2 accepted/tizen/6.5/unified/20211209.211424 submit/tizen_6.5/20211208.101327
Lukasz Oleksak [Tue, 7 Dec 2021 19:40:27 +0000 (20:40 +0100)]
[DEBUG] Added logs for tracking reentrancy during disposing reading command

Change-Id: I1e0743a521a6b74e8d7ab6026ca100982687b48c

3 years agoRevert "Remove read command if its source is defunct" 38/267638/1
Shinwoo Kim [Wed, 8 Dec 2021 04:49:15 +0000 (13:49 +0900)]
Revert "Remove read command if its source is defunct"

This reverts commit 84b763a07232f4ac4a1ba289ebb7347ba921118f.

We do not have to use DEFUNCT signal.
in case of "NUI > Web > NUI", the reading of Web object is canceled by
tw_state_changed_cb > overwrite_last_read_command_with

Change-Id: I7f10cc389cdae1f594439749f34734da3bfba0bd

3 years agoRevert "fix build error" 37/267637/1
Shinwoo Kim [Wed, 8 Dec 2021 04:49:06 +0000 (13:49 +0900)]
Revert "fix build error"

This reverts commit 9b15419c93cbfcd990be641c43103ee6529438d8.

Change-Id: If6386523f209d42d5d8168618b26bd73830e67b1

3 years agofix build error 23/267223/1 submit/tizen_6.5/20211130.040552
Shinwoo Kim [Tue, 30 Nov 2021 02:34:34 +0000 (11:34 +0900)]
fix build error

Change-Id: I0dc272523c5fbf1d5d72872ccee792c25bd8d3ce

3 years agoRemove read command if its source is defunct 03/267203/3 submit/tizen_6.5/20211130.010313 submit/tizen_6.5/20211130.022123
Shinwoo Kim [Mon, 29 Nov 2021 11:44:53 +0000 (20:44 +0900)]
Remove read command if its source is defunct

An accessible can be defunct while reading its information.
For example, if an application exits, then the accessible is defunct.
There was not an 'unfocused' event. So this patch is using 'defunct' event.
It could be able to use atk/at-spi2-atk to keep focused accessible, and
emit 'unfocused' event when atk_bridge_adaptor_cleanup is called, if
this change using 'defunct' signal is too heavy.

Change-Id: I8c6b33a94c20a650bc133482e57e2efe6a81e3a7

3 years agoShutdown direct reading after service termination 16/263916/3 accepted/tizen/6.5/unified/20211028.093915 accepted/tizen/unified/20210915.001811 submit/tizen/20210914.100900 submit/tizen_6.5/20211028.161601 tizen_6.5.m2_release
Shinwoo Kim [Mon, 13 Sep 2021 10:01:10 +0000 (19:01 +0900)]
Shutdown direct reading after service termination

screen_reader_terminate_service can use direct reading interface as below.

screen_reader_terminate_service >
stop_speaking > stop_speaking > tts_stop > (tts internal stack) >
tw_state_changed_cb > overwrite_last_read_command_with >
dispose_read_command > _reading_status_notify >
dbus_direct_reading_adapter_emit > eldbus_service_signal_emit

At this point screen-reader got a signal SIGSEGV,
because direct reading interface is unregistered already.

This patch set changes order of termination and adds some safety++ lines
to prevent referencing after free.

(Reference: DF210913-00141)

Change-Id: I93afad34c38b1d7f7ec66c255016de19f5d9bf53

3 years agoFix for highlight staying outside of the view port in case of scrolling fast 28/261528/5
Lukasz Oleksak [Tue, 20 Jul 2021 15:47:18 +0000 (17:47 +0200)]
Fix for highlight staying outside of the view port in case of scrolling fast

This patch allows to continue finding the next/prev visible object in case
when after small delay the previously highlighted object has became not visible.

Change-Id: Ic69157cba16da93f78435f0b26a3c511d69431c8

3 years agoscreen_reader_tts: added missing error check on tts_play call 48/260848/2 accepted/tizen/unified/20210707.070926 submit/tizen/20210707.020929
Maria Bialota [Mon, 5 Jul 2021 12:51:12 +0000 (14:51 +0200)]
screen_reader_tts: added missing error check on tts_play call

Change-Id: I4798ffec806b69f4a94f7c868edbcce38523f388

3 years agowindow_tracker: Memory leak fix 32/260832/1
Maria Bialota [Mon, 5 Jul 2021 09:52:28 +0000 (11:52 +0200)]
window_tracker: Memory leak fix

Fixed memory leak in _window_append function return with failure.

Change-Id: I4d531ec9fa5bdb292f431c3c45399d591eee5bb7

4 years agofixed uninitialized variable last_entry in FlatNaviContext 52/259152/2 accepted/tizen/unified/20210616.132434 submit/tizen/20210616.013832
Lukasz Oleksak [Tue, 1 Jun 2021 13:59:54 +0000 (15:59 +0200)]
fixed uninitialized variable last_entry in FlatNaviContext

This patch fixes undetermined behaviour of screen-reader in the situation
when highlight is given by TAP gesture to the last element in UI navigation order
and subsequent gesture is ONE_FINGER_FLICK requesting for next element.

Previous implementation guaranteed proper initialization of the variable
only in situation when the last element was reached by ONE_FINGER_FLICK
gesture.

Change-Id: I1902790119eb7f8bd542ea68ac25a9e2cdd5c3aa

4 years agoReplaces reading of unnormalized value with the reading of percent value on value... 23/258023/1 accepted/tizen/unified/20210607.124334 submit/tizen/20210514.080747 submit/tizen/20210601.084003 submit/tizen/20210607.013021
Lukasz Oleksak [Fri, 7 May 2021 15:28:57 +0000 (17:28 +0200)]
Replaces reading of unnormalized value with the reading of percent value on value change

Change-Id: I0a017f09292e41691dd2df573332b11747760d9a

4 years agoRemove reading "in-progress" when progressbar reach maximum value 50/257550/6
Lukasz Oleksak [Tue, 27 Apr 2021 12:21:52 +0000 (14:21 +0200)]
Remove reading "in-progress" when progressbar reach maximum value

Change-Id: Idf3cb577e2425342e89fe91b47fbe16783a09efc

4 years agoMerge "spi: support suppress-screen-reader attribute" into tizen accepted/tizen/unified/20210509.123804 submit/tizen/20210507.013224
Lukasz Oleksak [Fri, 30 Apr 2021 10:40:24 +0000 (10:40 +0000)]
Merge "spi: support suppress-screen-reader attribute" into tizen

4 years agoRead scroll bar information from value interface 36/257636/7
Bartlomiej Grzelewski [Wed, 28 Apr 2021 14:16:47 +0000 (16:16 +0200)]
Read scroll bar information from value interface

Old implementation reads information by analyzing
widget structures. This causes problem with scroll
bar widget in nui library as this one may have
multiple "visual" elements that are inside containers.
As a result nui scroll bar widget always have two
children.

This problem was solved by using value interface to
inform screen-reader about number of visual elements
and position of selected one.

Change-Id: Ie2292bd6d80a274db5ee8751801e9b566de9e623

4 years agospi: support suppress-screen-reader attribute 13/257013/1
Shinwoo Kim [Fri, 16 Apr 2021 10:07:54 +0000 (19:07 +0900)]
spi: support suppress-screen-reader attribute

This patch is supporting following EFL patch.

  elm_atspi: suppress reading of screen-reade
  https://review.tizen.org/gerrit/#/c/platform/upstream/efl/+/257008/

As above patch describes, this patch is neccessary...
Because there is legacy code for screen-reader, an application could want
to keep previous behavior of the screen-reader even though the ATSPI is
enabled by AT client such as Aurum test framework.

Change-Id: I970f3a1eee053d6eb8b91084f79d7bdbfeac2795

4 years agoMockup generation 83/256183/1
Bartlomiej Grzelewski [Tue, 30 Mar 2021 10:55:54 +0000 (12:55 +0200)]
Mockup generation

Change-Id: I597780ac06518227122a5049400a7f4c95f20e40

4 years agoRemove compilation warning 82/256182/1
Bartlomiej Grzelewski [Tue, 30 Mar 2021 11:23:36 +0000 (13:23 +0200)]
Remove compilation warning

Change-Id: I696004c46a5042660e91c4146f81c9ab94d62838

4 years agoClean up eldbus horror 97/255597/2 accepted/tizen/unified/20210323.122723 submit/tizen/20210323.004021
Bartlomiej Grzelewski [Mon, 8 Mar 2021 14:55:38 +0000 (15:55 +0100)]
Clean up eldbus horror

Initialization of eldbus was moved to main.c.
The rest of eldbus_init calls are not required.

The same case is with eldbus_shutdown.

Change-Id: Iead71d47e7c1ea33eb8156367ff1e190719f8af1

4 years agodbus: keep SESSION connection 66/255466/1
Shinwoo Kim [Fri, 19 Mar 2021 01:06:07 +0000 (10:06 +0900)]
dbus: keep SESSION connection

We need to protect session connection while screen-reader is alive.
If session connection is released, then vanished callback of at-spi-bus-launcher
is called and vanished calllback disables 'IsEnabled' property.

[GBusNameVanishedCallback]
https://www.freedesktop.org/software/gstreamer-sdk/data/docs/latest/gio/gio-Watching-Bus-Names.html#g-bus-watch-name

Change-Id: I8c91caf76cace65f1ee32acf7d5435e29a365fe1

4 years agoAdd privilege 'network.get' 17/249617/1 accepted/tizen/unified/20210104.130259 submit/tizen/20201220.213638 submit/tizen/20210103.044544 submit/tizen/20210103.212140
Shinwoo Kim [Tue, 15 Dec 2020 10:28:10 +0000 (19:28 +0900)]
Add privilege 'network.get'

wifi_manager_initialize returns an error becasue screen-reader does not have
a privilege. it is not able to launch screen-reader on more stricted product.

Change-Id: I6fdf4baec7409f8a4b2cdae9f2c9593daddb42d3

4 years agoSplit unittests for check box and radio button 62/249062/1 accepted/tizen/unified/20201208.123220 submit/tizen/20201206.210050
Bartlomiej Grzelewski [Fri, 4 Dec 2020 15:05:13 +0000 (16:05 +0100)]
Split unittests for check box and radio button

Change-Id: I80a904fc1180d73677519fc89cd2979504ccdea2

4 years agofix unit tests mockups 45/249045/2
Bartlomiej Grzelewski [Fri, 4 Dec 2020 11:52:18 +0000 (12:52 +0100)]
fix unit tests mockups

Change-Id: I992c05ba61f56633f9e79f205d4eb7aec42a53f5

4 years agoHandle Quickpanel 81/248781/7
Shinwoo Kim [Wed, 2 Dec 2020 07:06:06 +0000 (16:06 +0900)]
Handle Quickpanel

There are different type of quickpanel as below

 - E_QUICKPANEL_TYPE_SYSTEM_DEFAULT
 - E_QUICKPANEL_TYPE_CONTEXT_MENU
 - E_QUICKPANEL_TYPE_APPS_MENU

Thf FHUB AllApps is quickpanel type applcation and
it is DALi application which does not support AT-SPI.

So if the AllApps is on top, then screen-reader should NOT
consume 'GestureDetected' signal.

Refer to follwoing for more cases;
 - https://github.sec.samsung.net/TizenNativeUI/Graphics/issues/1281

Change-Id: I831a22dc01f04278c453398926af0c9e65b9aebd

4 years agoATSPI_ROLE_CHECK_BOX state reading handled independently of ATSPI_ROLE_RADIO_BUTTON 00/247600/2 accepted/tizen/unified/20201116.220335 submit/tizen/20201115.212153
Lukasz Oleksak [Thu, 12 Nov 2020 12:43:22 +0000 (13:43 +0100)]
ATSPI_ROLE_CHECK_BOX state reading handled independently of ATSPI_ROLE_RADIO_BUTTON

Change-Id: I5b82fea47c0eea7831ecb9693c91c42e8c7c652d

4 years agoRemove unreachable code 59/246459/2 submit/tizen/20201108.215920
Bartlomiej Grzelewski [Thu, 29 Oct 2020 15:26:35 +0000 (16:26 +0100)]
Remove unreachable code

Change-Id: I0e8edd0815a62d44afe0d39b1b8090cca306beeb

4 years agoAdd COM_TV_SID_[UN]CHECKED translation keys 25/246525/2
Artur Świgoń [Fri, 30 Oct 2020 13:25:41 +0000 (14:25 +0100)]
Add COM_TV_SID_[UN]CHECKED translation keys

Translations are missing for the following languages:
  - ca (Catalan)
  - eu (Basque)
  - ga (Irish)
  - gl (Galician)
  - is (Icelandic)
  - nb (Norwegian Bokmål)

We are using translation data of en_US.po for above languages.
Because it is better than speaking out msgid.

Change-Id: I92799820a6450a6fa50c72273a23ac29ce192632

4 years agoReplacing comparison between accessible object's pointers with comparison of unique_ids 47/245647/11 accepted/tizen/unified/20201028.123907 submit/tizen/20201020.112528 submit/tizen/20201027.091012
Lukasz Oleksak [Tue, 13 Oct 2020 11:44:31 +0000 (13:44 +0200)]
Replacing comparison between accessible object's pointers with comparison of unique_ids

After clearing the cache of AtspiAccessible objects in at-spi2-core which was
introduced by https://review.tizen.org/gerrit/#/c/platform/upstream/at-spi2-core/+/245558/
direct comparison of pointers is not valid anymore.

This patch requires new API: https://review.tizen.org/gerrit/#/c/platform/upstream/at-spi2-core/+/245767/

Change-Id: I89a4616e5e0af3a98cc8eaeef8c144399b70cdb6

4 years agoFix memory leak 58/245858/2 submit/tizen/20201018.221456
Bartlomiej Grzelewski [Mon, 5 Oct 2020 12:34:48 +0000 (14:34 +0200)]
Fix memory leak

* Memory allocated by atspi event must be manually freed.
* g_object_unref objects returned by _directional_depth_first_search.
* Remove memory leak in navigator.c
* Remove component leaks.
* Remove memory leak in _focus_widget
* Fix memory leak and memory corruption in app_tracker.c.
* Remove memory leak from screen reader spi module.
* AtspiDevice events must be free with g_boxed_free.
* Free atspi relation set.
* Free memory allocated by atspi_accessible_get_component_iface.
* Remove leak in flat_navic.
* Remove memory leaks from smart notification module.
* Remove memory leaks from spi module.

Change-Id: I76e3c18f2b6bb1d1d6008c68a8b32587779a8f50

4 years agoreading_composer: Added popup Alert sub-role handling 88/244988/4 accepted/tizen_6.0_unified_hotfix tizen_6.0_hotfix accepted/tizen/6.0/unified/20201030.124050 accepted/tizen/6.0/unified/hotfix/20201103.051437 accepted/tizen/unified/20201005.005855 submit/tizen/20201004.214201 submit/tizen_6.0/20201029.205101 submit/tizen_6.0_hotfix/20201102.192501 submit/tizen_6.0_hotfix/20201103.114801 tizen_6.0.m2_release
Maria Bialota [Mon, 28 Sep 2020 18:04:29 +0000 (20:04 +0200)]
reading_composer: Added popup Alert sub-role handling

Change-Id: Ie76ef2029977a623d5fcb42154e16fc021d2c4cf

4 years agonavigator: restore slider behaviour 20/244520/1 accepted/tizen/unified/20200928.072816 submit/tizen/20200927.213403
Kamil Konieczny [Mon, 21 Sep 2020 08:04:12 +0000 (10:04 +0200)]
navigator: restore slider behaviour

Old functions _value_inc and _value_dec called atspi set_value
unconditionally, so restore this way. Also while at this,
delete "return" statement from end of void functions.

Change-Id: Ib0a51cad8b43e3792a2746bbceb4f3117a785034

4 years agonavigator: refactor slider code 59/244059/4 accepted/tizen/unified/20200923.024100 submit/tizen/20200920.213436
Kamil Konieczny [Mon, 14 Sep 2020 11:00:57 +0000 (13:00 +0200)]
navigator: refactor slider code

Refactor functions _value_inc an _value_dec, which
are called after OneFingerFlickUp or Down on slider.
Also while at this, add check for minimum increase
value, if it is zero then calculate increase value
to be 5 percent.

This commit needs fix 1d2dbed4c8cbd1ef80e636ed96d45f0a9fe2fa2d
"elm_slider: add A11Y value interface"

Change-Id: I26f4d2d229ac971a6966348c503f8427bdc3e1e1

4 years agoDo not notify reading status to defunct objects 37/244437/1
Lukasz Oleksak [Fri, 18 Sep 2020 10:29:02 +0000 (12:29 +0200)]
Do not notify reading status to defunct objects

Change-Id: Icf5ac4adfb2487454d379ae21a14c8145101163e

4 years agoreading_composer: fix slider reading description 35/244335/1
Kamil Konieczny [Thu, 17 Sep 2020 09:55:45 +0000 (11:55 +0200)]
reading_composer: fix slider reading description

When slider values are not initialized or are set to zero,
this can result in division by 0.0 that can give unpredictable
values. Add some checks before division.

Change-Id: Ib269c962519191fcc3699076542ca021228cd1ef

4 years agoProvided third-party licensing information in an organized way. 62/244062/1 accepted/tizen/unified/20200916.121650 submit/tizen/20200916.000913
Maria Bialota [Mon, 14 Sep 2020 13:35:27 +0000 (15:35 +0200)]
Provided third-party licensing information in an organized way.

Change-Id: Ice57dfb4c877a7a2da0ccfdf181c46734734a1a4

4 years agoAdd option to generate compile-commands.json 21/243821/1 accepted/tizen/unified/20200914.131338 submit/tizen/20200913.215058
Bartlomiej Grzelewski [Wed, 9 Sep 2020 10:11:18 +0000 (12:11 +0200)]
Add option to generate compile-commands.json

Run local build with --define "compile_commands 1" option to
generate compile-commands.json required to build mockups.

Change-Id: I749edefe0550665ccc660546b41f241f2020e3bc

4 years agoMockup generation 20/243820/1
Bartlomiej Grzelewski [Wed, 2 Sep 2020 14:14:30 +0000 (16:14 +0200)]
Mockup generation

Change-Id: I8cbca1bf1c3122b7b9491d2cebfea5b3f12e2c10

4 years ago[screen-reader] Remove subroot window when respective window is removed 92/243492/2
Prasoon Singh [Thu, 3 Sep 2020 08:38:53 +0000 (14:08 +0530)]
[screen-reader] Remove subroot window when respective window is removed

Sometimes, state-changed:visibal signal does not come and subroot can not be
removed. Use window remove function which is called from app tracker on
state-changed:showing signal too.

Change-Id: Ie9cfd418ff96e9d0da1fd0f30b4cf3007eacb65d

4 years ago[screen-reader] Avoid double free of hash's value 83/243483/1
Prasoon Singh [Thu, 3 Sep 2020 12:48:41 +0000 (18:18 +0530)]
[screen-reader] Avoid double free of hash's value

Freeing reading_info here leads to double free, as g_hash_table_unref also
tries to free this memory.

Change-Id: I6e260e7822f5fe8f9c642d78cd59d841b04a5e22
Signed-off-by: Prasoon Singh <prasoon.16@samsung.com>
4 years agoAdd reading composer tests 83/240583/8 accepted/tizen/unified/20200820.034620 submit/tizen/20200817.223215
Bartlomiej Grzelewski [Fri, 7 Aug 2020 08:46:33 +0000 (10:46 +0200)]
Add reading composer tests

Unittests for internal functions:
 * generate_description_trait
 * generate_role_trait
 * generate_state_trait

Change-Id: Ia2054792ffa99f50fe639a9e8d48bd4a07fa1324

4 years agoSupport unittest build in spec file 10/240210/6
Bartlomiej Grzelewski [Thu, 6 Aug 2020 10:59:34 +0000 (12:59 +0200)]
Support unittest build in spec file

Run local build with --define "unittest 1" option to
build unittest package.

CMakeLists.txt were partially rewritten to support
installing and packaging libraries and binaries.

Change-Id: Ia54ad687f3b478346ab808813de644ee6e9da1d4

4 years agoChanges that allows built unittest files 37/240237/7
Bartlomiej Grzelewski [Tue, 4 Aug 2020 12:30:27 +0000 (14:30 +0200)]
Changes that allows built unittest files

Clang was not able to build project as LC_ALL was not defined.
Remove _GNU_SOURCE from headers.
Internal structures must be moved to headers to compile mockups.

Change-Id: Ife532459f128a46e804c655741a10f1bf111aa29

4 years agoImport final changes made by R.Cybulski in cmock 68/240468/4
Bartlomiej Grzelewski [Thu, 6 Aug 2020 11:27:01 +0000 (13:27 +0200)]
Import final changes made by R.Cybulski in cmock

This commit fixes also error:
  "unable to load <mockup_function_name> function symbol"

Change-Id: I074f634cc80e5dfeb0e13af6483506e98ca8e825

4 years agoImports final version of tests made by R.Cybulski 35/240235/7
Bartlomiej Grzelewski [Thu, 6 Aug 2020 11:00:18 +0000 (13:00 +0200)]
Imports final version of tests made by R.Cybulski

This commits imports final version of generate_wrapper.py.
Replaces mockups from original commit with new versions.

Change-Id: Ied824e80e25d544528f0c058c62c4918d70c5f3c

4 years agoRemove warrning during compilation gtest 66/240466/3
Bartlomiej Grzelewski [Thu, 6 Aug 2020 10:59:52 +0000 (12:59 +0200)]
Remove warrning during compilation gtest

Change-Id: I105e5e0ecc492d414cd1781e8d3325ed405681fe

4 years agoadd googletest / c-mock sources 71/237671/5
Radoslaw Cybulski [Thu, 29 Sep 2016 11:02:05 +0000 (13:02 +0200)]
add googletest / c-mock sources

Change-Id: I44ab01fc770fcb98137d8842b5f0b3c5efd3d5c0

4 years agoRemove useless code from reading composer 84/240884/1
Bartlomiej Grzelewski [Wed, 12 Aug 2020 10:36:57 +0000 (12:36 +0200)]
Remove useless code from reading composer

Change-Id: Idf493f192ca61fbd162dc9c198f3de4c4914ff8b

4 years agoreading_composer: remove unreachable code 22/240722/1
Shinwoo Kim [Tue, 11 Aug 2020 02:20:22 +0000 (11:20 +0900)]
reading_composer: remove unreachable code

This patch is removing unreachable code. That's it.

Change-Id: I0422d2069fbc186170adb0d34f5287c2d3203607

4 years agoBuild script refactoring 70/237670/4
Bartlomiej Grzelewski [Thu, 2 Jul 2020 08:41:50 +0000 (10:41 +0200)]
Build script refactoring

* Add PIE options to all executables produced by cmake.
* Change SCREEN_READER_FLAGS to be compliant with
  TARGET_COMPILE_OPTIONS format.
* Avoid passing screen reader options to test framework.
  By default screen reader specific options were passed to all
  targets built by cmake files. It is not desirable behaviour
  as we also will build test framework.

Change-Id: I06dc05ba336a5ad6f016ee675b153f4b7b6a34ae

4 years agoFixed potential dereference to NULL 43/240343/1 accepted/tizen/unified/20200810.123118 submit/tizen/20200809.214919
Lukasz Oleksak [Wed, 5 Aug 2020 15:18:49 +0000 (17:18 +0200)]
Fixed potential dereference to NULL

Change-Id: Ia0d898727544d3dc2fe4334f0382a07899967c4c

4 years ago[screen reader] Code refactoring: navigator 30/240030/5
Bartlomiej Grzelewski [Fri, 31 Jul 2020 13:07:15 +0000 (15:07 +0200)]
[screen reader] Code refactoring: navigator

* change name of NavigatorData to be compliant
  with convention
* hide global connection value inside context

Change-Id: I744e72dc7bff1b1b91590ac482dddb6bc897bb5e

4 years ago[screen reader] Code refactoring: tts 37/239637/11 accepted/tizen/unified/20200803.122203 submit/tizen/20200802.221805
Bartlomiej Grzelewski [Tue, 28 Jul 2020 09:10:47 +0000 (11:10 +0200)]
[screen reader] Code refactoring: tts

* change function prefix from tts to tw (Tts Wrapper)
  as tts is reserved by system service
* reduce number of global values in tw module

Change-Id: I38a30734f79fbf53ddb316071464eba126a93336

4 years ago[screen reader] Code refactoring: vconf 29/239929/1
Bartlomiej Grzelewski [Thu, 30 Jul 2020 14:35:40 +0000 (16:35 +0200)]
[screen reader] Code refactoring: vconf

Initlization log was shown each time vconf module was used.
Move initialiazation log to proper place.

Change-Id: Idd6a3cd8cca11dc01c46478a0c07908221401e03

4 years ago[screen reader] Code refactoring: reading composer 36/239536/8
Bartlomiej Grzelewski [Mon, 27 Jul 2020 11:09:11 +0000 (13:09 +0200)]
[screen reader] Code refactoring: reading composer

* simplify implementation

Change-Id: I7ad86ceb01148c981b89b133819ca71cda07c999

4 years ago[screen reader] Code refactoring: screen reader vconf 15/239215/7
Bartlomiej Grzelewski [Wed, 22 Jul 2020 12:29:09 +0000 (14:29 +0200)]
[screen reader] Code refactoring: screen reader vconf

 * remove "extern" values related with vconf module
 * change function prefix from vconf to vc (as vconf
   is reserved by system library)
 * remove dependency from screen_reader.h

Change-Id: I6a9b38ddb053a14444e3d14f02e4b97ad78b83cf

4 years ago[screen reader] Code refactoring: split navigator module 78/239078/7
Bartlomiej Grzelewski [Tue, 21 Jul 2020 08:59:27 +0000 (10:59 +0200)]
[screen reader] Code refactoring: split navigator module

 * functions related to "text to read" generation were
   moved to reading composer module

Change-Id: Iba869ddaecf6a0dfa70c89de69df4652083a09b4

4 years ago[screen reader] Code refactoring: screen reader spi 37/238937/9 accepted/tizen/unified/20200729.165605 submit/tizen/20200728.225405
Bartlomiej Grzelewski [Mon, 20 Jul 2020 11:46:08 +0000 (13:46 +0200)]
[screen reader] Code refactoring: screen reader spi

* reduce number of global values inside screen reader spi

Change-Id: I90605a5b7c45baf0ba86addb04fa929614392ce5

4 years agoscreen_reader_system: fix potential overflow 87/239187/3 submit/tizen/20200723.215228
Kamil Konieczny [Wed, 22 Jul 2020 10:01:20 +0000 (12:01 +0200)]
screen_reader_system: fix potential overflow

Fix potential integer overflow.

Change-Id: I5088b07f96b05562c7bfd042cdec421c8625cf09

4 years agoapp_tracker: remove dead code 75/239175/1
Kamil Konieczny [Wed, 22 Jul 2020 09:16:21 +0000 (11:16 +0200)]
app_tracker: remove dead code

In function _on_atspi_event_cb parameters are checked at
begin, so there is no need for re-check them later.

Change-Id: I5db5acf11cb05f83a305a776675382dae658169d

4 years agoscreen_reader_system: fix dereference error 81/239081/1
Kamil Konieczny [Tue, 21 Jul 2020 12:48:27 +0000 (14:48 +0200)]
screen_reader_system: fix dereference error

In shutdown function, variable system_data was freed and
later dereferenced.

Change-Id: I6727bb9134971c107b7a0e22c81020867b375795

4 years agoMerge "navigator: remove global var sym_hash" into tizen accepted/tizen/unified/20200721.142247 submit/tizen/20200720.225554
Lukasz Oleksak [Mon, 20 Jul 2020 12:10:42 +0000 (12:10 +0000)]
Merge "navigator: remove global var sym_hash" into tizen

4 years agonavigator: remove global var sym_hash 05/238505/5
Kamil Konieczny [Tue, 14 Jul 2020 13:23:12 +0000 (15:23 +0200)]
navigator: remove global var sym_hash

Move global var sym_hash inside function symbol_lookup
and replace uses of sym_hash by call to symbol_lookup.
As it is used also by app_tracker.c, move this into
separate file symbols.c

Change-Id: I0b55243262ca2fdc7d58c5a0bea8fd17e31526e5

4 years agoMerge "Resolve build errors in 64bit architecture" into tizen
Lukasz Oleksak [Mon, 20 Jul 2020 10:42:57 +0000 (10:42 +0000)]
Merge "Resolve build errors in 64bit architecture" into tizen

4 years ago[screen reader] Code refactoring: window tracker 00/238700/12
Bartlomiej Grzelewski [Thu, 16 Jul 2020 09:39:00 +0000 (11:39 +0200)]
[screen reader] Code refactoring: window tracker

* reduce number of global values inside window tracker

Change-Id: I15a482ad0d3d735e75e2d486d9b1e486f397934d

4 years agoResolve build errors in 64bit architecture 25/238925/2
Jongmin Lee [Mon, 20 Jul 2020 08:52:49 +0000 (17:52 +0900)]
Resolve build errors in 64bit architecture

The mismatch between printf format and type resulted build error in 64bit architecture.
The 'sizeof' function returns 'long unsinged int' in 64bit architecture.

Change-Id: I0a49cbe8e4e84babc88e6b84ee77aa4a5e3d418e

4 years agoRemoval of X11 related code 99/238699/4 submit/tizen/20200719.223823
Lukasz Oleksak [Thu, 16 Jul 2020 09:31:08 +0000 (11:31 +0200)]
Removal of X11 related code

* X11 support on Tizen platform expires with upcoming release

Change-Id: Ia3bee9ed0a162457e666711ea988af835ba1a85f

4 years ago[screen reader] Code refactoring: keyboard tracker 98/238598/7
Bartlomiej Grzelewski [Wed, 15 Jul 2020 10:19:51 +0000 (12:19 +0200)]
[screen reader] Code refactoring: keyboard tracker

* reduce number of global values inside keyboard tracker

Change-Id: If77a4cebfd74dbea715afc19c53629deb2b6db16

4 years ago[screen reader] Code refactoring: app tracker 04/238404/3
Bartlomiej Grzelewski [Mon, 13 Jul 2020 14:00:08 +0000 (16:00 +0200)]
[screen reader] Code refactoring: app tracker

* reduce nuber of global values inside app tracker

Change-Id: Id6ca05453b40275801f4030e1ecf7f0912df5512

4 years ago[screen reader] Code refactoring: screen reader system 31/238231/13
Bartlomiej Grzelewski [Thu, 9 Jul 2020 14:14:04 +0000 (16:14 +0200)]
[screen reader] Code refactoring: screen reader system

* reduce number of global values inside screen reader system

Change-Id: I4ae595311daaf6cfad21559fe267d3d8542f27fd

4 years ago[screen reader] Code refactoring: dbus direct reading adapter 09/238109/8
Bartlomiej Grzelewski [Wed, 8 Jul 2020 13:06:01 +0000 (15:06 +0200)]
[screen reader] Code refactoring: dbus direct reading adapter

* reduce number of global values inside dbus direct reading adapter

Change-Id: I4d62955264a24a2fd457dbd837e4dd2b3b61bd8f

4 years ago[screen reader] Code refactoring: navigator 81/237681/9
Bartlomiej Grzelewski [Thu, 2 Jul 2020 10:46:58 +0000 (12:46 +0200)]
[screen reader] Code refactoring: navigator

* reduce number of global values inside navigator module

Change-Id: Ibed397417a442d6745c2477eaaff9b0b60dda943

4 years agosmart_notification: Update resource path name 77/237177/1 accepted/tizen/unified/20200701.032336 submit/tizen/20200629.234316 submit/tizen/20200630.101739
Prasoon Singh [Thu, 2 Apr 2020 12:04:16 +0000 (17:34 +0530)]
smart_notification: Update resource path name

Update resource path name so that sound files can be found.
This should unify sound file search across different
profiles.

It's cherry-pick of fa31aac234aa2c3a667a45bd2f2122d03dac6427
from wearable repository, with commit message edited.

Change-Id: Ieb6871c3865b9d40dc17475823f0e128de67ec43
Signed-off-by: Prasoon Singh <prasoon.16@samsung.com>
4 years agoNavigator: Add Space in symbol table 72/236372/2 accepted/tizen/unified/20200618.130016 submit/tizen/20200616.213914 submit/tizen/20200617.214046
Shilpa Singh [Tue, 16 Jun 2020 09:44:48 +0000 (15:14 +0530)]
Navigator: Add Space in symbol table

It's cherry-pick of 9bef591f339535ead3e267e76849f5a59a797127
from wearable repository.

Change-Id: I90300ca9d2376ff1f58a16353cec178a05a370a3

4 years ago[Screen-Reader]: Add Symbol reading 68/236368/4
Shilpa Singh [Tue, 7 Apr 2020 18:40:20 +0000 (00:10 +0530)]
[Screen-Reader]: Add Symbol reading

Summary:
Symbols can have different reading hence tts engine does not read
certain symbols and read few of symbols in a different manner.
In this patch we address this issue by providing reading
to most symbols.

It's cherry-pick of 7f6d90efefcf5aebf23c367da6c5e87a64393a2a
from wearable repository.

Change-Id: Ie16ec43cd1dbc9a4ad695484edd40ca4c1a6a96b

5 years agogranularity_read: fix memory leak accepted/tizen/unified/20200615.135357 submit/tizen/20200611.221942 submit/tizen/20200614.220219
Kamil Konieczny [Wed, 27 May 2020 13:42:07 +0000 (15:42 +0200)]
granularity_read: fix memory leak

Fix memory leak. Also while at this, simplify code and
prevent infinite loop for non-valid chars at text end.

Change-Id: I47d24f3c2a516d44b6df457faca449c62b633b44
(cherry picked from commit 7c4706183e3d0a1ca58a6eac1da47592fc594be5)