Commit graph

1217 commits

Author SHA1 Message Date
Kevin Tang
ff78fb363c GPS lock is stuck as disabled after post powerup enablement
when the device boots with gps disabled in settings and
later enabled post pwoer up, the lock state doesn't get
updated correctly.

Bug: 16131208

CRs-fixed: 736966
Change-Id: Ice8237a3fd67740819de573ffebbab851363163d
2014-10-20 15:00:48 -07:00
Kevin Tang
d1cc6bfee7 GPS LOCK did not work when NMEA_PROVIDER follows it
there is an implicit requirement on the loc_gps_cfg_s_type field
data type, that is they must be 32 bit fields. Otherwise it would
only work with the assistance of padding. When two adjacent 8 bit
fields are defined, the later filled field would overwrite the
previously written neighbor. This is why GPS_LOCK was tested as
broken in the latest build.

This also fixes a theoretic bug that when there are two of the
same fields defined in the config table to be filled, the
accounting of the filled entries was incorrect earlier. This is
not a realistic bug, as there are no idential entries in the
config table HAL fills.

Bug: 16131208

CRs-fixed: 736966
Change-Id: I2e262fb30272f6f334508df17bb640022d7b1ef5
2014-10-20 15:00:39 -07:00
Kevin Tang
af2762ceca GPS_LOCK configuration support
GPS_LOCK is defined as a bit mask in the higher layer
defined in gps.conf. GPS HAL reads from gps.conf, yet
this can be reconfigured by gps.h defined new API to
a different value. The current value will be used at
cleanup() time, to optionally lock gps modem to the
configured mode.

This changs also sets SUPL URL to NULL if hostname
comes with set_server() API is a NULL string.

Also optimized configuration_update() implementation
so that no all items will go through the reconfigu
scan.

Also added SUPL_MODE as a parameter in gps.conf which
can be uncommented to over-write the value from config.xml.
This can be used for testing purposes

Bug: 16131208
Bug: 17288144

CRs-fixed: 736966
Change-Id: I12a89b12ff82b6efd7b5567d2fcd6a7e79414c71
2014-10-20 15:00:31 -07:00
Kevin Tang
809dec4e92 allow reconfiguration update happen before HAL init
currently HAL does not allow gps paremeter reconfiguration
before HAL init. This change allows that. The new config
items will be cached only. Upon HAL init, the parameters
that interest modem will be injected.

Bug: 17110478
CRs-fixed: 736966

Change-Id: Ie8d180a0ed6a35776f1ee0342f88dfc010ec2746
2014-10-20 15:00:11 -07:00
Kevin Tang
e6a851c191 adding update config post power up
Some of the parameters configured in gps.conf may be
carrier dependent. This provides a mechanism so that
GpsLocationProvider can determine current operator
resolve of the carrier specific configurations and
update HAL with those configurations post init.
Bug: 17110478

CRs-fixed: 736966
Change-Id: I80aa4404da7666824335fee074dae2ffcba40548
2014-10-20 14:54:26 -07:00
Linux Build Service Account
e324c90128 Merge "Add buffer length check for XTRA data" 2014-10-14 03:48:57 -07:00
Tushar Janefalkar
0b0b89fbd6 Add buffer length check for XTRA data
To prevent reading beyond the length of
the buffer that contains XTRA data, a
check has been introduced assuming an
approximate limit for the size of the
data

Change-Id: I7e05beadec76c3308448b9198fd23c8e8b97394d
CRs-fixed: 420623
2014-10-13 11:06:45 -07:00
Linux Build Service Account
a5cc98e78f Merge "Added Detection Logic For QMI_PDS Target." 2014-10-11 18:12:21 -07:00
Linux Build Service Account
00b33a2f88 Merge "Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.190' into HEAD" 2014-10-10 13:35:46 -07:00
Kevin Tang
fb9c641bb8 Added Detection Logic For QMI_PDS Target.
Added run time detection of PDS enabled fusion target
to loc_target(), to support fusion platforms that has
PDS service enabled.

Change-Id: Ic53df027540f00eec9259776351b6bbc9afa0521
CRs-Fixed: 699757
2014-10-10 10:36:46 -07:00
Zhoulu Luo
a4e051229c AU_LINUX_ANDROID_KK.04.04.04.010.190 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlQ1QY4ACgkQoUgPZYCpAfGjpACbBNdiiUE6tD48385bBznoC/df
 46EAoJ+UPAeXjhKp+frsqJsIMG6a+TWu
 =ey07
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.190' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.190 based on quic/aosp/kk

Conflicts:
	core/gps_extended_c.h

Change-Id: I0ab43bfd89003ee6dc1fc31e97accae37eed97b8
2014-10-08 16:06:44 -07:00
Linux Build Service Account
efc641463e Merge "Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.182' into HEAD" 2014-10-07 04:40:29 -07:00
Linux Build Service Account
0736472319 Merge "Checking messages supported or not" 2014-10-06 22:53:22 -07:00
Jiafei Wen
90378134ea Checking messages supported or not
When device boots up, get a list of message
supported by modem, based on which some adapeters
will be able to update register masks.

CRs-fixed: 601349
Change-Id: I6af282f8e551f1f3c6bf8795e968fdbc7b0a9fa3
2014-10-04 12:27:26 -07:00
Linux Build Service Account
10928f9622 Merge "Checking messages supported or not" 2014-10-03 10:38:00 -07:00
Zhoulu Luo
94ca706b3c AU_LINUX_ANDROID_KK.04.04.04.010.182 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlQsxwMACgkQoUgPZYCpAfG54gCdFhi4kcvtS8jo5rRwqMemDRJw
 JZAAoOcZBG/Y1bH/Kmd1+27OQJUOH/Yg
 =fi7/
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.182' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.182 based on quic/aosp/kk

Conflicts:
	loc_api/libloc_api_50001/loc_eng.h

Change-Id: I3a734e3bdc3347961f1bd4bf5499ec7ca9aecfbc
2014-10-02 14:42:00 -07:00
Linux Build Service Account
40931418ee Merge "Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.171' into HEAD" 2014-10-01 08:28:55 -07:00
Linux Build Service Account
01dacddb7b Merge "Use regular ATL callflow for SUPL ES" 2014-10-01 02:13:07 -07:00
Jiafei Wen
79c877db24 Checking messages supported or not
When device boots up, get a list of message
supported by modem, based on which some adapeters
will be able to update register masks.

CRs-fixed: 601349
Change-Id: I6af282f8e551f1f3c6bf8795e968fdbc7b0a9fa3
2014-09-29 21:35:44 -07:00
Linux Build Service Account
ee1b1bf852 Merge "Increase the size of string to hold parameter name" 2014-09-27 06:31:24 -07:00
Zhoulu Luo
49c8a177cb AU_LINUX_ANDROID_KK.04.04.04.010.171 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlQizM8ACgkQoUgPZYCpAfH5yQCgmx8aSsNKN3FRVfYiXQK8Zq7i
 9FkAn0tDuuuy3sib/8fh/S+VCU/l8UKI
 =VC4+
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.171' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.171 based on quic/aosp/kk

Change-Id: Ieeb7a3b116fd4ac9091582b40de5a9c468ca68ea
2014-09-25 17:58:59 -07:00
Tushar Janefalkar
a55881f51b Use regular ATL callflow for SUPL ES
Added a new gps.conf parameter which can
be used to decide whether or not to use
data services to bring up call using emergency
PDN or use default SUPL PDN

Change-Id: I604a1489e66339eb2c27019dafab640f7a15cd84
CRs-fixed: 685639
2014-09-22 16:49:57 -07:00
Linux Build Service Account
e3900d7339 Merge "Remove reduntant clearing of GpsLocation memory" 2014-09-21 15:49:51 -07:00
Linux Build Service Account
f5f74198b5 Merge "Ignore the first time inject if it is form Afw." 2014-09-20 17:17:07 -07:00
Linux Build Service Account
88740b0a54 Merge "Vote for modem power only on select targets" 2014-09-20 13:38:45 -07:00
Linux Build Service Account
d75ff6e89e Merge "Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.161' into HEAD" 2014-09-20 07:35:26 -07:00
Dante Russo
9d0c2d5627 Remove reduntant clearing of GpsLocation memory
GpsLocation memory will now be cleared inside the
Loc Api handler itself, so no need to do it a second
time before calling into the Loc Api handler.

Change-Id: Iec37624621d6eb4806eb8e13c807bb4e40584e39
CRs-fixed: 726800
2014-09-18 17:18:36 -07:00
Zhoulu Luo
9fe51b7593 AU_LINUX_ANDROID_KK.04.04.04.010.161 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlQYPVMACgkQoUgPZYCpAfFH4gCeMO6B2RcmkK4FiGKyMAGyby70
 q1kAoKNW3qC2PpZ2TR02ASrbkjfuyjJv
 =+Hrp
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.161' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.161 based on quic/aosp/kk

Conflicts:
	loc_api/libloc_api_50001/loc_eng.cpp
	loc_api/libloc_api_50001/loc_eng.h

Change-Id: Ib51f82aa83a2aa7ea63a10efffe5e7eef8a5d135
2014-09-18 12:26:41 -07:00
Bhavna Sharma
f1ddcf02a3 Increase the size of string to hold parameter name
Some parameter names are more than 48 char in length.
Accomodate by increasing parameter name buffer size
and increase complete line buffer size.

CRs-Fixed: 700902

Change-Id: If2af7288ed11fdd668dc1cad8e60f2c92e7b3c30
2014-09-17 18:16:35 -07:00
Jiafei Wen
fab550522a Ignore the first time inject if it is form Afw.
The first time injection is ignored from
an adapter that doesn't support CPI Extended
Capabilities to prevent time from being
injected twice on startup.

CRs-fixed: 720540
Change-Id: If786cf2c750906093f21272aae928e4d9fc4dea8
2014-09-16 18:17:07 -07:00
Tushar Janefalkar
f78f285721 Vote for modem power only on select targets
Since libmdmdetect and peripheral manager
are not available on all targets, added
compilation flags to use these APIs only on
supported targets

Change-Id: I404e3273718dc7f9e6475f5a1d2c2f0b010cb33f
2014-09-14 23:24:22 -07:00
Linux Build Service Account
20cb82cbf9 Merge "Migrating XTRA from gpsonextra.net to cloud based izatcloud.net" 2014-09-13 13:29:32 -07:00
Pandari Sabhapathi
5cef7caea3 Migrating XTRA from gpsonextra.net to cloud based izatcloud.net
*Added logic to remove xtra1.gpsonextra.net from URLs
received from modem.
*Added logic to override modem URLs with those configured
in gps.conf
*Replaced all instances of xtra{1,2,3}.gpsonextra.net domain URLs
in gps.conf with xtrapath{1,2,3}.izatcloud.net URLs.
*Replaced all commented instances of xtra.bin in gps.conf with xtra2.bin.

CRs-fixed: 643816

Change-Id: I803b26bce22f06910dcaa1ee057902b9381667bf
2014-09-11 16:43:11 -07:00
Linux Build Service Account
8a5b0aaa29 Merge "add support for apq8026_lw" 2014-08-31 08:23:48 -07:00
Dante Russo
06ccada997 add support for apq8026_lw
LW gets a stripped down feature set

Change-Id: If46a2e369e8bc8adb33629a0d0bccffb60da9d10
2014-08-27 12:27:58 -07:00
Linux Build Service Account
dd58e6c795 Merge "Use peripheral mgr to vote for modem power up/down" 2014-08-25 22:35:14 -07:00
Tushar Janefalkar
8cdb9cac41 Use peripheral mgr to vote for modem power up/down
Peripheral manager APIs are now used to vote
for modem to be powered up when location is enabled
and powered down when location is disabled.
If peripheral manager is not supported, the powerup
node will be opened and closed to vote

CRs-fixed: 655587

Change-Id: I2b865ce1d88bf1a65e3c9b875f24d669579bc61e
2014-08-24 20:11:12 -07:00
Linux Build Service Account
406e7c4c15 Merge "Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.110' into HEAD" 2014-08-22 23:36:01 -07:00
Sudhir Sharma
11a39d65a8 AU_LINUX_ANDROID_KK.04.04.04.010.110 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlP0pJ4ACgkQoUgPZYCpAfEsUwCdGjNzYIPjaZVFcZdeL246BVXQ
 PZ8AnibMuxZm7CO5PzCHKg3tJQdA0msp
 =x/5c
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.110' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.110 based on quic/aosp/kk

Change-Id: Ibdbb06bff5d0c6bd1aec3f6243ae864b70818277
2014-08-22 16:44:20 -07:00
Linux Build Service Account
c2a4e3b049 Merge "Revert "Revert "Remove masks for Glonass""" 2014-08-20 10:42:13 -07:00
Linux Build Service Account
b39a4aaa01 Merge "agps cert install api implementation" 2014-08-20 10:42:12 -07:00
Linux Build Service Account
19e8bc2155 Merge "Fix for CR 692085, error mapping incorrect in one of the cases" 2014-08-18 10:49:03 -07:00
Linux Build Service Account
b236da9f2f Merge "Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.094' into HEAD" 2014-08-14 14:25:10 -07:00
Sudhir Sharma
2e5ca6dde7 AU_LINUX_ANDROID_KK.04.04.04.010.094 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlPoLFcACgkQoUgPZYCpAfHA3gCgxHO4Ygg/L4/AivXneonD8kls
 t80AoOVB7Ts81w7Qea3Ui7jhoq/jbRui
 =UdP7
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.094' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.094 based on quic/aosp/kk

Change-Id: I0b9428f15516e1f6b6cd625caa2e4af86b9c1c5e
2014-08-11 13:38:27 -07:00
Kevin Tang
2abe41d44f Fix for CR 692085, error mapping incorrect in one of the cases
eLOC_CLIENT_FAILURE_INTERNAL returned from loc_api_v02 was mapped
to LOC_API_ADAPTER_ERR_FAILUR, however in loc_eng_start_handle it
is LOC_API_ADAPTER_ERR_GENERAL_FAILURE that is being checked for.
Created a new error ID LOC_API_ADAPTER_ERR_INTERNAL specifically
for this error case.

Change-Id: Ib2ad6e983d6c598ec57f1a2584166da2be95946b
CRs-Fixed: 706520
2014-08-07 18:14:43 -07:00
Dante Russo
5cdfc25284 agps cert install api implementation
Implementation of the install agps certificate
API for installing certificates at runtime.

Change-Id: I49239b612381e81bd8a4c0a5773783572d4b2d9a
2014-08-06 11:45:10 -07:00
Linux Build Service Account
2f1653763d Merge "loc timer util fix to handle the race condition" 2014-08-05 17:11:39 -07:00
Tushar Janefalkar
6925f8a04a Revert "Revert "Remove masks for Glonass""
This reverts commit 08237e52b6.

Change-Id: I4e507ef8777d45825234914841562e7f2901bae0
2014-08-05 15:00:31 -07:00
Kevin Tang
33e5fd9015 loc timer util fix to handle the race condition
loc timer util stop() routine may have race condition
with the timer thread, when timer expires at the same
time stop() routine tries to lock mutex.  The race
condition can go 2 ways:
* timer thread expires, unlocks mutex, context switch,
stop() thread acquires lock, context switch, timer
thread destroys mutex.  Destroy will fail, resulting
mutex leak.
* timer thread expires, unlocks mutex, destroys mutex,
stop() acqures lock, signal, and releases lock. Would
be super rare conditions though.

Fix is that we give 5 seconds for stop() thread to
give up the lock when destroy. After that the timer
thread will release the mutex and go on destroy.
Meanwhile the stop() thread would check the lock
return to move on with signal and unlock.

Change-Id: Iff9e34d08a1faf0828049de2fede2e7a5d15b161
CRs-Fixed: 699856
2014-08-04 10:28:00 -07:00
Linux Build Service Account
44d7fb9ceb Merge "fixing the SSR recovery race condition" 2014-08-01 09:04:23 -07:00