75 Commits

Author SHA1 Message Date
Daniel Lehmann
e024749830 am 8f30d219: am f0533f94: am 0e873700: Remove the country detector logging
* commit '8f30d2191eb88d577d6d2ba9874053cfea0091c8':
  Remove the country detector logging
2012-03-12 18:30:17 -07:00
Daniel Lehmann
f0533f9462 am 0e873700: Remove the country detector logging
* commit '0e87370077b322b3a88c345a44c6bf3d56617071':
  Remove the country detector logging
2012-03-12 18:24:41 -07:00
Daniel Lehmann
0e87370077 Remove the country detector logging
Bug:6156714
Change-Id: Id0ff60b0530142e2bce055ee8cf8dde94e974aa5
2012-03-12 17:04:17 -07:00
Jean-Baptiste Queru
973481d667 am ccd08b8d: am e939edb5: am f418738c: am d7fa7dee: Merge "Fixes update of extras Bundle in new Locations for GPS Provider"
* commit 'ccd08b8de9dc4c9cfaee93cbbcc7053cc9e8d96f':
  Fixes update of extras Bundle in new Locations for GPS Provider
2012-02-28 14:59:18 -08:00
Jean-Baptiste Queru
f418738c64 am d7fa7dee: Merge "Fixes update of extras Bundle in new Locations for GPS Provider"
* commit 'd7fa7deef9bc0cf22bf450fdb062327697c087c4':
  Fixes update of extras Bundle in new Locations for GPS Provider
2012-02-28 13:30:39 -08:00
Sean Barbeau
ced2b2c09a Fixes update of extras Bundle in new Locations for GPS Provider
This patch fixes the update of the extras Bundle in the Location object
each time the platform derives a new GPS location and passes it to
listening applications via LocationListener.onLocationChanged().

Sometime between Android 1.6 and 2.1 a bug was introduced that stopped
any extras calculated by the platform from being added into the Location
object, which means they were never passed up to any LocationListeners
for the GPS Provider.  This manifested as an issue where the number of
satellites used to derive a fix always reported “0” when retrieved from
Location.getExtras() (Issue 4810 on the Android Issues page -
http://code.google.com/p/android/issues/detail?id=4810).

Sample code to be used within
LocationListener.onLocationChanged(Location location) which demonstrates
this problem:

Bundle extras = location.getExtras();

Int numSats = extras.getInt("satellites");  //This always reports “0”
                                            //post 1.5, although in 1.5
                                            //it properly reported the
                                            //number of satellites used
                                            //to derive this location

The “satellites” extra key/value pair for Locations is defined in
http://developer.android.com/reference/android/location/Location.html#getExtras()

This patch modifies GPSLocationProvider.java to properly update the
Location object with the extras Bundle before the Location object is
passed to any listening applications, and therefore the number of
satellites used to derive a fix can now be retrieved properly through
location.getExtras() (as shown in sample code above).  Therefore, this
patch fixes Issue 4810.

Change-Id: Ief21056a3623269bb3149ec78ab92738a234f57f
Signed-off-by: Sean Barbeau <sjbarbeau@gmail.com>
2012-01-12 18:25:47 -05:00
Makoto Onuki
d73b79bb31 Cherry-picking Id45abeba and Ia065dec6 for MR1
-------------------------------------------------------
MCC detection fixes for CountryDetector

- Don't get and cache phone tpe at the initialization time.  At this point
TelephonyManager is probably not ready yet.

- Refresh MCC whenever we get the service state changed callback, even when
the state hasn't actually changed, in order to make sure we get refresh
country properly when MCC changes.

- Also remove the initialization of mPhoneStateListener, which prevented us from
registering phone state listener properly.

- Also fix tests which were already failing.

Bug 5670680

-------------------------------------------------------
Add logging to country detector logic

This is for debugging purposes to verify the effects of
change Id45abeba1b1e843053ac2c946861b439ca568de4.

Bug: 5670680
Change-Id: I238d953484e2c8135f7dac70fce8662c8300a286
2011-12-13 14:02:32 -08:00
Katherine Kuan
da123492de Add logging to country detector logic
This is for debugging purposes to verify the effects of
change Id45abeba1b1e843053ac2c946861b439ca568de4.

Bug: 5670680
Change-Id: Ia065dec6ba651e7e77205f812b7606b15eebdc17
2011-12-12 18:07:58 -08:00
Makoto Onuki
f9165b7e43 MCC detection fixes for CountryDetector
- Don't get and cache phone tpe at the initialization time.  At this point
TelephonyManager is probably not ready yet.

- Refresh MCC whenever we get the service state changed callback, even when
the state hasn't actually changed, in order to make sure we get refresh
country properly when MCC changes.

- Also remove the initialization of mPhoneStateListener, which prevented us from
registering phone state listener properly.

- Also fix tests which were already failing.

Bug 5670680

Change-Id: Id45abeba1b1e843053ac2c946861b439ca568de4
2011-12-09 17:55:18 -08:00
Mike Lockwood
2ffe0ad391 Always use fresh NTP time for GPS
This is especially important when AGPS is disabled

Bug: 5355661

Change-Id: I072dbe1ddf43aa24c8fc39b750040504a1633c53
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-10-25 09:47:05 -04:00
Mike Lockwood
2b15cb21b3 Resolve merge conflict for '75f1fdec':
GPS Provider Service changes

    GPS engine needs to receive network state changes from Android fw.

    Added db query for the current APN, also added a new parameter
    between JNI / HAL to the new method in AGpsRilInterface struct
    for gps engine to receive APN from GPSLocationService

Conflicts:
	services/java/com/android/server/location/GpsLocationProvider.java

Change-Id: I33c45027f1571493d3525324f62d199517c4960c
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-08-04 11:40:25 -04:00
Mike Lockwood
75f1fdec3e am 0b3af353: am a82ee49a: am 8f5dd9ad: Merge "GPS Provider Service changes"
* commit '0b3af353dcf61177158934a11404cf2914038696':
  GPS Provider Service changes
2011-08-04 07:53:53 -07:00
Kevin Tang
a5fe6b2efe GPS Provider Service changes
GPS engine needs to receive network state changes from Android fw.

Added db query for the current APN, also added a new parameter
between JNI / HAL to the new method in AGpsRilInterface struct
for gps engine to receive APN from GPSLocationService

Change-Id: I62e35c948d2ac1961771d1a10581a3b8e695c05a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-08-04 10:33:35 -04:00
Mike Lockwood
b7d95a46df am 21700fed: am 5f7203eb: am 5a27a754: am bd1dee94: Merge "gps: Adding ip address for AGps"
* commit '21700fedfe29f6a0a752d2bea46142038e69136c':
  gps: Adding ip address for AGps
2011-07-28 14:06:07 -07:00
Mike Lockwood
21700fedfe am 5f7203eb: am 5a27a754: am bd1dee94: Merge "gps: Adding ip address for AGps"
* commit '5f7203eb258503bc5d2ba29176bdf483a68a93b8':
  gps: Adding ip address for AGps
2011-07-28 14:04:13 -07:00
Stephen Li
8efd74dbed gps: Adding ip address for AGps
Change-Id: Ic590187d159853de2f1bd2912e159f0a00d8fb10
2011-07-28 16:50:45 -04:00
Mike Lockwood
3885228457 am f8d13e53: am bf676d46: am 7083ed44: am 0ff79e88: Merge "GPS: Changes to enable on-demand data call flow for CDMA connections"
* commit 'f8d13e535c3e6166c2386adac3b3a2f115d2b79d':
  GPS: Changes to enable on-demand data call flow for CDMA connections
2011-07-28 13:30:24 -07:00
Mike Lockwood
f8d13e535c am bf676d46: am 7083ed44: am 0ff79e88: Merge "GPS: Changes to enable on-demand data call flow for CDMA connections"
* commit 'bf676d460d1d1fc8923982006c38d0f6785daea8':
  GPS: Changes to enable on-demand data call flow for CDMA connections
2011-07-28 13:27:27 -07:00
Dianne Hackborn
130b0d2b26 Fix issue #4466531: onServiceConnected() not called after...
...apk reinstall; affects user privacy

Disconnecting a ServiceConnection after an app is torn down could
impact the bookkeeping of the same service if it has been started
for the app.

Also address issue #5073927: GSF process can't be killed

A new flag allows the systems location manager service to tell
the activity manager to not pull bound services up forever into
the visible adj level.

Change-Id: I2557eca0e4bd48f3b10007c40ec878e769fd96a8
2011-07-26 22:07:48 -07:00
Jeff Sharkey
104344e507 Cached NTP time for system services.
Uses NTP server and timeout from secure settings, or fallback to
defaults in resources.  Update various system services to use cached
NTP time when fresh enough, or force updates as needed.

Bug: 4517273
Change-Id: Ie1c4c4883836013d02ca0bbd850cf8949f93b34b
2011-07-10 14:25:18 -07:00
Mike Lockwood
9b9fb5cc08 GPS: Support for on-demand NTP time injection
Change-Id: I83db0249c13598070ed70b9f90207305b60b468f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-29 15:09:40 -04:00
Stephen Li
83b69713f2 GPS: Changes to enable on-demand data call flow for CDMA connections
In the CDMA case we do not get a valid APN on a data connection request
to the connectivity manager. A fix is put in so that even if we get a
null APN we populate this field before we call native_agps_data_conn_open()
method to avoid a run time exception.

Change-Id: I134ead5d8b177fced9b14756c6bd8199a2b9c35d
2011-06-05 16:55:05 -07:00
Mike Lockwood
7cc9ee2676 am 859443f2: am c0d9834a: am 5d78e0b8: Merge "GPS: Change NTP polling interval from 4 to 24 hours" into honeycomb-mr2
* commit '859443f2a4d6a2b72c3e9c75720d32d4e4c09489':
  GPS: Change NTP polling interval from 4 to 24 hours
2011-05-24 12:57:17 -07:00
Mike Lockwood
859443f2a4 am c0d9834a: am 5d78e0b8: Merge "GPS: Change NTP polling interval from 4 to 24 hours" into honeycomb-mr2
* commit 'c0d9834a1c6dd8d9cd0b7fe9b50495578c104405':
  GPS: Change NTP polling interval from 4 to 24 hours
2011-05-23 18:45:17 -07:00
Mike Lockwood
4c12606852 GPS: Change NTP polling interval from 4 to 24 hours
4 hours is excessive, and we want to save bandwidth on the NTP servers

Change-Id: Ic5ac4f4a8e62167206f3f620ea51635a2ea771d6
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-23 20:57:43 -04:00
Jake Hamby
afd28ac6ec am ee60f3fb: resolved conflicts for merge of 18cc814c to honeycomb-plus-aosp
* commit 'ee60f3fb1b4e61ac8027293a658ba710e36d36b6':
  Enable support for SMS national language shift tables.
2011-05-11 13:09:42 -07:00
Jake Hamby
ee60f3fb1b resolved conflicts for merge of 18cc814c to honeycomb-plus-aosp
Change-Id: I2b569ada3baec2dc486296623063bc2b504c5e96
2011-05-10 15:52:15 -07:00
Daisuke Miyakawa
a550bdc84a Use passive provider for location based country detection
Bug: 4345419
Change-Id: Ia3e071b97c6971538ea994fdee6029db928201d6
2011-04-28 16:18:19 -07:00
Joe Onorato
43a17654cf Remove the deprecated things from Config.java. These haven't been working since before 1.0.
Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
2011-04-07 19:23:05 -07:00
Jake Hamby
b49a73dfc4 Enable support for SMS national language shift tables.
Add support for encoding and decoding SMS 7 bit user data using the
national language shift tables defined in 3GPP TS 23.038 (GSM/UMTS only),
including the new tables added in Release 9 for Indic languages.

Decoding is always supported, but encoding is only enabled for the
specific language tables added to the new integer array resources
"config_sms_enabled_single_shift_tables" and
"config_sms_enabled_locking_shift_tables" defined in
frameworks/base/core/res/res/values/config.xml. The default empty arrays
should be overridden in an OEM overlay for the specific nationalities where
SMS national language shift table encoding is allowed/mandated (e.g. Turkey).
GsmAlphabet.countGsmSeptets() will try to find the most efficient encoding
among all combinations of enabled locking shift and single shift tables.
If no 7 bit encoding is possible, 16 bit UCS-2 encoding will be used.

This change also fixes a bug in the decoder: when an escape septet
is followed by a septet with no entry in the extension (single shift)
table, TS 23.038 Table 6.2.1.1 states that the MS shall display
the character in the main GSM 7 bit default alphabet table, or the
active national language locking shift table. Previously, we were
decoding this sequence as a space character. Two consecutive escape
septets will continue to decode as a space character, according to
Note 1 of table 6.2.1.1.

Change-Id: I4dab3f0ffe39f3df2064ed93c9c05f26e274d18b
2011-04-06 14:20:04 -07:00
Mike Lockwood
f63113d158 am a5b68f39: am 5982bf66: GPS: Restore XTRA downloading at boot.
* commit 'a5b68f39e2936a83eac0b995992724cd5de6905d':
  GPS: Restore XTRA downloading at boot.
2011-03-17 16:25:01 -07:00
Mike Lockwood
5982bf66d4 GPS: Restore XTRA downloading at boot.
Between Froyo and Gingerbread we disabled scheduling an XTRA data download
at boot because the Qualcomm engineers thought it should not be necessary.
However, some users noticed a GPS performance degradation after receiving
their Gingerbread update, and some reported forcing an XTRA download cleared
up the problem.  This change restores the Froyo behavior of downloading
XTRA data after boot.

Bug: 3509901

Change-Id: I5a52201a2b24ce4a5d3ddb1f86340e3d5387f603
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-17 14:08:01 -04:00
Mike Lockwood
8fa50d4f2d am 6c8d8d89: am 8c32bddf: Merge "GPS: Disable verbose logging" into gingerbread
Merge commit '6c8d8d8927373fdb9ad1c853396b5dbc8295f996'

* commit '6c8d8d8927373fdb9ad1c853396b5dbc8295f996':
  GPS: Disable verbose logging
2010-10-25 14:00:38 -07:00
Mike Lockwood
4a7b65e0d5 GPS: Disable verbose logging
BUG: 3127049

Change-Id: I9efd9eb7ff69724b133f3b70c52e173f49ddfbc5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-25 16:35:55 -04:00
Mike Lockwood
4c918335ef am d78c8d8b: am f6572e7e: Merge "GPS: Fix network type logic in requestRefLocation" into gingerbread
Merge commit 'd78c8d8bb9516878eb5042a28d76bd6bcf4c6780'

* commit 'd78c8d8bb9516878eb5042a28d76bd6bcf4c6780':
  GPS: Fix network type logic in requestRefLocation
2010-10-22 09:17:38 -07:00
Mike Lockwood
edc0f3876c GPS: Fix network type logic in requestRefLocation
Change-Id: I20ef81bcf029b289389dba57e6cf457fda5acbf4
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-22 09:16:17 -04:00
Brad Fitzpatrick
385a753dea resolved conflicts for merge of 368fdba4 to master
Change-Id: I42b7b433c86a71a5da5db67109f056a280077c9d
2010-10-21 07:39:10 -07:00
Joe Onorato
431bb22695 Reduce logging.
Remember, the system and main logs are
    - Shared resources
    - Primarily for recording problems
    - To be used only for large grained events during normal operation

Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
2010-10-19 15:08:05 -04:00
Mike Lockwood
0bc1f39643 am 8333d591: am 5d5a9db5: Merge "GPS: Enable some more logging" into gingerbread
Merge commit '8333d59133da8e56cfb5465c767e89c61ede28bc'

* commit '8333d59133da8e56cfb5465c767e89c61ede28bc':
  GPS: Enable some more logging
2010-10-19 09:55:45 -07:00
Mike Lockwood
dd074306e1 am 11eada78: am ba2ec2b4: Merge "Enable framework GPS and location manager logging" into gingerbread
Merge commit '11eada780dc82fcac2a1dad4e2dde1d310b4231c'

* commit '11eada780dc82fcac2a1dad4e2dde1d310b4231c':
  Enable framework GPS and location manager logging
2010-10-19 09:54:42 -07:00
Mike Lockwood
b8d9033d99 GPS: Enable some more logging
Change-Id: I7d13c859002fa96fa8c361c0c709931c6b12eb99
Signed-off-by: Mike Lockwood <lockwood@google.com>
2010-10-18 17:59:48 -04:00
Mike Lockwood
2d4d1bf14b Enable framework GPS and location manager logging
Change-Id: Id54fc01e7288e7d90d7b76824b708bcb2ee88333
Signed-off-by: Mike Lockwood <lockwood@google.com>
2010-10-18 17:06:26 -04:00
Mike Lockwood
301f78bbbe am 431dd3b1: am 86564dc6: Merge "GPS: Add update_network_state call to AGpsRillInterface" into gingerbread
Merge commit '431dd3b1bc8f2acf7cbcf08463649b5629baf398'

* commit '431dd3b1bc8f2acf7cbcf08463649b5629baf398':
  GPS: Add update_network_state call to AGpsRillInterface
2010-10-12 11:50:23 -07:00
Mike Lockwood
50130bbc88 GPS: Add update_network_state call to AGpsRillInterface
Change-Id: I404a7a45773f592de7dfe75a8287fef15515ea8b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-11 14:28:28 -04:00
Mike Lockwood
72f23bb1a5 am 748b413e: am 1c3ef787: Merge "GPS: Do not call sGpsInterface->init() multiple times" into gingerbread
Merge commit '748b413e94c73b760c63a03126df2c4712a1ae05'

* commit '748b413e94c73b760c63a03126df2c4712a1ae05':
  GPS: Do not call sGpsInterface->init() multiple times
2010-10-11 10:20:41 -07:00
Mike Lockwood
ca936f1661 am 98e1f384: am aecab79b: Merge "Remove races in Geocoder/LocationProvider Proxy" into gingerbread
Merge commit '98e1f3840f06d3dfea987154da25d5351460d080'

* commit '98e1f3840f06d3dfea987154da25d5351460d080':
  Remove races in Geocoder/LocationProvider Proxy
2010-10-10 17:15:06 -07:00
Mike Lockwood
b6e5fa895c GPS: Do not call sGpsInterface->init() multiple times
Change-Id: I5f2b55959bd67864168690c1fe619e55edc18268
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-09 20:14:33 -04:00
Mike Lockwood
aecab79b4e Merge "Remove races in Geocoder/LocationProvider Proxy" into gingerbread 2010-10-08 11:17:17 -07:00
Mike Lockwood
22f41918fa resolved conflicts for merge of 6327a9fe to master
Change-Id: I1a398a7100abf75d8df7ae9a3d6110829645ae64
2010-10-07 13:55:25 -04:00
Mark Vandevoorde
8863c43d9e Remove races in Geocoder/LocationProvider Proxy
The proxy must ensure that enable/disable calls are not reordered when
proxied; this change adds synchronization to prevent such reordering
that could happen following an onServiceConnected() callback, and to
ensure cross-thread visibility of writes.

Also, when the package is updated, the old service instance must be
unbound and the new one bound.  This changes uses a separate
Connection object per service instance (package version) to avoid
confusing the binder objects.

Change-Id: I0907f7eed211b97ccfffa395754f1eb8ea8d8fec
2010-10-05 11:12:48 -07:00