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
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
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
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
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
-----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
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
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
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
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
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
*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
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
-----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
-----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
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
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
There is a race condition where when startFix is
called right at the time when modem or griffon
subsystem is down, GPS HAL doesn't get the correct
error code, and therefore the right handling.
Mapped ENGINE_DOWN to ENGINE_OFFLINE, as they are
the same; and modified loc_eng_start_handler to
update the state upon the right error code.
There is a one problem though. General failure is
also handled as SSR. This is because of an unhandled
race condition in the kernel, so the error code
returned and propagated is not deterministic enough
for us to tell if this is SSR. Until that fix is in
place, we might have to treat general failure as SSR
although the side effect should be none. Only
semantically incorrect.
Change-Id: If93823f08428275da171bb22d73a06e38365585b
CR-Fixed: 692085
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEABECAAYFAlPXonYACgkQoUgPZYCpAfEVqgCg0nHy46bwOfBa0LPbxt0PTV4r
MGsAnAlTanVV1UfX/HzMGmdNyA0D0VZ4
=Wxhx
-----END PGP SIGNATURE-----
Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.073' into HEAD
AU_LINUX_ANDROID_KK.04.04.04.010.073 based on quic/aosp/kk
Change-Id: I5ae2317a9d43cde94c587cb292212f1435472607
A new QMI LOC msg is introduced which injects into
the modem a value that determines whether or not
the version of XTRA is to be checked
Change-Id: I0ef579332d064713ce73d80e66dc8c6fef1c1638
CRs-fixed: 649860