397 Commits

Author SHA1 Message Date
jhenrique09
458dacff2d [DNM] sanders: Introduce 'SafailNet'
Bypass safetynet even if we have permissive selinux

Change-Id: Ib44cdbd15b53af3a1768cb0912f2dbcc56a8d97e
2019-12-19 00:59:49 +01:00
Jorge Lucas
e0b0d20212 sanders: Switch to Pixel Fingerprint
Signed-off-by: Jorge Lucas <jorgelucas.sd@gmail.com>
2019-12-19 00:58:15 +01:00
Jorge Lucas
3f44c248f9 sanders: Change DPI to 420
Signed-off-by: Jorge Lucas <jorgelucas.sd@gmail.com>
2019-12-16 18:22:39 +01:00
Jorge Lucas
77aec8f342 Revert "sanders: Uprev GNSS HAL to 1.1"
This reverts commit 072d844924.
2019-12-16 18:22:39 +01:00
therootlord
90727239dc sanders: update GPS configs from deen PPK29.68-16-8 2019-12-16 18:22:39 +01:00
Arvind Mukund
a634a27ab6 sanders: gps: add cacert_location.pem
Signed-off-by: Arvind Mukund <armu30@gmail.com>
2019-12-16 18:22:39 +01:00
therootlord
de4a6d4792 sanders: gps: add missing config file from deen 2019-12-16 18:22:39 +01:00
therootlord
0e911b49b9 sanders: update GPS configs from deen PPK29.68-16-8 2019-12-16 18:22:39 +01:00
therootlord
25ef0753f1 sanders: gps: update to LA.UM.7.6.r1-03400-89xx.0 tag 2019-12-16 18:22:39 +01:00
Jorge Lucas
cdc38fd642 Revert "sanders: GPS: Update from LA.UM.7.6.2.r1-04200-89xx.0 and update GPS packages"
This reverts commit a6c556a56ededa4a5d41912ad966e67e3ce655d6.
2019-12-16 18:22:39 +01:00
Vachounet
8b64902b69 sanders: set TARGET_ENABLE_MEDIADRM_64
Change-Id: I11d59ce11ac49ff552f33d2342d636c1c0cf3d75
2019-12-16 15:29:06 +01:00
Jorge Lucas
08b1221c68 sanders: Drop Clang Version
Signed-off-by: Jorge Lucas <jorgelucas.sd@gmail.com>
2019-12-16 15:29:06 +01:00
Jorg3Lucas
74f1054f16 sanders: Fix model name
Signed-off-by: Jorg3Lucas <jorgelucas.sd@gmail.com>
2019-12-16 15:29:06 +01:00
Jarl-Penguin
f9b00b8ad2 sanders: mount /fsg in /vendor
Signed-off-by: Jarl-Penguin <jarlpenguin@outlook.com>
Change-Id: Ic2c617f14bf9d19d00addde04f98076e05728fde
2019-12-16 15:29:06 +01:00
Jorge Lucas
f0577bb3e9 sanders: add Dependencies for PE
Signed-off-by: Jorge Lucas <jorgelucas.sd@gmail.com>
2019-12-16 15:29:06 +01:00
David
ef862dc5c6 sanders: Enable VoLTE to enable calling over LTE for Vodafone India.
Change-Id: I295c95b1078ba2cbeb08c014f17c9a67ba5060ba
2019-12-16 15:29:06 +01:00
MRTHAKER
11cddc03b6 sanders: Enable VoLTE to enable calling over LTE for Airtel India. 2019-12-16 15:29:06 +01:00
kubersharma001
c2b15d684d sanders: update some radio props 2019-12-16 15:29:06 +01:00
Shiv
a1818478f0 sanders:rootdir: Set use_sched_load to 0
Fixes the issue where only lower frequecies are being used which results in lag while playing games and other CPU intensive tasks.
2019-12-16 15:29:06 +01:00
kubersharma001
2cd272e922 sanders: Drop TARGET_PROCESS_SDK_VERSION_OVERRIDE
Change-Id: I2c1338bc686a771d59245dec990ea04c2d14a6cb
2019-12-16 15:29:06 +01:00
Rajat Gupta
b73bc087ef sanders: Set shipping API level via inherited makefile
* PRODUCT_SHIPPING_API_LEVEL is set there

Signed-off-by: Jarl-Penguin <jarlpenguin@outlook.com>
2019-12-16 15:29:06 +01:00
Jarl-Penguin
d9ecf95237 sanders: mke2fs is default on Pie
Signed-off-by: Jarl-Penguin <jarlpenguin@outlook.com>
2019-12-16 15:29:06 +01:00
Vaisakh Murali
cec52bbbab sanders: audio: Add audio_tuning_mixer from OSS Hal
* From CAF Tag LA.UM.7.6.r1-06400-89xx.0

Signed-off-by: Vaisakh Murali <vaisakhmurali@gmail.com>
Change-Id: Ie32335b83f9203cadc2b02f6ff02b5f4a0612a4e
2019-12-16 15:29:06 +01:00
Rajat Gupta
67b5a75607 sanders: New ION API flag is deprecated
Signed-off-by: Jarl-Penguin <jarlpenguin@outlook.com>
Change-Id: I7f917746219c84eee6c348fd12aa197d766b8111
2019-12-16 15:29:06 +01:00
Nolen Johnson
d4ee2324d9 sanders: Remove deprecated TARGET_USES_64_BIT_BINDER
Change-Id: Ibafc06659dae21e8acdd132bc2de7478008682b0
2019-12-16 15:29:06 +01:00
Arne Coucheron
f3ae043b8a sanders: Remove deprecated BOARD_HAS_QCOM_WLAN_SDK
Signed-off-by: Rajat Gupta <rajatgupta1998@acm.org>
Change-Id: I936ba7cdc6ed4f5ddede09e89c610f59e913908f
2019-12-16 15:29:06 +01:00
Arne Coucheron
f2b21b1ae7 sanders: Remove deprecated TARGET_BOARD_PLATFORM_GPU
Signed-off-by: Rajat Gupta <rajatgupta1998@acm.org>
2019-12-16 15:29:06 +01:00
JarlPenguin
7b29c924ff sanders: update spec sheet
Signed-off-by: JarlPenguin <jarlpenguin@outlook.com>
2019-12-16 15:29:06 +01:00
Abhay Ruparel
59eeeb1d9e sanders: Drop HWUI properties on O-MR1
* In Android 8.1 and later, only the ro.zygote.disable_gl_preload
   property still applies. All other properties have been removed.

   Reference: source.android.com/devices/graphics/renderer

Change-Id: I45ed04a5590ef12c5c68cdfa3ee41b1decd821ff
Signed-off-by: Rajat Gupta <rjtgupta84@gmail.com>
2019-12-16 15:29:06 +01:00
Vaisakh Murali
e5ff37f296 sanders: libshims: Set correct header dependency
Signed-off-by: Vaisakh Murali <vaisakhmurali@gmail.com>
Change-Id: Idd7c1a26141299eecca716868c571cbc2ef6f6f3
2019-12-16 15:29:06 +01:00
JarlPenguin
c4d7564f71 sanders: remove DT2W references
This reverts commit f2a18ef36b.

Signed-off-by: JarlPenguin <jarlpenguin@outlook.com>
2019-12-16 15:29:06 +01:00
Flex1911
f798ad4386 sanders: Clear the recovery cache in persist on boot
* Due to the way newer TWRP versions are behaving, our relatively small
  persist partition gets overfilled with recovery logs very quickly.
* Let's just remove the recovery cache from persist on every boot to be sure
  that we always have enough space for anything that writes to persist.

Signed-off-by: EsromTech <esromgalaxy5@gmail.com>
2019-12-16 15:29:06 +01:00
sai4041412
c9e9cbbe65 sanders: Dirty flash fix
This helps after a dirty flash, in order to avoid broken strings on settings app.

original commit RevengeOS-Devices/android_device_xiaomi_tissot-common@430576c

Signed-off-by: sai4041412 <sai404142@gmail.com>
2019-12-16 15:29:06 +01:00
Baili Feng
8c52d22b1c sanders: Add fqname 1.0::IGnss/gnss_vendor
ILocHidl is derived from IGnss, so a ILocHidl service
named gnss_vendor is also a IGnss service with the same name.
CRs-fixed: 2290565

Change-Id: I7e8a07807c26d09db5793625024bb0e08eb761f8
2019-12-16 15:29:06 +01:00
Jorim Jaggi
afc44821ed sanders: enable early phase offsets
Since we hit GL comp quite frequently during app transitions, we
need to enable early phase offsets to give it enough time for
composition.

Test: Open app, make sure vsync-offsets shift
Bug: 75985430
Change-Id: I2f85bf72a4b135dce664f7274848f3956a9aaf7a
2019-12-16 15:29:06 +01:00
therootlord
70e4ed4050 sanders: update sensor_def_qcomdev.conf from stock OPS28.65-36-11 2019-12-16 15:29:06 +01:00
therootlord
9d0863ddc5 sanders: cleanup nfc permissions 2019-12-16 15:29:06 +01:00
therootlord
3482a32d8a sanders: update nfc configs 2019-12-16 15:29:06 +01:00
therootlord
fad5942861 sanders: rootdir: ueventd: partial update from LA.UM.7.6.r1-03700-89xx.0 2019-12-16 15:29:06 +01:00
Abir Ghosh
f3dc0e15ff sanders: Do not create fingerprint directories in init
Add changes to not create fingerprint directories in
init.qcom.rc. It will be done in fingerprint module
init script.

Change-Id: If199cf875bb4201fcda923b0e8162b06d8d93d1a
2019-12-16 15:29:06 +01:00
Dante Russo
9257aeb453 sanders: Remove fused location provider overlay
CRs-fixed: 2222034
Change-Id: I00e6d619cbceb01bc03538f3dbadcc814a46f3f5
2019-12-16 15:29:06 +01:00
therootlord
61038e8f6f sanders: update ACDB props and init.qcom.rc 2019-12-16 15:29:06 +01:00
dianlujitao
4a89008bc0 sanders: Copy vendor HIDL interface libs to /vendor
Change-Id: Ia95e09b21ce42137cac9a1dd22f208fd9de9bf20
2019-12-16 15:29:06 +01:00
therootlord
eadd88aa96 sanders: vndk: sync with LA.UM.7.6.r1-03700-89xx.0 2019-12-16 15:29:06 +01:00
Abhishek Srivastava
0a793f1172 sanders: wifi: Added HIDL@2.0 supplicant and hostapd entry on device
manifest.

Change-Id: Icee52d7148d5812d92276b93eadb0f53313edc0a
CRs-Fixed: 2218486
2019-12-16 15:29:06 +01:00
chandan mishra
914b746f0e sanders: Disabled bluetooth audio and ant HALs As they are not
supported on these targets.

CRs-Fixed: 2302506
Change-Id: I3752f2c2f86b0b658cc05969365d5e7c4437745c
2019-12-16 15:29:06 +01:00
Alberto97
0f4d87a6d9 Actions: Robustify
* Use not deprecated APIs where possible
* Added some NPE safety checks
* General cleaning of unsed code
2019-12-16 15:29:06 +01:00
Alberto97
d70a65507e Actions: Clean up Android.mk 2019-12-16 15:29:06 +01:00
Alberto97
e9d5768790 Actions: FlipToMute: Vibrate when going DND 2019-12-16 15:29:06 +01:00
Vasishath Kaushal
9167061925 overlay: use vibration patterns from Pixel devices 2019-12-16 15:29:06 +01:00
martinusbe
e73c25327a sanders: Enable VoLTE
Change-Id: Id50dfd944eaeb3dec8a9ac3e0e5b71da48205df1
2019-12-16 15:29:06 +01:00
Prema Chand Alugu
780f0f1f8b sanders: overlay: gzr: Enable Keys overlay to fine-tune navbar/FP-gestures
GZOSP -
We do have 'Button' settings and can be configured for LongPress/DoubleTap actions.
Sanders doesn't have hardware keys and navbar keys do the default actions. However we have
FP gestures in MotoActions. But default actions of HOME/BACK/RECENTS cannot be performed
anymore with FP gestures as they are primary job of navbar keys.

Unless we want to gain screen-estate, there is no need for FP gestures to do default actions
along with nav-bar.
This overlay mimics the Sanders has Hardware key (just HOME a.k.a FP) and nav-bar can now be disabled.
With that we could configure default actions of HOME/BACK/RECENTS with FP gestures.
2019-12-16 15:29:05 +01:00
Jorge Lucas
f6d9106989 sanders: Update keyhandler overlays
Signed-off-by: Jorge Lucas <jorgelucas.sd@gmail.com>
2019-12-16 15:29:05 +01:00
Jorge Lucas
0d096c77b2 sanders: Update KeyHandler for AOSP
Signed-off-by: Jorge Lucas <jorgelucas.sd@gmail.com>
2019-12-16 15:29:05 +01:00
dybios
c35c36d5fe vulkan: Shift to version 1.0.3 from 1.1
- 1.0.3 is used in our stock hence shift to that
2019-12-16 15:29:05 +01:00
lucasponez
957df1c2e1 sanders: Ignore neverallows for while
Ignoring neverallows until Q10 update.

Change-Id: I73512f41de980edce8364e32b733d0a800a4a86a
2019-12-16 15:29:05 +01:00
Alisson Lauffer
8505c8ce81 sanders: Remove duplicated type 2019-12-16 15:29:05 +01:00
Nick van Bokhorst
e150dad18e sanders: add config_canForceDisableNavigationBar to overlay
*For enabling/disabling nav bar
2019-12-16 15:29:05 +01:00
Henrique Silva
cafd9ec582 [REQUIRED] MotoActions: Fix font and accent color
Signed-off-by: JarlPenguin <jarlpenguin@outlook.com>
Change-Id: Ib072bbfdd6d3c7efbfd115eec641841f72183fe1
2019-12-16 15:29:05 +01:00
Sebastian
adf83863fa Loud headphones, i like that!
Signed-off-by: Sebastian <kjjjnob.seba@gmail.com>
2019-12-16 15:29:05 +01:00
GtrCraft
fd8880f9fe sanders: Enable EIS 2019-12-16 15:29:05 +01:00
Alisson Lauffer
4f6b391a4b sanders: Force Enable DTV module when device boots up 2019-12-16 15:29:05 +01:00
Adithya R
a9019257f3 Add vendor prefix to fm props
*Fix fm radio
2019-12-16 15:29:05 +01:00
Jorge Lucas
f63f158274 sanders: Fix script path in these files
Signed-off-by: Jorge Lucas <jorgelucas.sd@gmail.com>
2019-12-16 15:29:05 +01:00
Jorge Lucas
33eba28e69 sanders: add missing permissions 2019-12-16 15:29:05 +01:00
JarlPenguin
c6c5297aa5 sanders: copy permission files to system
Signed-off-by: JarlPenguin <jarlpenguin@outlook.com>
2019-12-16 15:29:05 +01:00
Henrique Silva
5ecd12fa6d sanders: overlay: Ignore RSSNR signal level
Improve reception
2019-12-16 15:29:05 +01:00
UtsavisGreat
5dcd531590 MotoActions: add material icons for Ambient Display
Kanged-off-from: 3831e2df1a (diff-78f0805fa8ffadabda721fdaf85b3ca)

Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
Signed-off-by: utsavisgreat <utsavbalar1231@gmail.com>
2019-12-16 15:29:05 +01:00
UtsavisGreat
aab9d3c51a MotoActions: Add Material Icons for Fingerprint Gestures
Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
2019-12-16 15:29:05 +01:00
kubersharma001
390fd1c714 sanders: MotoActions: Drop min|target sdk version
Change-Id: I0ce82d8e6c5e2f432426fa9c98a36f33ece9bc52
2019-12-16 15:29:05 +01:00
kubersharma001
b748610e03 sanders: Bump sdk version override to 27 for cam
Change-Id: Ice39b80afbe135459e3ee98645719f57a9afb93f
2019-12-16 15:29:05 +01:00
kubersharma001
60f0bc50f7 sanders: Cleanup/tweak init.{qcom|mmi}.rc
Change-Id: I0a31c0dfa75388175c8941e39081ed0a348856a8
2019-12-16 15:29:05 +01:00
kubersharma001
b9aebf22b3 sanders: Build libcld80211
* Needed for cnss-daemon and wfd

Change-Id: I4206fdac39c5112a729f0de14324fd513601bb89
2019-12-16 15:29:00 +01:00
utsavbalar1231
7c35669aaf sanders: power_profile: Fix the incorrect frequencies
Signed-off-by: utsavbalar1231 <utsavbalar1231@gmail.com>
Change-Id: I21bdd4d59b657e36ecb074c69f7548115e9bce42
2019-12-16 15:29:00 +01:00
UtsavisGreat
f8ce4dea52 sanders: rootdir: use all cores for camera daemon
Signed-off-by: UtsavisGreat <utsavbalar1231@gmail.com>
2019-12-16 15:29:00 +01:00
GtrCraft
3175070c4b sanders: Add missing permission for com.qualcomm.atfwd 2019-12-16 15:29:00 +01:00
Davide Garberi
6b13c23757 sanders: gps: Fix 1.1 interface leftovers
* Thanks CAF for derping as usual

Change-Id: I4a571fbc8810127cf675ff0aa29c4923b16bc62a
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
2019-12-16 15:28:54 +01:00
kubersharma001
575fbce42c sanders: GPS: Update from LA.UM.7.6.2.r1-04200-89xx.0 and update GPS packages
Change-Id: I3111254674e24f8deb511a7de32f57ee5abe8911
2019-12-16 15:28:54 +01:00
utsavbalar1231
d95e6a0094 sanders: Update dalvik virtual memory props
Signed-off-by: utsavbalar1231 <utsavbalar1231@gmail.com>
Change-Id: I2d4696f1b64115da011060cc902d9a12c378ec6d
2019-12-16 15:28:54 +01:00
utsavbalar1231
3896ddaacb sanders: audio: Increase speaker & in-call sound
Signed-off-by: utsavbalar1231 <utsavbalar1231@gmail.com>
Change-Id: I8d717515665668dddb2eec4596dc69610ff3b77e
2019-12-16 15:28:54 +01:00
Vachounet
360ada01d1 sanders: sync some config files with stock
* OPS28.85-17-6-2

Change-Id: I028e209d41bff3dffe05107f249b7578b9d9dd6c
2019-12-16 15:28:54 +01:00
Gareth Kitchen
cb24ad61b8 sanders: gps: Localise NTP to improve GPS TTFF
Testing response times to time.android.com from around the globe reveals
in ms:-

Europe			 <30
Middle East		 <68
North America		<150
Johannesburg		 183
Buenos Aires		 220
Tokyo			 226
Sydney			 276
Hong Kong		 285
Brisbane		 295
Mumbai			 349
Beijing			4691
Shanghai		4906
Russia			 n/a

Whilst time.android.com is NOT used for GPS NTP, North American time servers
are, by specifying north-america.pool.ntp.org as default in the framework,
to align with pixel devices.  I am assuming similar response times to these
servers from around the world.

Great for North America and it appears Europe but it does not address the
global issue. Also, the pool.ntp.org project forbids both hardware and
software vendors from using these default zone names.
http://www.pool.ntp.org/en/vendors.html

It makes sense, therefore, to leverage the ntp.org's existing 'android' vendor
name to make the default ntp server for GPS purposes:
1.android.pool.ntp.org this will return a random but accurate NTP server in
close geopraphic proximity to the device.

Testing on my own build in the UK seems to improve hot and cold TTFF
considerably.

Change-Id: I144af45757efa35b32daf034eece6e046d2bde79
2019-12-16 15:28:54 +01:00
Madhanraj Chelladurai
4c1a4595a1 sanders: ueventd: add permission for gps component to read pps device
GPS components make use of DR_SYNC pulse generated by GNSS
hardware, which was received through pps device, hence
require permission for reading this device

Change-Id: I00bd3b8aa88059fb94338b6ba1d107d77c06a5e0
CRs-Fixed: 2299356
2019-12-16 15:28:54 +01:00
Madhanraj Chelladurai
a442025e50 sanders: ueventd: init: add permission entries for location component
Add permissions for location components in init.qcom.rc and
ueventd.qcom.rc

Change-Id: I07f3b57470336165393a68144faccf26cdbca98c
CRs-Fixed: 2299356
2019-12-16 15:28:54 +01:00
Ashwin R C
bc57316aed sanders: Add vendor prefix to gralloc-2-0
* init: Command 'start gralloc-2-0' action=late-fs (/vendor/etc/init/hw/init.qcom.rc:55) took 0ms and failed: service gralloc-2-0 not found

Signed-off-by: Ashwin R C <ashwin2001achu@gmail.com>
Change-Id: Ic444c7c683ab94b9a37e7d100cde19485db651b9
2019-12-16 15:28:54 +01:00
dianlujitao
5a82dc940f sanders: Wait for MPCTL to start on boot
Change-Id: Ib79b48e1d362872d9d97373d5ca2ad42f7fbc638
2019-12-16 15:28:54 +01:00
Jean-Michel Trivi
075de75e87 sanders: set Media volume to 25 steps
Test: play media, use all 25 vol steps and observe varying attenuation
Bug: 32195657
Change-Id: I7ac87df0b2b15de3a7bb87e739bd88ef7b185236
2019-12-16 15:28:54 +01:00
Pranav Vashi
6668665876 sanders: Remove cpuset foreground boost
Cpuset foreground boost is departed since
https://android.googlesource.com/platform/frameworks/base/+/a712d4058f6f85268838

Change-Id: I65216f3e9091ce38aab8d58d261ba7a695ba80a4
2019-12-16 15:28:54 +01:00
Michael Bestas
341d5fb220 sanders: Stop copying WCNSS_qcom_cfg.ini to userdata
Change-Id: I7b9fbc0e26a1563f3e13fe0f9d58308b618a5702
2019-12-16 15:28:54 +01:00
kubersharma001
29ac6ef56f sanders: update wifi configs
Change-Id: Ic73a4ee48f1becf7261cd522265b954465b1cfa4
2019-12-16 15:28:54 +01:00
Vachounet
d8f60177fd sanders: copy com.nxp.mifare.xml
* Expose mifare feature

Change-Id: I7f4a891db4b137de17eec3a7411c81d15b252fc0
2019-12-16 15:28:54 +01:00
kubersharma001
a54bbad0cb sanders: overlay: snap: disable api2/hal3
Change-Id: Ic4088a36882a5add7a464b3641b582f8a0ef6f77
2019-12-16 15:28:54 +01:00
kubersharma001
2a6a1192e2 sanders: add more wfd props
Change-Id: I21d931f5cf6cc7d4074d317881a1ca981b24228f
2019-12-16 15:28:54 +01:00
Erfan Abdi
05e34ec3e0 sanders: Enable metadata for FDE
* This device uses metadata partition to store FDE key

Change-Id: I81795273979e2639381d44ccb97d78fd45571634
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2019-12-16 15:28:54 +01:00
kubersharma001
5cd03a158e sanders: update CarrierConfig overlays from LA.UM.7.6.2.r1-07600-89xx.0
Change-Id: I9a3adcb4ac4a0683ab3a86255ce2e5c192b0f5bb
2019-12-16 15:28:54 +01:00
kubersharma001
1d3988916d sanders: [DNM] import carrier specific/telephony overlays from griffin
* kanged from and till LineageOS/android_device_motorola_griffin/tree/3c0798f706e84eb735299e0dd2398a65294bed15

Change-Id: Iaae1859bfda2ea7d0a7a38e0dd79cb5d8e2ddb9d
2019-12-16 15:28:54 +01:00
Adithya R
080711a551 sanders: overlay: Unpin SystemUI
* Not needed after 39f1f2878b71c1a560da5ea70e18aaf8d8a44b70 as SystemUI.{odex,vdex}
  won't exist if they are preopted.

02-04 07:58:33.229 555 568 E PinnerService: Could not pin file /system/priv-app/SystemUI/oat/arm64/SystemUI.vdex
02-04 07:58:33.229 555 568 E PinnerService: android.system.ErrnoException: open failed: ENOENT (No such file or directory)

Change-Id: I20bfe66851fd5ade5f89e60be62aafab12333df2
2019-12-16 15:28:54 +01:00
kubersharma001
072fb97891 sanders: WCNSS_qcom_cfg.ini from deen's pie release 2019-12-16 15:28:54 +01:00
Jan Böhmer
7e618246d9 Added new line char after ISO_DEP_MAX_TRANSCEIVE
The NFC HAL seems to need this new line to apply the ISO_DEP config.
2019-12-16 15:28:54 +01:00
Adrian DC
76d9f9be8c sanders: init: Resolve vendor HALs for early bootanimation start
* Adapt the service from configstore-hal-1-0 service
    to vendor.configstore-hal for AOSP P

 * Resolves surfaceflinger first launch crash
    due to configstore not being running earlier enough

Change-Id: I5aae6d8357ce71933e7c6673e9e4d37adb55a6af
2019-12-16 15:28:54 +01:00
Philip Cuadra
edd1b13001 sanders: Enable Camera App pinning 2019-12-16 15:28:54 +01:00
John Dias
3bfa03b48f sanders: Pre-opt SystemUI
SystemUI is getting deoptimized, possibly resulting in jank
(not yet validated); pre-optimize to avoid deoptimization for now.
Bug: 62832717
Bug: 35872915
Test: boot, check for vdex, run for a bit

Change-Id: Ia754db444eebaebf0ff2389ab66f6f1d486da994
2019-12-16 15:28:54 +01:00
Adithya R
d2fa29e5f4 overlay: Correct SystemUI paths for pinner service
* Thanks to @aviraxp for pointing it out.

Change-Id: I7b4fbe23aa46c71b31d914b1e1ddd955aa1b4bf0
2019-12-16 15:28:54 +01:00
Jorim Jaggi
36dd36a154 sanders: overlay: Pin home application
Test: adb shell dumpsys pinner after boot
Bug: 111132016
Bug: 78585335
Change-Id: I4ed0587ae5348bbe03ad9ac5f1c5b1726dbb8246
2019-12-16 15:28:54 +01:00
Jorim Jaggi
18c13d7979 overlay: Pin critical apps and system services that get swapped
Pin critical system apps that always need to be responsive, no
mattter what:
- SystemUI for expanding the notification shade/navigation bar
- SF: Doesn't need introduction, but still gets zram'ed in certain
cases:

Total memory impact: About 5-6 MB (since regularly not all code is
loaded)
Test: Flash device with CL and make sure actions like expanding
notification shade isn't as janky under memory pressure anymore
Bug: 111132016

Change-Id: I3bc93204147502bec2e983f7ee37555294db308c
2019-12-16 15:28:54 +01:00
Vachounet
bec412a1ec sanders: add perms for FMRadio app
Change-Id: I5137df75b3763a29dd56c5fc238f9b0380739a3e
2019-12-16 15:28:54 +01:00
Vachounet
cafb3e4d92 sanders: update privapp perms
Change-Id: If6773d00111f12763f26da2b94450ab8d9a0ccfc
2019-12-16 15:28:54 +01:00
Vachounet
7548101a10 sanders: add back FM support
Change-Id: I86fd0251a1278cc7a5d0102ec554979a3732e4fe
2019-12-16 15:28:54 +01:00
Vachounet
512df8ddc4 sanders: sync init.qcom.rc with last CAF changes
Change-Id: I0c06e086d3843faafa6787dc69b7f7541dc3304f
2019-12-16 15:28:54 +01:00
Jan Böhmer
55a76c2084 Added ISO_DEP_MAX_TRANSCEIVE value to libnfc config
Without these setting some NFC Tags can not be read (An exception is thrown which states that the transmitted data is too long).
2019-12-16 15:28:53 +01:00
Nick van Bokhorst
dec2c71153 sanders: WFD Changes
*Taken from tissot device tree
2019-12-16 15:28:53 +01:00
Vachounet
97cc0514ec sanders: build android.hidl.manager-V1.0-java 2019-12-16 15:28:53 +01:00
Wei Wang
30cf8bc052 Wait for hwservicemanager ready before running fsck
As property service is part of init, and if init is busy with built-in
command e.g. fsck, the propety_set() won't go through until the built-in
command is finished.
Move the start of hwservicemanager earlier and wait for its done after
launches bootanim and its dependencies (there is not wait time during
boot but the command is as a safeguard).

Bug: 74437368
Test: boot with simulated long fsck and bootanim shown early
Test: boot see 'start_waiting_for_property("hwservicemanager.ready", "true"): already set'
Change-Id: Iab4b857a51e0e6b8b059d063c1f0d65a0e987622
2019-12-16 15:28:53 +01:00
Wei Wang
91e5319362 sanders: Tune zram performance
* Set page-cluster to 0 as the incremental cost of reading 1 page at a
time is negligible for zram

Change-Id: Ia73d08904551dfc8d57268fc4da3f9f34d10e277
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
2019-12-16 15:28:53 +01:00
Han Wang
223614ac44 sanders: Configure number of physical SIM slots
* Needed by telephony-common

Change-Id: I18c058d295ed2eaf23e8ca5d1f3933b65806ed48
2019-12-16 15:28:53 +01:00
William Bellavance
107ec5c02e sanders: enable Verizon visual voicemail support
Change-Id: I5f60886a7cd3f39dc1c01ecae4d64388d0cd3b6e
2019-12-16 15:28:53 +01:00
dianlujitao
4189a5590f sanders: Update qti_whitelist from LA.UM.7.5.r1-03100-8x96.0
Change-Id: I93ad3de87cbb78d2155fd0b4304738c2080554f5
2019-12-16 15:28:53 +01:00
Bruno Martins
0bce773a88 sanders: Fix typo from CodeAurora in the QTI whitelist
* Let com.qualcomm.qcrilmsgtunnel break free

Change-Id: I6243a6d21da7709bf6612270d7638f1231b9f601
2019-12-16 15:28:53 +01:00
maxwen
a96463a95e overlay: enable config_enableManualSubProvisioning
Change-Id: I4ebf7ce5833e6375d5179f1ab084132449e51249
2019-12-16 15:28:53 +01:00
Luca Stefani
e19771d7e3 overlay: Update power_profile to P
Change-Id: I9771f7dcbff3fc5c40871d8647642139756a0987
2019-12-16 15:28:53 +01:00
kubersharma001
081c5e39fc [DNM]sanders: update wifi configs
* basically, revert some recent changes

Change-Id: I4d8f126127f85c48200c9f6615d25819889126a3
2019-12-16 15:28:53 +01:00
kubersharma001
8128e48c3d sanders: re-adjust dir for new time service blobs from P
Revert "potter: Adjust mkdir of time data files"
This reverts commit d52dd9094aab10b5d6640ebd1cba56a66ba847db.

Change-Id: I5d2e4a0849223b07bf060ec3c75c32f76710f672
2019-12-16 15:28:53 +01:00
Alberto97
f6518caf1e ueventd: Change permissions of USB role switch nodes
Usb HAL expects data/power role switch to be supported if these are writable.
Despite our hardware can support the functionality, it does not seem to be properly implemented.
2019-12-16 15:28:53 +01:00
Jack Pham
6d8326b14e ueventd.qcom.rc: Change ownership of USB role switch nodes
Change ownership of /sys/class/dual_role_usb entries to
system/system to allow USB HAL to access them.

Change-Id: Ie6d968180d55647813904970370dbb74012326b0
2019-12-16 15:28:53 +01:00
Ethan Chen
fa4a07aa78 sandersr: drop custom display flags
* TARGET_USES_OVERLAY and USE_OPENGL_RENDERER are largely deprecated
* Don't set triple buffering, it introduces latency
* Don't use custom VSYNC offsets

Change-Id: If2892c83726c3558a96b28a8404f49982ebb9ba0
2019-12-16 15:28:53 +01:00
Danny Baumann
15e9a02c3b sanders: Mark camera-related processes as API level 26.
Our camera blobs trigger some checks for broken behavior (destroyed
mutex usage, invalid pthread usage) present in newer API levels.

Change-Id: I8705437e0a5c6d80b86748bff559ce1e8a7bf716
2019-12-16 15:28:53 +01:00
kubersharma001
35e663f94f sanders: update CarrierConfig overlays from CAF
Change-Id: Ib23f2f386c6e43467a114c488f2f06bb53b602a6
2019-12-16 15:28:53 +01:00
TheScarastic
95335624c5 sanders: Adjust mkdir of time data files
* Our blobs expect them in /data/time
2019-12-16 15:28:53 +01:00
Karthik Gopalan
69f79c2c89 sanders: Swap disk creation
Create swap disks

CRs-Fixed: 2264866

Change-Id: Id57a4e8d413c7dafb49d073980f10010003f616e
2019-12-16 15:28:53 +01:00
kubersharma001
5ee1ebac4a sanders: build CarrierConfig
Change-Id: Ie8d228c0226b73ce6dcf8383948d09aab2c2665c
2019-12-16 15:28:53 +01:00
Bauuuuu
68789b221e sanders: overlay: Enable Fingerprint Authentication Vibration
Change-Id: I9e4548679fa50dfe429caf29d23e538c7e9384ec
2019-12-16 15:28:53 +01:00
LuK1337
290ce270f6 sanders: Fix build of our bluetooth header
Change-Id: I45c5a123c86f3a9ec1ac72011c018a937d4fc70f
2019-12-16 15:28:53 +01:00
TheScarastic
04377d2532 sanders: fix BT MAC address reading 2019-12-16 15:28:53 +01:00
Wei Wang
5eef2ac3d8 sanders: skip wait for hwservicemanager
Wait for hwservicemanager is no longer needed
after this CL:
https://android-review.googlesource.com/#/c/356043/

Bug: 36399429
Test: nash boot

Signed off by: Nolen Johnson <johnsonnolen@gmail.com>

Change-Id: I12c5adab70dc519b5e834eb35262ff73d214978b
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
2019-12-16 15:28:53 +01:00
Wei Wang
74eb1c9755 sanders: Make sure graphics HAL services started before mounting data
Bug: 36409349

Signed off by: Nolen Johnson <johnsonnolen@gmail.com>

Change-Id: I1df0bd7878c7d67d3695ad1644c6b928cee0e323
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
2019-12-16 15:28:53 +01:00
Chia-I Wu
f9c5f1e4e2 sanders: Start hwservicemanager early
Test: builds and boots
Bug: 35173320

Change-Id: I9f060904174103a6a145a83cbb4c100728ff6df6
2019-12-16 15:28:53 +01:00
Wei Wang
968521a5c4 sanders: start bootanim before mounting data partition
Bug: 30118894

Signed off by: Nolen Johnson <johnsonnolen@gmail.com>

Change-Id: If84764e3ce51f467b2dfa867ce28e1e396422d45
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
2019-12-16 15:28:53 +01:00
Garik Badalyan
e3fa9d55c7 sanders: IMS: Whitelist org.codeaurora.ims package
org.codeaurora.ims has become a priv-app
to acquire some permissions we need to
whitelist the package.

Change-Id: I3f31f949e054cc79f8cff99e66cbcb70f5f0715f
2019-12-16 15:28:53 +01:00
elektroschmock
ec2fc31ae9 sanders: Run ActivityManager and RenderThread as SCHED_FIFO
by setting sys.use_fifo_ui=1
This is only usable on homogenous CPUs

Reference:
https://source.android.com/devices/tech/debug/jank_jitter

Change-Id: I9793b45b631cf8b6db43219fe5d2a3a023ab64bf
2019-12-16 15:28:53 +01:00
Miguel Martinez
3ca6747872 sanders: enable persist.vendor.qti.inputopts.enable
Change-Id: Icb00771991789be651f6da4b554fafc9e5b860d9
Author: maxwen <max.weninger@gmail.com>
2019-12-16 15:28:53 +01:00
Pranav Vashi
a9b93107c7 sanders: gps: Increase batch size to max
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2019-12-16 15:28:47 +01:00
Daniel Jarai
89cc54cb23 sanders: camera: Specify internal video devices to ignore by external provider
The external camera provider occupies our camera V4L2 nodes, potentially
crashing the kernel driver and blocking the camera HAL.
Unfortunately, there's no easy way to just disable it, so let's just tell
it to ignore the internal video devices.

Change-Id: I00c67de1b94a1f7eca1bf458d1d0e4de3507aa81
Signed-off-by: Daniel Jarai <jaraidaniel@gmail.com>
2019-12-16 01:42:16 +01:00
Ecco Park
29ba5b2153 sanders: Adding the execute permission for /data/vendor/wifi
ag/3332074 broke the Pixel Logger funtionality for wifi.

The Logger needs the write permission for /data/vendor/wifi/cnss_diag.
so, parent directory needs to set the execute permission for other group.

Test: manual test with Pixel Logger
Bug: 70228425
Change-Id: I75819f0b0bf4ed376d5d87f33af2e1693c864db8
Signed-off-by: Ecco Park <eccopark@google.com>
2019-12-16 01:42:16 +01:00
Skylar Chang
93f24fb1fd QTI: Create QTI log dir in /data/vendor/ location with permissions
Change-Id: Ib21082c3af84c15de2dac635cce9ad5c3e1f528d
2019-12-16 01:42:16 +01:00
RAJATH R
96f8f3ed53 Create new directory for Bluetooth SoC dump
Create new directory for Bluetooth SoC dump/logs
collection for new Android P dump format

Change-Id: I1257518fa12420a6d8d5bb66f15782ab97582f36
2019-12-16 01:42:16 +01:00
zljing
4bd9cd449f sanders: Shorten wait time for services exit to optimize shutdown time
Android O sets 3s by default to wait for all services exit which is
optional shutdown step. Firstly, in this step there will be time out
due to services not terminated in 3s; Second, in next step there
will send stop signal to kill all services; Finally, Android N sets
ro.build.shutdown_time 0 by default to skip the step. So optimize the
wait time to let shutdown time in 3s.

Signed-off-by: Nick <nickgunale@gmail.com>
Signed-off-by: kubersharma001 <kubersharma001@gmail.com>
2019-12-16 01:42:16 +01:00
zljing
ef86099c77 sanders: Shorten wait time to optimize shutdown time
Mountservice will check if there exist processes occupy files. Launch
many 3rd apps and set in background will cause many processes occupy
files, which will cause mountservice spend 10~20s to unmount(sometimes
 also unmount fail with 20s time out). If there is no process occupy
files, mountservice only need about 500ms. So shorten wait time from
20s to 500ms, which will save 10~20s for shutdown time, total shutdown
time is in 3s.

Signed-off-by: Nick <nickgunale@gmail.com>
2019-12-16 01:42:16 +01:00
Boy Petersen
aeddd290d8 tweak bfq iosched for flash drives 2019-12-16 01:42:16 +01:00
Boy Petersen
47bbbe3b03 interactive governor: leave min_sample_time at default
Don't ramp down that fast, use default 80000 instead to help UI smoothness.
While we're at it, correct odd above_highspeed_delay timings.
2019-12-16 01:42:16 +01:00
Makornthawat Emery
44a0a3985c sanders: Match default hotspot ssid with device name 2019-12-16 01:42:16 +01:00
Niranjan Pendharkar
d84e1b540a sanders: Use low level shutdown trigger to stop cnss-daemon
Low level shutdown is triggered after SystemServer is
cleaned up. sys.shutdown.requested is private to SystemServer
and is used to syncrhonize the shutdown process if SystemServer
crashes before hardware reboot is complete.
Native daemons must use low level shutdown indication from
powermanager for their graceful shutdown, if they wish to stop
before init terminates the process.

Change-Id: Ia583f7dce6f1927d9b766fdc132f082b409f4d67
Signed-off-by: kubersharma001 <kubersharma001@gmail.com>
2019-12-16 01:42:16 +01:00
Jorge Lucas
ad99acb8f5 Revert "sanders: init.qcom.rc: add eas changes"
This reverts commit 4901164b18.
2019-12-16 01:42:16 +01:00
Bruno Martins
5f0ce7ae1b sanders: Simply copy prebuilt .jar files
* No need to have them as build targets.

Change-Id: Ie76ae3028a394b25fd9df485e500101f10230294
2019-12-16 01:42:16 +01:00
LuK1337
51424ed7f5 overlay: Remove bnep\\d from tetherable BT interfaces
Change-Id: Iac714d2de9a4d225da6fc3463d3fb99a4bb714a7
2019-12-16 01:42:16 +01:00
Michael Bestas
f2c097489d sanders: add networkAttributes and radioAttributes from marlin
Change-Id: I594c4ae577f620cdc8953730a097a275bacb2731
2019-12-16 01:42:16 +01:00
Khalid Zubair
6d88a9a1ea sanders: gps: decrease log priority function tracing
Some location libraries are spamming logcat with function traces.
Decrease the priority of these logs to prevent them from flooding
logcat.

Change-Id: I7b105684c8c9ba0ce67e5302bb7a003f1af7c90d
2019-12-16 01:42:16 +01:00
Paul Keith
ae9142f0d6 sanders: Reorder tetherable connection types
* In O, the default setting for mobile data always active was
  changed from off to on, meaning that when non-WiFi tethering
  is being attempted, more than one connection can be active
* Since the first active connection type in this overlay is used,
  reorder the values to get WiFi connections first, and then
  any type of mobile data connection, instead of vice versa

Change-Id: I41f31ba1a2793e209ff439c9ba28a390fecdeecb
2019-12-16 01:42:16 +01:00
David
170ff36bcc sanders Enable VoLTE to enable calling over LTE for Vodafone India.
Change-Id: I295c95b1078ba2cbeb08c014f17c9a67ba5060ba
2019-12-16 01:42:16 +01:00
Li Wei
0e5c0d55f8 sanders: Add config to check data roaming for UT as per CT requirements
- UT supplementary service also needs to keep mobile data and data roaming
  available. If mobile data is unavailable on current UT service SUB or
  data roaming is disabled in roaming network, needs to show a dialog to
  user for prompt when MCC/MNC is in 204/04, 454/03, 454/04, 455/02, 455/07
  , 460/03, 460/11, 460/12

CRs-Fixed: 2129445
Change-Id: I4822cb3a9edeb0c8e6786494c389bd5ad5c7e667
2019-12-16 01:42:15 +01:00
Michael Bestas
f417cb3b9a sanders: Set TARGET_PROVIDES_QTI_TELEPHONY_JAR
Change-Id: Idffe1a95d5ddac0ef3d6c74e3d55293b553e51ba
2019-12-16 01:42:15 +01:00
coldhans
49ac45d68d overlay: Enable network location overlay for microG's UnifiedNlp
@mar-v-in: "It seems like qualcomm is adding some fixed link to their proprietary location service through device/qcom/common/product/overlay/frameworks/base/core/res/res/values/config.xml. Remove this file completely or at least change config_enableNetworkLocationOverlay to true."
2019-12-16 01:42:15 +01:00
Adrian DC
0fea1e43a0 overlay: Show DocumentsUI internal storage by default
Change-Id: I1ada4009c5f71681761d1fb033d3d1c8609b7797
2019-12-16 01:42:15 +01:00
William Bellavance
877cc880fd Audio: Increase incall volume
Change-Id: I296751842b8d6ab7845e784b2f23d8ce2226b18e
2019-12-16 01:42:15 +01:00
Michael W
647a6cef98 sanders: wifi: Enable 2.4GHz channel bonding
* Improve WiFi speed

Change-Id: I06501a8d01d8a802fe5dd7a6c9edfa96c51afbce
2019-12-16 01:42:15 +01:00
Jaekyun Seok
1fa201efaa sanders: Enforce RRO on framework-res
Overlays only for framework-res will be converted into RROs.

Other overlays can't be converted due to some known issues on app RRO.

Bug: 36231603
Change-Id: Idca30fdbbcc990fd124de16a06a112a346612a61
2019-12-16 01:42:14 +01:00
Henrique Silva
90320cbe4f sanders: set default wifi country code and allow resetting
* Fix 5ghz option sometimes not appearing on hotspot settings

Signed-off-by: Henrique Silva <jhenrique09.mcz@hotmail.com>
2019-12-16 01:41:48 +01:00
Jorge Lucas
7ee19a1819 sanders: Bringup AOSP
Signed-off-by: Jorge Lucas <jorgelucas.sd@gmail.com>
2019-12-16 01:41:46 +01:00
therootlord
ce5f3538ee sanders: remove vendor.qti.hardware.iop from manifest
* Not needed with the new iop blobs
2018-11-29 13:57:26 -02:00
therootlord
f2d7488dfb sanders: add com.fingerprints.extension to manifest 2018-11-15 21:44:53 -02:00
Erfan Abdi
2f35f4fbb1 sanders: Update to match new qcom sepolicy
Change-Id: If6e58161489790ea7736dc1ec1fe11f2e2841b6c
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
Signed-off-by: therootlord <igor_cestari@hotmail.com>
2018-11-15 20:02:29 -02:00
Alberto97
a589c5e853 sanders: Disable AOD by default for r16 merge 2018-11-15 17:38:48 -02:00
therootlord
5f26ac04ff sanders: add vendor.qti.hardware.sensorscalibrate to manifest 2018-11-09 15:33:07 -02:00
therootlord
4caf8164fb sanders: update sec_config from LA.UM.7.6.r1-02500-89xx.0 2018-11-09 15:10:17 -02:00
Shaikh Shadul
8f68d0a5dd sanders: change sensors registry file owner and group
Sensors registry file ownership is retained even after OTA
upgrade and that file is only accessible by daemon belongs to
same ownership permissions.

Change-Id: I3543733232aeab04d14fb9d69f635c1e6c6df1e2
2018-11-09 14:58:17 -02:00
Bulbul Dabi
047bfded6e sanders: Set partitions for loop device.
AdoptableHostTest in CTS uses virtual disk feature for testing.
This change is to enable partitions for virtual disk.

Change-Id: Ic89de587b2c0448fd55b55bf19086e92e843a923
2018-11-09 14:42:40 -02:00
therootlord
51e777cc1d sanders: update for the new mount points
* Also bind mount /mnt/vendor/persist to /persist for backward compatibility
2018-11-08 15:31:27 -02:00
Vinay Verma
2fbbc52c5a sanders: Moving persist mount point to /mnt/vendor/persist
Move persist entry to fstab and mount at /mnt/vendor/persist

Apply required user, group and permissions once persist
folder is created through __mount and parititon is mounted.

Run restorecon on /mnt/vendor/persist.

Change-Id: I7f54b478de898491e32560d5a37657ac370bf893
2018-11-07 23:07:12 -02:00
Vinay Verma
8723ed746a sanders: Mount dsp and firmware in vendor
Change fstab to mount dsp and firmware to /vendor/dsp and
/vendor/firmware_mnt.

Add classpath for firmware loading /vendor/firmware_mnt/image in
kernel command line.

Change-Id: I04bd18336a1259a1379b3a27b150bb8051283275
2018-11-07 19:08:52 -02:00
therootlord
53fb0b2053 sanders: reorganize fstab.qcom 2018-11-07 18:28:47 -02:00
therootlord
2ab16b9a20 sanders: BoardConfig: update BOARD_KERNEL_CMDLINE 2018-11-07 17:50:11 -02:00
therootlord
8a7fc2199a Revert "sanders: drop device keyhandler for now"
This reverts commit e3c7463566.

* Also remove proximity check from keyhandler
2018-11-07 16:35:12 -02:00
therootlord
7478a33ad1 Revert "sanders: move MotoActions to vendor"
This reverts commit 247c0b4e27.
2018-11-07 16:14:39 -02:00
therootlord
531935cefa sanders: BoardConfig: add TARGET_COMPILE_WITH_MSM_KERNEL 2018-11-07 16:09:03 -02:00
therootlord
99a135ffd4 sanders: disable sdclang 2018-11-07 16:06:07 -02:00
therootlord
88fc2ace05 sanders: remove vendor.lineage.power from manifest 2018-11-06 22:05:12 -02:00
therootlord
986154f6a6 sanders: update audio config and props from LA.UM.7.6.r1-02500-89xx.0 2018-11-06 19:05:46 -02:00
therootlord
7462a0c838 sanders: update WCNSS_qcom_cfg.ini for P 2018-10-26 18:24:12 -03:00
Nirmal Abraham
845491a14c sanders: Uprev DisplayConfig to 1.1
Update version of 'vendor.display.config' to 1.1
to match with the version running on the device.

Change-Id: If399f6c50278649496db5a877cd034473b915661
2018-10-22 19:39:58 -03:00
therootlord
9829e53382 sanders: Don't use custom VSYNC offsets 2018-10-22 18:21:30 -03:00
Michael Bestas
b651469568 sanders: Switch to 1.1 power HAL
Change-Id: I4690a5b913141427a828d6a3a4af407d35a10775
2018-10-20 19:18:30 -03:00
Bharat Pawar
6018f77be5 sanders: Allow mediaextractor mremap syscall
Change-Id: Ief50dfcbbc31650efc69504715527a67a1515108
2018-10-20 19:13:12 -03:00
Kevin Rocard
9597a0e1d7 sanders: Migrate to audio V4
This is needed for the microphone characteristic API support.

Test: regression test on the board
Bug: 38184704
Change-Id: Ife559125850277865451f92ea862e7ec47fc9da7
Merged-In: Ife559125850277865451f92ea862e7ec47fc9da7
Signed-off-by: Kevin Rocard <krocard@google.com>
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2018-10-10 18:40:20 -03:00
dianlujitao
6b0f6a33fc sanders: Add additional capacities to V1.0 media profiles
* This basic profile will be used until we have proper fw/av
   support from CAF
 * This change adds the following things:
    - 4K video recording for back camera
    - 1080P video recording for front camera
    - HEVC video encoder

Change-Id: If73c6d5c56fa299a60d6bd58aacdb5b34e410ae2
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2018-10-10 15:43:39 -03:00
therootlord
498793fb48 sanders: update some ril/ims props 2018-10-10 00:07:48 -03:00
therootlord
c70546d090 sanders: update check_features.sh script 2018-10-10 00:07:48 -03:00
therootlord
054047c7be sanders: update to OPS28.65-36/9fea fingerprint 2018-10-10 00:07:48 -03:00
erfanoabdi
5db228eca7 sanders: Convert libinit to init scripts
* Also set ro.product.manufacturer to motorola for camera HAL in GSIs.

Change-Id: I2c78e4837cdbd8e7f18e3c1a086978bd289a60a6
2018-10-10 00:07:43 -03:00
therootlord
01c13a1de5 sanders: remove audio_output_policy.conf
* We're using audio_policy_configuration.xml
2018-10-08 01:28:39 -03:00
Ethan Chen
e79f743e59 sanders: Drop custom display flags
* TARGET_USES_OVERLAY and USE_OPENGL_RENDERER are largely deprecated

Change-Id: If2892c83726c3558a96b28a8404f49982ebb9ba0
2018-10-05 19:14:36 -03:00
Jesse Hall
2445a641f2 sanders: Advertise Vulkan 1.1 system feature
Bug: 66875961
Test: atest VulkanFeaturesTest
Change-Id: I58f904984320dee174637ba0ddfecdd343fab7e6
2018-09-29 00:07:17 -03:00
Jeff Sharkey
9de6940992 sanders: Reserve 128MB for critical system components.
We recently created a new GID that can be granted to critical system
processes, so that the system is usable enough for the user to free
up disk space used by abusive apps.

128MB ought to be enough for anybody.

Test: builds, boots
Bug: 62024591
Change-Id: I412ed9b0a885668ebe4c6c677a3bd0cd7f44080b
Signed-off-by: Alberto97 <albertop2197@gmail.com>
2018-09-26 13:46:53 -03:00
rago
56596f0717 sanders: Dynamics Processing Effect
Dynamics Processing configuration for marlin

Bug: 64161702
Bug: 38266419

Test: manual testing
Change-Id: I0b0d55af3774d798af92159b98764d875a4b7628
Signed-off-by: Alberto97 <albertop2197@gmail.com>
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2018-09-26 00:25:56 -03:00
Kevin Rocard
0f6350a3f9 sanders: audio: Convert audio_effects.conf to XML
Converted .conf format to .xml using:
https://github.com/luk1337/aeffects-conf2xml

Bug: 37492580
Test: dumped the effectFactory state and check it was unchanged
      $ adb shell dumpsys media.audio_flinger | sed '/Clients:/q'
Change-Id: I233a44c2ba0cb4c4d4fb8c3720fc09862ce79827
Merged-In: I233a44c2ba0cb4c4d4fb8c3720fc09862ce79827
Signed-off-by: Kevin Rocard <krocard@google.com>

Signed-off-by: Erfan Abdi <erfangplus@gmail.com>

Signed-off-by: therootlord <igor_cestari@hotmail.com>
2018-09-25 18:36:20 -03:00
therootlord
d5508d0433 sanders: remove unneeded things for sanders 2018-09-25 18:36:20 -03:00
therootlord
070727ce81 sanders: rootdir: add sensors init script from LA.UM.7.6.2.r1-03200-89xx.0 2018-09-25 14:03:31 -03:00
Shaikh Shadul
361be56624 sanders: change ownership and permissions of sensors device node
Change the user and group ownership and permissions of sensors
device node.

Change-Id: I251af01d4f0204c784667fe92b3998c197f75d8e
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2018-09-24 23:28:21 -03:00
Shaikh Shadul
630957f147 sanders: config.fs: Add mapping for sensors daemon
Set filesystem configuration for sensors daemon binary.

Change-Id: I499ad9b987a43e79b8037da5761e14e97b2ef9c9
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2018-09-24 23:09:30 -03:00
Bruno Martins
92337c9017 sanders: Switch to common basic USB HAL
Change-Id: I0e0809a2338f006063c5160bb7aec36a555cebab
2018-09-24 22:41:23 -03:00
Demon000
2432fd6916 sanders: Convert lights HAL to native binderized HAL
[Adapted from libra for griffin]

Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
Signed-off-by: therootlord <igor_cestari@hotmail.com>
2018-09-24 22:27:15 -03:00
Yifan Hong
2cbf835dee sanders: Add netutils-wrapper to device compatibility matrix.
netutils-wrapper only list a single version x.0 in its
requirement. System manifest might provide a list of
netutils-wrapper versions it supports {x, y, z}.0.

Bug: 64447338
Test: m compatibility_matrix.xml system_manifest.xml -j
      (checks compatibility at build time)

Change-Id: I2ec919fd5378aed7160c636cb7f2bd138db1473f
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2018-09-23 21:22:33 -03:00
Erfan Abdi
2b4a86458b sanders: qsap_shim: Fix for VNDK_VERSION=current
Change-Id: I8e5ec3068914e085d4adac178a47421a1c515a89
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2018-09-23 21:13:21 -03:00
Dan Pasanen
9e112b0545 sanders: add shim for wifi_qsap_set_tx_power
Change-Id: I9ef277db6f4e068e7b92710f6039b4f261d72282
2018-09-23 21:13:21 -03:00
therootlord
1c313d1a64 sanders: set PRODUCT_SHIPPING_API_LEVEL 2018-09-23 21:13:21 -03:00
Erfan Abdi
a79b4d3efd sanders: update to versionized vndk-sp
Change-Id: I6cd784cc3e4ee6fcbd4f446120a3b656823c8461
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2018-09-23 21:13:21 -03:00
Yifan Hong
75743d20d6 sanders: Remove PRODUCT_COMPATIBILITY_MATRIX_LEVEL_OVERRIDE
Replace it with FCM Version = 1, specified explicitly
in device manifest.

Test: builds
Bug: 69636193

Change-Id: I0f5689344bb7b10b2b5db2549e95c940c4812f9d
Merged-In: I0f5689344bb7b10b2b5db2549e95c940c4812f9d
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2018-09-23 21:13:21 -03:00
rahulsnair
9533952f17 sanders: remove fstab context
Change-Id: I48c14bca953cc85ad838eb3de3709400eb599322
2018-09-23 21:13:21 -03:00
therootlord
35872ba975 sanders: cleanup and reorganize 2018-09-23 21:13:21 -03:00
therootlord
606735ab9e sanders: move display panel calib files to vendor tree [1/2] 2018-09-23 21:13:21 -03:00
therootlord
ed0dd32ab5 sanders: update fingerprint configs to match vendor changes
* Remove custom fp hal/service

* Build android.hardware.biometrics.fingerprint@2.1

* Update init related configs and props
2018-09-23 21:13:21 -03:00
Harikrishnan Hariharan
3437531910 sanders: Start loc_launcher as gps user
Start loc_launcher as gps user and set uid/gid of loc_launcher
to gps and enable SETUID and SETGID caps for loc_launcher, so
that we can start loc_launcher as gps user instead of root and
still have capabilities for SETUID and SETGID. Also remove not
required permissions groups for loc_launcher.

Change-Id: Ie9f1506874b3c3148f9170c8d5db9afd1e70025c
CRs-Fixed: 2192881
2018-09-23 21:13:06 -03:00
therootlord
ab63f76163 sanders: don't build android.hardware.bluetooth@1.0-impl and service
* We're using qcom's ones
2018-09-23 21:06:04 -03:00
Wang Han
7672efc8da sanders: ueventd: Don't modify permissions of /dev/hw_random
This addresses an underlying problem since /dev/hw_random is used. The
issue is that EntropyMixer, which runs in system_server, needs to read
from /dev/hw_random, but thanks to our qualcomm ueventd, EntropyMixer
can never accress this node, resulting in warnings like this:

W EntropyMixer: Failed to add HW RNG output to entropy pool
W EntropyMixer: java.io.FileNotFoundException: /dev/hw_random (Permission denied)

AOSP ueventd handles this well, so just remove this line to get things
back to stage. This issue was never exposed because Google derps the
logging here, which is already fixed on Pie.

c78a463e87

Change-Id: I42c9aaa8f57306536e51c0a17febad57a5a77581
2018-09-23 21:06:04 -03:00
Erfan Abdi
072d844924 sanders: Uprev GNSS HAL to 1.1
* Introduced in 9.0.

Change-Id: I326bf5063b5fb4e962e2a6fffcae2704c8c49e46
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2018-09-23 21:06:04 -03:00
therootlord
0a41b9dc1a sanders: gps: update to LA.UM.7.6.r1-02000-89xx.0 tag 2018-09-23 21:06:04 -03:00
Himanshu Agrawal
8a6b5c05e7 sanders: Changing healthd version to 2.0
Change-Id: I13ddaa133bb9edcca200d5fe7320cf5fa9f66f0f
2018-09-23 21:06:04 -03:00
Han Wang
247d9b0e98 sanders: Remove creation of /data/misc/wifi and
/data/misc/dhcp

* The creation of /data/misc/wifi and /data/misc/dhcp was moved long ago
  to the core init.rc script. Moreover, /data/misc/wifi is deprecated
  since wpa_supplicant now relies on /data/vendor/wifi.

Change-Id: Ic0a33af44ffe163d3dd06cebdc1e192dc9bcb11f
2018-09-23 21:06:04 -03:00
Jeff Vander Stoep
b60b481227 sanders: wpa_supplicant: Deprecate entropy.bin
Wpa_supplicant's random pool is not necessary on Android. Randomness
is already provided by the entropymixer service which ensures
sufficient entropy is maintained across reboots. Commit b410eb1913
'Initialize /dev/urandom earlier in boot' seeds /dev/urandom with
that entropy before either wpa_supplicant or hostapd are run.

Bug: 34980020
Test: Use wifi and wifi tethering on 8996 targets
Change-Id: Ib5caf362bc939911b357db186a274957d3fbf186
2018-09-23 21:06:04 -03:00
therootlord
6cf5bace92 sanders: build libgui_vendor
* Needed for libmot_gpu_mapper

* Requires this: c80908a652
2018-09-23 21:06:04 -03:00
therootlord
8fd8b6873f sanders: cleanup device.mk 2018-09-23 21:06:04 -03:00
Hari Veerubhotla
fe2447737b sanders: manifest: Cleaning up Impl tag
Change-Id: I006eeaef9b685c756c45f7eb16564066048f351f
2018-09-23 21:06:04 -03:00
therootlord
c6ddaab82b sanders: update some props for P 2018-09-23 21:06:04 -03:00
therootlord
ffee6c1572 sanders: update sensors props and service name 2018-09-23 21:06:04 -03:00
Alberto97
5ca26577c3 bluetooth: Fix build by removing unused includes 2018-09-23 21:06:04 -03:00
Alberto97
6fb9666cf8 bluetooth: Fix force disable sco enhanced sync for new logic 2018-09-23 21:06:04 -03:00
therootlord
5ed8c5e43f sanders: update display props/manifest for P 2018-09-23 21:06:04 -03:00
therootlord
fe92bebb33 sanders: MotoActions: make icon color match others for Pie 2018-09-23 21:06:04 -03:00
therootlord
84a1137a91 sanders: overlay: update 2018-09-23 21:06:04 -03:00
Hung-ying Tyan
d50722ae24 configstore: uprev configstore (1.0 -> 1.1)
Bug: 69691076
Test: built and tested on sailfish
Change-Id: Ieb4b329ccf2f56e304cd2b62ba12183e514aaff1
2018-09-23 21:06:04 -03:00
Alberto97
7c17c7d7fc Move to NFC 1.1 Implementation 2018-09-23 21:06:04 -03:00
Alberto97
cfa0f46b2e Update configs for NFC 1.1 2018-09-23 21:06:04 -03:00
Andre Eisenbach
69a37182f8 Rename libnfc-brcm.conf -> libnfc-nci.conf
Test: manual
Merged-In: I213034b54724b1ed0f43b32bc757ea7d8873ee74
Change-Id: I213034b54724b1ed0f43b32bc757ea7d8873ee74
2018-09-23 21:06:04 -03:00
Anton Hansson
378ac397d7 MotoActions: Set LOCAL_PRIVATE_PLATFORM_APIS
This change sets LOCAL_SDK_VERSION for all packages where
this is possible without breaking the build, and
LOCAL_PRIVATE_PLATFORM_APIS := true otherwise.

Setting one of these two will be made required soon, and this
is a change in preparation for that. Not setting LOCAL_SDK_VERSION
makes the app implicitly depend on the bootclasspath, which is
often not required. This change effectively makes depending on
private apis opt-in rather than opt-out.

Test: make relevant package
Bug: 73535841
Change-Id: I5196e8c7277ff86280782e7b479a499add2e8f9f
2018-09-23 21:06:04 -03:00
Alberto97
9fd73a0aeb MotoActions: Build with AAPT2
Change-Id: Ic1287412680509f87dab806b8745cc1c04b8df04
2018-09-23 21:06:04 -03:00
Lucas Dupin
486e4d8b80 Renamed config_dozeAfterScreenOff
New name is config_dozeAfterScreenOffByDefault
Bug: 73178121

Change-Id: Ie3d1ea5a2cc480655592bf6e49b37f5ea07f3f58

Signed-off-by: Alberto97 <albertop2197@gmail.com>
2018-09-23 21:06:04 -03:00
Roshan Pius
51065bd797 manifest: Add hostapd HIDL interface
Bug: 36646171
Test: Manual softap toggle
Change-Id: If3c9ea38317b1fee66a383ad88cabf695748853a

Signed-off-by: Alberto97 <albertop2197@gmail.com>
2018-09-23 21:06:04 -03:00
therootlord
52af608f03 sanders: config.fs: add missing AID_VENDOR_QCOM_DIAG 2018-09-23 21:06:04 -03:00
rahulsnair
8ef903b381 sanders: config.fs system/vendor -> vendor
Change-Id: I6862b6a509f5116d6eefb29765445e02900ee1c1
2018-09-23 21:05:56 -03:00
Tom Cherry
8bad0865ea Move mkdir /data/nfc/... to rootdir init.rc
These are directories used by the system so they should be created by
the system.

Test: treehugger
Change-Id: I4c2d381423e002705f4de09d34a63a49ec473688

Signed-off-by: Alberto97 <albertop2197@gmail.com>
2018-09-23 20:27:23 -03:00
Jaekyun Seok
d5d0276021 Add 'vendor.' prefix to a vendor HAL service name
To prevent property name collisions between properties of system and
vendor, 'vendor.' prefix must be added to a vendor HAL service name.
You can see the details in http://go/treble-sysprop-compatibility.

Test: succeeded building and tested on a sailfish device.
Bug: 36796459
Change-Id: I48e6ee0ae3fe401e39efb273256d991fac676357
Signed-off-by: Alberto97 <albertop2197@gmail.com>
2018-09-23 20:27:23 -03:00
therootlord
c6c3e249ed sanders: remove 32b sensorservice/hal from build
* Switched to 64b sensors
2018-09-23 20:27:23 -03:00
Erfan Abdi
b11faddcb2 sanders: Migrate to vendor_prop.mk
Change-Id: Id6ad39dccd5152b3dc6347e36119818a7fda2286
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>

Signed-off-by: therootlord <igor_cestari@hotmail.com>
2018-09-23 20:27:16 -03:00
therootlord
4e98a22d84 sanders: BoardConfig: specify kernel clang version instead of path 2018-09-23 15:24:20 -03:00
Isaac Chen
6eea1ccd47 sanders: Set TARGET_2ND_ARCH_VARIANT to armv8-a
Sanders is armv8 device. Setting TARGET_2ND_ARCH_VARIANT to armv8-a,
instead of armv7-a-neon, can silence the related warning during build.

Bug: 68012286
Test: lunch aosp_bullhead; make -j
Change-Id: I0989c3d4185334dbfe0a3d79d3595d8dff8abd2b
2018-09-20 22:20:34 -03:00
therootlord
e591adb423 sanders: update nfc configs from OPS28.65-14 2018-09-20 22:20:34 -03:00
Jerry Zhang
aba46b72f2 sanders: Set sys.usb.ffs.aio_compat
The kernel does not support aio with ffs.
Set the property so adb/mtp know to use the compatible
functions, and the same while in recovery.

Bug: 37916658
Test: Use adb / use adb in recovery
Change-Id: Id35a05fcb9952dcf7239bd15a61cc620537419bc
2018-09-20 22:19:01 -03:00
Mathieu Chartier
1202a38355 sanders: Fix shared vdex name
The files in arm/arm64 are symlinks and pinning symlinks is not
supported. Pin the target vdex file intead.

Bug: 73990433
Test: manual
Change-Id: I313e1f53487c0a21b615f65dc64c21a1ecb4b7d5
2018-09-20 22:19:01 -03:00
LuK1337
f639ff65b5 sanders: Add vendor_ prefix for our custom AIDs
Change-Id: Ie1dd9c1f6a79d04b42e12e0fd9dabdc22b2f6927
2018-09-20 22:19:01 -03:00
Roshan Pius
736519d8c9 sanders: Don't start supplicant with interfaces
Framework will now add interface to supplicant (via HIDL) when it
needs to control an interface, so don't specify them in the startup
params.

Bug: 69426063
Test: Device boots up and able to connect to wifi.
Change-Id: I817d28093f8b982e3806c212babd888c0f5eb7c0
2018-09-20 22:15:50 -03:00
Roshan Pius
90c6b2d95d sanders: wpa_supplicant(hidl): Add support for starting HAL lazily
Bug: 72394251
Test: Able to start supplicant from framework using
ISupplicant.getService()
Change-Id: I19b8434e7241b9028e7dc86316ec9d5512affcca
2018-09-20 22:15:50 -03:00
Roshan Pius
76486bf705 sanders: Uprev to supplicant 1.1
Bug: 65673412
Test: Device boots up and connects to wifi networks.
Change-Id: I2e51291b30fd242edbeae2c69ef9545383895bb3
2018-09-20 22:15:50 -03:00
Jeff Vander Stoep
61803ca1ae sanders: wpa_supplicant: Move control sockets to /data/vendor
Treble compliance.

Bug: 70228425
Bug: 70393317
Test: complete wifi test in b/70393317
Test: Test wifi on Taimen and Sailfish
Test: verify sockets exist in /data/vendor/wifi/wpa/sockets

Change-Id: I0bfc3a351419f0a03498e79664949f353369bf1b
2018-09-20 22:15:50 -03:00
Etan Cohen
d899d7adfc sanders: 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
2018-09-20 22:15:50 -03:00
therootlord
2a1c394e17 sanders: reorder manifest.xml 2018-09-20 22:12:37 -03:00
therootlord
4901164b18 sanders: init.qcom.rc: add eas changes 2018-09-20 21:39:03 -03:00
therootlord
cd344b15f4 sanders: update audio configs from OPS28.65-14 2018-09-20 21:35:10 -03:00
therootlord
903fe1c7e9 sanders: update wifi configs from OPS28.65-14 2018-09-20 21:35:10 -03:00
therootlord
e6f7b19d23 sanders: enable build of device sepolicy rules 2018-09-20 21:33:58 -03:00
Wei Wang
c3ed1ad6ce sanders: Use mke2fs to create ext4 images
Set TARGET_USES_MKE2FS := true to use new EXT4 tool chain

Bug: 62421233
Change-Id: Id6e5c68b2d7854e5330ad87443b974361a4bff9d
2018-07-19 18:49:45 -03:00
Alberto97
a2c262dd16 Actions: Don't listen for stow events
This was required in the past to trigger doze when pulling out the
device from a pocket (we were handling the "pick up" action with Flat Up sensor).
Currently Glance sensor is being used which gets triggered in the previously described case itself
thus there's no need to keep stow implementation alive.
2018-07-19 18:49:45 -03:00
therootlord
d478b91437 sanders: overlay: cleanup 2018-07-19 18:49:45 -03:00
therootlord
5212344fbf sanders: update display calib data from stock 2018-07-19 18:49:45 -03:00
therootlord
b996f6a823 sanders: update audio_platform_info.xml from stock 2018-07-19 18:49:45 -03:00
therootlord
e0a39bf405 sanders: disable TARGET_TAP_TO_WAKE_NODE
* We're not using DT2W
2018-07-19 18:49:45 -03:00
Henrique Silva
efb24c3850 Cleanup tree
* Cleanup some mk files
* Remove lineage.dependencies
2018-07-19 18:49:45 -03:00
therootlord
dbfc070894 sanders: add camera aux supported apps list prop 2018-07-19 18:49:45 -03:00
Vachounet
cd397e3cae sanders: avoid conflicting with common thermal hal 2018-07-19 18:49:44 -03:00
Nilesh Shah
a49826fe3c sanders: Enable vulkan compute feature
This code change ensures that vulkan compute xml
is copied to /vendor/etc/permission which implictly
enable compute on vulkan

Change-Id: If11354f5fd46828a805318a742307e4382c58611
2018-07-19 18:49:44 -03:00
Michael Bestas
9acf9b90cd sanders: Build 1.0 power HAL
* prima doesn't have support for wifi stats
2018-07-19 18:49:44 -03:00
therootlord
93da59c264 sanders: update sensor prop from stock 2018-07-19 18:49:44 -03:00
therootlord
fdde490615 sanders: update some camera configs from stock 2018-07-19 18:49:44 -03:00
Henrique Silva
83198bae3f sanders: rootdir: Fix mot_xxxx AIDs 2018-07-19 18:49:44 -03:00
Vachounet
500d90751b sanders: audio: add back FM entries
* Gone when switching to xml policy
2018-07-19 18:49:44 -03:00
Vachounet
7104020771 sanders: update sepolicy path 2018-07-19 18:49:44 -03:00
Vachounet
13c6967767 sanders: update init.*.rc from stock 2018-07-19 18:49:44 -03:00
Vachounet
10188cc108 sanders: update sepolicy
* fix build with treble
2018-07-19 17:49:34 -03:00
Henrique Silva
82db051a4e sanders: Don't copy media_profiles to /system/ 2018-07-19 03:03:06 -03:00
Vachounet
247c0b4e27 sanders: move MotoActions to vendor 2018-07-19 03:02:59 -03:00
Vachounet
e3c7463566 sanders: drop device keyhandler for now 2018-07-19 03:02:59 -03:00
Vachounet
f8a701ea1d sanders: copy keylayouts to vendor
* And update fingerprint one
2018-07-19 03:02:58 -03:00
Vachounet
b6de4fd4db sanders: sync media configs with stock 2018-07-19 03:02:58 -03:00
Vachounet
976b07567b sanders: build kernel with clang 2018-07-19 03:02:58 -03:00
Henrique Silva
a94abe8926 sanders: Move fingerprint back to makefile
* Required because vendor.img is separated
2018-07-19 03:02:58 -03:00
Henrique Silva
17eb921ee5 sanders: Remove hal1 packagelist
Deprecated
2018-07-19 03:02:58 -03:00
Vachounet
afd04fabe9 sanders: sync some props with stock 2018-07-19 03:02:58 -03:00
jhenrique09
6bad770ffc sanders: don't build camera service
* Conflicts with Moto one
2018-07-19 03:02:58 -03:00
Vachounet
60669a4f35 sanders: switch to xml audio policy 2018-07-19 03:02:58 -03:00
Vachounet
aa2a398549 sanders: override some system props
* Fix camera HAL that still expects ro.* instead of ro.vendor*
2018-07-19 03:02:58 -03:00
Vachounet
84b87de13c sanders: bye shims 2018-07-19 03:02:58 -03:00
Vachounet
23ad650025 sanders: move charge_only_mode to vendor
Change-Id: I8c5dd54ad9040f94bca25794d12ec564bfad7f85
2018-07-19 03:02:58 -03:00
Vachounet
0fffdf7b2f sanders: fix some firmwares paths
Change-Id: I112495d5db21f888fb02253f798605e58be9edaa
2018-07-19 03:02:50 -03:00
Sohamlad7
076fad1720 sanders: Move liblight and fp wrapper to vendor
* vendor.prop: force nav bar to be enabled by default for some gsi

Change-Id: I9e9cb2399ed4ac717ffb715dc740ab30501ce485
2018-07-19 03:02:50 -03:00
Sohamlad7
36c0b81ea6 sanders: move wcnss symlinks to vendor
Change-Id: If4d3af9256dd1b173f222d0ebaa9808bf516c68d
2018-07-19 03:02:50 -03:00
Sohamlad7
d751dc3717 sanders: Change audio.calfile and rild path
* and change sbin path to vendor

Change-Id: Iee8427abfdfc999ab8ca00161065105ec3eb6f84
2018-07-19 03:02:50 -03:00
Nick
7d6d8c11dc sanders: Fix path of check_features.sh (#17)
*Also correct the path of the nfc, compass & DTV files
2018-07-19 03:02:49 -03:00
Vachounet
070bf328b1 sanders: set vbmeta-version in compatibility_matrix
* Fix vendor image mismatch warning on boot

https://github.com/LineageOS/android_frameworks_base/blob/lineage-15.1/core/java/android/os/Build.java#L899
2018-07-19 03:02:49 -03:00
Vachounet
f0c2c7ed74 sanders: move camera configs to vendor 2018-07-19 03:02:49 -03:00
Vachounet
660bbadb06 sanders: build camera provider service
* And add hidl to manifest
* Also add memtrack service
2018-07-19 03:02:49 -03:00
Vachounet
da6eee2704 sanders: fix vendor.prop path 2018-07-19 03:02:49 -03:00
therootlord
3566d465e7 sanders: build a 32b version of android.hardware.sensors service
* Also add input group access
2018-07-19 03:02:49 -03:00
Vachounet
02c3e17ba7 sanders: add biometrics HIDL 2018-07-19 03:02:49 -03:00
Vachounet
9b7fe62fa0 sanders: get rid of multihal config 2018-07-19 03:02:49 -03:00
Vachounet
92d056ceaf sanders: init: fix wcnss_service path 2018-07-19 03:02:49 -03:00
Vachounet
bee8fde070 sanders: update NFC config file to use /data/vendor/nfc 2018-07-19 03:02:49 -03:00
Vachounet
e47c31716b sanders: add NFC and sensors services to manifest 2018-07-19 03:02:41 -03:00
Vachounet
c9116e3678 sanders: move moar config files to vendor
* Also build NFC and sensors services
2018-07-19 03:02:41 -03:00
Vachounet
475518e3b8 sanders: split vendor specific and system props 2018-07-19 03:02:41 -03:00
Vachounet
c21c805fa8 sanders: move firmwares symlinks to vendor 2018-07-19 03:02:41 -03:00
Vachounet
7207d67758 sanders: init: /system/vendor -> /vendor 2018-07-19 03:02:40 -03:00
Vachounet
e8de4d1208 sanders: start that treble disaster 2018-07-19 03:01:03 -03:00
Henrique Silva
2d7fc638e6 sanders: sepolicy: Fix rootfs on untrusted_app
* With this, some file explorers cannot access the root partition (even with superuser rights granted)
2018-07-19 02:09:46 -03:00
Henrique Silva
05af13d217 sanders: Address some denials 2018-07-19 02:09:46 -03:00
Vachounet
0df4237dd3 sanders: remove TARGET_USES_MEDIA_EXTENSION flag
* It's now default enable for all QC devices : https://review.lineageos.org/#/c/213117/
2018-07-19 02:09:46 -03:00
Henrique Silva
da8f27af9f sanders: Fix qti_whitelist path 2018-05-03 02:39:03 -03:00
Bruno Martins
58a2888320 sanders: libinit: Also override certain vendor build properties 2018-04-29 02:55:43 -03:00
Bruno Martins
d40f88c860 sanders: init: Handle overriding system and vendor props
* Up until now, vendor build properties were added into /system/build.prop
   when property split isn't enabled. However, Google realised that
   either /vendor/build.prop or /system/vendor/build.prop can always exist,
   and decided to clean up code and always install vendor build props
   into $(TARGET_OUT_VENDOR)/build.prop.

 * For this reason, the unified devices that used to override build props
   such as build fingerprint, will need to override the matching vendor
   build props.

Change-Id: Iacdd8eb67543daff5a46b92dbaf17cd094ce462b
2018-04-29 02:41:24 -03:00
Bruno Martins
61903f5113 sanders: Drop useless CNE related flag
* Nothing in the OSS bits takes it into account.

Change-Id: I6f949a12c643810cb1fba764bf13abb30e5dd88c
2018-04-27 19:13:39 -03:00
Rashed Abdel-Tawab
1626080a5c sanders: Move HIDL shims to vendor
Nothing uses these in system. No need to keep them there
also address denials (thanks to @joojoobee666)

Change-Id: Ia09e6611f801a79fa9ac04c60425397eada383ec
2018-04-27 19:12:08 -03:00
dianlujitao
ec4c1e393a sanders: Build dummy android.hidl.[base,manager]@1.0
* Required by Oreo-MR0 blobs

Change-Id: I81a081130869c4d92f30b2674e75bb6b096a7a2c
2018-04-27 19:10:46 -03:00
jhenrique09
354bf4fabf Revert latest hidl dummy libs commits
* With Android.bp duplicate reference error will occur:

23:54:16 error: device/motorola/cedric/libhidl/Android.bp:1:1: module "android.hidl.base@1.0" already defined
23:54:16 error: device/motorola/potter/libhidl/Android.bp:1:1: <-- previous definition here
23:54:16 error: device/motorola/cedric/libhidl/Android.bp:12:1: module "android.hidl.manager@1.0" already defined
23:54:16 error: device/motorola/potter/libhidl/Android.bp:12:1: <-- previous definition here

Revert "sanders: build a dummy android.hidl.manager@1.0"

This reverts commit edd4757655.

Revert "sanders: Build a dummy android.hidl.base@1.0 for Oreo-MR0 blobs"

This reverts commit 11becd0eca.
2018-04-27 19:04:55 -03:00
therootlord
4b82e25628 sanders: sepolicy: cleanup 2018-04-27 16:42:01 -03:00
Vachounet
3f951ce093 sanders: address some denials
Change-Id: I90239f922aea3b7684b492ea34f137ef31577221
2018-04-27 14:09:32 -03:00
Vache
da902d3674 sanders: label mmcblk0p35 as metadata_block_device
* No idea why /dev/block/bootdevice/by-name/metadata doesn't work
* Also apply proper vold rules
* Fix encryption
2018-04-27 14:07:17 -03:00
jhenrique09
ec6a5a41a5 sanders: sepolicy: Fix camera_bgproc service denials 2018-04-27 14:06:30 -03:00
jhenrique09
14a8a7f47c sanders: sepolicy: Fix adspd denial
* Fix Ok Google

02-01 19:29:32.243 I/auditd  ( 2567): type=1400 audit(0.0:18): avc: denied { read } for uid=10046 comm="earchbox:search" name="u:object_r:adspd_prop:s0" dev="tmpfs" ino=15433 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:adspd_prop:s0 tclass=file permissive=0
2018-04-27 14:04:54 -03:00
Vachounet
7b2d219e9c sanders: fix FMRadio after enforcing
* Use oss service
* Set proper context

Change-Id: I7bd58339bf2d9d37847961f9260eead785c14c5a
2018-04-27 14:03:52 -03:00
jhenrique09
46660b7702 sanders: Fix moar denials 2018-04-26 01:37:47 -03:00
jhenrique09
2081af0064 sanders: sepolicy: Fix more denials 2018-04-26 01:35:50 -03:00
jhenrique09
b237828d88 sanders: sepolicy: Give proper label to custom fp hal 2018-04-26 01:28:38 -03:00
Vachounet
afb5c1e6f7 sanders: remove persist_block_device from dev_type
* Already defined
2018-04-26 01:26:13 -03:00
Vachounet
e6898f1a78 sanders: update sepoly again 2018-04-26 01:24:28 -03:00
Vachounet
baa9d4a4ea sanders: address some new denials 2018-04-26 01:19:15 -03:00
Vachounet
2094c0db30 sanders: sepolicy update 2018-04-26 01:17:20 -03:00
Vachounet
005c212c61 sanders: sepolicy update
Change-Id: Ibc045495b988437244304f37d451c9537a53a4f3
2018-04-26 00:58:56 -03:00
jhenrique09
c65378a328 sanders: sepolicy: Remove duplicated reference 2018-04-26 00:07:40 -03:00
Vachounet
c030252639 sanders: build libqdMetaData.system
Change-Id: Ia5ad7e28569253d267cead4dbc85bc4fc202d7c2
2018-04-02 15:02:03 -03:00
Vachounet
a804edfd89 sanders: build libdisplayconfig
Change-Id: I06a4bfe9c775d1e3f831cb2f61cde27b19a4dc93
2018-04-02 15:01:36 -03:00
Vachounet
0a371fa939 sanders: enable TARGET_USE_SDCLANG
Change-Id: I3b4d503a5daa07cf15d96363a1fb88bd72ee7879
2018-04-02 15:01:10 -03:00
attack11
f419a198aa msm8953: sched_upmigrate need to be set first 2018-04-01 02:47:48 -03:00
attack11
97ad391067 Revert "Use tracefs not debugfs"
This reverts commit 4312ce926ab60cbde9ff079908b7eb2954824419.
2018-03-23 19:26:57 -03:00
Varun Garg
4e4e55cca4 msm8953: Update the sched parameters
Updating the sched params upmigrate, downmigrate
and upmigrate_min_nice for msm8953

Change-Id: I204bdc817bf769aa9f36acf4b4e2f151fe48d3c5
2018-03-23 19:22:10 -03:00
jhenrique09
a16467737d sanders: Use all cores in dex2oat 2018-03-22 23:07:08 -03:00
therootlord
9d35be7aef Revert "sanders: Use all cores for dex2oat"
This reverts commit 51644ac52a.
2018-03-22 22:59:55 -03:00
Dan Pasanen
27831bbe96 sanders: use kernel-based exfat
Change-Id: If271a3441027cf66ed7142d99ee8fe7b6c596de3
2018-03-19 00:33:26 -03:00
Vachounet
c289905a7d sanders: add some qcom HALs 2018-03-17 12:38:01 -03:00
Vachounet
52f4de4958 Revert "sanders: enable radio power save"
(reverted from commit 26ddbb0c29)
2018-03-17 12:34:14 -03:00
Vache
7a586a2151 sanders: update trim properties from stock
* https://review.lineageos.org/#/c/208080/
2018-03-13 13:42:24 -03:00
Vache
26ddbb0c29 sanders: enable radio power save 2018-03-13 13:31:26 -03:00
dianlujitao
be42bf9056 sanders: Add Lineage power hal to manifest
Change-Id: I03b213310b66be95d779c507dc22f748dc19c366
2018-03-05 16:30:38 -03:00
Vachounet
496570a51f sanders: shim: transition to TARGET_LD_SHIM_LIBS 2018-03-05 02:41:31 -03:00
jhenrique09
586b1a78c4 sanders: overlay: Enable turbo power charger support
* The text 'TurboPower connected' will be displayed on keyguard instead of 'Fast charging'
2018-02-24 21:15:08 -03:00
Lennart Wieboldt
81ce9eca39 sanders: remove cpuset foreground boost
Cpuset foreground boost is departed since
https://android.googlesource.com/platform/frameworks/base/+/a712d4058f6f85268838

Change-Id: Iab1834dbb8cce15480b5e11968bcfff7cc80177e
Signed-off-by: Lennart Wieboldt <lennart.1997@gmx.de>
2018-02-16 01:27:43 -02:00
Alexander Martinz
30abb787a0 sanders: remove CPUSETS build flags
They both got replaced by runtime checks, see system/core @ 795267d4c

Change-Id: If6a5b5d93dd327475a1e6d3b80244381b1414f99
Signed-off-by: Alexander Martinz <alex@amartinz.at>
2018-02-16 01:22:08 -02:00
Rashed Abdel-Tawab
9542b45b9a sanders: Add QTI low power whitelist
Change-Id: Idb4a954979f916a7903ead982bf18b33e5cf1baf
2018-02-16 01:15:22 -02:00
dianlujitao
daefa1fec1 sanders: Add OEM privileged app permissions
Change-Id: If5425295a67449685737ab4e8099a5e2b432c78e
2018-02-16 01:11:29 -02:00
therootlord
efa9ea1915 sanders: MotoActions: Dexpreopt it 2018-02-11 19:47:49 -02:00
therootlord
f1e8d0379b sanders: MotoActions: Disable hand wave by default 2018-02-08 01:53:34 -02:00
therootlord
8cbf0fd3bb sanders: MotoActions: Re-add/fix Glance Sensor 2018-02-08 01:16:19 -02:00
Vachounet
44cfb60227 Revert "sanders: drop libqsap_sdk"
* OSS one has missing symbols, keep it as blob only

(reverted from commit a9c2dd4486)

Change-Id: I388727a3f9c99719301565fde32ff36b3b26d225
2018-02-07 22:49:45 -02:00
Dan Pasanen
c6ea6e0279 sanders: add shim for wifi_qsap_set_tx_power
Change-Id: I9ef277db6f4e068e7b92710f6039b4f261d72282
2018-02-07 22:47:27 -02:00
Vachounet
4501be51f5 sanders: update GPS HAL
* LA.UM.6.5.r1-04000-8x96.0

Change-Id: I53666d7eb27d350c6a4893ad37d2a69b16fceb7e
2018-02-07 22:37:32 -02:00
Vachounet
809d80472d sanders: add health HIDL 2018-02-07 22:28:41 -02:00
therootlord
1bb7d60aeb sanders: Bringup for SacredOS 2018-01-27 18:22:03 -02:00
jhenrique09
355b8575a3 sanders: Cleanup device 2018-01-27 18:15:44 -02:00
jhenrique09
ed3a1e0d54 sanders: Nuke data-ipa-cfg-mgr 2018-01-27 17:54:43 -02:00
jhenrique09
d6cf4553cb sanders: rootdir: Remove some interactive and lowmemorykiller nodes
[   21.260478,1] init: Unable to open '/sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor': Permission denied
[   21.264136,6] init: Unable to open '/sys/module/lowmemorykiller/parameters/enable_adaptive_lmk': Permission denied
[   21.264277,6] init: Unable to open '/sys/module/lowmemorykiller/parameters/vmpressure_file_min': Permission denied

These nodes doesn't exists on kernel
2018-01-27 17:54:43 -02:00
jhenrique09
a1b586ff86 sanders: MotoActions: Nuke PiP action
* Useless
2018-01-27 17:52:04 -02:00
jhenrique09
fddc97c38d sanders: MotoActions: Change to sdk 27 2018-01-25 01:22:31 -02:00
Vachounet
db241034c9 sanders: use /system/vendor/bin/sh for init scripts
* For real

Change-Id: I41419e2b0f8746d94ca3b4b52af9e4bcade72f17
2018-01-23 03:43:03 -02:00
Vachounet
a9c2dd4486 sanders: drop libqsap_sdk
* OSS one has missing symbols, keep it as blob only
2018-01-23 03:32:39 -02:00
Alberto97
5fd08bcddb sanders: Directly copy wlan files
* Symlinks are no more required, kill them
2018-01-23 03:30:52 -02:00
Alberto97
71cae9a7e3 sanders: WCNSS update 2018-01-23 03:15:10 -02:00
Vachounet
63050236bf sanders: use /system/vendor/bin/sh for init scripts 2018-01-23 00:32:35 -02:00
Vachounet
e0fb48e962 sanders: remove fingerprintd service
* Not needed
2018-01-20 00:53:36 -02:00
Vachounet
f36554f416 MotoActions: remove unused debug logs 2018-01-20 00:52:12 -02:00
Vachounet
f494fbc72d sanders: update post-install script
* Permissions moved to vendor
* Fix deep sleep issue on variants without NFC

Change-Id: Ie5a24a3debe638a3f491d12aa62bf1775b955972
2018-01-19 01:20:04 -02:00
Vachounet
7041fc5533 sanders: add telephony-ext to boot JARs 2018-01-19 01:14:30 -02:00
Henrique Silva
2c0096a663 sanders: rootdir: Move swapon_all to right place 2018-01-19 01:10:46 -02:00
Vachounet
14da1dae25 sanders: move init.*.rc to vendor
* Early mount /system
* Create a dedicated fstab for TWRP
* Load fstab from vendor
* Move also ueventd.qcom to vendor

Change-Id: Ifcefd31dcbcf562efc6359e1fa1e155d24d802e5
2018-01-19 01:08:50 -02:00
Vachounet
edd4757655 sanders: build a dummy android.hidl.manager@1.0 2018-01-19 00:46:42 -02:00
dianlujitao
11becd0eca sanders: Build a dummy android.hidl.base@1.0 for Oreo-MR0 blobs
Change-Id: I81a081130869c4d92f30b2674e75bb6b096a7a2c
2018-01-19 00:45:57 -02:00
Rashed Abdel-Tawab
be3a3a0958 sanders: Set IMS to use CodeAurora extension
Change-Id: I64cba319986748e4dad206ca664ccda7eefb348a
2018-01-19 00:45:03 -02:00
Vachounet
4b10a52396 sanders: shims cleanup
Change-Id: Ideafbadf8d51c94b7505201239e32435dc3ea54f
2018-01-19 00:42:07 -02:00
Vachounet
ebf6515642 sanders: update for IMS
* Services update
* Add HIDL HALs
2018-01-19 00:32:47 -02:00
Vachounet
2857c412b3 sanders: add vendor.qti.hardware.alarm HIDL 2018-01-16 02:12:52 -02:00
Vachounet
449d402213 sanders: build configstore service 2018-01-16 02:12:52 -02:00
Adrian DC
e7d79b3425 MotoActions: Import Oreo Settings layouts
* These layouts are necessary for custom activities to inherit from
   (those that are integrated into Settings, which is the case of the
   several forms of DeviceSettings), in order to keep UI consistency.
   In Oreo, all Settings preferences and preference categories
   have a margin on the left, reserved for icons.

 * Place the layouts here, to avoid cluttering device trees
   (plain copy of Google's layouts from Settings app).

Change-Id: Ib3f670b19c7e728b97fd76efe04bcc2f69008b06
2018-01-16 02:04:05 -02:00
jhenrique09
5ed4bb49f9 sanders: LineageActions -> MotoActions 2018-01-16 02:02:08 -02:00
614 changed files with 17232 additions and 46767 deletions

3
Android.bp Normal file
View File

@@ -0,0 +1,3 @@
subdirs = [
"light",
]

View File

@@ -17,29 +17,47 @@ ifneq ($(filter sanders,$(TARGET_DEVICE)),)
LOCAL_PATH := $(call my-dir) LOCAL_PATH := $(call my-dir)
FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt
DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp
FSG_MOUNT_POINT := $(TARGET_OUT_VENDOR)/fsg
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) \
$(DSP_MOUNT_POINT) \
$(FSG_MOUNT_POINT)
$(FIRMWARE_MOUNT_POINT):
@echo "Creating $(FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
$(DSP_MOUNT_POINT):
@echo "Creating $(DSP_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/dsp
$(FSG_MOUNT_POINT):
@echo "Creating $(FSG_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/fsg
FIRMWARE_ADSP_IMAGES := \ FIRMWARE_ADSP_IMAGES := \
adsp.b00 adsp.b01 adsp.b02 adsp.b03 adsp.b04 adsp.b05 adsp.b06 \ adsp.b00 adsp.b01 adsp.b02 adsp.b03 adsp.b04 adsp.b05 adsp.b06 \
adsp.b07 adsp.b08 adsp.b09 adsp.b10 adsp.b11 adsp.b12 adsp.b13 \ adsp.b07 adsp.b08 adsp.b09 adsp.b10 adsp.b11 adsp.b12 adsp.b13 \
adsp.mdt adsp.mdt
FIRMWARE_ADSP_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_ADSP_IMAGES))) FIRMWARE_ADSP_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/firmware/,$(notdir $(FIRMWARE_ADSP_IMAGES)))
$(FIRMWARE_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(FIRMWARE_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "ADSP Firmware link: $@" @echo "ADSP Firmware link: $@"
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@rm -rf $@ @rm -rf $@
$(hide) ln -sf /firmware/image/$(notdir $@) $@ $(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_ADSP_SYMLINKS) ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_ADSP_SYMLINKS)
FIRMWARE_CPPF_IMAGES := \ FIRMWARE_CPPF_IMAGES := \
cppf.b00 cppf.b01 cppf.b02 cppf.b03 cppf.b04 cppf.b05 cppf.b06 cppf.mdt cppf.b00 cppf.b01 cppf.b02 cppf.b03 cppf.b04 cppf.b05 cppf.b06 cppf.mdt
FIRMWARE_CPPF_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_CPPF_IMAGES))) FIRMWARE_CPPF_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/firmware/,$(notdir $(FIRMWARE_CPPF_IMAGES)))
$(FIRMWARE_CPPF_SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(FIRMWARE_CPPF_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Fingerprint Firmware link: $@" @echo "Fingerprint Firmware link: $@"
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@rm -rf $@ @rm -rf $@
$(hide) ln -sf /firmware/image/$(notdir $@) $@ $(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_CPPF_SYMLINKS) ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_CPPF_SYMLINKS)
@@ -48,12 +66,12 @@ FIRMWARE_FINGERPRINT_IMAGES := \
fpctzappfingerprint.b03 fpctzappfingerprint.b04 fpctzappfingerprint.b05 \ fpctzappfingerprint.b03 fpctzappfingerprint.b04 fpctzappfingerprint.b05 \
fpctzappfingerprint.b06 fpctzappfingerprint.mdt fpctzappfingerprint.b06 fpctzappfingerprint.mdt
FIRMWARE_FINGERPRINT_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_FINGERPRINT_IMAGES))) FIRMWARE_FINGERPRINT_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/firmware/,$(notdir $(FIRMWARE_FINGERPRINT_IMAGES)))
$(FIRMWARE_FINGERPRINT_SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(FIRMWARE_FINGERPRINT_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Fingerprint Firmware link: $@" @echo "Fingerprint Firmware link: $@"
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@rm -rf $@ @rm -rf $@
$(hide) ln -sf /firmware/image/$(notdir $@) $@ $(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_FINGERPRINT_SYMLINKS) ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_FINGERPRINT_SYMLINKS)
@@ -63,12 +81,12 @@ FIRMWARE_MODEM_IMAGES := \
modem.b13 modem.b16 modem.b17 modem.b18 modem.b19 modem.b20 \ modem.b13 modem.b16 modem.b17 modem.b18 modem.b19 modem.b20 \
modem.mdt modem.mdt
FIRMWARE_MODEM_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_MODEM_IMAGES))) FIRMWARE_MODEM_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/firmware/,$(notdir $(FIRMWARE_MODEM_IMAGES)))
$(FIRMWARE_MODEM_SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(FIRMWARE_MODEM_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Modem Firmware link: $@" @echo "Modem Firmware link: $@"
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@rm -rf $@ @rm -rf $@
$(hide) ln -sf /firmware/image/$(notdir $@) $@ $(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MODEM_SYMLINKS) ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MODEM_SYMLINKS)
@@ -76,12 +94,12 @@ FIRMWARE_WCNSS_IMAGES := \
wcnss.b00 wcnss.b01 wcnss.b02 wcnss.b04 wcnss.b06 \ wcnss.b00 wcnss.b01 wcnss.b02 wcnss.b04 wcnss.b06 \
wcnss.b09 wcnss.b10 wcnss.b11 wcnss.b12 wcnss.mdt wcnss.b09 wcnss.b10 wcnss.b11 wcnss.b12 wcnss.mdt
FIRMWARE_WCNSS_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_WCNSS_IMAGES))) FIRMWARE_WCNSS_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/firmware/,$(notdir $(FIRMWARE_WCNSS_IMAGES)))
$(FIRMWARE_WCNSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(FIRMWARE_WCNSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "WCNSS Firmware link: $@" @echo "WCNSS Firmware link: $@"
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@rm -rf $@ @rm -rf $@
$(hide) ln -sf /firmware/image/$(notdir $@) $@ $(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_WCNSS_SYMLINKS) ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_WCNSS_SYMLINKS)
@@ -94,7 +112,7 @@ $(FIRMWARE_WIDEVINE_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Widevine Firmware link: $@" @echo "Widevine Firmware link: $@"
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@rm -rf $@ @rm -rf $@
$(hide) ln -sf /firmware/image/$(notdir $@) $@ $(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_WIDEVINE_SYMLINKS) ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_WIDEVINE_SYMLINKS)
@@ -104,10 +122,10 @@ $(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@rm -rf $@/* @rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor @mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps $(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps
$(hide) ln -sf /persist/rfs/msm/adsp $@/readwrite $(hide) ln -sf /mnt/vendor/persist/rfs/msm/adsp $@/readwrite
$(hide) ln -sf /persist/rfs/shared $@/shared $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /persist/hlos_rfs/shared $@/hlos $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /firmware $@/readonly/firmware $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/ RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/
@@ -116,10 +134,10 @@ $(RFS_MSM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@rm -rf $@/* @rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor @mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps $(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps
$(hide) ln -sf /persist/rfs/msm/slpi $@/readwrite $(hide) ln -sf /mnt/vendor/persist/rfs/msm/slpi $@/readwrite
$(hide) ln -sf /persist/rfs/shared $@/shared $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /persist/hlos_rfs/shared $@/hlos $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /firmware $@/readonly/firmware $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/ RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/
@@ -128,10 +146,10 @@ $(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@rm -rf $@/* @rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor @mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps $(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps
$(hide) ln -sf /persist/rfs/msm/mpss $@/readwrite $(hide) ln -sf /mnt/vendor/persist/rfs/msm/mpss $@/readwrite
$(hide) ln -sf /persist/rfs/shared $@/shared $(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /persist/hlos_rfs/shared $@/hlos $(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /firmware $@/readonly/firmware $(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware $(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS) ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS)
@@ -142,7 +160,7 @@ $(IMS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "IMS lib link: $@" @echo "IMS lib link: $@"
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@rm -rf $@ @rm -rf $@
$(hide) ln -sf /system/vendor/lib64/$(notdir $@) $@ $(hide) ln -sf /vendor/lib64/$(notdir $@) $@
ALL_DEFAULT_INSTALLED_MODULES += $(IMS_SYMLINKS) ALL_DEFAULT_INSTALLED_MODULES += $(IMS_SYMLINKS)

View File

@@ -1,11 +1,11 @@
# #
# Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2017-2018 The LineageOS Project
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
# You may obtain a copy of the License at # You may obtain a copy of the License at
# #
# http://www.apache.org/licenses/LICENSE-2.0 # http://www.apache.org/licenses/LICENSE-2.0
# #
# Unless required by applicable law or agreed to in writing, software # Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, # distributed under the License is distributed on an "AS IS" BASIS,
@@ -13,6 +13,5 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
LOCAL_PATH := $(call my-dir) PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/aosp_sanders.mk
include $(call first-makefiles-under,$(LOCAL_PATH))

View File

@@ -27,7 +27,6 @@ TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
# Platform # Platform
TARGET_BOARD_PLATFORM := msm8953 TARGET_BOARD_PLATFORM := msm8953
TARGET_BOARD_PLATFORM_GPU := qcom-adreno506
# Bootloader # Bootloader
TARGET_BOOTLOADER_BOARD_NAME := MSM8953 TARGET_BOOTLOADER_BOARD_NAME := MSM8953
@@ -39,36 +38,30 @@ TARGET_ARCH_VARIANT := armv8-a
TARGET_CPU_ABI := arm64-v8a TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_ABI2 := TARGET_CPU_ABI2 :=
TARGET_CPU_VARIANT := cortex-a53 TARGET_CPU_VARIANT := cortex-a53
TARGET_CPU_CORTEX_A53 := true
TARGET_2ND_ARCH := arm TARGET_2ND_ARCH := arm
TARGET_2ND_ARCH_VARIANT := armv7-a-neon TARGET_2ND_ARCH_VARIANT := armv8-a
TARGET_2ND_CPU_ABI := armeabi-v7a TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := cortex-a53 TARGET_2ND_CPU_VARIANT := cortex-a53
TARGET_CPU_CORTEX_A53 := true
# TARGET_PREFER_32_BIT := true
# TARGET_SUPPORTS_32_BIT_APPS := true
# TARGET_SUPPORTS_64_BIT_APPS := true
# TARGET_BOARD_SUFFIX := _64
TARGET_USES_64_BIT_BINDER := true
# Asserts # Asserts
TARGET_OTA_ASSERT_DEVICE := sanders,sanders_retail TARGET_OTA_ASSERT_DEVICE := sanders,sanders_retail
# Enable dexpreopt to speed boot time
WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY := true
WITH_DEXPREOPT := true
PRODUCT_DEXPREOPT_SPEED_APPS += SystemUI
# GPS # GPS
TARGET_NO_RPC := true TARGET_NO_RPC := true
USE_DEVICE_SPECIFIC_GPS := true USE_DEVICE_SPECIFIC_GPS := true
BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := $(TARGET_BOARD_PLATFORM) BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := $(TARGET_BOARD_PLATFORM)
# Init
TARGET_INIT_VENDOR_LIB := libinit_sanders
TARGET_RECOVERY_DEVICE_MODULES := libinit_sanders
# Kernel # Kernel
BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=30 msm_rtb.filter=0x237 TARGET_COMPILE_WITH_MSM_KERNEL := true
BOARD_KERNEL_CMDLINE += ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 vmalloc=350M androidboot.selinux=permissive BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=30 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 androidboot.bootdevice=7824900.sdhci firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
BOARD_KERNEL_BASE := 0x80000000 BOARD_KERNEL_BASE := 0x80000000
BOARD_KERNEL_IMAGE_NAME := Image.gz BOARD_KERNEL_IMAGE_NAME := Image.gz
BOARD_KERNEL_PAGESIZE := 2048 BOARD_KERNEL_PAGESIZE := 2048
@@ -80,40 +73,61 @@ TARGET_KERNEL_ARCH := arm64
TARGET_KERNEL_HEADER_ARCH := arm64 TARGET_KERNEL_HEADER_ARCH := arm64
TARGET_KERNEL_CONFIG := sanders_defconfig TARGET_KERNEL_CONFIG := sanders_defconfig
TARGET_KERNEL_SOURCE := kernel/motorola/msm8953 TARGET_KERNEL_SOURCE := kernel/motorola/msm8953
TARGET_KERNEL_CLANG_COMPILE := true
KERNEL_TOOLCHAIN := $(ANDROID_BUILD_TOP)/prebuilts/gcc/$(HOST_OS)-x86/aarch64/aarch64-linux-android-4.9/bin #TARGET_USE_SDCLANG := true
TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-androidkernel-
# Audio # Audio
AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD := true BOARD_USES_ALSA_AUDIO := true
AUDIO_FEATURE_ENABLED_APE_OFFLOAD := true USE_CUSTOM_AUDIO_POLICY := 1
AUDIO_FEATURE_ENABLED_ACDB_LICENSE := true AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true
AUDIO_FEATURE_ENABLED_DEV_ARBI := true
AUDIO_FEATURE_ENABLED_EXT_HDMI := true
AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD := true AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
AUDIO_FEATURE_ENABLED_FLUENCE := true AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true
AUDIO_FEATURE_ENABLED_HFP := true AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
AUDIO_FEATURE_ENABLED_HIFI_AUDIO := true
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD := true AUDIO_FEATURE_ENABLED_PCM_OFFLOAD := true
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24 := true AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24 := true
AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD := true
AUDIO_FEATURE_ENABLED_SOURCE_TRACKING := true
AUDIO_FEATURE_ENABLED_SSR := true
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD := true AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD := true
AUDIO_FEATURE_ENABLED_WMA_OFFLOAD := true AUDIO_FEATURE_ENABLED_WMA_OFFLOAD := true
AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD := true
AUDIO_FEATURE_ENABLED_APE_OFFLOAD := true
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
AUDIO_FEATURE_ENABLED_SSR := true
AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
BOARD_USES_SRS_TRUEMEDIA := false
DTS_CODEC_M_ := true
MM_AUDIO_ENABLED_SAFX := true
AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
DOLBY_ENABLE := false
USE_XML_AUDIO_POLICY_CONF := 1
AUDIO_USE_LL_AS_PRIMARY_OUTPUT := true AUDIO_USE_LL_AS_PRIMARY_OUTPUT := true
AUDIO_FEATURE_ENABLED_SND_MONITOR := true AUDIO_FEATURE_ENABLED_HIFI_AUDIO := true
BOARD_USES_ALSA_AUDIO := true AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
BOARD_USES_GENERIC_AUDIO := true AUDIO_FEATURE_ENABLED_NT_PAUSE_TIMEOUT := true
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
AUDIO_FEATURE_ENABLED_CUSTOMSTEREO := true
AUDIO_FEATURE_ENABLED_FLUENCE := true
AUDIO_FEATURE_ENABLED_HDMI_SPK := true
AUDIO_FEATURE_ENABLED_HDMI_EDID := true
AUDIO_FEATURE_ENABLED_EXT_HDMI := true
AUDIO_FEATURE_ENABLED_HFP := true
AUDIO_FEATURE_ENABLED_INCALL_MUSIC := false
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true
AUDIO_FEATURE_ENABLED_ACDB_LICENSE := true
AUDIO_FEATURE_ENABLED_DEV_ARBI := false
MM_AUDIO_ENABLED_FTM := true
TARGET_USES_QCOM_MM_AUDIO := true TARGET_USES_QCOM_MM_AUDIO := true
AUDIO_FEATURE_ENABLED_SOURCE_TRACKING := true
BOARD_SUPPORTS_QAHW := false
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
AUDIO_FEATURE_ENABLED_DLKM := false
# Bluetooth # Bluetooth
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth
@@ -121,7 +135,6 @@ BOARD_HAVE_BLUETOOTH := true
BOARD_HAVE_BLUETOOTH_QCOM := true BOARD_HAVE_BLUETOOTH_QCOM := true
# Camera # Camera
# TARGET_CAMERASERVICE_CLOSES_NATIVE_HANDLES := true
USE_DEVICE_SPECIFIC_CAMERA := true USE_DEVICE_SPECIFIC_CAMERA := true
BOARD_QTI_CAMERA_32BIT_ONLY := true BOARD_QTI_CAMERA_32BIT_ONLY := true
@@ -130,42 +143,30 @@ BACKLIGHT_PATH := /sys/class/leds/lcd-backlight/brightness
BOARD_CHARGER_ENABLE_SUSPEND := true BOARD_CHARGER_ENABLE_SUSPEND := true
BOARD_NO_CHARGER_LED := true BOARD_NO_CHARGER_LED := true
# DT2W
TARGET_TAP_TO_WAKE_NODE := "/sys/android_touch/doubletap2wake"
# CNE / DPM
BOARD_USES_QCNE := true
# CPUsets
ENABLE_CPUSETS := true
# Crypto # Crypto
TARGET_HW_DISK_ENCRYPTION := true TARGET_HW_DISK_ENCRYPTION := true
TARGET_USES_METADATA_AS_FDE_KEY := true
# Enable dexpreopt to speed boot time
WITH_DEXPREOPT := true
# Display # Display
BOARD_USES_ADRENO := true BOARD_USES_ADRENO := true
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
OVERRIDE_RS_DRIVER := libRSDriver_adreno.so OVERRIDE_RS_DRIVER := libRSDriver_adreno.so
TARGET_USES_C2D_COMPOSITION := true TARGET_USES_C2D_COMPOSITION := true
TARGET_USES_GRALLOC1 := true TARGET_USES_GRALLOC1 := true
TARGET_USES_ION := true TARGET_USES_ION := true
TARGET_USES_HWC2 := true TARGET_USES_HWC2 := true
TARGET_USES_OVERLAY := true
TARGET_USES_NEW_ION_API := true
USE_OPENGL_RENDERER := true
MAX_EGL_CACHE_KEY_SIZE := 12*1024 MAX_EGL_CACHE_KEY_SIZE := 12*1024
MAX_EGL_CACHE_SIZE := 2048*1024 MAX_EGL_CACHE_SIZE := 2048*1024
TARGET_USES_C2D_COMPOSITION := true TARGET_USES_C2D_COMPOSITION := true
MAX_VIRTUAL_DISPLAY_DIMENSION := 4096 MAX_VIRTUAL_DISPLAY_DIMENSION := 4096
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
VSYNC_EVENT_PHASE_OFFSET_NS := 2000000
SF_VSYNC_EVENT_PHASE_OFFSET_NS := 6000000 # exfat
TARGET_EXFAT_DRIVER := exfat
# FM # FM
BOARD_HAVE_QCOM_FM := true BOARD_HAVE_QCOM_FM := true
BOARD_HAVE_FM_RADIO := true
TARGET_QCOM_NO_FM_FIRMWARE := true
# Keymaster # Keymaster
TARGET_PROVIDES_KEYMASTER := true TARGET_PROVIDES_KEYMASTER := true
@@ -177,9 +178,7 @@ TARGET_PROVIDES_LIBLIGHT := true
DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/configs/manifest.xml DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/configs/manifest.xml
DEVICE_MATRIX_FILE := $(DEVICE_PATH)/configs/compatibility_matrix.xml DEVICE_MATRIX_FILE := $(DEVICE_PATH)/configs/compatibility_matrix.xml
# Media # NFC
# TARGET_USES_MEDIA_EXTENSIONS := true
NXP_CHIP_TYPE := PN551 NXP_CHIP_TYPE := PN551
BOARD_NFC_HAL_SUFFIX := $(TARGET_BOARD_PLATFORM) BOARD_NFC_HAL_SUFFIX := $(TARGET_BOARD_PLATFORM)
@@ -195,29 +194,45 @@ BOARD_USERDATAIMAGE_PARTITION_SIZE := 25614597120 # 25014255 * 1024 mmcblk0p54
# Peripheral manager # Peripheral manager
TARGET_PER_MGR_ENABLED := true TARGET_PER_MGR_ENABLED := true
# Power
TARGET_HAS_NO_WLAN_STATS := true
# QC flags # QC flags
BOARD_USES_QCOM_HARDWARE := true BOARD_USES_QCOM_HARDWARE := true
BOARD_USES_QC_TIME_SERVICES := true BOARD_USES_QC_TIME_SERVICES := true
# Recovery # Recovery
BOARD_HAS_NO_SELECT_BUTTON := true BOARD_HAS_NO_SELECT_BUTTON := true
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.recovery
TARGET_USERIMAGES_USE_EXT4 := true TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true TARGET_USERIMAGES_USE_F2FS := true
# Releasetools # Releasetools
TARGET_RELEASETOOLS_EXTENSIONS := $(DEVICE_PATH)/releasetools TARGET_RELEASETOOLS_EXTENSIONS := $(DEVICE_PATH)/releasetools
# SELinux # RIL
#include device/qcom/sepolicy/sepolicy.mk TARGET_PROVIDES_QTI_TELEPHONY_JAR := true
#BOARD_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy
# Sensor # SELinux
USE_SENSOR_MULTI_HAL := true include device/qcom/sepolicy/sepolicy.mk
BOARD_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
SELINUX_IGNORE_NEVERALLOWS := true
TARGET_ENABLE_MEDIADRM_64 := true
# Thermal
USE_DEVICE_SPECIFIC_THERMAL := true
# Treble
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
BOARD_VENDORIMAGE_PARTITION_SIZE := 805306368
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
PRODUCT_FULL_TREBLE_OVERRIDE := true
PRODUCT_VENDOR_MOVE_ENABLED := true
TARGET_COPY_OUT_VENDOR := vendor
# Wifi # Wifi
BOARD_HAS_QCOM_WLAN := true BOARD_HAS_QCOM_WLAN := true
BOARD_HAS_QCOM_WLAN_SDK := true
BOARD_WLAN_DEVICE := qcwcn BOARD_WLAN_DEVICE := qcwcn
BOARD_HOSTAPD_DRIVER := NL80211 BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_qcwcn BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_qcwcn
@@ -227,4 +242,4 @@ WIFI_DRIVER_FW_PATH_AP := "ap"
WIFI_DRIVER_FW_PATH_STA := "sta" WIFI_DRIVER_FW_PATH_STA := "sta"
WIFI_DRIVER_FW_PATH_P2P := "p2p" WIFI_DRIVER_FW_PATH_P2P := "p2p"
WPA_SUPPLICANT_VERSION := VER_0_8_X WPA_SUPPLICANT_VERSION := VER_0_8_X
TARGET_DISABLE_WCNSS_CONFIG_COPY := true

View File

@@ -1,38 +0,0 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := LineageActions
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
LOCAL_STATIC_JAVA_LIBRARIES := \
android-support-v14-preference \
android-support-v7-appcompat \
android-support-v7-preference \
android-support-v7-recyclerview
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
LOCAL_RESOURCE_DIR := \
$(LOCAL_PATH)/res \
$(LOCAL_PATH)/../../../../packages/resources/devicesettings/res \
frameworks/support/v14/preference/res \
frameworks/support/v7/appcompat/res \
frameworks/support/v7/preference/res \
frameworks/support/v7/recyclerview/res
LOCAL_AAPT_FLAGS := --auto-add-overlay \
--extra-packages android.support.v14.preference:android.support.v7.appcompat:android.support.v7.preference:android.support.v7.recyclerview
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_DEX_PREOPT := false
include frameworks/base/packages/SettingsLib/common.mk
include $(BUILD_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<java-symbol type="string" name="app_does_not_support_pip" />
</resources>

View File

@@ -1,124 +0,0 @@
/*
* Copyright (c) 2015 The CyanogenMod Project
* Copyright (c) 2017 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.lineageos.settings.device;
import android.app.IntentService;
import android.content.Context;
import android.content.Intent;
import android.os.PowerManager;
import android.provider.Settings;
import android.util.Log;
import java.util.List;
import java.util.LinkedList;
import org.lineageos.settings.device.actions.UpdatedStateNotifier;
import org.lineageos.settings.device.actions.CameraActivationSensor;
import org.lineageos.settings.device.actions.ChopChopSensor;
import org.lineageos.settings.device.actions.FlipToMute;
import org.lineageos.settings.device.actions.LiftToSilence;
import org.lineageos.settings.device.actions.ProximitySilencer;
import org.lineageos.settings.device.doze.DozePulseAction;
//import org.lineageos.settings.device.doze.GlanceSensor;
import org.lineageos.settings.device.doze.ProximitySensor;
import org.lineageos.settings.device.doze.ScreenReceiver;
import org.lineageos.settings.device.doze.ScreenStateNotifier;
import org.lineageos.settings.device.doze.StowSensor;
public class LineageActionsService extends IntentService implements ScreenStateNotifier,
UpdatedStateNotifier {
private static final String TAG = "LineageActions";
private final Context mContext;
private final DozePulseAction mDozePulseAction;
private final PowerManager mPowerManager;
private final PowerManager.WakeLock mWakeLock;
private final ScreenReceiver mScreenReceiver;
private final SensorHelper mSensorHelper;
private final List<ScreenStateNotifier> mScreenStateNotifiers = new LinkedList<ScreenStateNotifier>();
private final List<UpdatedStateNotifier> mUpdatedStateNotifiers =
new LinkedList<UpdatedStateNotifier>();
public LineageActionsService(Context context) {
super("LineageActionService");
mContext = context;
Log.d(TAG, "Starting");
LineageActionsSettings lineageActionsSettings = new LineageActionsSettings(context, this);
mSensorHelper = new SensorHelper(context);
mScreenReceiver = new ScreenReceiver(context, this);
mDozePulseAction = new DozePulseAction(context);
mScreenStateNotifiers.add(mDozePulseAction);
// Actionable sensors get screen on/off notifications
//mScreenStateNotifiers.add(new GlanceSensor(lineageActionsSettings, mSensorHelper, mDozePulseAction));
mScreenStateNotifiers.add(new ProximitySensor(lineageActionsSettings, mSensorHelper, mDozePulseAction));
mScreenStateNotifiers.add(new StowSensor(lineageActionsSettings, mSensorHelper, mDozePulseAction));
// Other actions that are always enabled
mUpdatedStateNotifiers.add(new CameraActivationSensor(lineageActionsSettings, mSensorHelper));
mUpdatedStateNotifiers.add(new ChopChopSensor(lineageActionsSettings, mSensorHelper));
mUpdatedStateNotifiers.add(new ProximitySilencer(lineageActionsSettings, context, mSensorHelper));
mUpdatedStateNotifiers.add(new FlipToMute(lineageActionsSettings, context, mSensorHelper));
mUpdatedStateNotifiers.add(new LiftToSilence(lineageActionsSettings, context, mSensorHelper));
mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "LineageActionsWakeLock");
updateState();
}
@Override
protected void onHandleIntent(Intent intent) {
}
@Override
public void screenTurnedOn() {
if (!mWakeLock.isHeld()) {
mWakeLock.acquire();
}
for (ScreenStateNotifier screenStateNotifier : mScreenStateNotifiers) {
screenStateNotifier.screenTurnedOn();
}
}
@Override
public void screenTurnedOff() {
if (mWakeLock.isHeld()) {
mWakeLock.release();
}
for (ScreenStateNotifier screenStateNotifier : mScreenStateNotifiers) {
screenStateNotifier.screenTurnedOff();
}
}
public void updateState() {
if (mPowerManager.isInteractive()) {
screenTurnedOn();
} else {
screenTurnedOff();
}
for (UpdatedStateNotifier notifier : mUpdatedStateNotifiers) {
notifier.updateState();
}
}
}

View File

@@ -1,91 +0,0 @@
/*
* Copyright (c) 2015 The CyanogenMod Project
* Copyright (c) 2017 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.lineageos.settings.device.doze;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.util.Log;
import java.lang.System;
import org.lineageos.settings.device.LineageActionsSettings;
import org.lineageos.settings.device.SensorAction;
import org.lineageos.settings.device.SensorHelper;
public class StowSensor implements ScreenStateNotifier, SensorEventListener {
private static final String TAG = "LineageActions-StowSensor";
private static final int IN_POCKET_MIN_TIME = 5000;
private final LineageActionsSettings mLineageActionsSettings;
private final SensorHelper mSensorHelper;
private final SensorAction mSensorAction;
private final Sensor mSensor;
private boolean mEnabled;
private boolean mLastStowed;
private long isStowedTime;
public StowSensor(LineageActionsSettings lineageActionsSettings, SensorHelper sensorHelper,
SensorAction action) {
mLineageActionsSettings = lineageActionsSettings;
mSensorHelper = sensorHelper;
mSensorAction = action;
mSensor = sensorHelper.getStowSensor();
}
@Override
public void screenTurnedOn() {
if (mEnabled) {
Log.d(TAG, "Disabling");
mSensorHelper.unregisterListener(this);
mEnabled = false;
}
}
@Override
public void screenTurnedOff() {
if (!mLineageActionsSettings.isIrWakeupEnabled() &&
mLineageActionsSettings.isPickUpEnabled() && !mEnabled) {
Log.d(TAG, "Enabling");
mSensorHelper.registerListener(mSensor, this);
mEnabled = true;
}
}
@Override
public void onSensorChanged(SensorEvent event) {
boolean thisStowed = (event.values[0] != 0);
if(thisStowed){
isStowedTime = System.currentTimeMillis();
} else if (mLastStowed && !thisStowed) {
long inPocketTime = System.currentTimeMillis() - isStowedTime;
if(inPocketTime >= IN_POCKET_MIN_TIME){
Log.d(TAG, "Triggered after " + inPocketTime / 1000 + " seconds");
mSensorAction.action();
}
}
mLastStowed = thisStowed;
Log.d(TAG, "event: " + thisStowed);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}

24
MotoActions/Android.mk Normal file
View File

@@ -0,0 +1,24 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := MotoActions
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
LOCAL_USE_AAPT2 := true
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
LOCAL_RESOURCE_DIR := \
$(LOCAL_PATH)/res \
$(TOP)/packages/resources/devicesettings/res
LOCAL_PROGUARD_ENABLED := disabled
include frameworks/base/packages/SettingsLib/common.mk
include $(BUILD_PACKAGE)

View File

@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.lineageos.settings.device" package="com.moto.actions"
android:sharedUserId="android.uid.system" android:sharedUserId="android.uid.system"
> >
<original-package android:name="com.cyanogenmod.settings.device" /> <original-package android:name="com.cyanogenmod.settings.device" />
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" /> <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
@@ -14,10 +15,6 @@
<protected-broadcast android:name="com.android.systemui.doze.pulse" /> <protected-broadcast android:name="com.android.systemui.doze.pulse" />
<uses-sdk
android:minSdkVersion="26"
android:targetSdkVersion="26" />
<application <application
android:allowBackup="true" android:allowBackup="true"
android:label="@string/moto_actions_title" android:label="@string/moto_actions_title"
@@ -25,8 +22,8 @@
android:persistent="true"> android:persistent="true">
<provider <provider
android:name=".LineageActionsSearchIndexablesProvider" android:name=".MotoActionsSearchIndexablesProvider"
android:authorities="org.lineageos.settings.device" android:authorities="com.moto.actions"
android:multiprocess="false" android:multiprocess="false"
android:grantUriPermissions="true" android:grantUriPermissions="true"
android:permission="android.permission.READ_SEARCH_INDEXABLES" android:permission="android.permission.READ_SEARCH_INDEXABLES"
@@ -36,7 +33,7 @@
</intent-filter> </intent-filter>
</provider> </provider>
<receiver android:name="org.lineageos.settings.device.BootCompletedReceiver"> <receiver android:name="com.moto.actions.BootCompletedReceiver">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
@@ -52,9 +49,9 @@
<activity <activity
android:name=".DozeSettingsActivity" android:name=".DozeSettingsActivity"
android:label="@string/ambient_display_title" android:label="@string/ambient_display_title"
android:theme="@style/LineageActions"> android:theme="@style/MotoActions">
<intent-filter> <intent-filter>
<action android:name="org.lineageos.settings.device.DOZE_SETTINGS" /> <action android:name="com.moto.actions.DOZE_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </intent-filter>
</activity> </activity>
@@ -63,7 +60,7 @@
android:name=".ActionsPreferenceActivity" android:name=".ActionsPreferenceActivity"
android:label="@string/moto_actions_title" android:label="@string/moto_actions_title"
android:summary="@string/device_gestures_summary" android:summary="@string/device_gestures_summary"
android:theme="@style/LineageActions"> android:theme="@style/MotoActions">
<intent-filter> <intent-filter>
<action android:name="com.android.settings.action.IA_SETTINGS" /> <action android:name="com.android.settings.action.IA_SETTINGS" />
</intent-filter> </intent-filter>
@@ -72,7 +69,7 @@
android:value="com.android.settings.category.ia.homepage" /> android:value="com.android.settings.category.ia.homepage" />
<meta-data <meta-data
android:name="com.android.settings.icon" android:name="com.android.settings.icon"
android:resource="@drawable/ic_settings_gestures" /> android:resource="@drawable/ic_settings_gestures_dashboard" />
<meta-data <meta-data
android:name="com.android.settings.summary" android:name="com.android.settings.summary"
android:resource="@string/device_gestures_summary" /> android:resource="@string/device_gestures_summary" />
@@ -81,13 +78,13 @@
<activity <activity
android:name=".GestureSettingsActivity" android:name=".GestureSettingsActivity"
android:label="@string/device_gestures_title" android:label="@string/device_gestures_title"
android:theme="@style/LineageActions"> android:theme="@style/MotoActions">
</activity> </activity>
<activity <activity
android:name=".FPGestureSettingsActivity" android:name=".FPGestureSettingsActivity"
android:label="@string/fingerprint_gestures_title" android:label="@string/fingerprint_gestures_title"
android:theme="@style/LineageActions"> android:theme="@style/MotoActions">
</activity> </activity>
</application> </application>

View File

@@ -0,0 +1,20 @@
<!--
Copyright (c) google/material-design-icons
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorControlNormal" >
<path android:fillColor="#000" android:pathData="M 10,9C 10,8.4477 10.4477,8 11,8C 11.5523,8 12,8.4477 12,9L 12,13.47L 13.21,13.6L 18.15,15.79C 18.6759,16.0317 19.0093,16.5613 19,17.14L 19,21.5C 18.974,22.3174 18.3174,22.974 17.5,23L 11,23C 10.6216,23.0009 10.2596,22.8453 10,22.57L 5.1,18.37L 5.84,17.6C 6.03083,17.3942 6.29936,17.2781 6.58,17.28L 6.8,17.28L 10,19L 10,9 Z M 11,5C 13.2091,5 15,6.79086 15,9C 15,10.4806 14.1956,11.7733 13,12.4649L 13,11.2361C 13.6137,10.6868 14,9.8885 14,9.00001C 14,7.34315 12.6568,6.00001 11,6.00001C 9.34314,6.00001 8,7.34315 8,9.00001C 8,9.88851 8.38625,10.6868 9,11.2361L 9,12.4649C 7.8044,11.7733 7,10.4806 7,9C 7,6.79086 8.79086,5 11,5 Z M 11,3C 14.3137,3 17,5.6863 17,9C 17,10.6993 16.2936,12.2336 15.1584,13.3253L 14.1554,12.8788C 15.2811,11.9619 16,10.5649 16,9C 16,6.23858 13.7614,4.00001 11,4.00001C 8.23857,4.00001 6,6.23858 6,9C 6,11.0503 7.23409,12.8124 9,13.584L 9,14.6586C 6.66961,13.8349 5,11.6124 5,9C 5,5.6863 7.68629,3 11,3 Z " />
</vector>

View File

@@ -0,0 +1,20 @@
<!--
Copyright (c) google/material-design-icons
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorControlNormal" >
<path android:fillColor="#000" android:pathData="M 17.8075,4.4675C 17.73,4.4675 17.6513,4.4488 17.5787,4.4088C 15.6587,3.4175 13.9987,2.9978 12.0113,2.9978C 10.0288,2.9978 8.15,3.4713 6.44,4.4088C 6.20125,4.5413 5.89875,4.4488 5.76125,4.2087C 5.63,3.9695 5.7175,3.6625 5.9625,3.53C 7.8225,2.5205 9.85875,2.0025 12.0113,2.0025C 14.1412,2.0025 16.0012,2.4713 18.0425,3.52C 18.2913,3.6521 18.3788,3.95 18.2525,4.19C 18.1588,4.37 17.9887,4.4675 17.8075,4.4675 Z M 3.50125,9.7212C 3.39875,9.7212 3.30125,9.6925 3.2075,9.6287C 2.97875,9.4675 2.93,9.16 3.09125,8.9312C 4.0825,7.5287 5.34125,6.4313 6.84125,5.6588C 9.98,4.0375 13.9987,4.0287 17.1488,5.65C 18.6525,6.4212 19.9125,7.51 20.8984,8.9012C 21.06,9.1213 21.0107,9.4388 20.7813,9.6C 20.5518,9.7612 20.2393,9.7125 20.0787,9.4825C 19.18,8.2175 18.0425,7.2312 16.69,6.5375C 13.8188,5.0687 10.1512,5.0687 7.29,6.5475C 5.9275,7.2512 4.79,8.2525 3.89125,9.5112C 3.80875,9.6488 3.6625,9.7212 3.50125,9.7212 Z M 9.75125,21.7925C 9.61875,21.7925 9.4925,21.7388 9.4,21.64C 8.53,20.7712 8.06125,20.21 7.3875,18.9988C 6.69875,17.7687 6.3375,16.27 6.3375,14.6588C 6.3375,11.69 8.88125,9.2675 12.0025,9.2675C 15.1225,9.2675 17.6612,11.69 17.6612,14.6588C 17.6612,14.9412 17.4413,15.1613 17.1587,15.1613C 16.88,15.1613 16.66,14.9412 16.66,14.6588C 16.66,12.2413 14.57,10.2688 12.0025,10.2688C 9.42875,10.2688 7.33875,12.2413 7.33875,14.6588C 7.33875,16.0988 7.66125,17.4313 8.27125,18.5113C 8.91125,19.6588 9.35,20.1512 10.1225,20.9275C 10.3075,21.1275 10.3075,21.44 10.1225,21.64C 10.01,21.7388 9.8775,21.7925 9.75125,21.7925 Z M 16.9188,19.9412C 15.7325,19.9412 14.6775,19.6388 13.8188,19.0475C 12.3287,18.0425 11.44,16.4012 11.44,14.6588C 11.44,14.38 11.66,14.16 11.9388,14.16C 12.2212,14.16 12.4413,14.38 12.4413,14.6588C 12.4413,16.0687 13.1587,17.4025 14.38,18.2175C 15.0875,18.7013 15.9175,18.9312 16.9188,18.9312C 17.1587,18.9312 17.5587,18.9012 17.9587,18.8275C 18.2325,18.7787 18.4912,18.96 18.54,19.2388C 18.5888,19.5112 18.4087,19.77 18.13,19.8187C 17.5587,19.9313 17.06,19.9412 16.9188,19.9412 Z M 14.9125,22.0025C 14.8688,22.0025 14.8187,21.9925 14.78,21.9825C 13.1888,21.5375 12.1488,20.9525 11.06,19.8775C 9.65875,18.4913 8.89125,16.64 8.89125,14.6588C 8.89125,13.0425 10.2688,11.7188 11.9675,11.7188C 13.6725,11.7188 15.0487,13.0425 15.0487,14.6588C 15.0487,15.7325 15.9813,16.6013 17.1288,16.6013C 18.2813,16.6013 19.2087,15.7325 19.2087,14.6588C 19.2087,10.8887 15.9625,7.8325 11.9575,7.8325C 9.12125,7.8325 6.51875,9.4087 5.35125,11.86C 4.96125,12.6713 4.76125,13.6187 4.76125,14.6588C 4.76125,15.44 4.82875,16.67 5.43,18.2712C 5.5325,18.53 5.4,18.8188 5.14125,18.9113C 4.8775,19.0087 4.59,18.8725 4.5025,18.6187C 4.00875,17.31 3.77,16.0113 3.77,14.6588C 3.77,13.4625 3.99875,12.3687 4.44875,11.4213C 5.78125,8.6275 8.73,6.8212 11.9575,6.8212C 16.5088,6.8212 20.21,10.3325 20.21,14.6487C 20.21,16.27 18.8287,17.5875 17.1288,17.5875C 15.43,17.5875 14.0475,16.27 14.0475,14.6487C 14.0475,13.5788 13.12,12.71 11.9675,12.71C 10.82,12.71 9.8875,13.5788 9.8875,14.6487C 9.8875,16.3625 10.5513,17.9587 11.7575,19.16C 12.71,20.0975 13.6188,20.62 15.0288,21.0113C 15.2975,21.0788 15.4488,21.3625 15.3813,21.6213C 15.3325,21.85 15.1225,22.0025 14.9125,22.0025 Z " />
</vector>

View File

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@@ -0,0 +1,9 @@
<!-- drawable/ic_hand.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorControlNormal" >
<path android:fillColor="#000" android:pathData="M6.58,19H14.58V22H6.58V19M19.74,11.6C19.55,11.4 19.29,11.28 19,11.28L18.78,11.31L15.58,13V11.83L16.09,2.9C16.12,2.35 15.7,1.87 15.15,1.84C14.6,1.81 14.12,2.23 14.09,2.78L13.82,7.47H13.58L12.54,7.58V2A1,1 0 0,0 11.54,1C11,1 10.54,1.45 10.54,2V8.41L9.72,8.78L9.03,3.32C8.96,2.77 8.46,2.38 7.91,2.45C7.36,2.5 6.97,3 7.04,3.57L7.81,9.63L7.43,9.8C7.3,9.85 7.18,9.93 7.07,10L5.97,6.11C5.81,5.54 5.25,5.2 4.71,5.34C4.18,5.5 3.88,6.08 4.04,6.65L6.61,15.77C6.61,15.8 6.63,15.84 6.64,15.87L6.67,16H6.68C6.9,16.57 7.47,17 8.08,17H14.58C14.97,17 15.32,16.84 15.58,16.57L20.5,12.37L19.74,11.6Z" />
</vector>

View File

@@ -0,0 +1,9 @@
<!-- drawable/ic_pickup.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorControlNormal" >
<path android:fillColor="#000" android:pathData="M9.64,13.4C8.63,12.5 7.34,12.03 6,12V15L2,11L6,7V10C7.67,10 9.3,10.57 10.63,11.59C10.22,12.15 9.89,12.76 9.64,13.4M18,15V12C17.5,12 13.5,12.16 13.05,16.2C14.61,16.75 15.43,18.47 14.88,20.03C14.33,21.59 12.61,22.41 11.05,21.86C9.5,21.3 8.67,19.59 9.22,18.03C9.5,17.17 10.2,16.5 11.05,16.2C11.34,12.61 14.4,9.88 18,10V7L22,11L18,15M13,19A1,1 0 0,0 12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19M11,11.12C11.58,10.46 12.25,9.89 13,9.43V5H16L12,1L8,5H11V11.12Z" />
</vector>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) 2015 The CyanogenMod Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="32.0"
android:viewportHeight="32.0">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M20,20.2V24H6V5.3h8.7l2.4,-4H7.6c-2.2,0 -4,1.8 -4,4v21.3c0,2.2 1.8,4 4,4h10.7c2.2,0 4,-1.8 4,-4V14.9L20,20.2zM15.6,28h-5.3v-1.3h5.3V28z"/>
<path
android:fillColor="#FFFFFFFF"
android:pathData="M28.5,7l1.1,-2.4L32,3.5l-2.4,-1.1L28.5,0l-1.1,2.4L25,3.5l2.4,1.1L28.5,7zM21,7.4l-2.2,-4.8l-2.2,4.8l-4.8,2.2l4.8,2.2l2.2,4.8l2.2,-4.8l4.8,-2.2L21,7.4zM28.5,12.2l-1.1,2.4L25,15.6l2.4,1.1l1.1,2.4l1.1,-2.4l2.4,-1.1l-2.4,-1.1L28.5,12.2z"/>
</vector>

View File

@@ -0,0 +1,20 @@
<!--
Copyright (c) google/material-design-icons
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorControlNormal" >
<path android:fillColor="#000" android:pathData="M 10,9C 10,8.4477 10.4477,8 11,8C 11.5523,8 12,8.4477 12,9L 12,13.47L 13.21,13.6L 18.15,15.79C 18.6759,16.0317 19.0093,16.5613 19,17.14L 19,21.5C 18.974,22.3174 18.3174,22.974 17.5,23L 11,23C 10.6216,23.0009 10.2596,22.8453 10,22.57L 5.1,18.37L 5.84,17.6C 6.03083,17.3942 6.29936,17.2781 6.58,17.28L 6.8,17.28L 10,19L 10,9 Z M 3,4L 6,7L 6,5L 12,5L 12,3L 6,3L 6,1L 3,4 Z " />
</vector>

View File

@@ -0,0 +1,20 @@
<!--
Copyright (c) google/material-design-icons
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorControlNormal" >
<path android:fillColor="#000" android:pathData="M 10,9C 10,8.4477 10.4477,8 11,8C 11.5523,8 12,8.4477 12,9L 12,13.47L 13.21,13.6L 18.15,15.79C 18.6759,16.0317 19.0093,16.5613 19,17.14L 19,21.5C 18.974,22.3174 18.3174,22.974 17.5,23L 11,23C 10.6216,23.0009 10.2596,22.8453 10,22.57L 5.1,18.37L 5.84,17.6C 6.03083,17.3942 6.29936,17.2781 6.58,17.28L 6.8,17.28L 10,19L 10,9 Z M 12,4L 9,1L 9,3L 3,3L 3,5L 9,5L 9,7L 12,4 Z " />
</vector>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) google/material-design-icons
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
android:tint="?android:attr/colorControlNormal" >
<path
android:fillColor="#000"
android:pathData="M 10,9C 10,8.4477 10.4477,8 11,8C 11.5523,8 12,8.4477 12,9L 12,13.47L 13.21,13.6L 18.15,15.79C 18.6759,16.0317 19.0093,16.5613 19,17.14L 19,21.5C 18.974,22.3174 18.3174,22.974 17.5,23L 11,23C 10.6216,23.0009 10.2596,22.8453 10,22.57L 5.1,18.37L 5.84,17.6C 6.03083,17.3942 6.29936,17.2781 6.58,17.28L 6.8,17.28L 10,19L 10,9 Z M 11,5C 13.2091,5 15,6.79086 15,9C 15,10.4806 14.1956,11.7733 13,12.4649L 13,11.2361C 13.6137,10.6868 14,9.8885 14,9C 14,7.34315 12.6569,6 11,6C 9.34315,6 8,7.34315 8,9C 8,9.8885 8.38625,10.6868 9,11.2361L 9,12.4649C 7.8044,11.7733 7,10.4806 7,9C 7,6.79086 8.79086,5 11,5 Z "/>
</vector>

View File

@@ -0,0 +1,20 @@
<!--
Copyright (c) google/material-design-icons
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorControlNormal" >
<path android:fillColor="#000" android:pathData="M 10,9C 10,8.45 10.45,8 11,8C 11.55,8 12,8.45 12,9L 12,13.47L 13.21,13.6L 18.15,15.79C 18.68,16.03 19,16.56 19,17.14L 19,21.5C 18.97,22.32 18.32,22.97 17.5,23L 11,23C 10.62,23 10.26,22.85 10,22.57L 5.1,18.37L 5.84,17.6C 6.03,17.39 6.3,17.28 6.58,17.28L 6.8,17.28L 10,19L 10,9 Z M 9,12.441L 9,9C 9,7.897 9.897,7 11,7C 12.103,7 13,7.897 13,9L 13,12.441C 14.188,11.746 15,10.469 15,9C 15,6.8 13.2,5 11,5C 8.8,5 7,6.8 7,9C 7,10.469 7.812,11.746 9,12.441 Z " />
</vector>

View File

@@ -0,0 +1,20 @@
<!--
Copyright (c) google/material-design-icons
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorControlNormal" >
<path android:fillColor="#000" android:pathData="M 16,19L 8,19L 8,5L 16,5M 16.5,3L 7.5,3C 6.67,3 6,3.67 6,4.5L 6,19.5C 6,20.33 6.67,21 7.5,21L 16.5,21C 17.33,21 18,20.33 18,19.5L 18,4.5C 18,3.67 17.33,3 16.5,3 Z M 19,17L 21,17L 21,7L 19,7M 22,9L 22,15L 24,15L 24,9M 3,17L 5,17L 5,7L 3,7M 0,15L 2,15L 2,9L 0,9L 0,15 Z" />
</vector>

View File

@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2016 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Based off frameworks/base/core/res/res/layout/preference_category_material.xml
except that this supports icon -->
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:paddingStart="?android:attr/listPreferredItemPaddingStart" >
<LinearLayout
android:id="@+id/icon_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="start|center_vertical"
android:orientation="horizontal">
<com.android.internal.widget.PreferenceImageView
android:id="@android:id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:tint="?android:attr/textColorPrimary"
android:maxWidth="18dp"
android:maxHeight="18dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="56dp"
android:orientation="vertical">
<TextView
android:id="@android:id/title"
android:layout_marginTop="16dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.Material.Body2"
android:textColor="?android:attr/colorAccent"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"/>
<TextView
android:id="@android:id/summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorSecondary"
android:ellipsize="end"
android:singleLine="true" />
</LinearLayout>
</FrameLayout>

View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Based off frameworks/base/core/res/res/layout/preference_material.xml
except that this has the negative margin on the image removed. -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeightSmall"
android:gravity="center_vertical"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:background="?android:attr/selectableItemBackground"
android:clipToPadding="false">
<LinearLayout
android:id="@+id/icon_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="56dp"
android:gravity="start|center_vertical"
android:orientation="horizontal"
android:paddingEnd="12dp"
android:paddingTop="4dp"
android:paddingBottom="4dp">
<com.android.internal.widget.PreferenceImageView
android:id="@android:id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="48dp"
android:maxHeight="48dp"/>
</LinearLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingTop="12dp"
android:paddingBottom="12dp">
<TextView
android:id="@android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="24dp"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceListItem"
android:ellipsize="marquee"/>
<TextView
android:id="@android:id/summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="24dp"
android:layout_below="@android:id/title"
android:layout_alignStart="@android:id/title"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:textColor="?android:attr/textColorSecondary"
android:maxLines="10"/>
</RelativeLayout>
<!-- Preference should place its actual preference widget here. -->
<LinearLayout
android:id="@android:id/widget_frame"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="end|center_vertical"
android:paddingStart="16dp"
android:orientation="vertical"/>
</LinearLayout>

View File

@@ -32,7 +32,7 @@
android:paddingStart="48dp" android:paddingStart="48dp"
android:maxLines="2" android:maxLines="2"
android:ellipsize="end" android:ellipsize="end"
android:textAppearance="@android:style/TextAppearance.Material.Title" android:textAppearance="@*android:style/TextAppearanceTitle"
android:textColor="?android:attr/textColorPrimary" android:textColor="?android:attr/textColorPrimary"
android:textAlignment="viewStart" android:textAlignment="viewStart"
android:text="@string/switch_bar_on" /> android:text="@string/switch_bar_on" />
@@ -43,6 +43,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:background="@null" android:background="@null"
android:theme="@style/LineageActions.SwitchBar" /> android:theme="@style/MotoActions.SwitchBar" />
</LinearLayout> </LinearLayout>

View File

@@ -68,7 +68,6 @@
<string name="action_dialer">Abrir discador</string> <string name="action_dialer">Abrir discador</string>
<string name="action_email">Abrir app de mail</string> <string name="action_email">Abrir app de mail</string>
<string name="action_messages">Abrir app de mensagens</string> <string name="action_messages">Abrir app de mensagens</string>
<string name="action_pip">Modo picture-in-picture</string>
<!-- Screen off gestures --> <!-- Screen off gestures -->
<string name="screen_off_gestures_title">Gestos com a tela desligada</string> <string name="screen_off_gestures_title">Gestos com a tela desligada</string>
@@ -90,6 +89,4 @@
<string name="haptic_feedback">Retorno tátil</string> <string name="haptic_feedback">Retorno tátil</string>
<string name="haptic_feedback_summary">Vibrar quando um gesto for detectado</string> <string name="haptic_feedback_summary">Vibrar quando um gesto for detectado</string>
<!-- Pip -->
<string name="app_does_not_support_pip">O aplicativo não tem suporte ao modo picture-in-picture.</string>
</resources> </resources>

View File

@@ -31,7 +31,6 @@
<item>@string/action_flashlight</item> <item>@string/action_flashlight</item>
<item>@string/action_camera</item> <item>@string/action_camera</item>
<item>@string/action_screenshot</item> <item>@string/action_screenshot</item>
<item>@string/action_pip</item>
</string-array> </string-array>
<string-array name="fp_keys_listValues"> <string-array name="fp_keys_listValues">
<item>0</item> <item>0</item>
@@ -49,7 +48,6 @@
<item>110</item> <!-- flashlight --> <item>110</item> <!-- flashlight -->
<item>111</item> <!-- camera --> <item>111</item> <!-- camera -->
<item>112</item> <!-- screenshot --> <item>112</item> <!-- screenshot -->
<item>120</item> <!-- pip -->
</string-array> </string-array>
<string-array name="fp_keys_screen_off_listArray"> <string-array name="fp_keys_screen_off_listArray">

View File

@@ -68,7 +68,6 @@
<string name="action_dialer">Open dialer</string> <string name="action_dialer">Open dialer</string>
<string name="action_email">Open email app</string> <string name="action_email">Open email app</string>
<string name="action_messages">Open messages app</string> <string name="action_messages">Open messages app</string>
<string name="action_pip">Picture-in-Picture mode</string>
<!-- Screen off gestures --> <!-- Screen off gestures -->
<string name="screen_off_gestures_title">Screen off gestures</string> <string name="screen_off_gestures_title">Screen off gestures</string>
@@ -90,6 +89,4 @@
<string name="haptic_feedback">Haptic feedback</string> <string name="haptic_feedback">Haptic feedback</string>
<string name="haptic_feedback_summary">Vibrate when a touchscreen gesture is detected</string> <string name="haptic_feedback_summary">Vibrate when a touchscreen gesture is detected</string>
<!-- Pip -->
<string name="app_does_not_support_pip">App does not support picture-in-picture mode.</string>
</resources> </resources>

View File

@@ -17,42 +17,42 @@
--> -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<style name="LineageActions" parent="@android:style/Theme.DeviceDefault.Settings"> <style name="MotoActions" parent="@android:style/Theme.DeviceDefault.Settings">
<item name="dialogPreferenceStyle">@style/LineageActions.DialogPreferenceStyle</item> <item name="dialogPreferenceStyle">@style/MotoActions.DialogPreferenceStyle</item>
<item name="preferenceCategoryStyle">@style/LineageActions.PreferenceCategoryStyle</item> <item name="preferenceCategoryStyle">@style/MotoActions.PreferenceCategoryStyle</item>
<item name="preferenceFragmentStyle">@style/LineageActions.PreferenceFragmentStyle</item> <item name="preferenceFragmentStyle">@style/MotoActions.PreferenceFragmentStyle</item>
<item name="preferenceStyle">@style/LineageActions.PreferenceStyle</item> <item name="preferenceStyle">@style/MotoActions.PreferenceStyle</item>
<item name="preferenceTheme">@style/LineageActions.PreferenceTheme</item> <item name="preferenceTheme">@style/MotoActions.PreferenceTheme</item>
<item name="switchPreferenceStyle">@style/LineageActions.SwitchPreferenceStyle</item> <item name="switchPreferenceStyle">@style/MotoActions.SwitchPreferenceStyle</item>
</style> </style>
<style name="LineageActions.DialogPreferenceStyle" parent="@style/LineageActions.PreferenceStyle"> <style name="MotoActions.DialogPreferenceStyle" parent="@style/MotoActions.PreferenceStyle">
</style> </style>
<style name="LineageActions.PreferenceCategoryStyle" parent="@*android:style/Preference.DeviceDefault.Category"> <style name="MotoActions.PreferenceCategoryStyle" parent="@*android:style/Preference.DeviceDefault.Category">
<item name="allowDividerAbove">true</item> <item name="allowDividerAbove">true</item>
<item name="allowDividerBelow">true</item> <item name="allowDividerBelow">true</item>
<item name="android:layout">@layout/preference_category_material_settings</item> <item name="android:layout">@layout/preference_category_material_settings</item>
</style> </style>
<style name="LineageActions.PreferenceFragmentStyle" parent="@*android:style/PreferenceFragment.Material"> <style name="MotoActions.PreferenceFragmentStyle" parent="@*android:style/PreferenceFragment.Material">
<item name="allowDividerAfterLastItem">false</item> <item name="allowDividerAfterLastItem">false</item>
</style> </style>
<style name="LineageActions.PreferenceStyle" parent="@*android:style/Preference.DeviceDefault"> <style name="MotoActions.PreferenceStyle" parent="@*android:style/Preference.DeviceDefault">
<item name="allowDividerAbove">false</item> <item name="allowDividerAbove">false</item>
<item name="allowDividerBelow">true</item> <item name="allowDividerBelow">true</item>
<item name="singleLineTitle">false</item> <item name="singleLineTitle">false</item>
<item name="android:layout">@layout/preference_material_settings</item> <item name="android:layout">@layout/preference_material_settings</item>
</style> </style>
<style name="LineageActions.PreferenceTheme"> <style name="MotoActions.PreferenceTheme">
</style> </style>
<style name="LineageActions.SwitchPreferenceStyle" parent="@style/LineageActions.PreferenceStyle"> <style name="MotoActions.SwitchPreferenceStyle" parent="@style/MotoActions.PreferenceStyle">
<item name="widgetLayout">@*android:layout/preference_widget_switch</item> <item name="widgetLayout">@*android:layout/preference_widget_switch</item>
</style> </style>
<style name="LineageActions.SwitchBar" parent="@android:style/ThemeOverlay.Material.ActionBar"> <style name="MotoActions.SwitchBar" parent="@android:style/ThemeOverlay.Material.ActionBar">
</style> </style>
</resources> </resources>

View File

@@ -21,12 +21,13 @@
android:key="gesture_pick_up" android:key="gesture_pick_up"
android:defaultValue="true" android:defaultValue="true"
android:title="@string/pick_up_gesture_title" android:title="@string/pick_up_gesture_title"
android:summary="@string/pick_up_gesture_summary" /> android:summary="@string/pick_up_gesture_summary"
android:icon="@drawable/ic_pickup" />
<SwitchPreference <SwitchPreference
android:key="gesture_hand_wave" android:key="gesture_hand_wave"
android:defaultValue="true" android:defaultValue="false"
android:title="@string/hand_wave_gesture_title" android:title="@string/hand_wave_gesture_title"
android:summary="@string/hand_wave_gesture_summary" /> android:summary="@string/hand_wave_gesture_summary"
android:icon="@drawable/ic_hand" />
</PreferenceScreen> </PreferenceScreen>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
Copyright (C) 2015-2016 The CyanogenMod Project Copyright (C) 2015-2016 The CyanogenMod Project
Copyright (C) 2017 The LineageOS Project Copyright (C) 2017-2019 The LineageOS Project
Licensed under the Apache License, Version 2.0 (the "License" Licensed under the Apache License, Version 2.0 (the "License"
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
You may obtain a copy of the License at You may obtain a copy of the License at
@@ -19,6 +19,7 @@
android:key="fp_home_scr_off" android:key="fp_home_scr_off"
android:enabled="false" android:enabled="false"
android:title="@string/fingerprint_gestures_screenoff_title" android:title="@string/fingerprint_gestures_screenoff_title"
android:icon="@drawable/ic_fingerprint"
android:summary="@string/fingerprint_gestures_screenoff_summary" /> android:summary="@string/fingerprint_gestures_screenoff_summary" />
<PreferenceCategory <PreferenceCategory
@@ -29,6 +30,7 @@
android:key="fp_haptic" android:key="fp_haptic"
android:defaultValue="0" android:defaultValue="0"
android:title="@string/haptic_feedback" android:title="@string/haptic_feedback"
android:icon="@drawable/ic_vibrate"
android:summary="@string/haptic_feedback_summary" /> android:summary="@string/haptic_feedback_summary" />
<ListPreference <ListPreference
@@ -38,6 +40,7 @@
android:key="fp_keys" android:key="fp_keys"
android:defaultValue="0" android:defaultValue="0"
android:entries="@array/fp_keys_listArray" android:entries="@array/fp_keys_listArray"
android:icon="@drawable/ic_tap"
android:entryValues="@array/fp_keys_listValues" /> android:entryValues="@array/fp_keys_listValues" />
<ListPreference <ListPreference
@@ -47,6 +50,7 @@
android:key="fp_key_dbltap" android:key="fp_key_dbltap"
android:defaultValue="0" android:defaultValue="0"
android:entries="@array/fp_keys_listArray" android:entries="@array/fp_keys_listArray"
android:icon="@drawable/ic_double_tap"
android:entryValues="@array/fp_keys_listValues" /> android:entryValues="@array/fp_keys_listValues" />
<ListPreference <ListPreference
@@ -56,6 +60,7 @@
android:key="fp_key_hold" android:key="fp_key_hold"
android:defaultValue="0" android:defaultValue="0"
android:entries="@array/fp_keys_listArray" android:entries="@array/fp_keys_listArray"
android:icon="@drawable/ic_tap_hold"
android:entryValues="@array/fp_keys_listValues" /> android:entryValues="@array/fp_keys_listValues" />
<ListPreference <ListPreference
@@ -65,6 +70,7 @@
android:key="fp_key_left" android:key="fp_key_left"
android:defaultValue="0" android:defaultValue="0"
android:entries="@array/fp_keys_listArray" android:entries="@array/fp_keys_listArray"
android:icon="@drawable/ic_swipe_left"
android:entryValues="@array/fp_keys_listValues" /> android:entryValues="@array/fp_keys_listValues" />
<ListPreference <ListPreference
@@ -74,6 +80,7 @@
android:key="fp_key_right" android:key="fp_key_right"
android:defaultValue="0" android:defaultValue="0"
android:entries="@array/fp_keys_listArray" android:entries="@array/fp_keys_listArray"
android:icon="@drawable/ic_swipe_right"
android:entryValues="@array/fp_keys_listValues" /> android:entryValues="@array/fp_keys_listValues" />
</PreferenceCategory> </PreferenceCategory>
@@ -87,6 +94,7 @@
android:dependency="fp_home_scr_off" android:dependency="fp_home_scr_off"
android:defaultValue="0" android:defaultValue="0"
android:title="@string/haptic_feedback" android:title="@string/haptic_feedback"
android:icon="@drawable/ic_vibrate"
android:summary="@string/haptic_feedback_summary" /> android:summary="@string/haptic_feedback_summary" />
<ListPreference <ListPreference
@@ -97,6 +105,7 @@
android:key="fp_keys_off" android:key="fp_keys_off"
android:defaultValue="0" android:defaultValue="0"
android:entries="@array/fp_keys_screen_off_listArray" android:entries="@array/fp_keys_screen_off_listArray"
android:icon="@drawable/ic_tap"
android:entryValues="@array/fp_keys_screen_off_listValues" /> android:entryValues="@array/fp_keys_screen_off_listValues" />
<ListPreference <ListPreference
@@ -107,6 +116,7 @@
android:key="fp_key_dbltap_off" android:key="fp_key_dbltap_off"
android:defaultValue="0" android:defaultValue="0"
android:entries="@array/fp_keys_screen_off_listArray" android:entries="@array/fp_keys_screen_off_listArray"
android:icon="@drawable/ic_double_tap"
android:entryValues="@array/fp_keys_screen_off_listValues" /> android:entryValues="@array/fp_keys_screen_off_listValues" />
<ListPreference <ListPreference
@@ -117,6 +127,7 @@
android:key="fp_key_hold_off" android:key="fp_key_hold_off"
android:defaultValue="0" android:defaultValue="0"
android:entries="@array/fp_keys_screen_off_listArray" android:entries="@array/fp_keys_screen_off_listArray"
android:icon="@drawable/ic_tap_hold"
android:entryValues="@array/fp_keys_screen_off_listValues" /> android:entryValues="@array/fp_keys_screen_off_listValues" />
<ListPreference <ListPreference
@@ -127,6 +138,7 @@
android:key="fp_key_left_off" android:key="fp_key_left_off"
android:defaultValue="0" android:defaultValue="0"
android:entries="@array/fp_keys_screen_off_listArray" android:entries="@array/fp_keys_screen_off_listArray"
android:icon="@drawable/ic_swipe_left"
android:entryValues="@array/fp_keys_screen_off_listValues" /> android:entryValues="@array/fp_keys_screen_off_listValues" />
<ListPreference <ListPreference
@@ -137,6 +149,7 @@
android:key="fp_key_right_off" android:key="fp_key_right_off"
android:defaultValue="0" android:defaultValue="0"
android:entries="@array/fp_keys_screen_off_listArray" android:entries="@array/fp_keys_screen_off_listArray"
android:icon="@drawable/ic_swipe_right"
android:entryValues="@array/fp_keys_screen_off_listValues" /> android:entryValues="@array/fp_keys_screen_off_listValues" />
</PreferenceCategory> </PreferenceCategory>

View File

@@ -24,8 +24,8 @@
android:summary="@string/device_gestures_summary" android:summary="@string/device_gestures_summary"
android:icon="@drawable/ic_settings_gestures"> android:icon="@drawable/ic_settings_gestures">
<intent <intent
android:targetPackage="org.lineageos.settings.device" android:targetPackage="com.moto.actions"
android:targetClass="org.lineageos.settings.device.GestureSettingsActivity" /> android:targetClass="com.moto.actions.GestureSettingsActivity" />
</Preference> </Preference>
<Preference <Preference
@@ -34,8 +34,8 @@
android:summary="@string/ambient_display_manage_summary" android:summary="@string/ambient_display_manage_summary"
android:icon="@drawable/ic_settings_doze"> android:icon="@drawable/ic_settings_doze">
<intent <intent
android:targetPackage="org.lineageos.settings.device" android:targetPackage="com.moto.actions"
android:targetClass="org.lineageos.settings.device.DozeSettingsActivity" /> android:targetClass="com.moto.actions.DozeSettingsActivity" />
</Preference> </Preference>
<Preference <Preference
@@ -44,8 +44,8 @@
android:summary="@string/fingerprint_gestures_manage_summary" android:summary="@string/fingerprint_gestures_manage_summary"
android:icon="@drawable/ic_settings_fingerprint"> android:icon="@drawable/ic_settings_fingerprint">
<intent <intent
android:targetPackage="org.lineageos.settings.device" android:targetPackage="com.moto.actions"
android:targetClass="org.lineageos.settings.device.FPGestureSettingsActivity" /> android:targetClass="com.moto.actions.FPGestureSettingsActivity" />
</Preference> </Preference>
</PreferenceScreen> </PreferenceScreen>

View File

@@ -14,10 +14,9 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.os.Bundle; import android.os.Bundle;
import android.preference.PreferenceActivity; import android.preference.PreferenceActivity;
public class ActionsPreferenceActivity extends PreferenceActivity { public class ActionsPreferenceActivity extends PreferenceActivity {
@@ -25,9 +24,12 @@ public class ActionsPreferenceActivity extends PreferenceActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (savedInstanceState == null){
if (getActionBar() != null) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.replace(android.R.id.content, new ActionsPreferenceFragment()).commit(); .replace(android.R.id.content, new ActionsPreferenceFragment()).commit();
} }
} }
}

View File

@@ -15,17 +15,12 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.os.Bundle; import android.os.Bundle;
import android.support.v14.preference.PreferenceFragment; import android.support.v14.preference.PreferenceFragment;
public class ActionsPreferenceFragment extends PreferenceFragment { public class ActionsPreferenceFragment extends PreferenceFragment {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override @Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ComponentName; import android.content.ComponentName;
@@ -27,12 +27,11 @@ import android.content.ServiceConnection;
import android.os.IBinder; import android.os.IBinder;
import android.util.Log; import android.util.Log;
import org.lineageos.settings.device.util.FileUtils; import com.moto.actions.actions.Constants;
import org.lineageos.settings.device.actions.Constants; import com.moto.actions.ServiceWrapper.LocalBinder;
import org.lineageos.settings.device.ServiceWrapper.LocalBinder;
public class BootCompletedReceiver extends BroadcastReceiver { public class BootCompletedReceiver extends BroadcastReceiver {
static final String TAG = "LineageActions"; static final String TAG = "MotoActions";
final String NAVBAR_SHOWN = "navbar_shown"; final String NAVBAR_SHOWN = "navbar_shown";
private ServiceWrapper mServiceWrapper; private ServiceWrapper mServiceWrapper;
@@ -41,6 +40,10 @@ public class BootCompletedReceiver extends BroadcastReceiver {
public void onReceive(final Context context, Intent intent) { public void onReceive(final Context context, Intent intent) {
Log.i(TAG, "Booting"); Log.i(TAG, "Booting");
if (intent.getAction() != null && !intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
return;
}
// Restore nodes to saved preference values // Restore nodes to saved preference values
for (String pref : Constants.sPrefKeys) { for (String pref : Constants.sPrefKeys) {
Constants.writePreference(context, pref); Constants.writePreference(context, pref);

View File

@@ -14,10 +14,9 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.os.Bundle; import android.os.Bundle;
import android.preference.PreferenceActivity; import android.preference.PreferenceActivity;
public class DozeSettingsActivity extends PreferenceActivity { public class DozeSettingsActivity extends PreferenceActivity {
@@ -25,9 +24,12 @@ public class DozeSettingsActivity extends PreferenceActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (savedInstanceState == null){ if (getActionBar() != null) {
getFragmentManager().beginTransaction() getActionBar().setDisplayHomeAsUpEnabled(true);
.replace(android.R.id.content, new DozeSettingsFragment()).commit(); getActionBar().setTitle(R.string.ambient_display_title);
} }
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new DozeSettingsFragment()).commit();
} }
} }

View File

@@ -14,9 +14,8 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.app.ActionBar;
import android.os.Bundle; import android.os.Bundle;
import android.support.v14.preference.PreferenceFragment; import android.support.v14.preference.PreferenceFragment;
import android.provider.Settings; import android.provider.Settings;
@@ -41,14 +40,6 @@ public class DozeSettingsFragment extends PreferenceFragment {
private String KEY_GESTURE_HAND_WAVE = "gesture_hand_wave"; private String KEY_GESTURE_HAND_WAVE = "gesture_hand_wave";
private String KEY_GESTURE_PICK_UP = "gesture_pick_up"; private String KEY_GESTURE_PICK_UP = "gesture_pick_up";
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ActionBar actionbar = getActivity().getActionBar();
actionbar.setDisplayHomeAsUpEnabled(true);
actionbar.setTitle(R.string.ambient_display_title);
}
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {
@@ -63,7 +54,7 @@ public class DozeSettingsFragment extends PreferenceFragment {
View switchBar = view.findViewById(R.id.switch_bar); View switchBar = view.findViewById(R.id.switch_bar);
mAmbientDisplaySwitch = (Switch) switchBar.findViewById(android.R.id.switch_widget); mAmbientDisplaySwitch = (Switch) switchBar.findViewById(android.R.id.switch_widget);
mAmbientDisplaySwitch.setChecked(LineageActionsSettings.isDozeEnabled(getActivity().getContentResolver())); mAmbientDisplaySwitch.setChecked(MotoActionsSettings.isDozeEnabled(getActivity().getContentResolver()));
mAmbientDisplaySwitch.setOnCheckedChangeListener(mAmbientDisplayPrefListener); mAmbientDisplaySwitch.setOnCheckedChangeListener(mAmbientDisplayPrefListener);
switchBar.setOnClickListener(new View.OnClickListener() { switchBar.setOnClickListener(new View.OnClickListener() {
@@ -74,14 +65,14 @@ public class DozeSettingsFragment extends PreferenceFragment {
}); });
mSwitchBarText = switchBar.findViewById(R.id.switch_text); mSwitchBarText = switchBar.findViewById(R.id.switch_text);
mSwitchBarText.setText(LineageActionsSettings.isDozeEnabled(getActivity().getContentResolver()) ? R.string.switch_bar_on : mSwitchBarText.setText(MotoActionsSettings.isDozeEnabled(getActivity().getContentResolver()) ? R.string.switch_bar_on :
R.string.switch_bar_off); R.string.switch_bar_off);
} }
@Override @Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.doze_panel); addPreferencesFromResource(R.xml.doze_panel);
boolean dozeEnabled = LineageActionsSettings.isDozeEnabled(getActivity().getContentResolver()); boolean dozeEnabled = MotoActionsSettings.isDozeEnabled(getActivity().getContentResolver());
mHandwavePreference = (SwitchPreference) findPreference(KEY_GESTURE_HAND_WAVE); mHandwavePreference = (SwitchPreference) findPreference(KEY_GESTURE_HAND_WAVE);
mPickupPreference = (SwitchPreference) findPreference(KEY_GESTURE_PICK_UP); mPickupPreference = (SwitchPreference) findPreference(KEY_GESTURE_PICK_UP);
updatePrefs(dozeEnabled); updatePrefs(dozeEnabled);

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.os.Bundle; import android.os.Bundle;
@@ -25,9 +25,13 @@ public class FPGestureSettingsActivity extends PreferenceActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (savedInstanceState == null){
if (getActionBar() != null) {
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setTitle(R.string.fingerprint_gestures_title);
}
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.replace(android.R.id.content, new FPGestureSettingsFragment()).commit(); .replace(android.R.id.content, new FPGestureSettingsFragment()).commit();
} }
} }
}

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.app.ActionBar; import android.app.ActionBar;
import android.os.Bundle; import android.os.Bundle;
@@ -33,10 +33,10 @@ import android.widget.CompoundButton;
import android.widget.Switch; import android.widget.Switch;
import android.widget.TextView; import android.widget.TextView;
import org.lineageos.settings.device.actions.Constants; import com.moto.actions.actions.Constants;
import static org.lineageos.settings.device.actions.Constants.FP_HOME_KEY; import static com.moto.actions.actions.Constants.FP_HOME_KEY;
import static org.lineageos.settings.device.actions.Constants.FP_HOME_KEY_OFF; import static com.moto.actions.actions.Constants.FP_HOME_KEY_OFF;
public class FPGestureSettingsFragment extends PreferenceFragment { public class FPGestureSettingsFragment extends PreferenceFragment {
@@ -47,14 +47,6 @@ public class FPGestureSettingsFragment extends PreferenceFragment {
private TextView mSwitchBarText; private TextView mSwitchBarText;
private Switch mFPGestureSwitch; private Switch mFPGestureSwitch;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ActionBar actionbar = getActivity().getActionBar();
actionbar.setDisplayHomeAsUpEnabled(true);
actionbar.setTitle(R.string.fingerprint_gestures_title);
}
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) { Bundle savedInstanceState) {

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.os.Bundle; import android.os.Bundle;
@@ -25,9 +25,12 @@ public class GestureSettingsActivity extends PreferenceActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (savedInstanceState == null){
if (getActionBar() != null) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}
getFragmentManager().beginTransaction() getFragmentManager().beginTransaction()
.replace(android.R.id.content, new GestureSettingsFragment()).commit(); .replace(android.R.id.content, new GestureSettingsFragment()).commit();
} }
} }
}

View File

@@ -14,19 +14,13 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.os.Bundle; import android.os.Bundle;
import android.support.v14.preference.PreferenceFragment; import android.support.v14.preference.PreferenceFragment;
public class GestureSettingsFragment extends PreferenceFragment { public class GestureSettingsFragment extends PreferenceFragment {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override @Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.actions_panel); addPreferencesFromResource(R.xml.actions_panel);

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.app.ActivityManagerNative; import android.app.ActivityManagerNative;
@@ -30,9 +30,6 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.content.res.Resources; import android.content.res.Resources;
import android.hardware.Sensor; import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.hardware.camera2.CameraAccessException; import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics; import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager; import android.hardware.camera2.CameraManager;
@@ -59,16 +56,15 @@ import android.view.InputDevice;
import android.view.KeyCharacterMap; import android.view.KeyCharacterMap;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.ViewConfiguration; import android.view.ViewConfiguration;
import android.widget.Toast;
import com.android.internal.os.DeviceKeyHandler; import com.android.internal.os.DeviceKeyHandler;
import com.android.internal.util.ArrayUtils; import com.android.internal.util.ArrayUtils;
import org.lineageos.settings.device.util.FileUtils; import com.moto.actions.util.FileUtils;
import java.util.List; import java.util.List;
import static org.lineageos.settings.device.actions.Constants.*; import static com.moto.actions.actions.Constants.*;
public class KeyHandler implements DeviceKeyHandler { public class KeyHandler implements DeviceKeyHandler {
@@ -88,18 +84,13 @@ public class KeyHandler implements DeviceKeyHandler {
.build(); .build();
private final Context mContext; private final Context mContext;
private final PowerManager mPowerManager; private final PowerManager mPowerManager;
WakeLock mProximityWakeLock;
WakeLock mGestureWakeLock; WakeLock mGestureWakeLock;
private KeyguardManager mKeyguardManager; private KeyguardManager mKeyguardManager;
private FPScreenOffGesturesHandler mFPScreenOffGesturesHandler; private FPScreenOffGesturesHandler mFPScreenOffGesturesHandler;
private SensorManager mSensorManager;
private CameraManager mCameraManager; private CameraManager mCameraManager;
private String mRearCameraId; private String mRearCameraId;
private boolean mTorchEnabled; private boolean mTorchEnabled;
private Sensor mProximitySensor;
private Vibrator mVibrator; private Vibrator mVibrator;
private int mProximityTimeOut;
private boolean mProximityWakeSupported;
private ISearchManager mSearchManagerService; private ISearchManager mSearchManagerService;
private Handler mHandler; private Handler mHandler;
private int fpTapCounts = 0; private int fpTapCounts = 0;
@@ -140,19 +131,6 @@ public class KeyHandler implements DeviceKeyHandler {
mGestureWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, mGestureWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
"GestureWakeLock"); "GestureWakeLock");
final Resources resources = mContext.getResources();
mProximityTimeOut = resources.getInteger(
com.android.internal.R.integer.config_proximityCheckTimeout);
mProximityWakeSupported = resources.getBoolean(
com.android.internal.R.bool.config_proximityCheckOnWake);
if (mProximityWakeSupported) {
mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
mProximityWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
"ProximityWakeLock");
}
mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
if (mVibrator == null || !mVibrator.hasVibrator()) { if (mVibrator == null || !mVibrator.hasVibrator()) {
mVibrator = null; mVibrator = null;
@@ -439,7 +417,7 @@ public class KeyHandler implements DeviceKeyHandler {
return node; return node;
} }
public boolean handleKeyEvent(KeyEvent event) { public KeyEvent handleKeyEvent(KeyEvent event) {
int scanCode = event.getScanCode(); int scanCode = event.getScanCode();
if (DEBUG) { if (DEBUG) {
@@ -453,7 +431,7 @@ public class KeyHandler implements DeviceKeyHandler {
boolean isFPScanCode = ArrayUtils.contains(sSupportedFPGestures, scanCode); boolean isFPScanCode = ArrayUtils.contains(sSupportedFPGestures, scanCode);
if (!isFPScanCode) { if (!isFPScanCode) {
return false; return event;
} }
boolean isFPGestureEnabled = FileUtils.readOneLine(FP_HOME_NODE).equals("1"); boolean isFPGestureEnabled = FileUtils.readOneLine(FP_HOME_NODE).equals("1");
@@ -463,12 +441,12 @@ public class KeyHandler implements DeviceKeyHandler {
// We only want ACTION_UP event // We only want ACTION_UP event
if (event.getAction() != KeyEvent.ACTION_UP) { if (event.getAction() != KeyEvent.ACTION_UP) {
return true; return null;
} }
if (isFPScanCode){ if (isFPScanCode){
if (fpGesturePending) { if (fpGesturePending) {
return false; return event;
} else { } else {
resetFPGestureDelay(); resetFPGestureDelay();
fpGesturePending = true; fpGesturePending = true;
@@ -483,7 +461,7 @@ public class KeyHandler implements DeviceKeyHandler {
if (isFPScanCode) { if (isFPScanCode) {
if ((!isFPGestureEnabled) || (!isScreenOn && !isFPGestureEnabledOnScreenOff)) { if ((!isFPGestureEnabled) || (!isScreenOn && !isFPGestureEnabledOnScreenOff)) {
resetDoubleTapOnFP(); resetDoubleTapOnFP();
return false; return event;
} }
if (!isScreenOn && isFPGestureEnabledOnScreenOff) { if (!isScreenOn && isFPGestureEnabledOnScreenOff) {
processFPScreenOffScancode(scanCode); processFPScreenOffScancode(scanCode);
@@ -491,7 +469,7 @@ public class KeyHandler implements DeviceKeyHandler {
processFPScancode(scanCode); processFPScancode(scanCode);
} }
} }
return true; return null;
} }
private void processFPScancode(int scanCode) { private void processFPScancode(int scanCode) {
@@ -582,11 +560,6 @@ public class KeyHandler implements DeviceKeyHandler {
case ACTION_SCREENSHOT: case ACTION_SCREENSHOT:
triggerVirtualKeypress(mHandler, KeyEvent.KEYCODE_SYSRQ); triggerVirtualKeypress(mHandler, KeyEvent.KEYCODE_SYSRQ);
break; break;
case ACTION_PIP:
if (!mKeyguardManager.inKeyguardRestrictedInputMode()) {
goToPipMode();
}
break;
case ACTION_LAST_APP: case ACTION_LAST_APP:
if (!mKeyguardManager.inKeyguardRestrictedInputMode()) { if (!mKeyguardManager.inKeyguardRestrictedInputMode()) {
switchToLastApp(mContext); switchToLastApp(mContext);
@@ -602,26 +575,6 @@ public class KeyHandler implements DeviceKeyHandler {
mVibrator.vibrate(intensity); mVibrator.vibrate(intensity);
} }
private void goToPipMode() {
ActivityInfo ai = getRunningActivityInfo(mContext);
if (ai != null && !ai.supportsPictureInPicture()) {
try {
PackageManager pm = mContext.getPackageManager();
Resources resources = pm.getResourcesForApplication("org.lineageos.settings.device");
int resId = resources.getIdentifier("app_does_not_support_pip", "string", "org.lineageos.settings.device");
final String text = resources.getString(resId);
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(mContext, text, Toast.LENGTH_SHORT).show();
}
});
} catch (Exception e) {
}
return;
}
triggerVirtualKeypress(mHandler, 171);
}
private void toggleScreenState() { private void toggleScreenState() {
if (mPowerManager.isScreenOn()) { if (mPowerManager.isScreenOn()) {
mPowerManager.goToSleep(SystemClock.uptimeMillis()); mPowerManager.goToSleep(SystemClock.uptimeMillis());
@@ -682,45 +635,9 @@ public class KeyHandler implements DeviceKeyHandler {
if (!mFPScreenOffGesturesHandler.hasMessages(FP_ACTION_REQUEST)) { if (!mFPScreenOffGesturesHandler.hasMessages(FP_ACTION_REQUEST)) {
Message msg = mFPScreenOffGesturesHandler.obtainMessage(FP_ACTION_REQUEST); Message msg = mFPScreenOffGesturesHandler.obtainMessage(FP_ACTION_REQUEST);
msg.arg1 = scanCode; msg.arg1 = scanCode;
boolean defaultProximity = mContext.getResources().getBoolean(
com.android.internal.R.bool.config_proximityCheckOnWakeEnabledByDefault);
boolean proximityWakeCheckEnabled = Settings.System.getInt(mContext.getContentResolver(),
Settings.System.PROXIMITY_ON_WAKE, defaultProximity ? 1 : 0) == 1;
if (mProximityWakeSupported && proximityWakeCheckEnabled && mProximitySensor != null) {
mFPScreenOffGesturesHandler.sendMessageDelayed(msg, mProximityTimeOut);
registerFPScreenOffListener(scanCode);
} else {
mFPScreenOffGesturesHandler.sendMessage(msg); mFPScreenOffGesturesHandler.sendMessage(msg);
} }
} }
}
private void registerFPScreenOffListener(final int scanCode) {
mProximityWakeLock.acquire();
mSensorManager.registerListener(new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
mProximityWakeLock.release();
mSensorManager.unregisterListener(this);
if (!mFPScreenOffGesturesHandler.hasMessages(FP_ACTION_REQUEST)) {
// The sensor took to long, ignoring.
return;
}
mFPScreenOffGesturesHandler.removeMessages(FP_ACTION_REQUEST);
if (event.values[0] == mProximitySensor.getMaximumRange()) {
Message msg = mFPScreenOffGesturesHandler.obtainMessage(FP_ACTION_REQUEST);
msg.arg1 = scanCode;
mFPScreenOffGesturesHandler.sendMessage(msg);
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}, mProximitySensor, SensorManager.SENSOR_DELAY_FASTEST);
}
private void resetFPGestureDelay() { private void resetFPGestureDelay() {
fpGesturePending = false; fpGesturePending = false;

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.database.Cursor; import android.database.Cursor;
import android.database.MatrixCursor; import android.database.MatrixCursor;
@@ -33,8 +33,8 @@ import static android.provider.SearchIndexablesContract.INDEXABLES_RAW_COLUMNS;
import static android.provider.SearchIndexablesContract.INDEXABLES_XML_RES_COLUMNS; import static android.provider.SearchIndexablesContract.INDEXABLES_XML_RES_COLUMNS;
import static android.provider.SearchIndexablesContract.NON_INDEXABLES_KEYS_COLUMNS; import static android.provider.SearchIndexablesContract.NON_INDEXABLES_KEYS_COLUMNS;
public class LineageActionsSearchIndexablesProvider extends SearchIndexablesProvider { public class MotoActionsSearchIndexablesProvider extends SearchIndexablesProvider {
private static final String TAG = "LineageActionsSearchIndexablesProvider"; private static final String TAG = "MotoActionsSearchIndexablesProvider";
@Override @Override
public boolean onCreate() { public boolean onCreate() {
@@ -73,7 +73,7 @@ public class LineageActionsSearchIndexablesProvider extends SearchIndexablesProv
ref[COLUMN_INDEX_XML_RES_CLASS_NAME] = null; ref[COLUMN_INDEX_XML_RES_CLASS_NAME] = null;
ref[COLUMN_INDEX_XML_RES_ICON_RESID] = sir.iconResId; ref[COLUMN_INDEX_XML_RES_ICON_RESID] = sir.iconResId;
ref[COLUMN_INDEX_XML_RES_INTENT_ACTION] = "com.android.settings.action.EXTRA_SETTINGS"; ref[COLUMN_INDEX_XML_RES_INTENT_ACTION] = "com.android.settings.action.EXTRA_SETTINGS";
ref[COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE] = "org.lineageos.settings.device"; ref[COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE] = "com.moto.actions";
ref[COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS] = sir.className; ref[COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS] = sir.className;
return ref; return ref;
} }

View File

@@ -0,0 +1,115 @@
/*
* Copyright (c) 2015 The CyanogenMod Project
* Copyright (c) 2017 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.moto.actions;
import android.app.IntentService;
import android.content.Context;
import android.content.Intent;
import android.os.PowerManager;
import android.util.Log;
import java.util.List;
import java.util.LinkedList;
import com.moto.actions.actions.UpdatedStateNotifier;
import com.moto.actions.actions.CameraActivationSensor;
import com.moto.actions.actions.ChopChopSensor;
import com.moto.actions.actions.FlipToMute;
import com.moto.actions.actions.LiftToSilence;
import com.moto.actions.actions.ProximitySilencer;
import com.moto.actions.doze.DozePulseAction;
import com.moto.actions.doze.GlanceSensor;
import com.moto.actions.doze.ProximitySensor;
import com.moto.actions.doze.ScreenReceiver;
import com.moto.actions.doze.ScreenStateNotifier;
public class MotoActionsService extends IntentService implements ScreenStateNotifier,
UpdatedStateNotifier {
private static final String TAG = "MotoActions";
private final PowerManager mPowerManager;
private final PowerManager.WakeLock mWakeLock;
private final List<ScreenStateNotifier> mScreenStateNotifiers = new LinkedList<>();
private final List<UpdatedStateNotifier> mUpdatedStateNotifiers = new LinkedList<>();
public MotoActionsService(Context context) {
super("MotoActionService");
Log.d(TAG, "Starting");
MotoActionsSettings motoActionsSettings = new MotoActionsSettings(context, this);
SensorHelper sensorHelper = new SensorHelper(context);
new ScreenReceiver(context, this);
DozePulseAction mDozePulseAction = new DozePulseAction(context);
mScreenStateNotifiers.add(mDozePulseAction);
// Actionable sensors get screen on/off notifications
mScreenStateNotifiers.add(new GlanceSensor(motoActionsSettings, sensorHelper, mDozePulseAction));
mScreenStateNotifiers.add(new ProximitySensor(motoActionsSettings, sensorHelper, mDozePulseAction));
// Other actions that are always enabled
mUpdatedStateNotifiers.add(new CameraActivationSensor(motoActionsSettings, sensorHelper));
mUpdatedStateNotifiers.add(new ChopChopSensor(motoActionsSettings, sensorHelper));
mUpdatedStateNotifiers.add(new ProximitySilencer(motoActionsSettings, context, sensorHelper));
mUpdatedStateNotifiers.add(new FlipToMute(motoActionsSettings, context, sensorHelper));
mUpdatedStateNotifiers.add(new LiftToSilence(motoActionsSettings, context, sensorHelper));
mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
String tag = context.getPackageName() + ":ServiceWakeLock";
mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, tag);
updateState();
}
@Override
protected void onHandleIntent(Intent intent) {
}
@Override
public void screenTurnedOn() {
if (!mWakeLock.isHeld()) {
mWakeLock.acquire();
}
for (ScreenStateNotifier screenStateNotifier : mScreenStateNotifiers) {
screenStateNotifier.screenTurnedOn();
}
}
@Override
public void screenTurnedOff() {
if (mWakeLock.isHeld()) {
mWakeLock.release();
}
for (ScreenStateNotifier screenStateNotifier : mScreenStateNotifiers) {
screenStateNotifier.screenTurnedOff();
}
}
public void updateState() {
if (mPowerManager.isInteractive()) {
screenTurnedOn();
} else {
screenTurnedOff();
}
for (UpdatedStateNotifier notifier : mUpdatedStateNotifiers) {
notifier.updateState();
}
}
}

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
@@ -25,13 +25,13 @@ import android.provider.Settings;
import android.util.Log; import android.util.Log;
import org.lineageos.settings.device.actions.Constants; import com.moto.actions.actions.Constants;
import org.lineageos.settings.device.actions.UpdatedStateNotifier; import com.moto.actions.actions.UpdatedStateNotifier;
import org.lineageos.settings.device.actions.CameraActivationAction; import com.moto.actions.actions.CameraActivationAction;
import org.lineageos.settings.device.actions.TorchAction; import com.moto.actions.actions.TorchAction;
public class LineageActionsSettings { public class MotoActionsSettings implements SharedPreferences.OnSharedPreferenceChangeListener {
private static final String TAG = "LineageActions"; private static final String TAG = "MotoActions";
private static final String GESTURE_CAMERA_ACTION_KEY = "gesture_camera_action"; private static final String GESTURE_CAMERA_ACTION_KEY = "gesture_camera_action";
private static final String GESTURE_CHOP_CHOP_KEY = "gesture_chop_chop"; private static final String GESTURE_CHOP_CHOP_KEY = "gesture_chop_chop";
@@ -52,10 +52,10 @@ public class LineageActionsSettings {
private boolean mFlipToMuteEnabled; private boolean mFlipToMuteEnabled;
private boolean mLiftToSilenceEnabled; private boolean mLiftToSilenceEnabled;
public LineageActionsSettings(Context context, UpdatedStateNotifier updatedStateNotifier) { public MotoActionsSettings(Context context, UpdatedStateNotifier updatedStateNotifier) {
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
loadPreferences(sharedPrefs); loadPreferences(sharedPrefs);
sharedPrefs.registerOnSharedPreferenceChangeListener(mPrefListener); sharedPrefs.registerOnSharedPreferenceChangeListener(this);
mContext = context; mContext = context;
mUpdatedStateNotifier = updatedStateNotifier; mUpdatedStateNotifier = updatedStateNotifier;
} }
@@ -107,15 +107,13 @@ public class LineageActionsSettings {
private void loadPreferences(SharedPreferences sharedPreferences) { private void loadPreferences(SharedPreferences sharedPreferences) {
mCameraGestureEnabled = sharedPreferences.getBoolean(GESTURE_CAMERA_ACTION_KEY, true); mCameraGestureEnabled = sharedPreferences.getBoolean(GESTURE_CAMERA_ACTION_KEY, true);
mChopChopEnabled = sharedPreferences.getBoolean(GESTURE_CHOP_CHOP_KEY, true); mChopChopEnabled = sharedPreferences.getBoolean(GESTURE_CHOP_CHOP_KEY, true);
mIrWakeUpEnabled = sharedPreferences.getBoolean(GESTURE_IR_WAKEUP_KEY, true); mIrWakeUpEnabled = sharedPreferences.getBoolean(GESTURE_IR_WAKEUP_KEY, false);
mPickUpGestureEnabled = sharedPreferences.getBoolean(GESTURE_PICK_UP_KEY, true); mPickUpGestureEnabled = sharedPreferences.getBoolean(GESTURE_PICK_UP_KEY, true);
mIrSilencerEnabled = sharedPreferences.getBoolean(GESTURE_IR_SILENCER_KEY, false); mIrSilencerEnabled = sharedPreferences.getBoolean(GESTURE_IR_SILENCER_KEY, false);
mFlipToMuteEnabled = sharedPreferences.getBoolean(GESTURE_FLIP_TO_MUTE_KEY, false); mFlipToMuteEnabled = sharedPreferences.getBoolean(GESTURE_FLIP_TO_MUTE_KEY, false);
mLiftToSilenceEnabled = sharedPreferences.getBoolean(GESTURE_LIFT_TO_SILENCE_KEY, false); mLiftToSilenceEnabled = sharedPreferences.getBoolean(GESTURE_LIFT_TO_SILENCE_KEY, false);
} }
private SharedPreferences.OnSharedPreferenceChangeListener mPrefListener =
new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override @Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
boolean updated = true; boolean updated = true;
@@ -125,7 +123,7 @@ public class LineageActionsSettings {
} else if (GESTURE_CHOP_CHOP_KEY.equals(key)) { } else if (GESTURE_CHOP_CHOP_KEY.equals(key)) {
mChopChopEnabled = sharedPreferences.getBoolean(GESTURE_CHOP_CHOP_KEY, true); mChopChopEnabled = sharedPreferences.getBoolean(GESTURE_CHOP_CHOP_KEY, true);
} else if (GESTURE_IR_WAKEUP_KEY.equals(key)) { } else if (GESTURE_IR_WAKEUP_KEY.equals(key)) {
mIrWakeUpEnabled = sharedPreferences.getBoolean(GESTURE_IR_WAKEUP_KEY, true); mIrWakeUpEnabled = sharedPreferences.getBoolean(GESTURE_IR_WAKEUP_KEY, false);
} else if (GESTURE_PICK_UP_KEY.equals(key)) { } else if (GESTURE_PICK_UP_KEY.equals(key)) {
mPickUpGestureEnabled = sharedPreferences.getBoolean(GESTURE_PICK_UP_KEY, true); mPickUpGestureEnabled = sharedPreferences.getBoolean(GESTURE_PICK_UP_KEY, true);
} else if (GESTURE_IR_SILENCER_KEY.equals(key)) { } else if (GESTURE_IR_SILENCER_KEY.equals(key)) {
@@ -146,5 +144,4 @@ public class LineageActionsSettings {
mUpdatedStateNotifier.updateState(); mUpdatedStateNotifier.updateState();
} }
} }
};
} }

View File

@@ -15,8 +15,8 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
public interface SensorAction { public interface SensorAction {
public void action(); void action();
} }

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import java.util.List; import java.util.List;
import java.io.FileOutputStream; import java.io.FileOutputStream;
@@ -26,17 +26,16 @@ import android.content.Context;
import android.hardware.Sensor; import android.hardware.Sensor;
import android.hardware.SensorEventListener; import android.hardware.SensorEventListener;
import android.hardware.SensorManager; import android.hardware.SensorManager;
import android.hardware.TriggerEventListener;
import android.util.Log;
public class SensorHelper { public class SensorHelper {
private static final String TAG = "LineageActions"; private static final String TAG = "MotoActions";
private static final int SENSOR_TYPE_MMI_CAMERA_ACTIVATION = 65540; private static final int SENSOR_TYPE_MMI_CAMERA_ACTIVATION = 65540;
private static final int SENSOR_TYPE_MMI_CHOP_CHOP = 65546; private static final int SENSOR_TYPE_MMI_CHOP_CHOP = 65546;
private static final int SENSOR_TYPE_MMI_FLAT_UP = 65537; private static final int SENSOR_TYPE_MMI_FLAT_UP = 65537;
private static final int SENSOR_TYPE_MMI_FLAT_DOWN = 65538; private static final int SENSOR_TYPE_MMI_FLAT_DOWN = 65538;
private static final int SENSOR_TYPE_MMI_STOW = 65539; private static final int SENSOR_TYPE_MMI_STOW = 65539;
private static final int SENSOR_TYPE_MMI_GLANCE = 65548;
private static final int BATCH_LATENCY_IN_MS = 100; private static final int BATCH_LATENCY_IN_MS = 100;
@@ -45,7 +44,7 @@ public class SensorHelper {
public SensorHelper(Context context) { public SensorHelper(Context context) {
mContext = context; mContext = context;
mSensorManager = (SensorManager) mContext .getSystemService(Context.SENSOR_SERVICE); mSensorManager = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
dumpSensorsList(); dumpSensorsList();
} }
@@ -81,6 +80,10 @@ public class SensorHelper {
return mSensorManager.getDefaultSensor(SENSOR_TYPE_MMI_FLAT_DOWN, true); return mSensorManager.getDefaultSensor(SENSOR_TYPE_MMI_FLAT_DOWN, true);
} }
public Sensor getGlanceSensor() {
return mSensorManager.getDefaultSensor(SENSOR_TYPE_MMI_GLANCE, true);
}
public Sensor getProximitySensor() { public Sensor getProximitySensor() {
return mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY, true); return mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY, true);
} }
@@ -99,15 +102,4 @@ public class SensorHelper {
public void unregisterListener(SensorEventListener listener) { public void unregisterListener(SensorEventListener listener) {
mSensorManager.unregisterListener(listener); mSensorManager.unregisterListener(listener);
} }
/* TriggerSensor */
public void requestTriggerSensor(Sensor sensor, TriggerEventListener listener) {
if (!mSensorManager.requestTriggerSensor(listener, sensor)) {
throw new RuntimeException("Failed to requestTriggerSensor for sensor " + sensor);
}
}
public void cancelTriggerSensor(Sensor sensor, TriggerEventListener listener) {
mSensorManager.cancelTriggerSensor(listener, sensor);
}
} }

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device; package com.moto.actions;
import android.content.Intent; import android.content.Intent;
import android.os.Binder; import android.os.Binder;
@@ -24,10 +24,10 @@ import android.os.IBinder;
import android.util.Log; import android.util.Log;
public class ServiceWrapper extends android.app.Service { public class ServiceWrapper extends android.app.Service {
static final String TAG = "LineageActions-ServiceWrapper"; static final String TAG = "MotoActions-ServiceWrapper";
private final IBinder mBinder = new LocalBinder(); private final IBinder mBinder = new LocalBinder();
private LineageActionsService mLineageActionsService; private MotoActionsService mMotoActionsService;
public interface ServiceCallback { public interface ServiceCallback {
void sendResults(int resultCode, Bundle b); void sendResults(int resultCode, Bundle b);
@@ -45,7 +45,7 @@ public class ServiceWrapper extends android.app.Service {
public void onCreate() { public void onCreate() {
Log.i(TAG, "onCreate"); Log.i(TAG, "onCreate");
super.onCreate(); super.onCreate();
mLineageActionsService = new LineageActionsService(this); mMotoActionsService = new MotoActionsService(this);
} }
@Override @Override

View File

@@ -15,9 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.actions; package com.moto.actions.actions;
import java.util.List;
import android.app.KeyguardManager; import android.app.KeyguardManager;
import android.content.ComponentName; import android.content.ComponentName;
@@ -28,14 +26,16 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.os.PowerManager; import android.os.PowerManager;
import android.os.PowerManager.WakeLock; import android.os.PowerManager.WakeLock;
import android.os.VibrationEffect;
import android.os.Vibrator; import android.os.Vibrator;
import android.provider.MediaStore; import android.provider.MediaStore;
import android.util.Log;
import org.lineageos.settings.device.SensorAction; import com.moto.actions.SensorAction;
import java.util.List;
public class CameraActivationAction implements SensorAction { public class CameraActivationAction implements SensorAction {
private static final String TAG = "LineageActions"; private static final String TAG = "MotoActions";
private static final int TURN_SCREEN_ON_WAKE_LOCK_MS = 500; private static final int TURN_SCREEN_ON_WAKE_LOCK_MS = 500;
@@ -55,7 +55,7 @@ public class CameraActivationAction implements SensorAction {
public void action() { public void action() {
vibrate(); vibrate();
turnScreenOn(); turnScreenOn();
if (mKeyguardManager.inKeyguardRestrictedInputMode()) { if (mKeyguardManager.isKeyguardLocked()) {
launchSecureCamera(); launchSecureCamera();
} else { } else {
launchCamera(); launchCamera();
@@ -63,13 +63,16 @@ public class CameraActivationAction implements SensorAction {
} }
private void vibrate() { private void vibrate() {
Vibrator v = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE); Vibrator vib = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(500); if (vib == null) return;
VibrationEffect effect = VibrationEffect.createOneShot(500, VibrationEffect.DEFAULT_AMPLITUDE);
vib.vibrate(effect);
} }
private void turnScreenOn() { private void turnScreenOn() {
PowerManager.WakeLock wl = mPowerManager.newWakeLock( String tag = mContext.getPackageName() + ":CameraWakeLock";
PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, TAG); WakeLock wl = mPowerManager.newWakeLock(
PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, tag);
wl.acquire(TURN_SCREEN_ON_WAKE_LOCK_MS); wl.acquire(TURN_SCREEN_ON_WAKE_LOCK_MS);
} }

View File

@@ -15,44 +15,35 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.actions; package com.moto.actions.actions;
import java.util.List;
import android.hardware.Sensor; import android.hardware.Sensor;
import android.hardware.SensorEvent; import android.hardware.SensorEvent;
import android.hardware.SensorEventListener; import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.util.Log; import android.util.Log;
import org.lineageos.settings.device.LineageActionsSettings; import com.moto.actions.MotoActionsSettings;
import org.lineageos.settings.device.SensorHelper; import com.moto.actions.SensorHelper;
public class CameraActivationSensor implements SensorEventListener, UpdatedStateNotifier { public class CameraActivationSensor implements SensorEventListener, UpdatedStateNotifier {
private static final String TAG = "LineageActions-CameraSensor"; private static final String TAG = "MotoActions-CameraSensor";
private static final int TURN_SCREEN_ON_WAKE_LOCK_MS = 500; private final MotoActionsSettings mMotoActionsSettings;
private final LineageActionsSettings mLineageActionsSettings;
private final SensorHelper mSensorHelper;
private final Sensor mSensor;
private boolean mIsEnabled; private boolean mIsEnabled;
public CameraActivationSensor(LineageActionsSettings lineageActionsSettings, SensorHelper sensorHelper) { public CameraActivationSensor(MotoActionsSettings motoActionsSettings, SensorHelper sensorHelper) {
mLineageActionsSettings = lineageActionsSettings; mMotoActionsSettings = motoActionsSettings;
mSensorHelper = sensorHelper; Sensor sensor = sensorHelper.getCameraActivationSensor();
mSensor = sensorHelper.getCameraActivationSensor(); sensorHelper.registerListener(sensor, this);
mSensorHelper.registerListener(mSensor, this);
} }
@Override @Override
public synchronized void updateState() { public synchronized void updateState() {
if (mLineageActionsSettings.isCameraGestureEnabled() && !mIsEnabled) { if (mMotoActionsSettings.isCameraGestureEnabled() && !mIsEnabled) {
Log.d(TAG, "Enabling"); Log.d(TAG, "Enabling");
mIsEnabled = true; mIsEnabled = true;
} else if (! mLineageActionsSettings.isCameraGestureEnabled() && mIsEnabled) { } else if (! mMotoActionsSettings.isCameraGestureEnabled() && mIsEnabled) {
Log.d(TAG, "Disabling"); Log.d(TAG, "Disabling");
mIsEnabled = false; mIsEnabled = false;
} }
@@ -61,7 +52,7 @@ public class CameraActivationSensor implements SensorEventListener, UpdatedState
@Override @Override
public void onSensorChanged(SensorEvent event) { public void onSensorChanged(SensorEvent event) {
Log.d(TAG, "activate camera"); Log.d(TAG, "activate camera");
if (mIsEnabled) mLineageActionsSettings.cameraAction(); if (mIsEnabled) mMotoActionsSettings.cameraAction();
} }
@Override @Override

View File

@@ -15,25 +15,20 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.actions; package com.moto.actions.actions;
import java.util.List;
import android.hardware.Sensor; import android.hardware.Sensor;
import android.hardware.SensorEvent; import android.hardware.SensorEvent;
import android.hardware.SensorEventListener; import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.util.Log; import android.util.Log;
import org.lineageos.settings.device.LineageActionsSettings; import com.moto.actions.MotoActionsSettings;
import org.lineageos.settings.device.SensorHelper; import com.moto.actions.SensorHelper;
public class ChopChopSensor implements SensorEventListener, UpdatedStateNotifier { public class ChopChopSensor implements SensorEventListener, UpdatedStateNotifier {
private static final String TAG = "LineageActions-ChopChopSensor"; private static final String TAG = "MotoActions-ChopChopSensor";
private static final int TURN_SCREEN_ON_WAKE_LOCK_MS = 500; private final MotoActionsSettings mMotoActionsSettings;
private final LineageActionsSettings mLineageActionsSettings;
private final SensorHelper mSensorHelper; private final SensorHelper mSensorHelper;
private final Sensor mSensor; private final Sensor mSensor;
private final Sensor mProx; private final Sensor mProx;
@@ -41,8 +36,8 @@ public class ChopChopSensor implements SensorEventListener, UpdatedStateNotifier
private boolean mIsEnabled; private boolean mIsEnabled;
private boolean mProxIsCovered; private boolean mProxIsCovered;
public ChopChopSensor(LineageActionsSettings lineageActionsSettings, SensorHelper sensorHelper) { public ChopChopSensor(MotoActionsSettings motoActionsSettings, SensorHelper sensorHelper) {
mLineageActionsSettings = lineageActionsSettings; mMotoActionsSettings = motoActionsSettings;
mSensorHelper = sensorHelper; mSensorHelper = sensorHelper;
mSensor = sensorHelper.getChopChopSensor(); mSensor = sensorHelper.getChopChopSensor();
mProx = sensorHelper.getProximitySensor(); mProx = sensorHelper.getProximitySensor();
@@ -50,12 +45,12 @@ public class ChopChopSensor implements SensorEventListener, UpdatedStateNotifier
@Override @Override
public synchronized void updateState() { public synchronized void updateState() {
if (mLineageActionsSettings.isChopChopGestureEnabled() && !mIsEnabled) { if (mMotoActionsSettings.isChopChopGestureEnabled() && !mIsEnabled) {
Log.d(TAG, "Enabling"); Log.d(TAG, "Enabling");
mSensorHelper.registerListener(mSensor, this); mSensorHelper.registerListener(mSensor, this);
mSensorHelper.registerListener(mProx, mProxListener); mSensorHelper.registerListener(mProx, mProxListener);
mIsEnabled = true; mIsEnabled = true;
} else if (! mLineageActionsSettings.isChopChopGestureEnabled() && mIsEnabled) { } else if (! mMotoActionsSettings.isChopChopGestureEnabled() && mIsEnabled) {
Log.d(TAG, "Disabling"); Log.d(TAG, "Disabling");
mSensorHelper.unregisterListener(this); mSensorHelper.unregisterListener(this);
mSensorHelper.unregisterListener(mProxListener); mSensorHelper.unregisterListener(mProxListener);
@@ -70,7 +65,7 @@ public class ChopChopSensor implements SensorEventListener, UpdatedStateNotifier
Log.d(TAG, "proximity sensor covered, ignoring chop-chop"); Log.d(TAG, "proximity sensor covered, ignoring chop-chop");
return; return;
} }
mLineageActionsSettings.chopChopAction(); mMotoActionsSettings.chopChopAction();
} }
@Override @Override

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.actions; package com.moto.actions.actions;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@@ -25,13 +25,13 @@ import android.content.SharedPreferences;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import android.util.Log; import android.util.Log;
import org.lineageos.settings.device.util.FileUtils; import com.moto.actions.util.FileUtils;
public class Constants { public class Constants {
public static final boolean DEBUG = false; public static final boolean DEBUG = false;
private static final String TAG = "LineageActions"; private static final String TAG = "MotoActions";
// FP gestures // FP gestures
public static final int FP_TAP_SCANCODE = 616; public static final int FP_TAP_SCANCODE = 616;
@@ -63,7 +63,6 @@ public class Constants {
public static final int ACTION_DIALER = 117; public static final int ACTION_DIALER = 117;
public static final int ACTION_EMAIL = 118; public static final int ACTION_EMAIL = 118;
public static final int ACTION_MESSAGES = 119; public static final int ACTION_MESSAGES = 119;
public static final int ACTION_PIP = 120;
public static final int ACTION_LAST_APP = 121; public static final int ACTION_LAST_APP = 121;
public static final int[] sFPSupportedActions = new int[]{ public static final int[] sFPSupportedActions = new int[]{
ACTION_HOME, ACTION_HOME,
@@ -79,7 +78,6 @@ public class Constants {
ACTION_FLASHLIGHT, ACTION_FLASHLIGHT,
ACTION_CAMERA, ACTION_CAMERA,
ACTION_SCREENSHOT, ACTION_SCREENSHOT,
ACTION_PIP,
ACTION_LAST_APP ACTION_LAST_APP
}; };
public static final int[] sFPSupportedActionsScreenOff = new int[]{ public static final int[] sFPSupportedActionsScreenOff = new int[]{
@@ -204,7 +202,7 @@ public class Constants {
public static void writePreference(Context context, String pref) { public static void writePreference(Context context, String pref) {
String value = "1"; String value = "1";
Log.e(TAG, "Write Pref: " + pref);
if (!pref.equals(FP_KEYS) && !pref.equals(FP_KEY_DBLTAP) && !pref.equals(FP_KEY_HOLD) && !pref.equals(FP_KEY_LEFT) && !pref.equals(FP_KEY_RIGHT) && if (!pref.equals(FP_KEYS) && !pref.equals(FP_KEY_DBLTAP) && !pref.equals(FP_KEY_HOLD) && !pref.equals(FP_KEY_LEFT) && !pref.equals(FP_KEY_RIGHT) &&
!pref.equals(FP_KEYS_OFF) && !pref.equals(FP_KEY_DBLTAP_OFF) && !pref.equals(FP_KEY_HOLD_OFF) && !pref.equals(FP_KEY_LEFT_OFF) && !pref.equals(FP_KEY_RIGHT_OFF)) !pref.equals(FP_KEYS_OFF) && !pref.equals(FP_KEY_DBLTAP_OFF) && !pref.equals(FP_KEY_HOLD_OFF) && !pref.equals(FP_KEY_LEFT_OFF) && !pref.equals(FP_KEY_RIGHT_OFF))
value = isPreferenceEnabled(context, pref) ? "1" : "0"; value = isPreferenceEnabled(context, pref) ? "1" : "0";
@@ -212,7 +210,6 @@ public class Constants {
value = GetPreference(context, pref); value = GetPreference(context, pref);
String node = sBooleanNodePreferenceMap.get(pref); String node = sBooleanNodePreferenceMap.get(pref);
Log.e(TAG, "Write " + value + " to node " + node);
if (!FileUtils.writeLine(node, value)) { if (!FileUtils.writeLine(node, value)) {
Log.w(TAG, "Write " + value + " to node " + node + Log.w(TAG, "Write " + value + " to node " + node +

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.actions; package com.moto.actions.actions;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
@@ -25,20 +25,23 @@ import android.content.IntentFilter;
import android.hardware.Sensor; import android.hardware.Sensor;
import android.hardware.SensorEvent; import android.hardware.SensorEvent;
import android.hardware.SensorEventListener; import android.hardware.SensorEventListener;
import android.os.VibrationEffect;
import android.os.Vibrator;
import android.util.Log; import android.util.Log;
import org.lineageos.settings.device.LineageActionsSettings; import com.moto.actions.MotoActionsSettings;
import org.lineageos.settings.device.SensorHelper; import com.moto.actions.SensorHelper;
public class FlipToMute implements UpdatedStateNotifier { public class FlipToMute implements UpdatedStateNotifier {
private static final String TAG = "LineageActions-FlipToMute"; private static final String TAG = "MotoActions-FlipToMute";
private final NotificationManager mNotificationManager; private final NotificationManager mNotificationManager;
private final LineageActionsSettings mLineageActionsSettings; private final MotoActionsSettings mMotoActionsSettings;
private final SensorHelper mSensorHelper; private final SensorHelper mSensorHelper;
private final Sensor mFlatDown; private final Sensor mFlatDown;
private final Sensor mStow; private final Sensor mStow;
private boolean canVibrate = false;
private boolean mIsEnabled; private boolean mIsEnabled;
private boolean mIsFlatDown; private boolean mIsFlatDown;
private boolean mIsStowed; private boolean mIsStowed;
@@ -46,29 +49,31 @@ public class FlipToMute implements UpdatedStateNotifier {
private Context mContext; private Context mContext;
private Receiver mReceiver; private Receiver mReceiver;
public FlipToMute(LineageActionsSettings lineageActionsSettings, Context context, public FlipToMute(MotoActionsSettings motoActionsSettings, Context context,
SensorHelper sensorHelper) { SensorHelper sensorHelper) {
mLineageActionsSettings = lineageActionsSettings; mMotoActionsSettings = motoActionsSettings;
mContext = context; mContext = context;
mSensorHelper = sensorHelper; mSensorHelper = sensorHelper;
mFlatDown = sensorHelper.getFlatDownSensor(); mFlatDown = sensorHelper.getFlatDownSensor();
mStow = sensorHelper.getStowSensor(); mStow = sensorHelper.getStowSensor();
mNotificationManager = mNotificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
if (mNotificationManager != null) {
mFilter = mNotificationManager.getCurrentInterruptionFilter(); mFilter = mNotificationManager.getCurrentInterruptionFilter();
}
mReceiver = new Receiver(); mReceiver = new Receiver();
} }
@Override @Override
public void updateState() { public void updateState() {
if (mLineageActionsSettings.isFlipToMuteEnabled() && !mIsEnabled) { if (mMotoActionsSettings.isFlipToMuteEnabled() && !mIsEnabled) {
Log.d(TAG, "Enabling"); Log.d(TAG, "Enabling");
mSensorHelper.registerListener(mFlatDown, mFlatDownListener); mSensorHelper.registerListener(mFlatDown, mFlatDownListener);
mSensorHelper.registerListener(mStow, mStowListener); mSensorHelper.registerListener(mStow, mStowListener);
mContext.registerReceiver(mReceiver, mContext.registerReceiver(mReceiver,
new IntentFilter(NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED)); new IntentFilter(NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED));
mIsEnabled = true; mIsEnabled = true;
} else if (!mLineageActionsSettings.isFlipToMuteEnabled() && mIsEnabled) { } else if (!mMotoActionsSettings.isFlipToMuteEnabled() && mIsEnabled) {
Log.d(TAG, "Disabling"); Log.d(TAG, "Disabling");
mSensorHelper.unregisterListener(mFlatDownListener); mSensorHelper.unregisterListener(mFlatDownListener);
mSensorHelper.unregisterListener(mStowListener); mSensorHelper.unregisterListener(mStowListener);
@@ -106,19 +111,33 @@ public class FlipToMute implements UpdatedStateNotifier {
Log.d(TAG, "event: " + mIsFlatDown + " mIsStowed=" + mIsStowed); Log.d(TAG, "event: " + mIsFlatDown + " mIsStowed=" + mIsStowed);
if (mIsFlatDown && mIsStowed) { if (mIsFlatDown && mIsStowed) {
vibrate();
canVibrate = true;
mNotificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_PRIORITY); mNotificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_PRIORITY);
Log.d(TAG, "Interrupt filter: Allow priority"); Log.d(TAG, "Interrupt filter: Allow priority");
} else if (!mIsFlatDown) { } else if (!mIsFlatDown) {
if (canVibrate) {
vibrate();
canVibrate = false;
}
mNotificationManager.setInterruptionFilter(mFilter); mNotificationManager.setInterruptionFilter(mFilter);
Log.d(TAG, "Interrupt filter: Restore"); Log.d(TAG, "Interrupt filter: Restore");
} }
} }
private void vibrate() {
Vibrator vib = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
if (vib == null) return;
VibrationEffect effect = VibrationEffect.createOneShot(250, VibrationEffect.DEFAULT_AMPLITUDE);
vib.vibrate(effect);
}
public class Receiver extends BroadcastReceiver { public class Receiver extends BroadcastReceiver {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
if (!mIsFlatDown && !mIsStowed) { if (!mIsFlatDown && !mIsStowed) {
if (mNotificationManager == null) return;
mFilter = mNotificationManager.getCurrentInterruptionFilter(); mFilter = mNotificationManager.getCurrentInterruptionFilter();
Log.d(TAG, "Interrupt filter: Backup"); Log.d(TAG, "Interrupt filter: Backup");
} }

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.actions; package com.moto.actions.actions;
import android.content.Context; import android.content.Context;
import android.hardware.Sensor; import android.hardware.Sensor;
@@ -26,13 +26,13 @@ import android.telecom.TelecomManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.util.Log; import android.util.Log;
import org.lineageos.settings.device.LineageActionsSettings; import com.moto.actions.MotoActionsSettings;
import org.lineageos.settings.device.SensorHelper; import com.moto.actions.SensorHelper;
public class LiftToSilence extends PhoneStateListener implements SensorEventListener, UpdatedStateNotifier { public class LiftToSilence extends PhoneStateListener implements SensorEventListener, UpdatedStateNotifier {
private static final String TAG = "LineageActions-LiftToSilence"; private static final String TAG = "MotoActions-LiftToSilence";
private final LineageActionsSettings mLineageActionsSettings; private final MotoActionsSettings mMotoActionsSettings;
private final SensorHelper mSensorHelper; private final SensorHelper mSensorHelper;
private final Sensor mFlatUpSensor; private final Sensor mFlatUpSensor;
private final Sensor mStowSensor; private final Sensor mStowSensor;
@@ -44,9 +44,9 @@ public class LiftToSilence extends PhoneStateListener implements SensorEventList
private boolean mIsStowed; private boolean mIsStowed;
private boolean mLastFlatUp; private boolean mLastFlatUp;
public LiftToSilence(LineageActionsSettings lineageActionsSettings, Context context, public LiftToSilence(MotoActionsSettings motoActionsSettings, Context context,
SensorHelper sensorHelper) { SensorHelper sensorHelper) {
mLineageActionsSettings = lineageActionsSettings; mMotoActionsSettings = motoActionsSettings;
mSensorHelper = sensorHelper; mSensorHelper = sensorHelper;
mFlatUpSensor = sensorHelper.getFlatUpSensor(); mFlatUpSensor = sensorHelper.getFlatUpSensor();
mStowSensor = sensorHelper.getStowSensor(); mStowSensor = sensorHelper.getStowSensor();
@@ -56,7 +56,7 @@ public class LiftToSilence extends PhoneStateListener implements SensorEventList
@Override @Override
public void updateState() { public void updateState() {
if (mLineageActionsSettings.isLiftToSilenceEnabled()) { if (mMotoActionsSettings.isLiftToSilenceEnabled()) {
mTelephonyManager.listen(this, LISTEN_CALL_STATE); mTelephonyManager.listen(this, LISTEN_CALL_STATE);
} else { } else {
mTelephonyManager.listen(this, 0); mTelephonyManager.listen(this, 0);

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.actions; package com.moto.actions.actions;
import android.content.Context; import android.content.Context;
import android.hardware.Sensor; import android.hardware.Sensor;
@@ -26,31 +26,31 @@ import android.telecom.TelecomManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.util.Log; import android.util.Log;
import org.lineageos.settings.device.LineageActionsSettings; import com.moto.actions.MotoActionsSettings;
import org.lineageos.settings.device.SensorHelper; import com.moto.actions.SensorHelper;
import static android.telephony.TelephonyManager.*; import static android.telephony.TelephonyManager.*;
public class ProximitySilencer extends PhoneStateListener implements SensorEventListener, UpdatedStateNotifier { public class ProximitySilencer extends PhoneStateListener implements SensorEventListener, UpdatedStateNotifier {
private static final String TAG = "LineageActions-ProximitySilencer"; private static final String TAG = "MotoActions-ProximitySilencer";
private static final int SILENCE_DELAY_MS = 500; private static final int SILENCE_DELAY_MS = 500;
private final TelecomManager mTelecomManager; private final TelecomManager mTelecomManager;
private final TelephonyManager mTelephonyManager; private final TelephonyManager mTelephonyManager;
private final LineageActionsSettings mLineageActionsSettings; private final MotoActionsSettings mMotoActionsSettings;
private final SensorHelper mSensorHelper; private final SensorHelper mSensorHelper;
private final Sensor mSensor; private final Sensor mSensor;
private boolean mIsRinging; private boolean mIsRinging;
private long mRingStartedMs; private long mRingStartedMs;
private boolean mCoveredRinging; private boolean mCoveredRinging;
public ProximitySilencer(LineageActionsSettings lineageActionsSettings, Context context, public ProximitySilencer(MotoActionsSettings motoActionsSettings, Context context,
SensorHelper sensorHelper) { SensorHelper sensorHelper) {
mTelecomManager = (TelecomManager) context.getSystemService(Context.TELECOM_SERVICE); mTelecomManager = (TelecomManager) context.getSystemService(Context.TELECOM_SERVICE);
mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
mLineageActionsSettings = lineageActionsSettings; mMotoActionsSettings = motoActionsSettings;
mSensorHelper = sensorHelper; mSensorHelper = sensorHelper;
mSensor = sensorHelper.getProximitySensor(); mSensor = sensorHelper.getProximitySensor();
mCoveredRinging = false; mCoveredRinging = false;
@@ -59,7 +59,7 @@ public class ProximitySilencer extends PhoneStateListener implements SensorEvent
@Override @Override
public void updateState() { public void updateState() {
if (mLineageActionsSettings.isIrSilencerEnabled()) { if (mMotoActionsSettings.isIrSilencerEnabled()) {
mTelephonyManager.listen(this, LISTEN_CALL_STATE); mTelephonyManager.listen(this, LISTEN_CALL_STATE);
} else { } else {
mTelephonyManager.listen(this, 0); mTelephonyManager.listen(this, 0);
@@ -72,22 +72,18 @@ public class ProximitySilencer extends PhoneStateListener implements SensorEvent
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
if (isNear){ if (isNear){
if (mIsRinging && (now - mRingStartedMs >= SILENCE_DELAY_MS)){ mCoveredRinging = mIsRinging && (now - mRingStartedMs >= SILENCE_DELAY_MS);
mCoveredRinging = true;
} else {
mCoveredRinging = false;
}
return; return;
} }
if (!isNear && mIsRinging) { if (mIsRinging) {
Log.d(TAG, "event: " + event.values[0] + ", " + " covered " + Boolean.toString(mCoveredRinging)); Log.d(TAG, "event: " + event.values[0] + ", " + " covered " + Boolean.toString(mCoveredRinging));
if (mCoveredRinging) { if (mCoveredRinging) {
Log.d(TAG, "Silencing ringer"); Log.d(TAG, "Silencing ringer");
mTelecomManager.silenceRinger(); mTelecomManager.silenceRinger();
} else { } else {
Log.d(TAG, "Ignoring silence gesture: " + now + " is too close to " + Log.d(TAG, "Ignoring silence gesture: " + now + " is too close to " +
mRingStartedMs + ", delay=" + SILENCE_DELAY_MS + " or covered " + Boolean.toString(mCoveredRinging)); mRingStartedMs + ", delay=" + SILENCE_DELAY_MS);
} }
mCoveredRinging = false; mCoveredRinging = false;
} }

View File

@@ -15,21 +15,20 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.actions; package com.moto.actions.actions;
import android.content.Context; import android.content.Context;
import android.hardware.camera2.CameraManager;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraAccessException; import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager;
import android.os.VibrationEffect;
import android.os.Vibrator; import android.os.Vibrator;
import android.util.Log; import android.support.annotation.NonNull;
import org.lineageos.settings.device.SensorAction; import com.moto.actions.SensorAction;
public class TorchAction implements SensorAction { public class TorchAction implements SensorAction {
private static final String TAG = "LineageActions"; private static final String TAG = "MotoActions";
private static final int TURN_SCREEN_ON_WAKE_LOCK_MS = 500;
private CameraManager mCameraManager; private CameraManager mCameraManager;
private final Vibrator mVibrator; private final Vibrator mVibrator;
@@ -51,17 +50,20 @@ public class TorchAction implements SensorAction {
} }
} }
} catch (CameraAccessException e) { } catch (CameraAccessException e) {
// Noop
} }
} }
@Override @Override
public void action() { public void action() {
mVibrator.vibrate(250); VibrationEffect vibrationEffect = VibrationEffect.createOneShot(250, VibrationEffect.DEFAULT_AMPLITUDE);
mVibrator.vibrate(vibrationEffect);
if (mRearCameraId != null) { if (mRearCameraId != null) {
try { try {
mCameraManager.setTorchMode(mRearCameraId, !mTorchEnabled); mCameraManager.setTorchMode(mRearCameraId, !mTorchEnabled);
mTorchEnabled = !mTorchEnabled; mTorchEnabled = !mTorchEnabled;
} catch (CameraAccessException e) { } catch (CameraAccessException e) {
// Noop
} }
} }
} }
@@ -69,14 +71,14 @@ public class TorchAction implements SensorAction {
private class MyTorchCallback extends CameraManager.TorchCallback { private class MyTorchCallback extends CameraManager.TorchCallback {
@Override @Override
public void onTorchModeChanged(String cameraId, boolean enabled) { public void onTorchModeChanged(@NonNull String cameraId, boolean enabled) {
if (!cameraId.equals(mRearCameraId)) if (!cameraId.equals(mRearCameraId))
return; return;
mTorchEnabled = enabled; mTorchEnabled = enabled;
} }
@Override @Override
public void onTorchModeUnavailable(String cameraId) { public void onTorchModeUnavailable(@NonNull String cameraId) {
if (!cameraId.equals(mRearCameraId)) if (!cameraId.equals(mRearCameraId))
return; return;
mTorchEnabled = false; mTorchEnabled = false;

View File

@@ -15,8 +15,8 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.actions; package com.moto.actions.actions;
public interface UpdatedStateNotifier { public interface UpdatedStateNotifier {
public void updateState(); void updateState();
} }

View File

@@ -15,16 +15,16 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.doze; package com.moto.actions.doze;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.util.Log; import android.util.Log;
import org.lineageos.settings.device.SensorAction; import com.moto.actions.SensorAction;
public class DozePulseAction implements SensorAction, ScreenStateNotifier { public class DozePulseAction implements SensorAction, ScreenStateNotifier {
private static final String TAG = "LineageActions"; private static final String TAG = "MotoActions";
private static final int DELAY_BETWEEN_DOZES_IN_MS = 1500; private static final int DELAY_BETWEEN_DOZES_IN_MS = 1500;
@@ -52,7 +52,7 @@ public class DozePulseAction implements SensorAction, ScreenStateNotifier {
} }
} }
public synchronized boolean mayDoze() { private synchronized boolean mayDoze() {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
if (now - mLastDoze > DELAY_BETWEEN_DOZES_IN_MS) { if (now - mLastDoze > DELAY_BETWEEN_DOZES_IN_MS) {
Log.d(TAG, "Allowing doze"); Log.d(TAG, "Allowing doze");

View File

@@ -0,0 +1,76 @@
/*
* Copyright (c) 2017 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.moto.actions.doze;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.util.Log;
import com.moto.actions.MotoActionsSettings;
import com.moto.actions.SensorAction;
import com.moto.actions.SensorHelper;
public class GlanceSensor implements ScreenStateNotifier {
private static final String TAG = "MotoActions-GlanceSensor";
private final MotoActionsSettings mMotoActionsSettings;
private final SensorHelper mSensorHelper;
private final SensorAction mSensorAction;
private final Sensor mSensor;
private boolean mEnabled;
public GlanceSensor(MotoActionsSettings motoActionsSettings, SensorHelper sensorHelper,
SensorAction action) {
mMotoActionsSettings = motoActionsSettings;
mSensorHelper = sensorHelper;
mSensorAction = action;
mSensor = sensorHelper.getGlanceSensor();
}
@Override
public void screenTurnedOn() {
if (mEnabled) {
Log.d(TAG, "Disabling");
mSensorHelper.unregisterListener(mGlanceListener);
mEnabled = false;
}
}
@Override
public void screenTurnedOff() {
if (mMotoActionsSettings.isPickUpEnabled() && !mEnabled) {
Log.d(TAG, "Enabling");
mSensorHelper.registerListener(mSensor, mGlanceListener);
mEnabled = true;
}
}
private SensorEventListener mGlanceListener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
Log.d(TAG, "triggered");
mSensorAction.action();
}
@Override
public void onAccuracyChanged(Sensor mSensor, int accuracy) {
}
};
}

View File

@@ -15,21 +15,21 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.doze; package com.moto.actions.doze;
import android.hardware.Sensor; import android.hardware.Sensor;
import android.hardware.SensorEvent; import android.hardware.SensorEvent;
import android.hardware.SensorEventListener; import android.hardware.SensorEventListener;
import android.util.Log; import android.util.Log;
import org.lineageos.settings.device.LineageActionsSettings; import com.moto.actions.MotoActionsSettings;
import org.lineageos.settings.device.SensorAction; import com.moto.actions.SensorAction;
import org.lineageos.settings.device.SensorHelper; import com.moto.actions.SensorHelper;
public class ProximitySensor implements ScreenStateNotifier, SensorEventListener { public class ProximitySensor implements ScreenStateNotifier, SensorEventListener {
private static final String TAG = "LineageActions-ProximitySensor"; private static final String TAG = "MotoActions-ProximitySensor";
private final LineageActionsSettings mLineageActionsSettings; private final MotoActionsSettings mMotoActionsSettings;
private final SensorHelper mSensorHelper; private final SensorHelper mSensorHelper;
private final SensorAction mSensorAction; private final SensorAction mSensorAction;
private final Sensor mSensor; private final Sensor mSensor;
@@ -38,9 +38,9 @@ public class ProximitySensor implements ScreenStateNotifier, SensorEventListener
private boolean mSawNear = false; private boolean mSawNear = false;
public ProximitySensor(LineageActionsSettings lineageActionsSettings, SensorHelper sensorHelper, public ProximitySensor(MotoActionsSettings motoActionsSettings, SensorHelper sensorHelper,
SensorAction action) { SensorAction action) {
mLineageActionsSettings = lineageActionsSettings; mMotoActionsSettings = motoActionsSettings;
mSensorHelper = sensorHelper; mSensorHelper = sensorHelper;
mSensorAction = action; mSensorAction = action;
@@ -58,7 +58,7 @@ public class ProximitySensor implements ScreenStateNotifier, SensorEventListener
@Override @Override
public void screenTurnedOff() { public void screenTurnedOff() {
if (mLineageActionsSettings.isIrWakeupEnabled() && !mEnabled) { if (mMotoActionsSettings.isIrWakeupEnabled() && !mEnabled) {
Log.d(TAG, "Enabling"); Log.d(TAG, "Enabling");
mSensorHelper.registerListener(mSensor, this); mSensorHelper.registerListener(mSensor, this);
mEnabled = true; mEnabled = true;

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.doze; package com.moto.actions.doze;
import java.util.List; import java.util.List;
@@ -24,7 +24,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import org.lineageos.settings.device.actions.Constants; import com.moto.actions.actions.Constants;
public class ScreenReceiver extends BroadcastReceiver { public class ScreenReceiver extends BroadcastReceiver {
private final ScreenStateNotifier mNotifier; private final ScreenStateNotifier mNotifier;
@@ -39,6 +39,8 @@ public class ScreenReceiver extends BroadcastReceiver {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
if (intent.getAction() == null) return;
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
mNotifier.screenTurnedOff(); mNotifier.screenTurnedOff();
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) { } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {

View File

@@ -15,9 +15,9 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.doze; package com.moto.actions.doze;
public interface ScreenStateNotifier { public interface ScreenStateNotifier {
public void screenTurnedOn(); void screenTurnedOn();
public void screenTurnedOff(); void screenTurnedOff();
} }

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.lineageos.settings.device.util; package com.moto.actions.util;
import android.util.Log; import android.util.Log;

View File

@@ -1,22 +1,21 @@
Device Tree for Moto G5S Plus (sanders) Copyright (C) 2017-2019 - The LineageOS Project.
Device configuration for Moto G5S Plus (XT1802 XT1803 XT1804 XT1805 XT1806)
=========================================== ===========================================
The Motorola Moto G5S Plus (codenamed _"sanders"_) is a mid-range smartphone from Motorola mobility.
It was announced on August 2017.
Basic | Spec Sheet Basic | Spec Sheet
-------:|:------------------------- -------:|:-------------------------
CPU | Octa-core 2.0 GHz Cortex-A53 CPU | Octa-core 2.0 GHz Cortex-A53
Chipset | Qualcomm MSM8953 Snapdragon 625 Chipset | Qualcomm MSM8953 Snapdragon 625
GPU | Adreno 506 GPU | 650MHz Adreno 506
Memory | 4 GB RAM Memory | 3/4 GB (LPDDR3)
Shipped Android Version | 7.0.0 Shipped Android Version | 7.1 (Nougat MR1)
Storage | 32 GB Storage | 32/64GB (eMMC)
MicroSD | Up to 256 GB MicroSD | Up to 256 GB
Battery | Li-Ion 3000mAh battery Battery | Li-Ion 3000mAh battery (non-removable)
Display | 1080 x 1920 pixels, 5.2 inches (~402 ppi pixel density) Dimensions | 153.5 x 76.2 x 8 mm
Camera | Dual 13 MP, f/2.0, autofocus, dual-LED (dual tone) flash, 2150 x 1440 pixels Display | 1080 x 1920 pixels, 5.5" IPS LCD, 16:9 ratio (~401 PPI density)
Rear Camera | 13.0 MP (f/2.0) & 13.0 MP, Dual-LED dual-tone flash
Copyright 2017 - The LineageOS Project. Front Camera | 8.0 MP (f/2.0), LED flash
Release Month | August 2017
![Moto G5S Plus](http://cdn2.gsmarena.com/vv/pics/motorola/motorola-moto-g5s-plus-1.jpg "Moto G5 Plus")
![Moto G5S Plus](http://cdn2.gsmarena.com/vv/pics/motorola/motorola-moto-g5s-plus-1.jpg "Moto G5S Plus")

17
aosp.dependencies Normal file
View File

@@ -0,0 +1,17 @@
[
{
"repository": "AlissonGrizotti/kernel_motorola_msm8953",
"target_path": "kernel/motorola/msm8953",
"branch": "perf+"
},
{
"repository": "vendor_motorola_sanders",
"target_path": "vendor/motorola/sanders",
"branch": "pie"
},
{
"repository": "LineageOS/android_packages_resources_devicesettings",
"target_path": "packages/resources/devicesettings",
"branch": "lineage-16.0"
}
]

View File

@@ -15,15 +15,17 @@
# limitations under the License. # limitations under the License.
# Inherit from those products. Most specific first. # Inherit from those products.
$(call inherit-product, device/motorola/sanders/full_sanders.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_n_mr1.mk)
# Inherit some common CM stuff. $(call inherit-product, device/motorola/sanders/device.mk)
$(call inherit-product, vendor/aosp/common.mk) $(call inherit-product, vendor/aosp/config/common_full_phone.mk)
# Boot animation # Pixel Stuffs
TARGET_SCREEN_WIDTH := 1080 TARGET_GAPPS_ARCH := arm64
TARGET_SCREEN_HEIGHT := 1920 TARGET_BOOT_ANIMATION_RES := 1080
## Device identifier. This must come after all inclusions ## Device identifier. This must come after all inclusions
PRODUCT_DEVICE := sanders PRODUCT_DEVICE := sanders
@@ -31,7 +33,15 @@ PRODUCT_NAME := aosp_sanders
PRODUCT_BRAND := motorola PRODUCT_BRAND := motorola
PRODUCT_MANUFACTURER := motorola PRODUCT_MANUFACTURER := motorola
PRODUCT_GMS_CLIENTID_BASE := android-motorola
PRODUCT_SYSTEM_PROPERTY_BLACKLIST := ro.product.model PRODUCT_SYSTEM_PROPERTY_BLACKLIST := ro.product.model
PRODUCT_BUILD_PROP_OVERRIDES += \ PRODUCT_BUILD_PROP_OVERRIDES += \
PRODUCT_NAME="Moto G5S Plus" PRODUCT_NAME="Moto G (5S) Plus" \
PRIVATE_BUILD_DESC="sanders-user 8.1.0 OPS28.65-36 9fea release-keys"
BUILD_FINGERPRINT := google/walleye/walleye:8.1.0/OPM1.171019.011/4448085:user/release-keys
PRODUCT_ENFORCE_RRO_TARGETS := \
framework-res

View File

@@ -1,286 +0,0 @@
# List of effect libraries to load. Each library element must contain a "path" element
# giving the full path of the library .so file.
# libraries {
# <lib name> {
# path <lib path>
# }
# }
libraries {
bundle {
path /vendor/lib/soundfx/libbundlewrapper.so
}
reverb {
path /vendor/lib/soundfx/libreverbwrapper.so
}
visualizer_sw {
path /vendor/lib/soundfx/libvisualizer.so
}
visualizer_hw {
path /vendor/lib/soundfx/libqcomvisualizer.so
}
downmix {
path /vendor/lib/soundfx/libdownmix.so
}
loudness_enhancer {
path /vendor/lib/soundfx/libldnhncr.so
}
proxy {
path /vendor/lib/soundfx/libeffectproxy.so
}
offload_bundle {
path /vendor/lib/soundfx/libqcompostprocbundle.so
}
audio_pre_processing {
path /vendor/lib/soundfx/libqcomvoiceprocessing.so
}
}
# Default pre-processing library. Add to audio_effect.conf "libraries" section if
# audio HAL implements support for default software audio pre-processing effects
#
# pre_processing {
# path /system/lib/soundfx/libaudiopreprocessing.so
# }
# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
# The value of the "library" element must correspond to the name of one library element in the
# "libraries" element.
# The name of the effect element is indicative, only the value of the "uuid" element
# designates the effect.
# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
# generic effect type UUID.
# effects {
# <fx name> {
# library <lib name>
# uuid <effect uuid>
# }
# ...
# }
effects {
# additions for the proxy implementation
# Proxy implementation
#effectname {
#library proxy
#uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# SW implemetation of the effect. Added as a node under the proxy to
# indicate this as a sub effect.
#libsw {
#library libSW
#uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
#} End of SW effect
# HW implementation of the effect. Added as a node under the proxy to
# indicate this as a sub effect.
#libhw {
#library libHW
#uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
#}End of HW effect
#} End of effect proxy
bassboost {
library proxy
uuid 14804144-a5ee-4d24-aa88-0002a5d5c51b
libsw {
library bundle
uuid 8631f300-72e2-11df-b57e-0002a5d5c51b
}
libhw {
library offload_bundle
uuid 2c4a8c24-1581-487f-94f6-0002a5d5c51b
}
}
virtualizer {
library proxy
uuid d3467faa-acc7-4d34-acaf-0002a5d5c51b
libsw {
library bundle
uuid 1d4033c0-8557-11df-9f2d-0002a5d5c51b
}
libhw {
library offload_bundle
uuid 509a4498-561a-4bea-b3b1-0002a5d5c51b
}
}
equalizer {
library proxy
uuid c8e70ecd-48ca-456e-8a4f-0002a5d5c51b
libsw {
library bundle
uuid ce772f20-847d-11df-bb17-0002a5d5c51b
}
libhw {
library offload_bundle
uuid a0dac280-401c-11e3-9379-0002a5d5c51b
}
}
volume {
library bundle
uuid 119341a0-8469-11df-81f9-0002a5d5c51b
}
reverb_env_aux {
library proxy
uuid 48404ac9-d202-4ccc-bf84-0002a5d5c51b
libsw {
library reverb
uuid 4a387fc0-8ab3-11df-8bad-0002a5d5c51b
}
libhw {
library offload_bundle
uuid 79a18026-18fd-4185-8233-0002a5d5c51b
}
}
reverb_env_ins {
library proxy
uuid b707403a-a1c1-4291-9573-0002a5d5c51b
libsw {
library reverb
uuid c7a511a0-a3bb-11df-860e-0002a5d5c51b
}
libhw {
library offload_bundle
uuid eb64ea04-973b-43d2-8f5e-0002a5d5c51b
}
}
reverb_pre_aux {
library proxy
uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b
libsw {
library reverb
uuid f29a1400-a3bb-11df-8ddc-0002a5d5c51b
}
libhw {
library offload_bundle
uuid 6987be09-b142-4b41-9056-0002a5d5c51b
}
}
reverb_pre_ins {
library proxy
uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b
libsw {
library reverb
uuid 172cdf00-a3bc-11df-a72f-0002a5d5c51b
}
libhw {
library offload_bundle
uuid aa2bebf6-47cf-4613-9bca-0002a5d5c51b
}
}
visualizer {
library proxy
uuid 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c
libsw {
library visualizer_sw
uuid d069d9e0-8329-11df-9168-0002a5d5c51b
}
libhw {
library visualizer_hw
uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b
}
}
downmix {
library downmix
uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
}
hw_acc {
library offload_bundle
uuid 7d1580bd-297f-4683-9239-e475b6d1d69f
}
loudness_enhancer {
library loudness_enhancer
uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
}
aec {
library audio_pre_processing
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
}
ns {
library audio_pre_processing
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
}
}
# Default pre-processing effects. Add to audio_effect.conf "effects" section if
# audio HAL implements support for them.
#
# agc {
# library pre_processing
# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b
# }
# aec {
# library pre_processing
# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b
# }
# ns {
# library pre_processing
# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b
# }
# Audio preprocessor configurations.
# The pre processor configuration consists in a list of elements each describing
# pre processor settings for a given input source. Valid input source names are:
# "mic", "camcorder", "voice_recognition", "voice_communication"
# Each input source element contains a list of effects elements. The name of the effect
# element must be the name of one of the effects in the "effects" list of the file.
# Each effect element may optionally contain a list of parameters and their
# default value to apply when the pre processor effect is created.
# A parameter is defined by a "param" element and a "value" element. Each of these elements
# consists in one or more elements specifying a type followed by a value.
# The types defined are: "int", "short", "float", "bool" and "string"
# When both "param" and "value" are a single int, a simple form is allowed where just
# the param and value pair is present in the parameter description
# pre_processing {
# <input source name> {
# <fx name> {
# <param 1 name> {
# param {
# int|short|float|bool|string <value>
# [ int|short|float|bool|string <value> ]
# ...
# }
# value {
# int|short|float|bool|string <value>
# [ int|short|float|bool|string <value> ]
# ...
# }
# }
# <param 2 name > {<param> <value>}
# ...
# }
# ...
# }
# ...
# }
# Added aec, ns effects for voice_commuincation, which are supported by the board
pre_processing {
voice_communication {
aec {
}
ns {
}
}
}
#
# TODO: add default audio pre processor configurations after debug and tuning phase
#

62
audio/audio_effects.xml Normal file
View File

@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
<libraries>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
<library name="visualizer_sw" path="libvisualizer.so"/>
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
<library name="downmix" path="libdownmix.so"/>
<library name="dynamics_processing" path="libdynproc.so"/>
<library name="loudness_enhancer" path="libldnhncr.so"/>
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="equalizer" library="proxy" uuid="c8e70ecd-48ca-456e-8a4f-0002a5d5c51b">
<libsw library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="a0dac280-401c-11e3-9379-0002a5d5c51b"/>
</effectProxy>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="visualizer" library="proxy" uuid="1d0a1a53-7d5d-48f2-8e71-27fbd10d842c">
<libsw library="visualizer_sw" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
<libhw library="visualizer_hw" uuid="7a8044a0-1a71-11e3-a184-0002a5d5c51b"/>
</effectProxy>
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
<effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-e475b6d1d69f"/>
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
<effect name="aec" library="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
</effects>
<preprocess>
<stream type="voice_communication">
<apply effect="aec"/>
<apply effect="ns"/>
</stream>
</preprocess>
</audio_effects_conf>

View File

@@ -1,26 +1,30 @@
global_config { global_config {
name Sanders name Sanders
sonification_pad 20 sonification_pad 21
sonification_prox_timeout_sec 5 sonification_prox_timeout_sec 5
force_ring_ramp true
} }
ring { ring {
#dB to attenuate playback to meet safety level at each volume step #dB to attenuate playback to meet safety level at each volume step
#16 steps total, 15...0. In case of truncated list, last attenuation #16 steps total, 15...0. In case of truncated list, last attenuation
#given will be applied to all lower volume steps #given will be applied to all lower volume steps
#attenuation 28,28,25,25,22,22,20,20,20,20,20,20,20,20,20,20 attenuation 35,33,30,28,26,23,21,19,16,14,11,9,7,3,0,0
knee_step 16
} }
voice { voice {
#dB to attenuate playback to meet safety level at each volume step #dB to attenuate playback to meet safety level at each volume step
#16 steps total, 15...0. In case of truncated list, last attenuation #16 steps total, 15...0. In case of truncated list, last attenuation
#given will be applied to all lower volume steps #given will be applied to all lower volume steps
#attenuation 35,35,32,32,29,29,26,26,23,23,20,20,17,17,14,14 attenuation 32,29,29,26,26,23,23,20,20,17,17,14,14,11,11,11
knee_step 16
} }
media { media {
#dB to attenuate playback to meet safety level at each volume step #dB to attenuate playback to meet safety level at each volume step
#16 steps total, 15...0. In case of truncated list, last attenuation #16 steps total, 15...0. In case of truncated list, last attenuation
#given will be applied to all lower volume steps #given will be applied to all lower volume steps
#attenuation 38,36,34,32,30,28,26,24,22,20,18,16,14,12,10,8 attenuation 35,33,30,28,26,23,21,19,16,14,11,9,7,3,0,0
knee_step 16
} }

View File

@@ -1,56 +0,0 @@
# List of profiles for the output device session where stream is routed.
# A stream opened with the inputs attributes which match the "flags" and
# "formats" as specified in the profile is routed to a device at
# sample rate specified under "sampling_rates" and bit width under
# "bit_width" and the topology extracted from the acdb data against
# the "app_type".
#
# the flags and formats are specified using the strings corresponding to
# enums in audio.h and audio_policy.h. They are concatenated with "|"
# without space or "\n".
# the flags and formats should match the ones in "audio_policy.conf"
outputs {
default {
flags AUDIO_OUTPUT_FLAG_PRIMARY
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69937
}
deep_buffer {
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69936
}
direct {
flags AUDIO_OUTPUT_FLAG_DIRECT
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 48000
bit_width 16
app_type 69936
}
direct_pcm {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_DIRECT_PCM
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 44100|48000|96000|192000
bit_width 16
app_type 69936
}
compress_offload_16 {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AC3|AUDIO_FORMAT_E_AC3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2
sampling_rates 44100|48000
bit_width 16
app_type 69936
}
compress_offload_24 {
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
formats AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_VORBIS
sampling_rates 44100|48000|96000|192000
bit_width 24
app_type 69940
}
}

View File

@@ -53,6 +53,8 @@
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" /> <device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" />
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_HEADPHONES" backend="speaker-and-headphones" /> <device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_HEADPHONES" backend="speaker-and-headphones" />
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_LINE" backend="speaker-and-headphones" /> <device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_LINE" backend="speaker-and-headphones" />
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb"/>
</backend_names> </backend_names>
<pcm_ids> <pcm_ids>
@@ -66,7 +68,7 @@
<usecase name="USECASE_VOLTE_CALL" type="out" id="15"/> <usecase name="USECASE_VOLTE_CALL" type="out" id="15"/>
<usecase name="USECASE_VOWLAN_CALL" type="in" id="16"/> <usecase name="USECASE_VOWLAN_CALL" type="in" id="16"/>
<usecase name="USECASE_VOWLAN_CALL" type="out" id="16"/> <usecase name="USECASE_VOWLAN_CALL" type="out" id="16"/>
<usecase name="USECASE_AUDIO_DSM_FEEDBACK" type="in" id="55" /> <usecase name="USECASE_AUDIO_DSM_FEEDBACK" type="in" id="60" />
</pcm_ids> </pcm_ids>
<config_params> <config_params>

View File

@@ -1,67 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<audio_platform_info>
<acdb_ids>
<!-- Output devices -->
<device name="SND_DEVICE_OUT_VOICE_HANDSET" acdb_id="7" />
<device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7" />
<device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="9" />
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" acdb_id="9" />
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_HEADPHONES" acdb_id="9" />
<device name="SND_DEVICE_OUT_SPEAKER" acdb_id="14" />
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" acdb_id="14" />
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" acdb_id="14" />
<device name="SND_DEVICE_OUT_SPEAKER_SAFE" acdb_id="14" />
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED" acdb_id="15" />
<device name="SND_DEVICE_OUT_SPEAKER_AND_HDMI" acdb_id="18" />
<device name="SND_DEVICE_OUT_VOICE_LINE" acdb_id="78" />
<device name="SND_DEVICE_OUT_VOLTE_NB_ANC_HANDSET" acdb_id="200" />
<device name="SND_DEVICE_OUT_VOLTE_NB_HANDSET_TMUS" acdb_id="200" />
<device name="SND_DEVICE_OUT_VOLTE_NB_TX" acdb_id="245" />
<!-- Input devices -->
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="0" />
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC" acdb_id="4" />
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" acdb_id="4" />
<device name="SND_DEVICE_IN_HANDSET_MIC_NS" acdb_id="4" />
<device name="SND_DEVICE_IN_VOICE_TTY_VCO_HANDSET_MIC" acdb_id="4" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" acdb_id="11" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" acdb_id="11" />
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS" acdb_id="11" />
<device name="SND_DEVICE_IN_UNPROCESSED_MIC" acdb_id="11" />
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE" acdb_id="35" />
<device name="SND_DEVICE_IN_VOICE_DMIC_TMUS" acdb_id="41" />
<device name="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC" acdb_id="43" />
<device name="SND_DEVICE_IN_HEADSET_MIC_AEC" acdb_id="47" />
<device name="SND_DEVICE_IN_VOICE_REC_MIC_AEC" acdb_id="62" />
<device name="SND_DEVICE_IN_VOICE_REC_MIC_NS" acdb_id="62" />
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC" acdb_id="111" />
<device name="SND_DEVICE_IN_HANDSET_DMIC_NS" acdb_id="111" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" acdb_id="117" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" acdb_id="117" />
<device name="SND_DEVICE_IN_QUAD_MIC" acdb_id="125" />
<device name="SND_DEVICE_IN_THREE_MIC" acdb_id="125" />
</acdb_ids>
<pcm_ids>
<usecase name="USECASE_AUDIO_PLAYBACK_LOW_LATENCY" type="out" id="12" />
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="12" />
<usecase name="USECASE_VOICEMMODE1_CALL" type="in" id="35" />
<usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="35" />
<usecase name="USECASE_VOICEMMODE2_CALL" type="in" id="36" />
<usecase name="USECASE_VOICEMMODE2_CALL" type="out" id="36" />
<usecase name="USECASE_AUDIO_DSM_FEEDBACK" type="in" id="61" />
<usecase name="USECASE_MOTVR_COMMAND" type="in" id="40" />
<usecase name="USECASE_MOTVR_TRACE" type="in" id="41" />
</pcm_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" />
<device name="SND_DEVICE_OUT_LINE" backend="headphones" />
</backend_names>
<config_params>
<param key="input_mic_max_count" value="3"/>
</config_params>
</audio_platform_info>

View File

@@ -1,123 +0,0 @@
# Global configuration section:
# - lists input and output devices always present on the device
# as well as the output device selected by default.
# Devices are designated by a string that corresponds to the enum in audio.h
# - defines whether the speaker output path uses DRC
# "TRUE" means DRC is enabled, "FALSE" or omission means DRC isn't used.
global_configuration {
attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_TELEPHONY_TX
default_output_device AUDIO_DEVICE_OUT_SPEAKER
attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_FM_TUNER|AUDIO_DEVICE_IN_TELEPHONY_RX
}
# audio hardware module section: contains descriptors for all audio hw modules present on the
# device. Each hw module node is named after the corresponding hw module library base name.
# For instance, "primary" corresponds to audio.primary.<device>.so.
# The "primary" module is mandatory and must include at least one output with
# AUDIO_OUTPUT_FLAG_PRIMARY flag.
# Each module descriptor contains one or more output profile descriptors and zero or more
# input profile descriptors. Each profile lists all the parameters supported by a given output
# or input stream category.
# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
audio_hw_modules {
primary {
outputs {
primary {
sampling_rates 44100|48000
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_FM
flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY
}
deep_buffer {
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
}
compress_offload {
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000|88200|96000|176400|192000
channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_FLAC
devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_LINE
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
}
voice_tx {
sampling_rates 8000|16000|48000
channel_masks AUDIO_CHANNEL_OUT_STEREO|AUDIO_CHANNEL_OUT_MONO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_TELEPHONY_TX
}
}
inputs {
primary {
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_FM_TUNER
}
voice_rx {
sampling_rates 8000|16000|48000
channel_masks AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_MONO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_IN_TELEPHONY_RX
}
}
}
a2dp {
outputs {
a2dp {
sampling_rates 44100
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_ALL_A2DP
}
}
}
usb {
outputs {
usb_accessory {
sampling_rates 44100
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_USB_ACCESSORY
}
usb_device {
sampling_rates dynamic
channel_masks dynamic
formats dynamic
devices AUDIO_DEVICE_OUT_USB_DEVICE
}
}
inputs {
usb_device {
sampling_rates dynamic
channel_masks AUDIO_CHANNEL_IN_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_IN_USB_DEVICE
}
}
}
r_submix {
outputs {
submix {
sampling_rates 48000
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX
}
}
inputs {
submix {
sampling_rates 48000
channel_masks AUDIO_CHANNEL_IN_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_IN_REMOTE_SUBMIX
}
}
}
}

View File

@@ -0,0 +1,203 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2016 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
<globalConfiguration speaker_drc_enabled="true"/>
<modules>
<module name="primary" halVersion="2.0">
<attachedDevices>
<item>Speaker</item>
<item>Earpiece</item>
<item>Telephony Tx</item>
<item>FM Tuner</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>Telephony Rx</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="deep_buffer" role="source"
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="compressed_offload" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
<profile name="" format="AUDIO_FORMAT_MP3"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_FLAC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="voice_tx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
</mixPort>
<mixPort name="primary input" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
</mixPort>
<mixPort name="voice_rx" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_MONO"/>
</mixPort>
</mixPorts>
<devicePorts>
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="BT SCO All" type="AUDIO_DEVICE_OUT_ALL_SCO" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</devicePort>
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
</devicePort>
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</devicePort>
</devicePorts>
<routes>
<route type="mix" sink="Earpiece"
sources="primary output,deep_buffer"/>
<route type="mix" sink="Speaker"
sources="primary output,deep_buffer,compressed_offload"/>
<route type="mix" sink="Wired Headset"
sources="primary output,deep_buffer,compressed_offload"/>
<route type="mix" sink="Wired Headphones"
sources="primary output,deep_buffer,compressed_offload"/>
<route type="mix" sink="FM"
sources="primary output"/>
<route type="mix" sink="Line"
sources="primary output,deep_buffer,compressed_offload"/>
<route type="mix" sink="BT SCO"
sources="primary output,deep_buffer"/>
<route type="mix" sink="BT SCO Headset"
sources="primary output,deep_buffer"/>
<route type="mix" sink="BT SCO Car Kit"
sources="primary output,deep_buffer"/>
<route type="mix" sink="BT SCO All"
sources="primary output,deep_buffer"/>
<route type="mix" sink="Telephony Tx"
sources="voice_tx"/>
<route type="mix" sink="primary input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic"/>
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
</routes>
</module>
<!-- A2dp Audio HAL -->
<xi:include href="/vendor/etc/a2dp_audio_policy_configuration.xml"/>
<!-- Usb Audio HAL -->
<xi:include href="/vendor/etc/usb_audio_policy_configuration.xml"/>
<!-- Remote Submix Audio HAL -->
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
</modules>
<!-- Volume section -->
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
</audioPolicyConfiguration>

View File

@@ -0,0 +1,144 @@
#ANC_TEST_P_PATH_MIC_STEREO Capture
acdb_dev_id:85
!Capture
Txdevice:0
enable
TX7 HPF Switch:0
TX8 HPF Switch:0
AIF1_CAP Mixer SLIM TX7:1
AIF1_CAP Mixer SLIM TX8:1
SLIM TX7 MUX:DEC9
DEC9 MUX:DMIC4
SLIM TX8 MUX:DEC10
DEC10 MUX:DMIC3
SLIM_0_TX Channels:Two
MultiMedia1 Mixer SLIM_0_TX:1
disable
MultiMedia1 Mixer SLIM_0_TX:0
AIF1_CAP Mixer SLIM TX7:0
AIF1_CAP Mixer SLIM TX8:0
SLIM TX7 MUX:ZERO
SLIM TX8 MUX:ZERO
DEC10 MUX:ZERO
DEC9 MUX:ZERO
TX7 HPF Switch:0
TX8 HPF Switch:0
#ANC_TEST_S_PATH_MIC_STEREO Capture
acdb_dev_id:88
!Capture
Txdevice:0
enable
TX7 HPF Switch:0
TX8 HPF Switch:0
AIF1_CAP Mixer SLIM TX7:1
AIF1_CAP Mixer SLIM TX8:1
SLIM TX7 MUX:DEC8
DEC7 MUX:ANC2_FB
ANC2 MUX:DMIC3
SLIM TX8 MUX:DEC7
DEC8 MUX:ANC1_FB
ANC1 MUX:DMIC3
ANC1 FB MUX:EAR_HPH_L
SLIM_0_TX Channels:Two
MultiMedia1 Mixer SLIM_0_TX:1
disable
MultiMedia1 Mixer SLIM_0_TX:0
AIF1_CAP Mixer SLIM TX7:0
AIF1_CAP Mixer SLIM TX8:0
SLIM TX7 MUX:ZERO
SLIM TX8 MUX:ZERO
DEC7 MUX:ZERO
ANC2 MUX:ZERO
ANC1 MUX:ZERO
DEC8 MUX:ZERO
ANC1 FB MUX:ZERO
TX7 HPF Switch:0
TX8 HPF Switch:0
#ANC_TEST_E_PATH_MIC_STEREO Capture
acdb_dev_id:91
!Capture
Txdevice:0
enable
TX7 HPF Switch:0
TX8 HPF Switch:0
AIF1_CAP Mixer SLIM TX7:1
AIF1_CAP Mixer SLIM TX8:1
SLIM TX7 MUX:DEC8
DEC7 MUX:ANC2_FB
ANC2 MUX:DMIC4
ANC1 MUX:DMIC4
SLIM TX8 MUX:DEC7
DEC8 MUX:ANC1_FB
ANC1 FB MUX:EAR_HPH_L
SLIM_0_TX Channels:Two
MultiMedia1 Mixer SLIM_0_TX:1
disable
MultiMedia1 Mixer SLIM_0_TX:0
AIF1_CAP Mixer SLIM TX7:0
AIF1_CAP Mixer SLIM TX8:0
SLIM TX7 MUX:ZERO
SLIM TX8 MUX:ZERO
DEC7 MUX:ZERO
ANC2 MUX:ZERO
DEC10 MUX:ZERO
ANC1 FB MUX:ZERO
TX7 HPF Switch:0
TX8 HPF Switch:0
#ANC_TEST_S_PATH_HANDSET_SPKR_ANC_MONO
acdb_dev_id:86
!Playback
Rxdevice:0
enable
ANC Function:ON
SLIM RX1 MUX:AIF1_PB
SLIM_0_RX Channels:One
RX1 MIX1 INP1:RX1
CLASS_H_DSM MUX:DSM_HPHL_RX1
RX1 Digital Volume:87
DAC1 Switch:1
ANC Slot:7
SLIMBUS_0_RX Audio Mixer MultiMedia1:1
disable
SLIMBUS_0_RX Audio Mixer MultiMedia1:0
ANC Slot:0
SLIM RX1 MUX:ZERO
RX1 MIX1 INP1:ZERO
RX1 Digital Volume:0
DAC1 Switch:0
ANC Function:OFF
#ANC_TEST_E_PATH_HANDSET_SPKR_ANC_MONO
acdb_dev_id:89
!Playback
Rxdevice:0
enable
ANC Function:ON
SLIM RX1 MUX:AIF1_PB
SLIM_0_RX Channels:One
RX1 MIX1 INP1:RX1
CLASS_H_DSM MUX:DSM_HPHL_RX1
RX1 Digital Volume:87
DAC1 Switch:1
ANC Slot:8
SLIMBUS_0_RX Audio Mixer MultiMedia1:1
disable
SLIMBUS_0_RX Audio Mixer MultiMedia1:0
ANC Slot:0
SLIM RX1 MUX:ZERO
RX1 MIX1 INP1:ZERO
RX1 Digital Volume:0
DAC1 Switch:0
ANC Function:OFF

View File

@@ -23,9 +23,9 @@
<ctl name="RX HPH Mode" value="NORMAL" /> <ctl name="RX HPH Mode" value="NORMAL" />
<ctl name="COMP0 RX1" value="0" /> <ctl name="COMP0 RX1" value="0" />
<ctl name="COMP0 RX2" value="0" /> <ctl name="COMP0 RX2" value="0" />
<ctl name="RX1 Digital Volume" value="84" /> <ctl name="RX1 Digital Volume" value="88" />
<ctl name="RX2 Digital Volume" value="84" /> <ctl name="RX2 Digital Volume" value="88" />
<ctl name="RX3 Digital Volume" value="84" /> <ctl name="RX3 Digital Volume" value="88" />
<ctl name="IIR1 INP1 MUX" value="ZERO" /> <ctl name="IIR1 INP1 MUX" value="ZERO" />
<ctl name="IIR1 INP1 Volume" value="84" /> <ctl name="IIR1 INP1 Volume" value="84" />
<ctl name="IIR1 INP2 Volume" value="84" /> <ctl name="IIR1 INP2 Volume" value="84" />
@@ -267,6 +267,16 @@
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" /> <ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
</path> </path>
<path name="deep-buffer-playback speaker-and-bt-sco">
<path name="deep-buffer-playback speaker" />
<path name="deep-buffer-playback bt-sco" />
</path>
<path name="deep-buffer-playback speaker-and-bt-sco-wb">
<path name="deep-buffer-playback speaker" />
<path name="deep-buffer-playback bt-sco-wb" />
</path>
<path name="low-latency-playback"> <path name="low-latency-playback">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="1" /> <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia5" value="1" />
</path> </path>
@@ -293,6 +303,16 @@
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" /> <ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
</path> </path>
<path name="low-latency-playback speaker-and-bt-sco">
<path name="low-latency-playback speaker" />
<path name="low-latency-playback bt-sco" />
</path>
<path name="low-latency-playback speaker-and-bt-sco-wb">
<path name="low-latency-playback speaker" />
<path name="low-latency-playback bt-sco-wb" />
</path>
<path name="audio-ull-playback"> <path name="audio-ull-playback">
<ctl name="PRI_MI2S_RX Audio Mixer MultiMedia3" value="1" /> <ctl name="PRI_MI2S_RX Audio Mixer MultiMedia3" value="1" />
</path> </path>
@@ -323,6 +343,16 @@
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" /> <ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
</path> </path>
<path name="audio-ull-playback speaker-and-bt-sco">
<path name="audio-ull-playback speaker" />
<path name="audio-ull-playback bt-sco" />
</path>
<path name="audio-ull-playback speaker-and-bt-sco-wb">
<path name="audio-ull-playback speaker" />
<path name="audio-ull-playback bt-sco-wb" />
</path>
<path name="audio-tts-playback speaker"> <path name="audio-tts-playback speaker">
<!-- audio-tts-playback usecase is only valid on speaker backend --> <!-- audio-tts-playback usecase is only valid on speaker backend -->
<ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia2" value="1" /> <ctl name="QUIN_MI2S_RX Audio Mixer MultiMedia2" value="1" />
@@ -354,6 +384,16 @@
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" /> <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
</path> </path>
<path name="compress-offload-playback speaker-and-bt-sco">
<path name="compress-offload-playback speaker" />
<path name="compress-offload-playback bt-sco" />
</path>
<path name="compress-offload-playback speaker-and-bt-sco-wb">
<path name="compress-offload-playback speaker" />
<path name="compress-offload-playback bt-sco-wb" />
</path>
<path name="audio-record"> <path name="audio-record">
<ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" /> <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1" />
</path> </path>
@@ -531,6 +571,14 @@
<path name="voicemmode1-call usb-headphones" /> <path name="voicemmode1-call usb-headphones" />
</path> </path>
<path name="voicemmode1-call speaker-and-bt-sco">
<path name="voicemmode1-call bt-sco" />
</path>
<path name="voicemmode1-call speaker-and-bt-sco-wb">
<path name="voicemmode1-call bt-sco-wb" />
</path>
<path name="voicemmode2-call"> <path name="voicemmode2-call">
<ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode2" value="1" /> <ctl name="PRI_MI2S_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer TERT_MI2S_TX_MMode2" value="1" /> <ctl name="VoiceMMode2_Tx Mixer TERT_MI2S_TX_MMode2" value="1" />
@@ -564,6 +612,14 @@
<path name="voicemmode2-call usb-headphones" /> <path name="voicemmode2-call usb-headphones" />
</path> </path>
<path name="voicemmode2-call speaker-and-bt-sco">
<path name="voicemmode2-call bt-sco" />
</path>
<path name="voicemmode2-call speaker-and-bt-sco-wb">
<path name="voicemmode2-call bt-sco-wb" />
</path>
<path name="hfp-sco"> <path name="hfp-sco">
<ctl name="PRI_MI2S_RX Port Mixer INTERNAL_BT_SCO_TX" value="1" /> <ctl name="PRI_MI2S_RX Port Mixer INTERNAL_BT_SCO_TX" value="1" />
<ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6" value="1" /> <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6" value="1" />
@@ -783,7 +839,7 @@
<path name="handset"> <path name="handset">
<ctl name="RX1 MIX1 INP1" value="RX1" /> <ctl name="RX1 MIX1 INP1" value="RX1" />
<ctl name="RDAC2 MUX" value="RX1" /> <ctl name="RDAC2 MUX" value="RX1" />
<ctl name="RX1 Digital Volume" value="84" /> <ctl name="RX1 Digital Volume" value="87" />
<ctl name="EAR PA Gain" value="POS_6_DB" /> <ctl name="EAR PA Gain" value="POS_6_DB" />
<ctl name="EAR_S" value="Switch" /> <ctl name="EAR_S" value="Switch" />
<ctl name="OSPL Rx" value="Disable" /> <ctl name="OSPL Rx" value="Disable" />
@@ -796,8 +852,8 @@
<path name="headphones"> <path name="headphones">
<ctl name="MI2S_RX Channels" value="Two" /> <ctl name="MI2S_RX Channels" value="Two" />
<ctl name="RX1 Digital Volume" value="77" /> <ctl name="RX1 Digital Volume" value="86" />
<ctl name="RX2 Digital Volume" value="77" /> <ctl name="RX2 Digital Volume" value="86" />
<ctl name="RX1 MIX1 INP1" value="RX1" /> <ctl name="RX1 MIX1 INP1" value="RX1" />
<ctl name="RX2 MIX1 INP1" value="RX2" /> <ctl name="RX2 MIX1 INP1" value="RX2" />
<ctl name="RX HPH Mode" value="HD2" /> <ctl name="RX HPH Mode" value="HD2" />

View File

@@ -17,9 +17,6 @@
#ifndef _BDROID_BUILDCFG_H #ifndef _BDROID_BUILDCFG_H
#define _BDROID_BUILDCFG_H #define _BDROID_BUILDCFG_H
#include <cutils/properties.h>
#include <string.h>
#define BTM_DEF_LOCAL_NAME "Moto G5S Plus" #define BTM_DEF_LOCAL_NAME "Moto G5S Plus"
#define BLUETOOTH_QTI_SW TRUE #define BLUETOOTH_QTI_SW TRUE
#define MAX_ACL_CONNECTIONS 16 #define MAX_ACL_CONNECTIONS 16
@@ -28,5 +25,6 @@
#define BT_CLEAN_TURN_ON_DISABLED TRUE #define BT_CLEAN_TURN_ON_DISABLED TRUE
#define BTM_WBS_INCLUDED TRUE #define BTM_WBS_INCLUDED TRUE
#define BTIF_HF_WBS_PREFERRED TRUE #define BTIF_HF_WBS_PREFERRED TRUE
#define BTM_SCO_ENHANCED_SYNC_DISABLED TRUE #define BTM_SCO_ENHANCED_SYNC_ENABLED FALSE
#undef PROPERTY_VALUE_MAX
#endif #endif

View File

@@ -13,61 +13,76 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
[AID_RFS] [AID_VENDOR_QCOM_DIAG]
value:2950
[AID_VENDOR_RFS]
value:2951 value:2951
[AID_RFS_SHARED] [AID_VENDOR_RFS_SHARED]
value:2952 value:2952
[system/vendor/bin/wcnss_filter] [vendor/bin/wcnss_filter]
mode: 0755 mode: 0755
user: AID_BLUETOOTH user: AID_BLUETOOTH
group: AID_BLUETOOTH group: AID_BLUETOOTH
caps: BLOCK_SUSPEND caps: BLOCK_SUSPEND
[system/vendor/bin/cnss-daemon] [vendor/bin/cnss-daemon]
mode: 0755 mode: 0755
user: AID_BLUETOOTH user: AID_BLUETOOTH
group: AID_BLUETOOTH group: AID_BLUETOOTH
caps: NET_BIND_SERVICE caps: NET_BIND_SERVICE
[system/vendor/bin/imsdatadaemon] [vendor/bin/imsdatadaemon]
user: AID_SYSTEM user: AID_SYSTEM
group: AID_SYSTEM group: AID_SYSTEM
mode: 0755 mode: 0755
caps: NET_BIND_SERVICE caps: NET_BIND_SERVICE
[system/vendor/bin/ims_rtp_daemon] [vendor/bin/ims_rtp_daemon]
user: AID_SYSTEM user: AID_SYSTEM
group: AID_RADIO group: AID_RADIO
mode: 0755 mode: 0755
caps: NET_BIND_SERVICE caps: NET_BIND_SERVICE
[system/vendor/bin/pm-service] [vendor/bin/pm-service]
user: AID_SYSTEM user: AID_SYSTEM
group: AID_SYSTEM group: AID_SYSTEM
mode: 0755 mode: 0755
caps: NET_BIND_SERVICE caps: NET_BIND_SERVICE
[system/vendor/bin/cnd] [vendor/bin/cnd]
mode: 0755 mode: 0755
user: AID_SYSTEM user: AID_SYSTEM
group: AID_SYSTEM group: AID_SYSTEM
caps: NET_BIND_SERVICE BLOCK_SUSPEND NET_ADMIN caps: NET_BIND_SERVICE BLOCK_SUSPEND NET_ADMIN
[system/vendor/bin/slim_daemon] [vendor/bin/slim_daemon]
mode: 0755 mode: 0755
user: AID_GPS user: AID_GPS
group: AID_GPS group: AID_GPS
caps: NET_BIND_SERVICE caps: NET_BIND_SERVICE
[system/vendor/bin/xtwifi-client] [vendor/bin/loc_launcher]
mode: 0755
user: AID_GPS
group: AID_GPS
caps: SETUID SETGID
[vendor/bin/xtwifi-client]
mode: 0755 mode: 0755
user: AID_GPS user: AID_GPS
group: AID_GPS group: AID_GPS
caps: NET_BIND_SERVICE BLOCK_SUSPEND caps: NET_BIND_SERVICE BLOCK_SUSPEND
[system/vendor/bin/mm-qcamera-daemon] [vendor/bin/sensors.qti]
mode: 0755
user: AID_SYSTEM
group: AID_SYSTEM
caps: NET_BIND_SERVICE
[vendor/bin/mm-qcamera-daemon]
mode: 0700 mode: 0700
user: AID_CAMERA user: AID_CAMERA
group: AID_SHELL group: AID_SHELL
@@ -85,74 +100,74 @@ user: AID_SYSTEM
group: AID_SYSTEM group: AID_SYSTEM
caps: 0 caps: 0
[AID_MOT_ACCY] [AID_VENDOR_MOT_ACCY]
value: 5000 value: 5000
[AID_MOT_PWRIC] [AID_VENDOR_MOT_PWRIC]
value: 5001 value: 5001
[AID_MOT_USB] [AID_VENDOR_MOT_USB]
value: 5002 value: 5002
[AID_MOT_DRM] [AID_VENDOR_MOT_DRM]
value: 5003 value: 5003
[AID_MOT_TCMD] [AID_VENDOR_MOT_TCMD]
value: 5004 value: 5004
[AID_MOT_SEC_RTC] [AID_VENDOR_MOT_SEC_RTC]
value: 5005 value: 5005
[AID_MOT_TOMBSTONE] [AID_VENDOR_MOT_TOMBSTONE]
value: 5006 value: 5006
[AID_MOT_TPAPI] [AID_VENDOR_MOT_TPAPI]
value: 5007 value: 5007
[AID_MOT_SECCLKD] [AID_VENDOR_MOT_SECCLKD]
value: 5008 value: 5008
[AID_MOT_WHISPER] [AID_VENDOR_MOT_WHISPER]
value: 5009 value: 5009
[AID_MOT_CAIF] [AID_VENDOR_MOT_CAIF]
value: 5010 value: 5010
[AID_MOT_DLNA] [AID_VENDOR_MOT_DLNA]
value: 5011 value: 5011
[AID_MOT_ATVC] [AID_VENDOR_MOT_ATVC]
value: 5012 value: 5012
[AID_MOT_DBVC] [AID_VENDOR_MOT_DBVC]
value: 5014 value: 5014
[AID_FINGERP] [AID_VENDOR_FINGERP]
value: 5015 value: 5015
[AID_MOT_ESDFS] [AID_VENDOR_MOT_ESDFS]
value: 5016 value: 5016
[AID_MOT_ESDFS] [AID_VENDOR_MOT_ESDFS]
value: 5016 value: 5016
[AID_MOT_ESDFS] [AID_VENDOR_MOT_ESDFS]
value: 5016 value: 5016
[AID_POWER] [AID_VENDOR_POWER]
value: 5017 value: 5017
[AID_ITSON] [AID_VENDOR_ITSON]
value: 5018 value: 5018
[AID_MOT_DTV] [AID_VENDOR_MOT_DTV]
value: 5019 value: 5019
[AID_MOT_MOD] [AID_VENDOR_MOT_MOD]
value: 5020 value: 5020
[AID_MOT_SHARED] [AID_VENDOR_MOT_SHARED]
value: 5323 value: 5323
[AID_MOT_COMMON] [AID_VENDOR_MOT_COMMON]
value: 5341 value: 5341

View File

@@ -98,6 +98,9 @@ special_mode_mask values:
<A3Preview>mot_s5k3l8_bear_zsl_preview_3a</A3Preview> <A3Preview>mot_s5k3l8_bear_zsl_preview_3a</A3Preview>
<A3Video>mot_s5k3l8_bear_zsl_video_3a</A3Video> <A3Video>mot_s5k3l8_bear_zsl_video_3a</A3Video>
</ChromatixName> </ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="ZOOM_DOWNSCALE">
<CPPSnapshot>mot_s5k3l8_bear_cpp_snapshot_downscale</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="1" special_mode_mask="0"> <ChromatixName sensor_resolution_index="1" special_mode_mask="0">
<ISPPreview>mot_s5k3l8_bear_preview</ISPPreview> <ISPPreview>mot_s5k3l8_bear_preview</ISPPreview>
<ISPSnapshot>mot_s5k3l8_bear_preview</ISPSnapshot> <ISPSnapshot>mot_s5k3l8_bear_preview</ISPSnapshot>

View File

@@ -98,6 +98,9 @@ special_mode_mask values:
<A3Preview>mot_s5k3l8_mono_zsl_preview_3a</A3Preview> <A3Preview>mot_s5k3l8_mono_zsl_preview_3a</A3Preview>
<A3Video>mot_s5k3l8_mono_zsl_video_3a</A3Video> <A3Video>mot_s5k3l8_mono_zsl_video_3a</A3Video>
</ChromatixName> </ChromatixName>
<ChromatixName sensor_resolution_index="0" special_mode_mask="ZOOM_DOWNSCALE">
<CPPSnapshot>mot_s5k3l8_mono_cpp_snapshot_downscale</CPPSnapshot>
</ChromatixName>
<ChromatixName sensor_resolution_index="1" special_mode_mask="0"> <ChromatixName sensor_resolution_index="1" special_mode_mask="0">
<ISPPreview>mot_s5k3l8_mono_preview</ISPPreview> <ISPPreview>mot_s5k3l8_mono_preview</ISPPreview>
<ISPSnapshot>mot_s5k3l8_mono_preview</ISPSnapshot> <ISPSnapshot>mot_s5k3l8_mono_preview</ISPSnapshot>

File diff suppressed because it is too large Load Diff

View File

@@ -2,13 +2,14 @@
sku=`getprop ro.boot.hardware.sku` sku=`getprop ro.boot.hardware.sku`
if [ "$sku" = "XT1687" ]; then if [ "$sku" = "XT1806" ]; then
# XT1687 doesn't have NFC chip # XT1806 doesn't have NFC chip
rm /system/etc/permissions/android.hardware.nfc.xml rm /vendor/etc/permissions/android.hardware.nfc.xml
rm /system/etc/permissions/android.hardware.nfc.hce.xml rm /vendor/etc/permissions/android.hardware.nfc.hce.xml
rm /system/etc/permissions/com.android.nfc_extras.xml rm /vendor/etc/permissions/android.hardware.nfc.hcef.xml
rm /vendor/etc/permissions/com.android.nfc_extras.xml
rm -r /system/app/NfcNci rm -r /system/app/NfcNci
else else
# Only XT1687 variant got a compass # Only XT1806 variant got a compass
rm /system/etc/permissions/android.hardware.sensor.compass.xml rm /vendor/etc/permissions/android.hardware.sensor.compass.xml
fi fi

View File

@@ -55,7 +55,23 @@
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="native" optional="false">
<name>netutils-wrapper</name>
<!--
netutils-wrapper should only list a single version x.0.
netutils-wrapper next version has less functionalities than
previous versions, so unlike a HAL, netutils-wrapper are not
backwards compatible. Hence the major version must be bumped for
each update.
Vendor code should switch to (x+1).0 completely before when the
requirement is updated here.
-->
<version>1.0</version>
</hal>
<vndk> <vndk>
<version>0.0.0</version> <version>0.0.0</version>
</vndk> </vndk>
<avb>
<vbmeta-version>0.0</vbmeta-version>
</avb>
</compatibility-matrix> </compatibility-matrix>

View File

@@ -0,0 +1,14 @@
<ExternalCamera>
<Provider>
<!-- Internal video devices to be ignored by external camera HAL -->
<ignore>
<id>0</id>
<id>1</id>
<id>2</id>
<id>3</id>
<id>38</id>
<id>39</id>
<id>100</id>
</ignore>
</Provider>
</ExternalCamera>

View File

@@ -1,402 +0,0 @@
###################### Start of libnfc-common.conf #######################
###############################################################################
# Application options
APPL_TRACE_LEVEL=0xFF
PROTOCOL_TRACE_LEVEL=0xFFFFFFFF
###############################################################################
# performance measurement
# Change this setting to control how often USERIAL log the performance (throughput)
# data on read/write/poll
# defailt is to log performance dara for every 100 read or write
#REPORT_PERFORMANCE_MEASURE=100
###############################################################################
# File used for NFA storage
NFA_STORAGE="/data/nfc"
###############################################################################
# Snooze Mode Settings
#
# By default snooze mode is enabled. Set SNOOZE_MODE_CFG byte[0] to 0
# to disable.
#
# If SNOOZE_MODE_CFG is not provided, the default settings are used:
# They are as follows:
# 8 Sleep Mode (0=Disabled 1=UART 8=SPI/I2C)
# 0 Idle Threshold Host
# 0 Idle Threshold HC
# 0 NFC Wake active mode (0=ActiveLow 1=ActiveHigh)
# 1 Host Wake active mode (0=ActiveLow 1=ActiveHigh)
#
#SNOOZE_MODE_CFG={08:00:00:00:01}
###############################################################################
# Insert a delay in milliseconds after NFC_WAKE and before write to NFCC
#NFC_WAKE_DELAY=20
###############################################################################
# Various Delay settings (in ms) used in USERIAL
# POWER_ON_DELAY
# Delay after turning on chip, before writing to transport (default 300)
# PRE_POWER_OFF_DELAY
# Delay after deasserting NFC-Wake before turn off chip (default 0)
# POST_POWER_OFF_DELAY
# Delay after turning off chip, before USERIAL_close returns (default 0)
#
#POWER_ON_DELAY=300
#PRE_POWER_OFF_DELAY=0
#POST_POWER_OFF_DELAY=0
###############################################################################
# Maximum time (ms) to wait for RESET NTF after setting REG_PU to high
# The default is 1000.
#NFCC_ENABLE_TIMEOUT=0
###############################################################################
# LPTD mode configuration
# byte[0] is the length of the remaining bytes in this value
# if set to 0, LPTD params will NOT be sent to NFCC (i.e. disabled).
# byte[1] is the param id it should be set to B9.
# byte[2] is the length of the LPTD parameters
# byte[3] indicates if LPTD is enabled
# if set to 0, LPTD will be disabled (parameters will still be sent).
# byte[4-n] are the LPTD parameters.
# By default, LPTD is enabled and default settings are used.
# See nfc_hal_dm_cfg.c for defaults
#LPTD_CFG={23:B9:21:01:02:FF:FF:04:A0:0F:40:00:80:02:02:10:00:00:00:31:0C:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00}
###############################################################################
# Startup Configuration (100 bytes maximum)
#
# For the 0xCA parameter, byte[9] (marked by 'AA') is for UICC0, and byte[10] (marked by BB) is
# for UICC1. The values are defined as:
# 0 : UICCx only supports ISO_DEP in low power mode.
# 2 : UICCx only supports Mifare in low power mode.
# 3 : UICCx supports both ISO_DEP and Mifare in low power mode.
#
# AA BB
#NFA_DM_START_UP_CFG={1F:CB:01:01:A5:01:01:CA:14:00:00:00:00:06:E8:03:00:00:00:00:00:00:00:00:00:00:00:00:00:80:01:01}
###############################################################################
# Startup Vendor Specific Configuration (100 bytes maximum);
# byte[0] TLV total len = 0x5
# byte[1] NCI_MTS_CMD|NCI_GID_PROP = 0x2f
# byte[2] NCI_MSG_FRAME_LOG = 0x9
# byte[3] 2
# byte[4] 0=turn off RF frame logging; 1=turn on
# byte[5] 0=turn off SWP frame logging; 1=turn on
# NFA_DM_START_UP_VSC_CFG={05:2F:09:02:01:01}
###############################################################################
# Antenna Configuration - This data is used when setting 0xC8 config item
# at startup (before discovery is started). If not used, no value is sent.
#
# The settings for this value are documented here:
# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/
# Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx
# This document is maintained by Paul Forshaw.
#
# The values marked as ?? should be tweaked per antenna or customer/app:
# {20:C8:1E:06:??:00:??:??:??:00:??:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:??:01:00:00:40:04}
# array[0] = 0x20 is length of the payload from array[1] to the end
# array[1] = 0xC8 is PREINIT_DSP_CFG
#PREINIT_DSP_CFG={20:C8:1E:06:1F:00:0F:03:3C:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:48:01:00:00:40:04}
###############################################################################
# Configure crystal frequency when internal LPO can't detect the frequency.
#XTAL_FREQUENCY=0
###############################################################################
# Configure the default Destination Gate used by HCI (the default is 4, which
# is the ETSI loopback gate.
NFA_HCI_DEFAULT_DEST_GATE=0xF0
###############################################################################
# Configure the single default SE to use. The default is to use the first
# SE that is detected by the stack. This value might be used when the phone
# supports multiple SE (e.g. 0xF3 and 0xF4) but you want to force it to use
# one of them (e.g. 0xF4).
#ACTIVE_SE=0xF3
###############################################################################
# Configure the default NfcA/IsoDep techology and protocol route. Can be
# either a secure element (e.g. 0xF4) or the host (0x00)
#DEFAULT_ISODEP_ROUTE=0x00
###############################################################################
# Configure the NFC Extras to open and use a static pipe. If the value is
# not set or set to 0, then the default is use a dynamic pipe based on a
# destination gate (see NFA_HCI_DEFAULT_DEST_GATE). Note there is a value
# for each UICC (where F3="UICC0" and F4="UICC1")
#NFA_HCI_STATIC_PIPE_ID_F3=0x70
#NFA_HCI_STATIC_PIPE_ID_01=0x19
NFA_HCI_STATIC_PIPE_ID_C0=0x19
###############################################################################
# When disconnecting from Oberthur secure element, perform a warm-reset of
# the secure element to deselect the applet.
# The default hex value of the command is 0x3. If this variable is undefined,
# then this feature is not used.
#OBERTHUR_WARM_RESET_COMMAND=0x03
###############################################################################
# Force UICC to only listen to the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F
UICC_LISTEN_TECH_MASK=0x07
###############################################################################
# Force HOST listen feature enable or disable.
# 0: Disable
# 1: Enable
HOST_LISTEN_ENABLE=0x01
###############################################################################
# Enabling/Disabling Forward functionality
# Disable 0x00
# Enable 0x01
NXP_FWD_FUNCTIONALITY_ENABLE=0x01
###############################################################################
# Allow UICC to be powered off if there is no traffic.
# Timeout is in ms. If set to 0, then UICC will not be powered off.
#UICC_IDLE_TIMEOUT=30000
UICC_IDLE_TIMEOUT=0
###############################################################################
# AID for Empty Select command
# If specified, this AID will be substituted when an Empty SELECT command is
# detected. The first byte is the length of the AID. Maximum length is 16.
AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}
###############################################################################
# Maximum Number of Credits to be allowed by the NFCC
# This value overrides what the NFCC specifices allowing the host to have
# the control to work-around transport limitations. If this value does
# not exist or is set to 0, the NFCC will provide the number of credits.
MAX_RF_DATA_CREDITS=1
###############################################################################
# This setting allows you to disable registering the T4t Virtual SE that causes
# the NFCC to send PPSE requests to the DH.
# The default setting is enabled (i.e. T4t Virtual SE is registered).
#REGISTER_VIRTUAL_SE=1
###############################################################################
# When screen is turned off, specify the desired power state of the controller.
# 0: power-off-sleep state; DEFAULT
# 1: full-power state
# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
SCREEN_OFF_POWER_STATE=1
###############################################################################
# Firmware patch file
# If the value is not set then patch download is disabled.
#FW_PATCH="/vendor/firmware/bcm2079x_firmware.ncd"
###############################################################################
# Firmware pre-patch file (sent before the above patch file)
# If the value is not set then pre-patch is not used.
#FW_PRE_PATCH="/vendor/firmware/bcm2079x_pre_firmware.ncd"
###############################################################################
# Firmware patch format
# 1 = HCD
# 2 = NCD (default)
#NFA_CONFIG_FORMAT=2
###############################################################################
# SPD Debug mode
# If set to 1, any failure of downloading a patch will trigger a hard-stop
#SPD_DEBUG=0
###############################################################################
# SPD Max Retry Count
# The number of attempts to download a patch before giving up (defualt is 3).
# Note, this resets after a power-cycle.
#SPD_MAX_RETRY_COUNT=3
###############################################################################
# transport driver
#
# TRANSPORT_DRIVER=<driver>
#
# where <driver> can be, for example:
# "/dev/ttyS" (UART)
# "/dev/bcmi2cnfc" (I2C)
# "hwtun" (HW Tunnel)
# "/dev/bcmspinfc" (SPI)
# "/dev/btusb0" (BT USB)
#TRANSPORT_DRIVER="/dev/bcm2079x-i2c"
###############################################################################
# power control driver
# Specify a kernel driver that support ioctl commands to control NFC_EN and
# NFC_WAKE gpio signals.
#
# POWER_CONTRL_DRIVER=<driver>
# where <driver> can be, for example:
# "/dev/nfcpower"
# "/dev/bcmi2cnfc" (I2C)
# "/dev/bcmspinfc" (SPI)
# i2c and spi driver may be used to control NFC_EN and NFC_WAKE signal
#POWER_CONTROL_DRIVER="/dev/bcm2079x-i2c"
###############################################################################
# I2C transport driver options
# Mako does not support 10-bit I2C addresses
# Revert to 7-bit address
#BCMI2CNFC_ADDRESS=0x77
###############################################################################
# I2C transport driver try to read multiple packets in read() if data is available
# remove the comment below to enable this feature
#READ_MULTIPLE_PACKETS=1
###############################################################################
# SPI transport driver options
#SPI_NEGOTIATION={0A:F0:00:01:00:00:00:FF:FF:00:00}
###############################################################################
# UART transport driver options
#
# PORT=1,2,3,...
# BAUD=115200, 19200, 9600, 4800,
# DATABITS=8, 7, 6, 5
# PARITY="even" | "odd" | "none"
# STOPBITS="0" | "1" | "1.5" | "2"
#UART_PORT=2
#UART_BAUD=115200
#UART_DATABITS=8
#UART_PARITY="none"
#UART_STOPBITS="1"
###############################################################################
# Insert a delay in microseconds per byte after a write to NFCC.
# after writing a block of data to the NFCC, delay this an amopunt of time before
# writing next block of data. the delay is calculated as below
# NFC_WRITE_DELAY * (number of byte written) / 1000 milliseconds
# e.g. after 259 bytes is written, delay (259 * 20 / 1000) 5 ms before next write
#NFC_WRITE_DELAY=20
###############################################################################
# Maximum Number of Credits to be allowed by the NFCC
# This value overrides what the NFCC specifices allowing the host to have
# the control to work-around transport limitations. If this value does
# not exist or is set to 0, the NFCC will provide the number of credits.
MAX_RF_DATA_CREDITS=1
###############################################################################
# Default poll duration (in ms)
# The defualt is 500ms if not set (see nfc_target.h)
#NFA_DM_DISC_DURATION_POLL=333
###############################################################################
# Antenna Configuration - This data is used when setting 0xC8 config item
# at startup (before discovery is started). If not used, no value is sent.
#
# The settings for this value are documented here:
# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/
# Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx
# This document is maintained by Paul Forshaw.
#
# The values marked as ?? should be tweaked per antenna or customer/app:
# {20:C8:1E:06:??:00:??:??:??:00:??:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:??:01:00:00:40:04}
# array[0] = 0x20 is length of the payload from array[1] to the end
# array[1] = 0xC8 is PREINIT_DSP_CFG
#PREINIT_DSP_CFG={20:C8:1E:06:1F:00:0F:03:3C:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:48:01:00:00:40:04}
###############################################################################
# Choose the presence-check algorithm for type-4 tag. If not defined, the default value is 1.
# 0 NFA_RW_PRES_CHK_DEFAULT; Let stack selects an algorithm
# 1 NFA_RW_PRES_CHK_I_BLOCK; ISO-DEP protocol's empty I-block
# 2 NFA_RW_PRES_CHK_RESET; Deactivate to Sleep, then re-activate
# 3 NFA_RW_PRES_CHK_RB_CH0; Type-4 tag protocol's ReadBinary command on channel 0
# 4 NFA_RW_PRES_CHK_RB_CH3; Type-4 tag protocol's ReadBinary command on channel 3
PRESENCE_CHECK_ALGORITHM=1
###############################################################################
# Force tag polling for the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO |
# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE.
#
# Notable bits:
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
# NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
# NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */
# NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */
# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC Technology A active mode */
# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC Technology F active mode */
POLLING_TECH_MASK=0xEF
###############################################################################
# Force P2P to only listen for the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE
#
# Notable bits:
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC Technology A active mode */
# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC Technology F active mode */
P2P_LISTEN_TECH_MASK=0xC5
PRESERVE_STORAGE=0x01
###############################################################################
# Override the stack default for NFA_EE_MAX_EE_SUPPORTED set in nfc_target.h.
# The value is set to 3 by default as it assumes we will discover 0xF2,
# 0xF3, and 0xF4. If a platform will exclude and SE, this value can be reduced
# so that the stack will not wait any longer than necessary.
# Maximum EE supported number
# NXP PN547C2 0x02
# NXP PN65T 0x03
# NXP PN548C2 0x02
# NXP PN66T 0x03
NFA_MAX_EE_SUPPORTED=0x02
###############################################################################
# NCI Hal Module name
NCI_HAL_MODULE="nfc_nci"
##############################################################################
# Deactivate notification wait time out in seconds used in ETSI Reader mode
# 0 - Infinite wait
#NFA_DM_DISC_NTF_TIMEOUT=0
###############################################################################
# AID_MATCHING constants
# AID_MATCHING_EXACT_ONLY 0x00
# AID_MATCHING_EXACT_OR_PREFIX 0x01
# AID_MATCHING_PREFIX_ONLY 0x02
AID_MATCHING_MODE=0x01
###############################################################################
# Default Secure Element route id
DEFAULT_OFFHOST_ROUTE=0x02
###############################################################################
# Vendor Specific Proprietary Protocol & Discovery Configuration
# Set to 0xFF if unsupported
# byte[0] NCI_PROTOCOL_18092_ACTIVE
# byte[1] NCI_PROTOCOL_B_PRIME
# byte[2] NCI_PROTOCOL_DUAL
# byte[3] NCI_PROTOCOL_15693
# byte[4] NCI_PROTOCOL_KOVIO
# byte[5] NCI_PROTOCOL_MIFARE
# byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO
# byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME
# byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME
NFA_PROPRIETARY_CFG={05:FF:FF:06:81:80:70:FF:FF}
#################################################################################
# Bail out mode
# If set to 1, NFCC is using bail out mode for either Type A or Type B poll.
NFA_POLL_BAIL_OUT_MODE=0x01
#################################################################################

68
configs/libnfc-nci.conf Normal file
View File

@@ -0,0 +1,68 @@
###############################################################################
# Application options
NFC_DEBUG_ENABLED=0
###############################################################################
# File used for NFA storage
NFA_STORAGE="/data/vendor/nfc"
###############################################################################
# Force UICC to only listen to the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F
UICC_LISTEN_TECH_MASK=0x07
###############################################################################
# AID for Empty Select command
# If specified, this AID will be substituted when an Empty SELECT command is
# detected. The first byte is the length of the AID. Maximum length is 16.
AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}
###############################################################################
# When screen is turned off, specify the desired power state of the controller.
# 0: power-off-sleep state; DEFAULT
# 1: full-power state
# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
SCREEN_OFF_POWER_STATE=1
###############################################################################
# Force tag polling for the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO |
# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE.
#
# Notable bits:
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
# NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
# NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */
# NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */
# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC Technology A active mode */
# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC Technology F active mode */
POLLING_TECH_MASK=0xEF
###############################################################################
# Force P2P to only listen for the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE
#
# Notable bits:
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC Technology A active mode */
# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC Technology F active mode */
P2P_LISTEN_TECH_MASK=0xC4
PRESERVE_STORAGE=0x01
###############################################################################
# AID_MATCHING constants
# AID_MATCHING_EXACT_ONLY 0x00
# AID_MATCHING_EXACT_OR_PREFIX 0x01
# AID_MATCHING_PREFIX_ONLY 0x02
AID_MATCHING_MODE=0x01
#################################################################################

View File

@@ -14,12 +14,13 @@
# ANDROID_LOG_ERROR 0x01 # ANDROID_LOG_ERROR 0x01
# ANDROID_LOG_SILENT 0x00 # ANDROID_LOG_SILENT 0x00
# #
NXPLOG_EXTNS_LOGLEVEL=0x01 NXPLOG_EXTNS_LOGLEVEL=0x03
NXPLOG_NCIHAL_LOGLEVEL=0x01 NXPLOG_NCIHAL_LOGLEVEL=0x03
NXPLOG_NCIX_LOGLEVEL=0x01 NXPLOG_NCIX_LOGLEVEL=0x03
NXPLOG_NCIR_LOGLEVEL=0x01 NXPLOG_NCIR_LOGLEVEL=0x03
NXPLOG_FWDNLD_LOGLEVEL=0x01 NXPLOG_FWDNLD_LOGLEVEL=0x03
NXPLOG_TML_LOGLEVEL=0x01 NXPLOG_TML_LOGLEVEL=0x03
NFC_DEBUG_ENABLED=0x00
############################################################################### ###############################################################################
# Nfc Device Node name # Nfc Device Node name
@@ -32,14 +33,10 @@ NXP_NFC_DEV_NODE="/dev/pn544"
MIFARE_READER_ENABLE=0x01 MIFARE_READER_ENABLE=0x01
############################################################################### ###############################################################################
# Vzw Feature enable # Firmware file type
# Disabled - 0x00 #.so file 0x01
# Enabled - 0x01 #.bin file 0x02
VZW_FEATURE_ENABLE=0x01 NXP_FW_TYPE=0x01
###############################################################################
# File name for Firmware
NXP_FW_NAME="libpn548ad_fw.so"
############################################################################### ###############################################################################
# System clock source selection configuration # System clock source selection configuration
@@ -72,19 +69,6 @@ NXP_ACT_PROP_EXTN={2F, 02, 00}
# NFC forum profile settings # NFC forum profile settings
NXP_NFC_PROFILE_EXTN={20, 02, 05, 01, A0, 44, 01, 00} NXP_NFC_PROFILE_EXTN={20, 02, 05, 01, A0, 44, 01, 00}
###############################################################################
# NFCC Configuration Control
# Allow NFCC to manage RF Config 0x01
# Don't allow NFCC to manage RF Config 0x00
NXP_NFC_MERGE_RF_PARAMS={20, 02, 04, 01, 85, 01, 01}
###############################################################################
# Standby enable settings
# Disabled - 0x00
# Enabled - 0x01
NXP_CORE_STANDBY={2F, 00, 01, 01}
############################################################################### ###############################################################################
# NXP TVDD configurations settings # NXP TVDD configurations settings
# Allow NFCC to configure the external TVDD # Allow NFCC to configure the external TVDD
@@ -407,15 +391,6 @@ NXP_RF_CONF_BLK_5={
A0, 0D, 03, 0A, 40, 00 A0, 0D, 03, 0A, 40, 00
} }
###############################################################################
## Set configuration optimization decision setting
## Enable = 0x01
## Disable = 0x00
NXP_SET_CONFIG_ALWAYS=0x01
############################################################################### ###############################################################################
# Core configuration extensions # Core configuration extensions
# It includes # It includes
@@ -504,107 +479,27 @@ NXP_CORE_CONF={20, 02, 2A, 0E,
32, 01, 60 32, 01, 60
} }
###############################################################################
# Mifare Classic Key settings
#NXP_CORE_MFCKEY_SETTING={20, 02, 25,04, A0, 51, 06, A0, A1, A2, A3, A4, A5,
# A0, 52, 06, D3, F7, D3, F7, D3, F7,
# A0, 53, 06, FF, FF, FF, FF, FF, FF,
# A0, 54, 06, 00, 00, 00, 00, 00, 00}
###############################################################################
# Default SE Options
# No secure element 0x00
# eSE 0x01
# UICC 0x02
NXP_DEFAULT_SE=0x02
############################################################################### ###############################################################################
#Enable SWP full power mode when phone is power off #Enable SWP full power mode when phone is power off
NXP_SWP_FULL_PWR_ON=0x00 NXP_SWP_FULL_PWR_ON=0x00
############################################################################### ###############################################################################
#### Select the CHIP #### #Set the default Felica T3T System Code OffHost route Location :
#PN547C2 0x01 # host 0x00
#PN65T 0x02 # UICC 0x02
#PN548AD 0x03 # UICC2 0x03
#PN66T 0x04 DEFAULT_SYS_CODE_ROUTE=0x02
NXP_NFC_CHIP=0x03
############################################################################### ###############################################################################
# CE when Screen state is locked #Set the Felica T3T System Code Power state :
# Disable 0x00
# Enable 0x01
NXP_CE_ROUTE_STRICT_DISABLE=0x01
###############################################################################
# Timeout in secs to get NFCEE Discover notification
NXP_DEFAULT_NFCEE_DISC_TIMEOUT=20
NXP_DEFAULT_NFCEE_TIMEOUT=0x06
###############################################################################
# SWP Reader feature
# Timeout in seconds
NXP_SWP_RD_START_TIMEOUT=0x0A
#Timeout in secs
NXP_SWP_RD_TAG_OP_TIMEOUT=0x01
###############################################################################
#Set the default AID route Location :
#This settings will be used when application does not set this parameter
# host 0x00
# eSE 0x01
# UICC 0x02
DEFAULT_AID_ROUTE=0x02
###############################################################################
#Set the Mifare Desfire route Location :
#This settings will be used when application does not set this parameter
# host 0x00
# eSE 0x01
# UICC 0x02
DEFAULT_DESFIRE_ROUTE=0x02
###############################################################################
#Set the Mifare CLT route Location :
#This settings will be used when application does not set this parameter
# host 0x00
# eSE 0x01
# UICC 0x02
DEFAULT_MIFARE_CLT_ROUTE=0x02
###############################################################################
#Set the default AID Power state :
#This settings will be used when application does not set this parameter #This settings will be used when application does not set this parameter
# bit pos 0 = Switch On # bit pos 0 = Switch On
# bit pos 1 = Switch Off # bit pos 1 = Switch Off
# bit pos 2 = Battery Off # bit pos 2 = Battery Off
# bit pos 3 = Screen Lock # bit pos 3 = Screen On lock
# bit pos 4 = Screen Off # bit pos 4 = Screen off unlock
DEFAULT_AID_PWR_STATE=0x19 # bit pos 5 = Screen Off lock
DEFAULT_SYS_CODE_PWR_STATE=0x1B
###############################################################################
#Set the Mifare Desfire Power state :
#This settings will be used when application does not set this parameter
# bit pos 0 = Switch On
# bit pos 1 = Switch Off
# bit pos 2 = Battery Off
# bit pos 3 = Screen Lock
# bit pos 4 = Screen Off
DEFAULT_DESFIRE_PWR_STATE=0x1B
###############################################################################
#Set the Mifare CLT Power state :
#This settings will be used when application does not set this parameter
# bit pos 0 = Switch On
# bit pos 1 = Switch Off
# bit pos 2 = Battery Off
# bit pos 3 = Screen Lock
# bit pos 4 = Screen Off
DEFAULT_MIFARE_CLT_PWR_STATE=0x1B
############################################################################### ###############################################################################
# AID Matching platform options # AID Matching platform options
@@ -627,10 +522,27 @@ NXP_CHINA_TIANJIN_RF_ENABLED=0x01
NXP_SWP_SWITCH_TIMEOUT=0x0A NXP_SWP_SWITCH_TIMEOUT=0x0A
############################################################################### ###############################################################################
#Dynamic RSSI feature enable # Vendor Specific Proprietary Protocol & Discovery Configuration
# Disable 0x00 # Set to 0xFF if unsupported
# Enable 0x01 # byte[0] NCI_PROTOCOL_18092_ACTIVE
NXP_AGC_DEBUG_ENABLE=0x00 # byte[1] NCI_PROTOCOL_B_PRIME
# byte[2] NCI_PROTOCOL_DUAL
# byte[3] NCI_PROTOCOL_15693
# byte[4] NCI_PROTOCOL_KOVIO
# byte[5] NCI_PROTOCOL_MIFARE
# byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO
# byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME
# byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME
NFA_PROPRIETARY_CFG={05, FF, FF, 06, 81, 80, 70, FF, FF}
###############################################################################
# Choose the presence-check algorithm for type-4 tag. If not defined, the default value is 1.
# 0 NFA_RW_PRES_CHK_DEFAULT; Let stack selects an algorithm
# 1 NFA_RW_PRES_CHK_I_BLOCK; ISO-DEP protocol's empty I-block
# 2 NFA_RW_PRES_CHK_RESET; Deactivate to Sleep, then re-activate
# 3 NFA_RW_PRES_CHK_RB_CH0; Type-4 tag protocol's ReadBinary command on channel 0
# 4 NFA_RW_PRES_CHK_RB_CH3; Type-4 tag protocol's ReadBinary command on channel 3
PRESENCE_CHECK_ALGORITHM=1
############################################################################### ###############################################################################
# UICC mode supported # UICC mode supported
@@ -638,19 +550,6 @@ NXP_AGC_DEBUG_ENABLE=0x00
# Enable 0x01 # Enable 0x01
NXP_DUAL_UICC_ENABLE=0x00 NXP_DUAL_UICC_ENABLE=0x00
###############################################################################
#Config to allow adding aids
#NFC on/off is required after this config
#1 = enabling adding aid to NFCC routing table.
#0 = disabling adding aid to NFCC routing table.
NXP_ENABLE_ADD_AID=0x01
###############################################################################
# Enable/Disable checking default proto SE Id
# Disable 0x00
# Enable 0x01
NXP_CHECK_DEFAULT_PROTO_SE_ID=0x01
################################################################################ ################################################################################
# Restriction of Type A UICC baud rate # Restriction of Type A UICC baud rate
# Default supported - 0x00 # Default supported - 0x00
@@ -666,3 +565,7 @@ NXP_TYPEA_UICC_BAUD_RATE=0x00
# 424kbps maximum supported - 0x02 # 424kbps maximum supported - 0x02
# 848kbps maximum supported - 0x03 # 848kbps maximum supported - 0x03
NXP_TYPEB_UICC_BAUD_RATE=0x00 NXP_TYPEB_UICC_BAUD_RATE=0x00
###############################################################################
# Extended APDU length for ISO_DEP
ISO_DEP_MAX_TRANSCEIVE=0xFEFF

View File

@@ -1,50 +1,64 @@
<manifest version="1.0" type="device"> <manifest version="1.0" type="device" target-level="1">
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.graphics.allocator</name> <name>android.hardware.audio</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>2.0</version> <version>4.0</version>
<interface> <interface>
<name>IAllocator</name> <name>IDevicesFactory</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.graphics.mapper</name> <name>android.hardware.audio.effect</name>
<transport arch="32+64">passthrough</transport> <transport>hwbinder</transport>
<version>2.0</version> <version>4.0</version>
<interface> <interface>
<name>IMapper</name> <name>IEffectsFactory</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.wifi</name> <name>android.hardware.biometrics.fingerprint</name>
<transport>hwbinder</transport>
<version>2.1</version>
<interface>
<name>IBiometricsFingerprint</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.bluetooth</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IBluetoothHci</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.camera.provider</name>
<transport>hwbinder</transport>
<version>2.4</version>
<interface>
<name>ICameraProvider</name>
<instance>legacy/0</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.cas</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IMediaCasService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.configstore</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>1.1</version> <version>1.1</version>
<interface> <interface>
<name>IWifi</name> <name>ISurfaceFlingerConfigs</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.wifi.supplicant</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISupplicant</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOmx</name>
<instance>default</instance>
</interface>
<interface>
<name>IOmxStore</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
@@ -63,6 +77,70 @@
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl">
<name>android.hardware.gatekeeper</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IGatekeeper</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.gnss</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IGnss</name>
<instance>default</instance>
</interface>
<fqname>@1.0::IGnss/gnss_vendor</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.allocator</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IAllocator</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.composer</name>
<transport>hwbinder</transport>
<version>2.1</version>
<interface>
<name>IComposer</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.mapper</name>
<transport arch="32+64">passthrough</transport>
<version>2.0</version>
<interface>
<name>IMapper</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.health</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IHealth</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.keymaster</name>
<transport>hwbinder</transport>
<version>3.0</version>
<interface>
<name>IKeymasterDevice</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.light</name> <name>android.hardware.light</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
@@ -72,6 +150,37 @@
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOmx</name>
<instance>default</instance>
</interface>
<interface>
<name>IOmxStore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.memtrack</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IMemtrack</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.nfc</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>INfc</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.power</name> <name>android.hardware.power</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
@@ -82,20 +191,184 @@
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.qti.hardware.perf</name> <name>android.hardware.radio</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>1.0</version> <version>1.0</version>
<interface> <interface>
<name>IPerf</name> <name>IRadio</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
<interface>
<name>ISap</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.radio.deprecated</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOemHook</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.renderscript</name>
<transport arch="32+64">passthrough</transport>
<version>1.0</version>
<interface>
<name>IDevice</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.gnss</name> <name>android.hardware.sensors</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>1.0</version> <version>1.0</version>
<interface> <interface>
<name>IGnss</name> <name>ISensors</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.thermal</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IThermal</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.usb</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IUsb</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.vibrator</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IVibrator</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.wifi</name>
<transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>IWifi</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.wifi.hostapd</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IHostapd</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.wifi.supplicant</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>ISupplicant</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>com.fingerprints.extension</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IFingerprintNavigation</name>
<instance>default</instance>
</interface>
<interface>
<name>IFingerprintSensorTest</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>com.qualcomm.qti.imscmservice</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IImsCmService</name>
<instance>qti.ims.connectionmanagerservice</instance>
</interface>
</hal>
<hal format="hidl">
<name>com.quicinc.cne.api</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IApiService</name>
<instance>cnd</instance>
</interface>
</hal>
<hal format="hidl">
<name>com.quicinc.cne.server</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IServer</name>
<instance>cnd</instance>
</interface>
</hal>
<hal format="hidl">
<name>com.quicinc.cne.server</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>IServer</name>
<instance>cnd</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.display.color</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IDisplayColor</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.display.config</name>
<transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IDisplayConfig</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.display.postproc</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IDisplayPostproc</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.esepowermanager</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IEsePowerManager</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
@@ -109,111 +382,32 @@
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.keymaster</name> <name>vendor.qti.hardware.alarm</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<impl level="generic"></impl> <version>1.0</version>
<version>3.0</version>
<interface> <interface>
<name>IKeymasterDevice</name> <name>IAlarm</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>com.quicinc.cne.server</name> <name>vendor.qti.hardware.perf</name>
<transport>hwbinder</transport>
<impl level="generic"></impl>
<version>1.0</version>
<interface>
<name>IServer</name>
<instance>cnd</instance>
</interface>
</hal>
<hal format="hidl">
<name>com.quicinc.cne.api</name>
<transport>hwbinder</transport>
<impl level="generic"></impl>
<version>1.0</version>
<interface>
<name>IApiService</name>
<instance>cnd</instance>
</interface>
</hal>
<hal format="hidl">
<name>com.quicinc.cne.server</name>
<transport>hwbinder</transport>
<impl level="generic"></impl>
<version>2.0</version>
<interface>
<name>IServer</name>
<instance>cnd</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.thermal</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>1.0</version> <version>1.0</version>
<interface> <interface>
<name>IThermal</name> <name>IPerf</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.renderscript</name> <name>vendor.qti.hardware.qdutils_disp</name>
<transport arch="32+64">passthrough</transport>
<version>1.0</version>
<interface>
<name>IDevice</name>
<instance>default</instance>
</interface>
</hal>
<!-- Iop HAL service -->
<hal format="hidl">
<name>vendor.qti.hardware.iop</name>
<transport>hwbinder</transport>
<impl level="generic"></impl>
<version>1.0</version>
<interface>
<name>IIop</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.display.postproc</name>
<transport>hwbinder</transport>
<impl level="generic"></impl>
<version>1.0</version>
<interface>
<name>IDisplayPostproc</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.bluetooth</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>1.0</version> <version>1.0</version>
<interface> <interface>
<name>IBluetoothHci</name> <name>IQdutilsDisp</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl">
<name>com.qualcomm.qti.bluetooth_audio</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IBluetoothAudio</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>vendor.qti.hardware.radio.atcmdfwd</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IAtCmdFwd</name>
<instance>AtCmdFwdService</instance>
</interface>
</hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.qti.hardware.radio.am</name> <name>vendor.qti.hardware.radio.am</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
@@ -224,6 +418,15 @@
<instance>slot2</instance> <instance>slot2</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl">
<name>vendor.qti.hardware.radio.atcmdfwd</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IAtCmdFwd</name>
<instance>AtCmdFwdService</instance>
</interface>
</hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.qti.hardware.radio.config</name> <name>vendor.qti.hardware.radio.config</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
@@ -295,75 +498,52 @@
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.radio</name> <name>vendor.qti.hardware.sensorscalibrate</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>1.0</version> <version>1.0</version>
<interface> <interface>
<name>IRadio</name> <name>ISensorsCalibrate</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
<interface>
<name>ISap</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.radio.deprecated</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IOemHook</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.gatekeeper</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IGatekeeper</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.usb</name> <name>vendor.qti.hardware.wifi.hostapd</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>1.0</version> <version>1.0</version>
<interface> <interface>
<name>IUsb</name> <name>IHostapdVendor</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.vibrator</name> <name>vendor.qti.hardware.wifi.supplicant</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<impl level="generic"></impl> <version>2.0</version>
<version>1.0</version>
<interface> <interface>
<name>IVibrator</name> <name>ISupplicantVendor</name>
<instance>default</instance> <instance>default</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>vendor.qti.esepowermanager</name> <name>vendor.qti.imsrtpservice</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>1.0</version> <version>1.0</version>
<interface> <interface>
<name>IEsePowerManager</name> <name>IRTPService</name>
<instance>default</instance> <instance>imsrtpservice</instance>
</interface> </interface>
</hal> </hal>
<hal format="hidl"> <hal format="hidl">
<name>android.hardware.cas</name> <name>com.qualcomm.qti.wifidisplayhal</name>
<transport>hwbinder</transport> <transport>hwbinder</transport>
<version>1.0</version> <version>1.0</version>
<interface> <interface>
<name>IMediaCasService</name> <name>IDSManager</name>
<instance>default</instance> <instance>wifidisplaydshal</instance>
</interface>
<interface>
<name>IHDCPSession</name>
<instance>wifidisplayhdcphal</instance>
</interface> </interface>
</hal> </hal>
</manifest> </manifest>

View File

@@ -90,7 +90,7 @@
<Limit name="blocks-per-second" min="1" max="972000" /> <Limit name="blocks-per-second" min="1" max="972000" />
<Limit name="bitrate" range="1-100000000" /> <Limit name="bitrate" range="1-100000000" />
<Feature name="adaptive-playback" /> <Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="13" /> <Limit name="concurrent-instances" max="16" />
</MediaCodec> </MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" > <MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" /> <Quirk name="requires-allocate-on-input-ports" />
@@ -146,7 +146,7 @@
<Limit name="blocks-per-second" min="1" max="972000" /> <Limit name="blocks-per-second" min="1" max="972000" />
<Limit name="bitrate" range="1-100000000" /> <Limit name="bitrate" range="1-100000000" />
<Feature name="adaptive-playback" /> <Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="13" /> <Limit name="concurrent-instances" max="16" />
</MediaCodec> </MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" > <MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" /> <Quirk name="requires-allocate-on-input-ports" />
@@ -170,8 +170,6 @@
<Feature name="adaptive-playback" /> <Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" /> <Limit name="concurrent-instances" max="16" />
</MediaCodec> </MediaCodec>
<!-- Audio Software -->
<MediaCodec name="OMX.qti.audio.decoder.flac" type="audio/flac" />
</Decoders> </Decoders>
<Include href="media_codecs_google_video.xml" /> <Include href="media_codecs_google_video.xml" />
</MediaCodecs> </MediaCodecs>

Some files were not shown because too many files have changed in this diff Show More