platform/core/system/deviced.git
2 years agodevice-notifier: prevent index out of bound 66/274966/2
Youngjae Cho [Fri, 13 May 2022 00:48:25 +0000 (09:48 +0900)]
device-notifier: prevent index out of bound

Change-Id: I5d0ab792bb605f259bc6c7f0a486ecb84d4e3930
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: elevate iot-headless power plugin to core 09/274909/9
Youngjae Cho [Thu, 12 May 2022 01:49:08 +0000 (10:49 +0900)]
power: elevate iot-headless power plugin to core

The power plugin, power-state-manager, has merged into core module
and now it administers the whole power module instead of existing
power-handler. The power-handler has renamed to power-off to match
up with its functionality.

Change-Id: I8c93162639d1793635e9b7620ecf4210c4dca23b
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: refactor power operations 53/273253/5
Youngjae Cho [Fri, 1 Apr 2022 08:25:40 +0000 (17:25 +0900)]
power: refactor power operations

 Fix wake lock/unlock operation to have prefix of "power". And it
replaces indirect invocation through device_notify(), which is often
in iot-headless.
 Add functions for add/remove poweroff wait for internal usage. It
is similar to the existing add/remove dbus methods, but only differs
in that the function can be invoked by the deviced itself.

Change-Id: Ide3ceb5f894b376901637992d66401a110eafbf0
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agousb-gadget: fix usb-gadget configuration parsing 59/274759/1
Youngjae Cho [Mon, 9 May 2022 04:56:22 +0000 (13:56 +0900)]
usb-gadget: fix usb-gadget configuration parsing

The section [SystemdUnit] is now properly applied.

Change-Id: I204d2fb7bee19b0dfac1feebe0c2876051b0937c
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoAdd new command to set/get partition status 07/274607/2
SangYoun Kwak [Tue, 3 May 2022 09:03:15 +0000 (18:03 +0900)]
Add new command to set/get partition status

Change-Id: Idbbed070614b0d4438ad71a34f50c406e86f9c16
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoAdd new command to get current partition and modify switch-partition command 44/274544/2
SangYoun Kwak [Mon, 2 May 2022 05:37:12 +0000 (14:37 +0900)]
Add new command to get current partition and modify switch-partition command

Change-Id: I32bfe926c07ae82db5c977a889c7302e03a207a8
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agousb-gadget: add dummy operations for emulator 56/274556/1 accepted/tizen/unified/20220505.134703 submit/tizen/20220502.091413 submit/tizen/20220503.013451
Youngjae Cho [Mon, 2 May 2022 08:06:31 +0000 (17:06 +0900)]
usb-gadget: add dummy operations for emulator

Change-Id: I6491d3b918073ab9990a8c6d065c64badcf40d73
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agousb-gadget: introduce configurable function set 39/273839/15
Youngjae Cho [Thu, 14 Apr 2022 10:00:24 +0000 (19:00 +0900)]
usb-gadget: introduce configurable function set

Previously, only a few predefine set of usb-gadget function can be
utilized for setting usb-gadget, e.g., SET_USB_SDB_DIAG means it only
activates usb-gadget functions of sdb/diag, and you are not allowed
to activates any other usb-gadget combination than those predefined
set.

For a better intuitive useability, remove those predefined set. And
you are now allowed to combine any kind of usb-gadget functions you
want to use, making up a bitmap, which can be used for activating
all those usb-gadget functions through vconf(db/usb/sel_mode).

Usb-gadget functions are defined in capi-system-device.
 - USB_GADGET_FUNC_NONE  = 0x00
 - USB_GADGET_FUNC_SDB   = 0x01
 - USB_GADGET_FUNC_MTP   = 0x02
 - USB_GADGET_FUNC_RNDIS = 0x04
 - USB_GADGET_FUNC_ACM   = 0x08
 - USB_GADGET_FUNC_DIAG  = 0x10
 - USB_GADGET_FUNC_RMNET = 0x20

Change-Id: I44c2bb2c751129613a3470569edf8babbe710845
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agousb-gadget: reinforce error log in opening a gadget 99/273999/3
Youngjae Cho [Wed, 20 Apr 2022 01:18:53 +0000 (18:18 -0700)]
usb-gadget: reinforce error log in opening a gadget

Change-Id: I44aaa629e7592ccb9c982266b16f31b71d0210ec
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoAdd missing dependency to security-config 63/273963/1
Hyotaek Shim [Tue, 19 Apr 2022 03:45:17 +0000 (12:45 +0900)]
Add missing dependency to security-config

-- RPM install (w/ security-config) ---
root:~> ls -alZ /usr/bin/device_board_*
-r-sr-xr-- 1 system_fw system_fw _ 6912 Apr 19  2022 /usr/bin/device_board_clear_boot_mode
-r-sr-xr-- 1 system_fw system_fw _ 6920 Apr 19  2022 /usr/bin/device_board_clear_partition_ab_cloned
-r-sr-xr-x 1 system_fw system_fw _ 6920 Apr 19  2022 /usr/bin/device_board_get_boot_mode
-r-sr-xr-x 1 system_fw system_fw _ 6928 Apr 19  2022 /usr/bin/device_board_get_partition_ab_cloned
-r-sr-xr-x 1 system_fw system_fw _ 6920 Apr 19  2022 /usr/bin/device_board_get_upgrade_status
-r-sr-xr-- 1 system_fw system_fw _ 6912 Apr 19  2022 /usr/bin/device_board_set_boot_success
-r-sr-xr-- 1 system_fw system_fw _ 6920 Apr 19  2022 /usr/bin/device_board_set_partition_ab_cloned
-r-sr-xr-- 1 system_fw system_fw _ 6928 Apr 19  2022 /usr/bin/device_board_set_upgrade_status
-r-sr-xr-- 1 system_fw system_fw _ 6912 Apr 19  2022 /usr/bin/device_board_switch_partition

-- QuickBuild image (w/o security-config) ---
root:~> ls -alZ /usr/bin/device_board_*
-r-sr-xr-- 1 root root _ 6912 Apr 18  2022 /usr/bin/device_board_clear_boot_mode
-r-sr-xr-- 1 root root _ 6920 Apr 18  2022 /usr/bin/device_board_clear_partition_ab_cloned
-r-sr-xr-x 1 root root _ 6920 Apr 18  2022 /usr/bin/device_board_get_boot_mode
-r-sr-xr-x 1 root root _ 6928 Apr 18  2022 /usr/bin/device_board_get_partition_ab_cloned
-r-sr-xr-x 1 root root _ 6920 Apr 18  2022 /usr/bin/device_board_get_upgrade_status
-r-sr-xr-- 1 root root _ 6912 Apr 18  2022 /usr/bin/device_board_set_boot_success
-r-sr-xr-- 1 root root _ 6920 Apr 18  2022 /usr/bin/device_board_set_partition_ab_cloned
-r-sr-xr-- 1 root root _ 6928 Apr 18  2022 /usr/bin/device_board_set_upgrade_status
-r-sr-xr-- 1 root root _ 6912 Apr 18  2022 /usr/bin/device_board_switch_partition

Change-Id: Ie60cb0e6af7012f186555d3af4835e123052882c
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
(cherry picked from commit f0a2614d54446bd47aebde72575ae1655fa29da0)

2 years agoFix DAC permission for board commands not to use SETUID 62/273962/1
Hyotaek Shim [Tue, 19 Apr 2022 05:28:11 +0000 (14:28 +0900)]
Fix DAC permission for board commands not to use SETUID

Instead, board user modules including booting-done.service
will have privileged credentials.

Change-Id: I9d838bc266fbb40d67ad61083254a7a527ae9ea3
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agoRename usb modules 93/273793/5
Youngjae Cho [Thu, 14 Apr 2022 00:33:24 +0000 (09:33 +0900)]
Rename usb modules

- usb -> usb-gadget
- usbhost -> usb-host

Change-Id: I2ccce17d76e71399798424654dca9844f9874625
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agousb-gadget: relocate declarations of enum 97/273797/1
Youngjae Cho [Thu, 14 Apr 2022 02:10:32 +0000 (11:10 +0900)]
usb-gadget: relocate declarations of enum

Move USB_FUNCTION_IDX_* from hal-api-device to deviced.
Move USB_FUNCTION_* from hal-api-device to capi-system-device.

Change-Id: I820fa7532c9376ccf41fdfe7684a39613e60e16b
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoRevert "usb: move vconf enum to deviced" 94/273794/2
Hyotaek Shim [Thu, 14 Apr 2022 00:40:25 +0000 (00:40 +0000)]
Revert "usb: move vconf enum to deviced"

This reverts commit 0c5bad3d29e5a02272fa5434da4cc99ac19bc7a5.

Change-Id: If26ac0bf037c16ee521c9517296441404e7be159

2 years agoModify DAC permission (setuid) for board commands 72/273772/1
Hyotaek Shim [Wed, 13 Apr 2022 11:59:41 +0000 (20:59 +0900)]
Modify DAC permission (setuid) for board commands

Change-Id: I94cf96b0b6aa192b6f12ed1df3762a944e6f2e14
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agousb: move vconf enum to deviced 51/273751/1
Youngjae Cho [Wed, 13 Apr 2022 08:13:34 +0000 (17:13 +0900)]
usb: move vconf enum to deviced

Change-Id: I98e52b0747e77cfc84a757a5a21fd6054b26baa9
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoChange permission (system_fw:system_fw) for board command tools 48/273748/1
Hyotaek Shim [Wed, 13 Apr 2022 08:22:27 +0000 (17:22 +0900)]
Change permission (system_fw:system_fw) for board command tools

Change-Id: I990e96517890d2508bb4fe3bd479aff7ed6d6489
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agousb: move usb-gadget from device-common to deviced 88/273488/10
Youngjae Cho [Wed, 6 Apr 2022 08:40:04 +0000 (01:40 -0700)]
usb: move usb-gadget from device-common to deviced

Change-Id: I3190fb3c7ff62aab41dc3f4959d26ce8647d03bc
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoFix implicit declaration warning 97/273597/1
SangYoun Kwak [Fri, 8 Apr 2022 08:29:15 +0000 (17:29 +0900)]
Fix implicit declaration warning

Change-Id: I9abfa31c34e01ed1796655cd86705430ab279d2f
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoModify the return value and the output of deviced-tools 39/273539/1
SangYoun Kwak [Thu, 7 Apr 2022 07:32:35 +0000 (16:32 +0900)]
Modify the return value and the output of deviced-tools

Change-Id: Ic9070e2062f17b109a09791d38948e0aa7c20da9
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agousb: prevent not null-terminated string 42/273442/1 accepted/tizen/unified/20220406.080508 submit/tizen/20220406.010450
Youngjae Cho [Wed, 6 Apr 2022 00:29:24 +0000 (17:29 -0700)]
usb: prevent not null-terminated string

Change-Id: I17b1d4c7753120dd09192523f75c8939ba96e184
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: separate power configuration for each profile 48/273248/3 submit/tizen/20220405.053020
Youngjae Cho [Fri, 1 Apr 2022 06:30:23 +0000 (15:30 +0900)]
power: separate power configuration for each profile

Change-Id: Id24e09c02a3e4e706cbe95eeee351eb23c250273
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoFix to initialize the char pointer to NULL 50/273250/2
SangYoun Kwak [Fri, 1 Apr 2022 07:07:13 +0000 (16:07 +0900)]
Fix to initialize the char pointer to NULL

Change-Id: I7144bf7646e813a905c3eae7fd209d342cabb450
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agohdmi: remove display control 30/273030/2
Youngjae Cho [Wed, 30 Mar 2022 01:28:05 +0000 (18:28 -0700)]
hdmi: remove display control

Controlling display from hdmi will be more discussed as multi-display
concept would be introduced. Therefore, remove old fashioned display
control policy.

Change-Id: Iecd28b73491d6fcb565183196d2c9291720db23a
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoFix include and parameter 48/273148/1 accepted/tizen/unified/20220404.013016 submit/tizen/20220331.075432 submit/tizen_6.5/20220401.011045
SangYoun Kwak [Thu, 31 Mar 2022 05:05:03 +0000 (14:05 +0900)]
Fix include and parameter

Change-Id: I9ced21c55ce596087418a9f5f3867e42411e16c7
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoAdd new commands for upgrade status and change params in switch command 75/273075/5
SangYoun Kwak [Wed, 30 Mar 2022 09:20:59 +0000 (18:20 +0900)]
Add new commands for upgrade status and change params in switch command

Change-Id: Ib9de10fd0609cfa1eaa631e01f2a5eff756ff933
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoFix DAC performance for device_board tools 48/273048/1
Hyotaek Shim [Wed, 30 Mar 2022 05:33:26 +0000 (14:33 +0900)]
Fix DAC performance for device_board tools

Change-Id: I5c4cff6cef406aa4dcc798743bb8c3d3fd5a67f1
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agopower: add configuration for poweroff delay time 65/272765/7
Youngjae Cho [Thu, 24 Mar 2022 04:56:26 +0000 (13:56 +0900)]
power: add configuration for poweroff delay time

Change-Id: I29fe716445cb197b66338d973c6acd1fc40890a8
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: change configuration section of TimeoutSleepSupport 72/272772/1
Youngjae Cho [Thu, 24 Mar 2022 06:45:47 +0000 (15:45 +0900)]
power: change configuration section of TimeoutSleepSupport

Change-Id: I9e534b858d7994182d994d9649d4f1e2375c32e9
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoAdd new command to manipulate the "cloned" flag 55/272355/6
SangYoun Kwak [Tue, 15 Mar 2022 07:23:25 +0000 (16:23 +0900)]
Add new command to manipulate the "cloned" flag

Change-Id: I6dc81870f7769869f02b0dfaa6e2418179288ee2
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agousb-gadget: introduce configurable usb-gadget 12/272412/6
Youngjae Cho [Wed, 16 Mar 2022 08:25:33 +0000 (17:25 +0900)]
usb-gadget: introduce configurable usb-gadget

Change-Id: Iaf2adf68666b1def8dcf6b04707d0f5a3f5fc3e0
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoSupport silent boot via cmdline bootmode 82/272282/2 accepted/tizen/unified/20220318.132958 submit/tizen/20220317.053005
Youngjae Cho [Mon, 14 Mar 2022 05:32:36 +0000 (14:32 +0900)]
Support silent boot via cmdline bootmode

The /proc/cmdline has changed to have bootmode=silent parameter on
silent booting.

Change-Id: I15ebb44bdd86155fc1a65489e23ec527fd9cbf86
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agobattery: fix name of battery charging state 67/272267/1
Youngjae Cho [Mon, 14 Mar 2022 02:01:37 +0000 (11:01 +0900)]
battery: fix name of battery charging state

Change-Id: Ide4c233bf2c69ffdec270622a5d23736cfb661e4
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agobattery: suppress config parse error 75/272075/1 accepted/tizen/unified/20220310.120904 submit/tizen/20220308.032646
Youngjae Cho [Tue, 8 Mar 2022 02:44:56 +0000 (11:44 +0900)]
battery: suppress config parse error

Do not consider encounter of a section that we are not intersted in
as an error, because several new sections have been added recently.

Change-Id: I9d3f3d6a5dd6e14ca0478ed6f661e39a7519cd46
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoFix section name to follow the coding ground rule 34/272034/1
Youngjae Cho [Mon, 7 Mar 2022 06:53:56 +0000 (15:53 +0900)]
Fix section name to follow the coding ground rule

Change-Id: I0a6d6d499a0bfcfaa1b8bf0f275b6de3470e84f2
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoauto-test: add uevent control before/after the battery test 98/270998/2 submit/tizen/20220222.024249
Youngjae Cho [Mon, 14 Feb 2022 04:02:59 +0000 (13:02 +0900)]
auto-test: add uevent control before/after the battery test

During battery test, uevent must be ignored as test-driver generates
pseudo-uevent and a real-uevent might corrupt it.

Change-Id: Idf44757c00e2f2fadda75d87cec3a2982ee0871e
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: clarify meaning of power-state-wait log 25/270625/1 submit/tizen/20220208.052553 submit/tizen/20220208.075544
Youngjae Cho [Mon, 7 Feb 2022 05:19:44 +0000 (14:19 +0900)]
power: clarify meaning of power-state-wait log

Clarify it to imply the meaning of "how many" processes have requested
for state-wait.

Change-Id: I96dccbdcf60c84307d3d4e0dc39794421cda4549
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoauto-test: check feature using system-info library 79/270479/1
Youngjae Cho [Thu, 3 Feb 2022 07:25:20 +0000 (16:25 +0900)]
auto-test: check feature using system-info library

Previously, the uniitest is conducted based on statically defined
configuration file, auto-test.conf. Replace it to system-info API,
which fetches feature on runtime. Therefore it is able to find feature
on various target without defining one by one in advance whether a test
can be deserved.

Change-Id: Iaf445edc4c566517c37106dd00c67c42cd7f813a
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agobattery: rename battery.online as charger_connected 36/270236/7
Youngjae Cho [Thu, 27 Jan 2022 01:46:10 +0000 (17:46 -0800)]
battery: rename battery.online as charger_connected

 The charger_connected has changed to have only a value of 0 or 1,
which corresponds to charger disconnected/connected. At before, the
variable can have any integer other than 0 or 1, which implied which
type of charger had been connected. Instead of those integers, the
power_source_s or vconf can be utilized for charger type.
 The vconf, VCONFKEY_SYSMAN_CHARGER_TYPE, which was exclusive for MCD
product profile, has changed to have a one of the value belows, and it
will be changed according to battery.power_source_s.
    0 (none, charger disconnected or unknown type)
    1 (ac)
    2 (usb)
    3 (wireless)

Change-Id: I8ff4751e521585f94cd421a0edeba04651094bce
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: defer state transition until booting done 73/269573/1
Youngjae Cho [Tue, 18 Jan 2022 09:43:07 +0000 (18:43 +0900)]
power: defer state transition until booting done

If a transition event occured before booting_done(=delayed_init_done),
defer the transition until booting done.

Change-Id: Ib79974b34a8b55751d542c50f9354cdc95ae021b
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agobattery: fix condition of update_online() 71/269571/1
Youngjae Cho [Tue, 18 Jan 2022 09:15:06 +0000 (18:15 +0900)]
battery: fix condition of update_online()

Initialize online_status by -1 so that the update_online() shall process
properly even when the device has turned on with charger disconnected.

Change-Id: I25c51f0aa856c2b1190f148f650b674054f918f7
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoFix conf filename format to {module}-profile-{profile}.conf 27/269327/4
Youngjae Cho [Thu, 13 Jan 2022 01:37:52 +0000 (17:37 -0800)]
Fix conf filename format to {module}-profile-{profile}.conf

Change-Id: I5bd5e1e635b43fe3fa55f657ac6d162920f1d827
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoAdd license declaration in source files 88/269488/3
SangYoun Kwak [Mon, 17 Jan 2022 02:35:17 +0000 (11:35 +0900)]
Add license declaration in source files

Change-Id: Iad0053e73a19b1dbd71ed9b3f432bd8cafc9f13d
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
2 years agoinput: add ConditionVconf property for conditional action 56/269256/3
Youngjae Cho [Wed, 12 Jan 2022 05:55:31 +0000 (21:55 -0800)]
input: add ConditionVconf property for conditional action

[EVENT_ACTION] of input.conf can now have property ConditionVconf
 - ConditionVconf=key,type,value
which set the condition for an event, so that it will trigger action
only when the given vconf meet.

Change-Id: I3dbd4484718cc3ba3b9b241ec670b28963d45f3d
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: make change state wait timeout configurable 63/269263/4
Youngjae Cho [Wed, 12 Jan 2022 07:01:04 +0000 (23:01 -0800)]
power: make change state wait timeout configurable

Change-Id: I808f29e3518c643a295189accf919cd163f75e7e
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: add initial power state transition on deviced startup 75/269075/4 accepted/tizen/unified/20220117.135018 submit/tizen/20220112.015321 submit/tizen/20220113.004629
Youngjae Cho [Fri, 7 Jan 2022 07:47:51 +0000 (16:47 +0900)]
power: add initial power state transition on deviced startup

The first transition is specified in init.conf. The transition is
selected by /proc/cmdline bootreason=.

Change-Id: I7ce713fac9008c5cdcc3f9a76a089bb6ebd16db8
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agobattery: introduce battery-plugin for iot-headless 23/268823/8
Youngjae Cho [Mon, 3 Jan 2022 09:35:05 +0000 (18:35 +0900)]
battery: introduce battery-plugin for iot-headless

It handles battery event according to the iot-headless policy. Those
policies are specified in battery.conf. For now it only handles event
about charger connect/disconnect.
 1. It triggers power state transition. Those transition actions are
    specified in EVENT_ACTION section.
 2. It might hold wakelock for charger connection. It is specified in
    CHARGER_WAKELOCK section.

Change-Id: Iee6803604a25bacca5ce68953033b71560ed4ba8
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: introduce eventlock for iot-headless 56/268956/8
Youngjae Cho [Wed, 5 Jan 2022 07:44:15 +0000 (16:44 +0900)]
power: introduce eventlock for iot-headless

eventlock is another wakelock for guaranteeing subroutine of an event
not to go to sleep regardless of power state. Therefore, the eventlock
works independently of mainlock, which is affected by power state.
The previous templock, which was for key event, has changed to eventlock.

Change-Id: Ie6ac4cf2de6989845b2e64eefe06002147736da2
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agotests: add explicit typecast on expect_check() 96/268996/1
Youngjae Cho [Thu, 6 Jan 2022 05:19:41 +0000 (14:19 +0900)]
tests: add explicit typecast on expect_check()

This suppresses mismatch of check_expected() due to sign-extended
integer of cmocka framework on 32bit architecture.

Change-Id: Ief1b52513c4d78a6373aaba7a36c97ed687768d0
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agodevice-notifier: add priority to device-notifier 70/268970/5
Youngjae Cho [Wed, 5 Jan 2022 09:45:12 +0000 (18:45 +0900)]
device-notifier: add priority to device-notifier

The priority is sorted in descending order, therefore the higher
a priority is, the earlier it is invoked compared to the lower one.

Change-Id: I30c995cdb4d8b84faf1d4542b81e27052b94a9ab
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agodevice-notifier: add callback that can receive user_data 95/268895/5
Youngjae Cho [Tue, 4 Jan 2022 09:34:49 +0000 (18:34 +0900)]
device-notifier: add callback that can receive user_data

typedef int (*notify_cb_udata)(void *data, void *user_data)
 >> The callback has an additional parameter, user_data, for receiving
    user data.

typedef void (*destroy_cb_udata)(void *user_data)
 >> The callback is invoked on removing notifier with parameter
    user_data.

int __register_notifier_udata(enum device_notifier_type type,
 notify_cb_udata func, void *user_data, destroy_cb_udata func_destroy,
 const char *caller)
 >> Returns negative errno on error occured. Otherwise positive integer
    that denotes notifier id, which can be used for unregistering the
    notifier.
 >> There are two additional parameters compared to the original
    register_notifier(). One is user_data, which is passed as the
    second parameter to callback and the other is func_destroy, which
    is invoked on removing notifier.
 >> It is allowed to register multiple notifier with same callback on a
    same type, because a user_data might differ even though they have
    same callback on a same type.

int __unregister_notifier_udata(int id, const char *caller)
 >> Receives notifier id and unregisters matching notifier.

Change-Id: I46d1fec98eae19dbd9aaed60dfd84f760d152b9e
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: change input.conf format and parser 30/268530/2
Youngjae Cho [Fri, 24 Dec 2021 06:15:55 +0000 (15:15 +0900)]
input: change input.conf format and parser

Change-Id: Id6170a4f43ddef3b27f876f3e049dff100ad53a0
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agotool: add board opeartions 05/268305/5
Youngjae Cho [Mon, 20 Dec 2021 06:41:53 +0000 (15:41 +0900)]
tool: add board opeartions

Change-Id: I300c324d1175fe53b1b69520b4c9ba29219a91fc
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoFix format specifier of type uint64_t 02/268102/1
Youngjae Cho [Thu, 16 Dec 2021 07:43:20 +0000 (16:43 +0900)]
Fix format specifier of type uint64_t

Change-Id: Icaf193fbd700ece2d74482627cf9b3f54441f671
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: apply wait callback mechanism to all state transitions 99/267999/7
Youngjae Cho [Tue, 14 Dec 2021 09:20:25 +0000 (18:20 +0900)]
power: apply wait callback mechanism to all state transitions

Generalize sleep-wait mechanism. It now always waits on changing state
if some other processes has registered change-state-wait on the state.
On transition to a next state, remove all change-state-waits that
waiting for other than the next state. If a timeout expires or all
change-state-waits are confirmed, invoke wait-done callback.

Change-Id: I573ca68c3a6c210cad479e068ee088d6a31ba54f
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: remove templock timeout 79/267879/1
Youngjae Cho [Mon, 13 Dec 2021 01:37:07 +0000 (10:37 +0900)]
power: remove templock timeout

Hold templock on pressing a key unless it is released.

Change-Id: Ib7476b9aa8dc2c69b3b8d406464a56aa3a1b9aa9
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: broadcast dbus signal on level triggered event 91/267791/2 submit/tizen/20211213.010124
Youngjae Cho [Fri, 10 Dec 2021 01:06:53 +0000 (10:06 +0900)]
input: broadcast dbus signal on level triggered event

Change-Id: I7561ac2086665912e0d5b3c9eec88a7eca1efaa8
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: fix dbus signal for changestate 31/267731/1 accepted/tizen/unified/20211213.133447 submit/tizen/20211210.062426
Youngjae Cho [Thu, 9 Dec 2021 08:21:47 +0000 (17:21 +0900)]
power: fix dbus signal for changestate

The dbus siganl is broadcasted on changing state
  path : /Org/Tizen/System/DeviceD/Power
  iface: org.tizen.system.deviced.Power
  name : ChangeState
  param: "(iti)"
         int32 : type (0: sleep, 1: wakeup)
 uint64: state transition id
 int32 : state transition reason

Change-Id: I04c01722fbdbf59fa2c9eae0c9b819e3aee77488
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: rework sleep-wait 07/267707/5
Youngjae Cho [Thu, 9 Dec 2021 04:21:05 +0000 (13:21 +0900)]
power: rework sleep-wait

The sleep-wait now works based on a single list. Whenever entering
to PSM_SLEEP, all sleep-waits, which had been registered by processes
through device API, will be added to the list waiting for confirmation.

Change-Id: Iebb1b177914847ee9c38ce8bf5fc01bb70d1f3c6
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: introduce power-state-manager for iot-headless 48/267648/2
Youngjae Cho [Wed, 8 Dec 2021 07:10:32 +0000 (16:10 +0900)]
power: introduce power-state-manager for iot-headless

Change-Id: I7b4d299d4f05585762b6c3f72d90e8e978eab2e0
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agousb: reimplementing sdb default enable mode and removeing engineer mode 48/267348/4
INSUN PYO [Thu, 2 Dec 2021 05:08:34 +0000 (14:08 +0900)]
usb: reimplementing sdb default enable mode and removeing engineer mode

By changeing vconf default key,
public tizen always operates in sdb enable mode.

Change-Id: I00b3c0707cda880a06225c359d6d551f80f4d089

2 years agoinput: fix bug 51/267351/1
Youngjae Cho [Thu, 2 Dec 2021 03:58:44 +0000 (12:58 +0900)]
input: fix bug

Change-Id: Ie3876548648558d5ac7642fc95d93d92587b566f
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: make input configurable 41/267241/6
Youngjae Cho [Tue, 30 Nov 2021 07:14:08 +0000 (16:14 +0900)]
input: make input configurable

Change-Id: I920de2208c1c01a59235933f408b227e71237828
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: change longpress interval to 7000ms 88/267188/1
Youngjae Cho [Mon, 29 Nov 2021 07:40:01 +0000 (16:40 +0900)]
input: change longpress interval to 7000ms

Change-Id: Id7677167e28e6fb48c45aa4470b037ae07f79da4
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoFix SVACE issue 30/267130/1
Hyotaek Shim [Fri, 26 Nov 2021 05:20:13 +0000 (14:20 +0900)]
Fix SVACE issue

Change-Id: I2336155180610fbd0bfadb660e8509f845a2408d
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agopower: emit signal on wakeup 42/266842/1
Youngjae Cho [Fri, 19 Nov 2021 08:46:56 +0000 (17:46 +0900)]
power: emit signal on wakeup

path       : /Org/Tizen/System/DeviceD/Power
interface  : org.tizen.system.deviced.Power
signame    : wakeup
parameter  : "(ii)"
             uint64: current time in milisecond
     uitn64: wakeup reason (refer device API)

Change-Id: I8078b056b8f22e86c545ceb291959fbe62bc6869
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: introduce sleep-wait for iot-headless 90/266690/6
Youngjae Cho [Wed, 17 Nov 2021 07:44:55 +0000 (16:44 +0900)]
power: introduce sleep-wait for iot-headless

Sleep-wait defers wake unlock if somebody wants to defer sleep for a
short duration. For example, system might want to notify user that it
is going to sleep by alarming sound. To play sound, system must hold
running state for a moment.

One who wants to defer sleep must request sleep-wait. On receiving
signal that sleep is requested, it processes todo list before going to
sleep. And after finishing the job, it must confirm that it is OK to go
into sleep. For now, deviced waits maximum of 5 seconds, and after this
timeout, wake unlock even someone hasn't confirmed the sleep-wait.

Sleep-wait offers dbus methods.
   1. Adding sleep-wait for deferring sleep
      path       : /Org/Tizen/System/DeviceD/Power
      interface  : org.tizen.system.deviced.Power
      member     : AddSleepWait
      parameter  : no parameter
      return     : "(i)", 0 on success, negative on error.

   2. Removing sleep-wait
      path       : /Org/Tizen/System/DeviceD/Power
      interface  : org.tizen.system.deviced.Power
      member     : RemoveSleepWait
      parameter  : no parameter
      return     : no return

   3. Confirming sleep-wait, which notifies deviced that it is OK
      to go into sleep.
      path       : /Org/Tizen/System/DeviceD/Power
      interface  : org.tizen.system.deviced.Power
      member     : ConfirmSleepWait
      parameter  : "(i)", sleep id to confirm
      return     : "(i)", 0 on success, negative on error.

Change-Id: I58860ab7633c3863cc3ee06befc49b0e152934fe
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: change shortkey/longkey interval 12/266812/1
Youngjae Cho [Fri, 19 Nov 2021 03:01:32 +0000 (12:01 +0900)]
input: change shortkey/longkey interval

Change-Id: I466c591b754c906fe9b77854e4fca43b4f78ac26
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: acquire temporal lock on pressing key 65/266765/6
Youngjae Cho [Thu, 18 Nov 2021 09:07:03 +0000 (18:07 +0900)]
input: acquire temporal lock on pressing key

To process shortkey/longkey during autosleep is enabled, it must be
prevented to re-enter sleep right after the device is woken up by
key press. Therefore, hold wakelock temporarily during key pressed.

Change-Id: I9d4f282fcae0beeec9edb97e463f4b0eef2bfacb
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: emit signal before sleep on iot-headless 99/266699/5
Youngjae Cho [Wed, 17 Nov 2021 09:08:32 +0000 (18:08 +0900)]
power: emit signal before sleep on iot-headless

path      : /Org/Tizen/System/DeviceD/Power
interface : org.tizen.system.deviced.Power
name      : "sleep"
parameter : "(tt)"
            uint64, current time in milisecond
    uint64, sleep id

Change-Id: I1664898bf3f475125ad8bb3cafbd8a2c45948841
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: move sleep configuration to power 53/266653/2
Youngjae Cho [Wed, 17 Nov 2021 01:17:14 +0000 (10:17 +0900)]
power: move sleep configuration to power

Change-Id: I5d6d7054149134bdea68f85802414e7783f8265d
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agobattery: invalidate battery vconf when battery disconnected 25/266425/3
Youngjae Cho [Fri, 12 Nov 2021 05:53:00 +0000 (14:53 +0900)]
battery: invalidate battery vconf when battery disconnected

Change-Id: I4afad3783088c1cb1a7a8ef63b9535907b0a20ad
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: support autosleep for iot-headless 70/265570/7 accepted/tizen/unified/20211110.122329 submit/tizen/20211109.045047
Youngjae Cho [Fri, 22 Oct 2021 07:02:10 +0000 (16:02 +0900)]
power: support autosleep for iot-headless

Change-Id: Ia0ff76a4fa301708939abf197f0abaa92aad5c10
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoextcon: check condition variable for extcon init and deinit 20/266120/3
INSUN PYO [Mon, 8 Nov 2021 05:53:42 +0000 (14:53 +0900)]
extcon: check condition variable for extcon init and deinit

Change-Id: Ib7956980d1d82991d866666c82ac5fb39a9885ed

2 years agoextcon: rename enable to initialized 27/266127/1
INSUN PYO [Mon, 8 Nov 2021 06:33:37 +0000 (15:33 +0900)]
extcon: rename enable to initialized

Change-Id: I9febfb6a57267bd42812c165d52de29aaa7dd3d2

2 years agoextcon: initialize on calling extcon_enable_device() 29/266029/2 accepted/tizen/unified/20211105.130437 submit/tizen/20211104.080231
Youngjae Cho [Thu, 4 Nov 2021 06:52:52 +0000 (15:52 +0900)]
extcon: initialize on calling extcon_enable_device()

Change-Id: Id128ded4a79fc63172cd35aeb00fa940c5c00709
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: support powerkey shortpress for iot-headless 71/265571/3 submit/tizen/20211103.072537 submit/tizen/20211104.031932
Youngjae Cho [Fri, 22 Oct 2021 07:32:21 +0000 (16:32 +0900)]
input: support powerkey shortpress for iot-headless

Change-Id: I0451471b0b17746e30e159c7ac5e0e7395fd39e1
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: make input module initialize plugin input-handler 69/265869/1
Youngjae Cho [Mon, 1 Nov 2021 06:31:39 +0000 (15:31 +0900)]
input: make input module initialize plugin input-handler

Change-Id: Ia72cd8f207b782da369e4161e1bd9269045e19e6
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoRemove unnecessaries from iot-headless plugin package 58/265858/1
Youngjae Cho [Mon, 1 Nov 2021 01:21:53 +0000 (10:21 +0900)]
Remove unnecessaries from iot-headless plugin package

Change-Id: I89bf3db908b078c1609284e1c650cda7a02ead4a
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agotests: move tests to the topmost directory 40/265640/3
Youngjae Cho [Tue, 26 Oct 2021 01:36:25 +0000 (10:36 +0900)]
tests: move tests to the topmost directory

Change-Id: I96af0cd9a652d2f5d1ed5467d73e57de8c63850e
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoshared: add test for libdeviced-common-private 35/265635/4
Youngjae Cho [Mon, 25 Oct 2021 10:59:13 +0000 (19:59 +0900)]
shared: add test for libdeviced-common-private

This test runs automatically at build time. If the test fails, build
will fail. In addition to adding the test, collect existing
usb-host-test under src/tests directory.

Change-Id: Id825b5747c0e9144d390687bf7d0bf9293075b72
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoFix warning on 64bit build environment 73/265573/1
Youngjae Cho [Fri, 22 Oct 2021 07:45:27 +0000 (16:45 +0900)]
Fix warning on 64bit build environment

Change-Id: Ibb001db94bd0ec1b29efab43e1e38fc0ff802150
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput-handler: fix powerkey longpress timeout 58/265558/1
Youngjae Cho [Fri, 22 Oct 2021 03:42:20 +0000 (12:42 +0900)]
input-handler: fix powerkey longpress timeout

Change-Id: Ib6e97e5d291ca30311e4c28f680e820b4b3812b8
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoRemove duplicated call of gdbus_register_object_all() 26/265526/1
Hyotaek Shim [Thu, 21 Oct 2021 10:00:37 +0000 (19:00 +0900)]
Remove duplicated call of gdbus_register_object_all()

All of the added dbus interfaces should be registered all at once by devices_init().

Change-Id: I251049b6d1757b381eccc93cbe1117d94d47bf6d
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
2 years agodevices: change dev_head to global 68/265468/2
Youngjae Cho [Wed, 20 Oct 2021 06:29:14 +0000 (15:29 +0900)]
devices: change dev_head to global

Sorting dev_head, which is returned by get_device_list_head(),
changes the dev_head. But it is not applied to the original dev_head
in shared/devices.c. Therefore the original dev_head is not the head
of the list anymore. To avoid it, make dev_head global so that result
of list operation can be applied to the original dev_head.

Change-Id: I2e6ee2b3ea0ad91cb6de44c5e9f6e2d718eb727c
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoshared: move devices from core to shared 24/265424/3
Youngjae Cho [Tue, 19 Oct 2021 06:12:17 +0000 (15:12 +0900)]
shared: move devices from core to shared

Separate commonly used functions from core/devices.c to
shared/devices.c. As headers for those two, core/devices.h and
shared/devices.h, have the same name, take care about exact include
path when you use header devices.h.

Change-Id: I5ff977db01c37765a3e870c3426eeec03d2e8c5d
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopartition-switch: add new tool for partition switch 27/265227/2
Youngjae Cho [Wed, 13 Oct 2021 01:57:33 +0000 (10:57 +0900)]
partition-switch: add new tool for partition switch

Add new tool for switching partition during FOTA. In addition to
this partition-switch tool, this patch makes new "tools" directory
to collect codes that produce executables, and those executables
will be packaged into deviced-tools.

Change-Id: I3d91265e97d4aeefc374fb7eb3a496ed7b670ce3
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: replace keycode macro with one in linux header 66/265066/1
Youngjae Cho [Fri, 8 Oct 2021 06:07:19 +0000 (15:07 +0900)]
input: replace keycode macro with one in linux header

Change-Id: I04da6e45adad9a3360627cd241bba32e0fc04d94
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: change power off key mapping 11/265011/3
Youngjae Cho [Thu, 7 Oct 2021 05:27:41 +0000 (14:27 +0900)]
input: change power off key mapping

Change-Id: If580a63972c3cdf13fe612bf1fc99fd34e2d7f2b
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoRename booting_done to delayed_init_done 19/264919/3
Youngjae Cho [Tue, 5 Oct 2021 06:44:18 +0000 (15:44 +0900)]
Rename booting_done to delayed_init_done

Technically, the DEVICE_NOTIFIER_BOOTING_DONE is generated on receiving
dbus signal "StartupFinished", not "BootingDone". Therefore rename this
notifier to DEVICE_NOTIFIER_DELAYED_INIT and booting_done() callbacks to
delayed_init_done().

Change-Id: Ib7c9a38826ce3fdc7eb0b10ee2a62314c8b0dde6
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agobattery-notification: remove duplicated code 24/264924/2
Youngjae Cho [Tue, 5 Oct 2021 07:45:11 +0000 (16:45 +0900)]
battery-notification: remove duplicated code

Change-Id: I391743067775c6eb0134cabe02fb277894f4ab5b
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoextcon: register dbus object on init 12/264912/3
Youngjae Cho [Tue, 5 Oct 2021 04:30:19 +0000 (13:30 +0900)]
extcon: register dbus object on init

Change-Id: Ia20bb373f1f20fb1b50d1957636d7f9625b5f07b
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoextcon: defer init until booting done 52/264852/2
Youngjae Cho [Fri, 1 Oct 2021 06:43:00 +0000 (15:43 +0900)]
extcon: defer init until booting done

Change-Id: I1a4556d7c5e6e42aa7de8e0eef57f8d107dafce1
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agopower: support cpu lock/unlock for headless 06/264806/2
Youngjae Cho [Thu, 30 Sep 2021 05:35:24 +0000 (14:35 +0900)]
power: support cpu lock/unlock for headless

Add power-control-plugin module to support headless-exclusive
cpu lock/unlock.

Change-Id: I3d39f5b9479af114fb0f42281511c93590a29ff7
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: add input-handler for iot-headless 88/264688/3 accepted/tizen/6.5/unified/20211028.114341 accepted/tizen/unified/20211001.001408 submit/tizen/20210929.005949 submit/tizen_6.5/20211028.162501 tizen_6.5.m2_release
Youngjae Cho [Tue, 28 Sep 2021 08:15:48 +0000 (17:15 +0900)]
input: add input-handler for iot-headless

Change-Id: Ie90573af3c1351d8f1f6ed8622ed8ec021eb8ba8
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agodisplay: remove pm_callback function pointer 95/264695/1
Youngjae Cho [Tue, 28 Sep 2021 09:17:20 +0000 (18:17 +0900)]
display: remove pm_callback function pointer

Instead, invoke poll_callback() function, which is identical to the
pm_callback function pointer.

Change-Id: Ic7a4bc2ea5a5729a39b6333d572621303a00fc95
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoinput: detach input from display module 65/264665/2
Youngjae Cho [Tue, 28 Sep 2021 03:14:38 +0000 (12:14 +0900)]
input: detach input from display module

For headless profile, separate input from display module. The input
module must be initialized with a parameter which is function pointer
handling input event.

Change-Id: Idc5e821d3cf1d02feae0ee6f9dc367320296f223
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agousbhost: add configuration for display change state 70/263870/6
Youngjae Cho [Mon, 13 Sep 2021 05:20:47 +0000 (14:20 +0900)]
usbhost: add configuration for display change state

Change-Id: I1801f86f15fc41774b73e410c6baecb155ab44f1
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoAdd new package, plugin-profile-iot-headless 23/263223/4 accepted/tizen/unified/20210830.182638 submit/tizen/20210830.032417
Youngjae Cho [Mon, 30 Aug 2021 01:03:55 +0000 (10:03 +0900)]
Add new package, plugin-profile-iot-headless

Change-Id: I2ab36edc7ef1f87432be2b69435a714b407932a3
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
2 years agoRevert "Fix MIC errors by restoring device-iot package" 24/263224/1
Hyotaek Shim [Mon, 30 Aug 2021 01:08:24 +0000 (01:08 +0000)]
Revert "Fix MIC errors by restoring device-iot package"

This reverts commit c36f0147dd7785d8dcf00e9875fda8abbc921ef7.

Change-Id: I77b563d1d21e9bb6f6b4a133632f1ed9d3dc3b80