GitHub/LineageOS/android_device_samsung_s5neolte.git
4 years agos5neolte: Use the latest HIDL minor version for wifi, supplicant and hostapd HAL's
Abhishek Srivastava [Thu, 28 Feb 2019 12:28:46 +0000 (17:58 +0530)]
s5neolte: Use the latest HIDL minor version for wifi, supplicant and hostapd HAL's

This commit updates the HIDL version number of Iwifi, ISupplicant, IHostapd HAL's
to the latest.

Change-Id: I2d95b829d5616f6929f112c634906515035fba51
CRs-Fixed: 2412157

4 years agos5neolte: Add hostapd HIDL interface
Roshan Pius [Thu, 28 Dec 2017 19:26:50 +0000 (11:26 -0800)]
s5neolte: Add hostapd HIDL interface

Bug: 36646171
Test: Manual softap toggle
Change-Id: If3c9ea38317b1fee66a383ad88cabf695748853a

4 years agos5neolte: init: override ro.system.build.fingerprint to avoid android system warning...
Danny Wood [Tue, 7 Jan 2020 10:22:57 +0000 (10:22 +0000)]
s5neolte: init: override ro.system.build.fingerprint to avoid android system warning on boot

Change-Id: Ia720cef3d0cf8fdf1e957a79dbc68a47f76c1933

4 years agos5neolte: move binary executables to /vendor
Danny Wood [Fri, 29 Nov 2019 12:03:24 +0000 (12:03 +0000)]
s5neolte: move binary executables to /vendor

Change-Id: I983746011bf15525020c5877c58a2d8467609143

4 years agos5neolte: un-commonise the libsec-ril blobs
Danny Wood [Wed, 18 Dec 2019 21:19:21 +0000 (21:19 +0000)]
s5neolte: un-commonise the libsec-ril blobs
* Recent A510F basebands no longer work well with the A310F blobs

Change-Id: I5bff78ed33e8edb478b0554d8059ac89db8c07d6

5 years agos5neolte: Switch from add_lunch_combo to COMMON_LUNCH_CHOICES
Dan Willemsen [Wed, 4 Apr 2018 23:49:07 +0000 (16:49 -0700)]
s5neolte: Switch from add_lunch_combo to COMMON_LUNCH_CHOICES

Bug: 77599627
Test: lunch  [see entries in list]
Change-Id: Id44fcfec47eeb979a745f879031f1bec7359a633

5 years agos5neolte: convert libinit to Android.bp
Jan Altensen [Tue, 10 Sep 2019 12:42:07 +0000 (14:42 +0200)]
s5neolte: convert libinit to Android.bp

 * also rename it to avoid collisions while at it

Change-Id: Ibdb0ddbd729201e1be9adc5566ca61a900be7aa4

5 years agos5neolte: Drop module eng tags
Erfan Abdi [Wed, 4 Sep 2019 12:50:32 +0000 (17:20 +0430)]
s5neolte: Drop module eng tags

Change-Id: I2e84d598b2412e617e5575bfdefd804612f76889

5 years agos5neolte: mixer: change camcorder-mic input to use only the main mic and increase... lineage-17.0
Danny Wood [Tue, 27 Aug 2019 13:26:22 +0000 (14:26 +0100)]
s5neolte: mixer: change camcorder-mic input to use only the main mic and increase the input level to match audio level on videos recorded on stock

Change-Id: I93ad574efaaad9e665b91b374f5e74e93fafec5b

5 years agos5neolte: Remove config_tether_upstream_types
Sam Mortimer [Fri, 16 Aug 2019 18:20:00 +0000 (11:20 -0700)]
s5neolte: Remove config_tether_upstream_types

* Made redundant by enabling config_tether_upstream_automatic
  in vendor/lineage

Change-Id: I0441f36f34546f3dfd6aad664d4c2711d51687ee

5 years agos5neolte: Add vendorsetup.sh
Nolen Johnson [Tue, 2 Jul 2019 23:43:02 +0000 (01:43 +0200)]
s5neolte: Add vendorsetup.sh

* This enables bash auto-complete for lunch choices.

Change-Id: I706df4cb87943c5cfd2b9dbd90f702f0675f62ca

5 years agos5neolte: Sync extractors with templates
Vladimir Oltean [Fri, 22 Mar 2019 22:37:05 +0000 (22:37 +0000)]
s5neolte: Sync extractors with templates

 * This introduces fixup scripts and kang mode and fixes
   passing of arguments longer than one word,
   such as --section "Hello world".

Change-Id: I42dde659e9bea4f7e1c9a7a3fa8da3243774ca4e

5 years agos5neolte: move permissions and (p2p|wpa)_supplicant_overlay to vendor
Jan Altensen [Thu, 15 Aug 2019 00:02:56 +0000 (02:02 +0200)]
s5neolte: move permissions and (p2p|wpa)_supplicant_overlay to vendor

Change-Id: I22ac92f795e225cccf19f41c06e0e8e89c0a637b

5 years agos5neolte: add vendor.lineage.trust to manifest.xml
Jan Altensen [Mon, 29 Jul 2019 06:46:22 +0000 (08:46 +0200)]
s5neolte: add vendor.lineage.trust to manifest.xml

Change-Id: Ia66e1429969798b7be8a7aa745234933926f4715

5 years agos5neolte: regenerate manifest.xml
Jan Altensen [Sun, 7 Jul 2019 15:49:09 +0000 (17:49 +0200)]
s5neolte: regenerate manifest.xml

* using `adb shell lshal --init-vintf`

Change-Id: I91bf2998f8ebf622abc7aaff408aba3d63964605

5 years agos5neolte: add vendor.lineage.livedisplay and vendor.lineage.touch to device manifest
Jan Altensen [Tue, 29 Jan 2019 11:01:36 +0000 (12:01 +0100)]
s5neolte: add vendor.lineage.livedisplay and vendor.lineage.touch to device manifest

Change-Id: I9a2589c4ae94828682d1d939b713834af88e5c4f

5 years agos5neolte: dont attempt to download nfc firmware when nfc is off
Jan Altensen [Wed, 26 Jun 2019 01:04:42 +0000 (03:04 +0200)]
s5neolte: dont attempt to download nfc firmware when nfc is off

* property got renamed in lineage-16.0

Change-Id: Iddc9005121a9d90de1635a96d40e28be3fbe1171

5 years agos5neolte: overlay: enable WiFi background scanning to fix deep sleep and improve...
Danny Wood [Thu, 23 May 2019 04:53:54 +0000 (05:53 +0100)]
s5neolte: overlay: enable WiFi background scanning to fix deep sleep and improve power saving

Change-Id: I87c6cd91339e97b9e9ae7ef171a6b335c23b3120

5 years agos5neolte: Renamed config_dozeAfterScreenOff
Lucas Dupin [Tue, 20 Mar 2018 23:20:07 +0000 (16:20 -0700)]
s5neolte: Renamed config_dozeAfterScreenOff

New name is config_dozeAfterScreenOffByDefault
Bug: 73178121

Change-Id: Ie3d1ea5a2cc480655592bf6e49b37f5ea07f3f58

5 years agos5neolte: : Set TARGET_NEEDS_NETD_DIRECT_CONNECT_RULE to
Kevin F. Haggerty [Wed, 10 Oct 2018 13:06:28 +0000 (07:06 -0600)]
s5neolte: : Set TARGET_NEEDS_NETD_DIRECT_CONNECT_RULE to
 true

* Due to "specialness" in our RIL library, ConnectivityService
  doesn't seem to appropriately add the relevant directly-
  connected routes, meaning that IPv4 mobile data is inoperable
  due to lack of a default route. Let's reenable the legacy netd
  behavior to get our connectivity back.

Change-Id: I59f8476ab36db0fb79856f74346e62e0dd4abae0

5 years agos5neolte: Set SDK API level for rild
nx111 [Sat, 6 Oct 2018 15:07:54 +0000 (09:07 -0600)]
s5neolte: Set SDK API level for rild

* P made changes to pthread_mutex_init() that are incompatible
  with our libsec-ril libraries. In order for rild to even see a
  radio as being availble we need the legacy behavior.
* Even though our libsec-ril libraries are from 7.0, which is API
  level 24, we do not appear to require any of the other behaviors
  from API levels earlier than 27.

Change-Id: I3b3d0160236df09bdae95c5d9f10a61bf91ebc72

5 years agos5neolte: move omx to hwbinder
jrior001 [Mon, 10 Sep 2018 07:05:05 +0000 (07:05 +0000)]
s5neolte: move omx to hwbinder

Change-Id: I808001be61d1564c639904f8f14a5772e5ad4f0b

5 years agos5neolte: rename rild.rc to rild.legacy.rc
Stricted [Sun, 14 Oct 2018 22:28:19 +0000 (00:28 +0200)]
s5neolte: rename rild.rc to rild.legacy.rc

Change-Id: I5bfe3160cf39699f9eaee128d1d6c0aa99a71479

5 years agos5neolte: binderize android.hardware.camera.provider
Stricted [Sun, 14 Oct 2018 22:27:42 +0000 (00:27 +0200)]
s5neolte: binderize android.hardware.camera.provider

Change-Id: I96d67a2a89e6e3953aac836dfbfc8dcfdbfd5507

5 years agos5neolte: Uprev to supplicant 1.1
Roshan Pius [Wed, 27 Sep 2017 12:02:12 +0000 (14:02 +0200)]
s5neolte: Uprev to supplicant 1.1

Bug: 65673412
Test: Device boots up and connects to wifi networks.
Change-Id: I2e51291b30fd242edbeae2c69ef9545383895bb3

5 years agos5neolte: Uprev Wi-Fi HAL to 1.2
Etan Cohen [Thu, 14 Sep 2017 06:42:12 +0000 (08:42 +0200)]
s5neolte: Uprev Wi-Fi HAL to 1.2

New HAL APIs are planned. This requires a HAL uprev.

Bug: 65647646
Test: builds and Wi-Fi runs
Change-Id: Ib7efd3d5263e73d1ad40e1a5a687bdb6c133c812

5 years agos5neolte: Rename libnfc-brcm.conf -> libnfc-nci.conf
Andre Eisenbach [Wed, 6 Dec 2017 15:16:36 +0000 (16:16 +0100)]
s5neolte: Rename libnfc-brcm.conf -> libnfc-nci.conf

Test: manual
Merged-In: I9655a14e021024540cf342022cb817e1f8d0f9ad
Change-Id: I9655a14e021024540cf342022cb817e1f8d0f9ad

5 years agos5neolte: Consider lineage_s5neolte product via the AOSP way
Bruno Martins [Fri, 10 Aug 2018 11:47:04 +0000 (13:47 +0200)]
s5neolte: Consider lineage_s5neolte product via the AOSP  way

Change-Id: Ibdeb62f0aa30933a09ac12ca825025e5f18574ab

5 years agos5neolte: use common camera wrapper
Jan Altensen [Wed, 7 Aug 2019 15:21:27 +0000 (17:21 +0200)]
s5neolte: use common camera wrapper

Change-Id: Ia2b44314af49edecc0ee22db26c37cd38493befe

5 years agos5neolte: enable burnIn protection support
Joey Rizzoli [Wed, 30 Aug 2017 14:20:24 +0000 (16:20 +0200)]
s5neolte: enable burnIn protection support

Change-Id: I117e29da2efb91a9f58558624827d6c22b856741

5 years agos5neolte: audio: Increase volume of the media mic and the camcorder mic
Danny Wood [Fri, 14 Sep 2018 14:45:58 +0000 (15:45 +0100)]
s5neolte: audio: Increase volume of the media mic and the camcorder mic

Change-Id: I199db74e4e3b1141f05dc886b515be691c90f0cd

5 years agos5neolte: set BTIF_HF_WBS_PREFERRED to FALSE
Corinna Vinschen [Mon, 23 Oct 2017 19:22:04 +0000 (21:22 +0200)]
s5neolte: set BTIF_HF_WBS_PREFERRED to FALSE

Change-Id: I2696450de3a84b19d02a4fbaca37461a6141500b
Signed-off-by: Corinna Vinschen <xda@vinschen.de>
5 years agos5neolte: bluetooth: remove nonexistent defines
Jan Altensen [Wed, 26 Jun 2019 01:22:56 +0000 (03:22 +0200)]
s5neolte: bluetooth: remove nonexistent defines

Change-Id: If95311f3509b817fe0be3dc547df530486322532

5 years agos5neolte: bluetooth: Enable BLE_VND_INCLUDED
olddroid [Mon, 26 Feb 2018 17:37:11 +0000 (18:37 +0100)]
s5neolte: bluetooth: Enable BLE_VND_INCLUDED

* Fixes connecting to some bluetooth devices.

Change-Id: Ieaccc1847d570741d11604e7516b86d242f9bb12

5 years agos5neolte: Disable sco enhanced command
TheScarastic [Fri, 11 May 2018 09:10:11 +0000 (14:40 +0530)]
s5neolte: Disable sco enhanced command

 * Adjust flag after LineageOS/android_system_bt@540b42c

Change-Id: Ia10b90316986f7aa30706c4d1e63fd051bee7c2b

5 years agos5neolte: add ro.telephony.mms_data_profile=5
dcd [Fri, 7 Aug 2015 21:25:05 +0000 (16:25 -0500)]
s5neolte: add ro.telephony.mms_data_profile=5

Change-Id: Ia9ffed3fc6c426e8e5be596d43833272e505959b

5 years agos5neolte: Wire up mDNIe features
Paul Keith [Wed, 21 Feb 2018 20:53:05 +0000 (21:53 +0100)]
s5neolte: Wire up mDNIe features

Change-Id: I8b5cc809e9c38334906a6e31ed33b099ddbdfeac

5 years agos5neolte: ramdisk: save/restore the batt_capacity_max value on boot to
Danny Wood [Fri, 14 Dec 2018 08:02:03 +0000 (08:02 +0000)]
s5neolte: ramdisk: save/restore the batt_capacity_max value on boot to
 preserve battery health

Change-Id: I95978baffd8134512b4c362993e2f174bb7fcd43

5 years agos5neolte: remove unused proprietary files
Stricted [Mon, 29 Oct 2018 12:41:17 +0000 (13:41 +0100)]
s5neolte: remove unused proprietary files

Change-Id: I2acbd5fdd313caa6db515db3f5c510a9ffe86d9d

5 years agos5neolte: Set shipping API level via inherited makefile
Rashed Abdel-Tawab [Sat, 3 Feb 2018 03:39:50 +0000 (19:39 -0800)]
s5neolte: Set shipping API level via inherited makefile

 * PRODUCT_SHIPPING_API_LEVEL is set there

Change-Id: I8adecfbaafb538277f6451a5dbc8abc279bf0c15

5 years agos5neolte: correct flash block size
Stricted [Mon, 22 Oct 2018 05:42:37 +0000 (07:42 +0200)]
s5neolte: correct flash block size

also remove a deprecated flag

Change-Id: I1c6a3faeb1bd41df0e18a74df02be38c4273e851

5 years agos5neolte: set dalvik props from stock
Stricted [Mon, 22 Oct 2018 04:06:54 +0000 (06:06 +0200)]
s5neolte: set dalvik props from stock

Change-Id: I8f45aa65563ea217ec2841e431b0d818ee8cf90b

5 years agos5neolte: set PRODUCT_AAPT_CONFIG
Stricted [Mon, 22 Oct 2018 04:04:08 +0000 (06:04 +0200)]
s5neolte: set PRODUCT_AAPT_CONFIG

Change-Id: Id12f387282c28915bbc7d2d0da64fe9abd36f20f

5 years agos5neolte: build AdvancedDisplay
Stricted [Thu, 18 Oct 2018 14:49:01 +0000 (16:49 +0200)]
s5neolte: build AdvancedDisplay

Change-Id: I2ebaa180c54b7391f64cfed1a70470323f126c2c

5 years agos5neolte: build Snap instead of Camera2
Stricted [Mon, 15 Oct 2018 17:37:35 +0000 (19:37 +0200)]
s5neolte: build Snap instead of Camera2

Change-Id: I7ea757907c6c765da2468ce41db9c865f510b422

5 years agos5neolte: Define Vendor security patch level
Stricted [Mon, 11 Jun 2018 15:18:04 +0000 (17:18 +0200)]
s5neolte: Define Vendor security patch level

* This is needed for Trust, as we don't have a Vendor image that sets a
  valid vendor security patch level.

* Pulled from G903FXXU1BQD1

Change-Id: Iae6bdc3d1c49e794ab61ae3485ffde215cfc6d60

5 years agos5neolte: define permissions for OEM-sensors
Lukas0610 [Sun, 28 Jan 2018 14:51:07 +0000 (15:51 +0100)]
s5neolte: define permissions for OEM-sensors

Change-Id: I0647846dce7e99a1aef6347679a91fd3014ed074

5 years agos5neolte: Add device hardware key layout
Stricted [Sun, 14 Oct 2018 22:15:50 +0000 (00:15 +0200)]
s5neolte: Add device hardware key layout

Change-Id: I215ac725e5bd87a817fba6d196b775d6d05ee17b

5 years agos5neolte: add nfc configuration
Stricted [Sun, 14 Oct 2018 22:13:39 +0000 (00:13 +0200)]
s5neolte: add nfc configuration

Change-Id: I2d4db682d8d71346a3914b8d70713b6782a93ed1

5 years agos5neolte: add device specific overlays
Stricted [Sun, 14 Oct 2018 22:11:48 +0000 (00:11 +0200)]
s5neolte: add device specific overlays

Change-Id: I7df6c0e1aa8f932d6e69cd6f5e140e1683d746d7

5 years agos5neolte: enable roaming protocol field
Stricted [Tue, 2 Oct 2018 07:33:42 +0000 (09:33 +0200)]
s5neolte: enable roaming protocol field

this fixes the following crash:
10-02 08:53:19.939  3717  3717 F DEBUG   : backtrace:
10-02 08:53:19.939  3717  3717 F DEBUG   :     #00 pc 00019a4c  /system/lib/libc.so (strcmp+119)
10-02 08:53:19.939  3717  3717 F DEBUG   :     #01 pc 001a002d  /system/lib/libsec-ril.so (DataCallSetup::ToDataProtocol(char const*)+12)
10-02 08:53:19.939  3717  3717 F DEBUG   :     #02 pc 00000084  <unknown>

Change-Id: I9c9c94d4f1a37ffea8675ad7ad26cf19d241ce76

5 years agos5neolte: move wifi firmware to /vendor
Stricted [Tue, 2 Oct 2018 03:07:06 +0000 (05:07 +0200)]
s5neolte: move wifi firmware to /vendor

Change-Id: I7c9898ad876a61b86a8eaa10aaa2972424ff57a9

5 years agos5neolte: add permissions
Stricted [Mon, 1 Oct 2018 10:38:47 +0000 (12:38 +0200)]
s5neolte: add permissions

Change-Id: I8c0eb816eb027d650f1de475c79cbbe6012af4e0

5 years agos5neolte: add wifi config files
Stricted [Mon, 1 Oct 2018 10:07:00 +0000 (12:07 +0200)]
s5neolte: add wifi config files

Change-Id: I34abc62a5d5f12d222b990ece53121f95565d041

5 years agos5neolte: shim libcamera_client, libstagefright and libexynoscamera
Stricted [Mon, 1 Oct 2018 09:49:33 +0000 (11:49 +0200)]
s5neolte: shim libcamera_client, libstagefright and libexynoscamera

Change-Id: Ib6a8bf37d77777ea095b420bfe759f1f99c8d5e1

5 years agos5neolte: add mixer_paths.xml
Stricted [Mon, 1 Oct 2018 09:18:24 +0000 (11:18 +0200)]
s5neolte: add mixer_paths.xml

(taken from A3)

Change-Id: I863feed9f218656199f27eaddddd1df7ce90ddcc

5 years agos5neolte: add device specific lights header
Stricted [Mon, 1 Oct 2018 09:15:34 +0000 (11:15 +0200)]
s5neolte: add device specific lights header

Change-Id: Icd3eb50de51eb8c1241bc60493908d6b7d6487b6

5 years agos5neolte: inherit aosp_base_telephony
Stricted [Mon, 1 Oct 2018 09:14:05 +0000 (11:14 +0200)]
s5neolte: inherit aosp_base_telephony

Change-Id: I4c1de06678b1595dc5f2d1d59e45ca71c6a0cad1

5 years agos5neolte: Add autogenerated HIDL manifest …
Stricted [Mon, 1 Oct 2018 08:44:33 +0000 (10:44 +0200)]
s5neolte: Add autogenerated HIDL manifest  …

Change-Id: Id33da4bd1227b36d427bce4cf8f5a594713882cb

5 years agos5neolte: add system properties
Stricted [Mon, 1 Oct 2018 08:32:21 +0000 (10:32 +0200)]
s5neolte: add system properties

Change-Id: Idd1c4be84cbf154e1189331190418e67c176d77d

5 years agos5neolte: inherit proprietary vendor files
Stricted [Mon, 1 Oct 2018 06:22:08 +0000 (08:22 +0200)]
s5neolte: inherit proprietary vendor files

Change-Id: I8cc6b2ca0697ffb51567d46801257c1d396f0db7

5 years agos5neolte: Specify GMS client id
Dan Pasanen [Tue, 25 Aug 2015 17:39:07 +0000 (19:39 +0200)]
s5neolte: Specify GMS client id

Change-Id: I1ddc93474789971d9f20c883ae5921f53451cdc8

5 years agos5neolte: Add RIL configuration
Stricted [Mon, 1 Oct 2018 03:59:08 +0000 (05:59 +0200)]
s5neolte: Add RIL configuration

Change-Id: I9a841f2062588970b7d384a2a2341e9597064a5e

5 years agos5neolte: Add boot animation configuration
Stricted [Mon, 1 Oct 2018 03:58:03 +0000 (05:58 +0200)]
s5neolte: Add boot animation configuration

Change-Id: I99deba9b5c7e7bd9261333b7863f886040c605bc

5 years agos5neolte: add gps config files
Stricted [Sun, 23 Sep 2018 00:59:02 +0000 (02:59 +0200)]
s5neolte: add gps config files

Change-Id: I2933828992cb3c07ed0401a84c8e6cab343440c5

5 years agos5neolte: set kernel defconfig
Stricted [Sun, 23 Sep 2018 00:56:24 +0000 (02:56 +0200)]
s5neolte: set kernel defconfig

Change-Id: I9749dbc662d55c12696bc70cfbd606ad392efb02

5 years agos5neolte: add partition sizes
Stricted [Sun, 23 Sep 2018 00:54:08 +0000 (02:54 +0200)]
s5neolte: add partition sizes

Change-Id: I214dafa73bf129ad4ce3623ebb169b6135a8a22c

5 years agos5neolte: add vendor init
Stricted [Sun, 23 Sep 2018 00:53:35 +0000 (02:53 +0200)]
s5neolte: add vendor init

Change-Id: I03bda3697b479b0b111f892c9ccca7df7840cbfb

5 years agos5neolte: add bluetooth configuration
Stricted [Sun, 23 Sep 2018 00:51:14 +0000 (02:51 +0200)]
s5neolte: add bluetooth configuration

Change-Id: Iebcb4132923f6c280a697aeb3f70afd19009f328

5 years agos5neolte: proprietary-files: add cbd
Stricted [Sun, 23 Sep 2018 00:40:34 +0000 (02:40 +0200)]
s5neolte: proprietary-files: add cbd

Change-Id: Ica20b5bf392a240cd79791db96bb01a7a8b62401

5 years agos5neolte: add proprietary-files.txt
Stricted [Sun, 23 Sep 2018 00:38:57 +0000 (02:38 +0200)]
s5neolte: add proprietary-files.txt

Change-Id: Ibb6229ddecff18db6c5c53a0e03d4891a9f06bf9
(cherry picked from commit 87c15f31c781153e470220a68fd94b159ef17633)

5 years agos5neolte: import common extract-utils
Stricted [Sun, 23 Sep 2018 00:38:00 +0000 (02:38 +0200)]
s5neolte: import common extract-utils

Change-Id: Ib84023abfefd8ac7127920e70a060660ff4d7e38

5 years agos5neolte: add lineage.dependencies
Stricted [Sun, 23 Sep 2018 00:36:10 +0000 (02:36 +0200)]
s5neolte: add lineage.dependencies

Change-Id: Ia3be5386655fb4e559a0ff93edc06d02d2ce3983
(cherry picked from commit 006c17b5b279693cb659164a1ec8cf0f42e96d47)

5 years agos5neolte: import device specific ramdisk
Stricted [Sun, 23 Sep 2018 00:35:44 +0000 (02:35 +0200)]
s5neolte: import device specific ramdisk

Change-Id: I703f52c105c489c1cca7594b55afa5e39560609c

5 years agos5neolte: initial device tree
Stricted [Sat, 22 Sep 2018 18:54:11 +0000 (20:54 +0200)]
s5neolte: initial device tree

Change-Id: Ie96634d5524f4b0a7673d1f8fb0e0f14c7a69949