594 Commits

Author SHA1 Message Date
Mike Lockwood
2807df89af Move CursorWindow class from core/jni to libbinder
To allow use of the native CursorWindow class outside of the core framework jni

Change-Id: I72e8dcb91a2c691130c33cdfd9a25d343da1c592
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-28 10:08:21 -04:00
Vasu Nori
d72ec5f29d when sqlite returns SQLITE_OK on SQLITEStatement.execute(), ignore it
if it is not ignored AND if SQLITEStatement.execute() is called with a SELECT
or a pragma or some sql statement that returns data, caller gets an exception
with a weird error: "error code 100: unknown error"
to avoid confusion generated by this exception, just write a warning
and ignore the returned data.
Change-Id: I8f0225ceff8f92e32a58f323551e5ada6df63593
2010-05-26 10:14:41 -07:00
Vasu Nori
fea6f6dcb7 sqlite crashes when closing the database
A change was made in the last CL to ask sqlite for all unfinalized statements
and then finalizing them before closing the database.
But this crashes sqlite! because sqlite's FTS3
module keeps some prepared statements around and they should not
be finalized before closing the database.
(when sqlite is asked for all unfianlized statements, it also returns
the FTS3's reserved prepared statements which should not be
finalized!!)

Change-Id: I141ab4563985b8cd1305a1228c4cb01bc7281bcb
2010-05-21 15:41:58 -07:00
Vasu Nori
6f37f83a48 close() on anything other than database shouldn't acquire db lock.
bug:2683001
implmentation details:
 1.close() on any sql statement is should simply queued up for finalization
    to be performed later. caller doesn't acquire database lock.
 2. the only effect of NOT close immediately is non-release of some memory.
 3. all such queued-up-finalizations are performed whenever there is
    another execute() of some sql statement on that database from ANY
    thread in the process.
 4. database close() automatically releases all unfinalized statements
    before closing the database.

Change-Id: If4c9c7fde6b8945a41abc6c8b992aa8c69854512
2010-05-20 12:35:17 -07:00
Dianne Hackborn
b269735ca0 am 4a30bcf7: am 74323fd1: Update NativeActivity to allow direct surface access. 2010-05-18 18:28:57 -07:00
Dianne Hackborn
74323fd1ab Update NativeActivity to allow direct surface access.
No actual native API for using a surface, but it's a step.

Change-Id: I627f26b705abc7a05edf9117411abfacf0fae64a
2010-05-18 18:16:35 -07:00
Nick Kralevich
f5523645a9 am c5fdcaa2: am cf67d18a: Merge "Get rid of warnings when compiled with -Wformat-security" into kraken 2010-05-13 15:39:02 -07:00
Nick Kralevich
79290ae976 Get rid of warnings when compiled with -Wformat-security
Change-Id: I5a7ad5be2aaf0fa0d164204d3c1bebf02ec55745
2010-05-13 15:31:00 -07:00
Doug Felt
f47d7405bb Modify Canvas drawText to run bidi and shape.
Adds drawTextRun as internal API on Canvas and GraphicsOperations.
Adds implementation to implementors of GraphicsOperations.

Adds state and API on Paint to control the bidi algorithm when used
by Canvas.  This API is currently hidden.

The drawText changes are incomplete since shaping is not yet available
in the native code.

Change-Id: I4368048aef9545df0953a349381771603e04b619
2010-05-12 18:50:02 -07:00
Dianne Hackborn
7d5cea988b am 7e76b6d1: am 6d00151c: Merge "Hopefully fix issue #2662536: Why is launcher being killed?" into froyo
Merge commit '7e76b6d191e1173bd85337a2861d9914922f5a0d' into kraken

* commit '7e76b6d191e1173bd85337a2861d9914922f5a0d':
  Hopefully fix issue #2662536: Why is launcher being killed?
2010-05-11 10:23:56 -07:00
Dianne Hackborn
906497c574 Hopefully fix issue #2662536: Why is launcher being killed?
It looks like there was a subtle bug where Process.setOomAdj() could
return false just because the given process doesn't exist, even though
it is documented to only return false if OOM killing is not supported
at all.  This would cause the activity manager to fall into its code
path of trying to clean up processes itself, which it does a much
poorer problem at.  I am thinking we may be seeing this problem more
now that the activity manager is killing background processes itself
when there are too many of them.

In addition, this change cleans up and reduces some of the logging
around killing processes.

Finally, try to improve process LRU management a bit by taking
into account process dependencies.  Any dependent processes are
pulled up in the LRU list with the processes that is actually
moving.  Also, we bring a process up if someone accesses its content
provider.

Change-Id: I34ea161f839679345578ffe681e8d9c5d26ab948
2010-05-10 17:19:58 -07:00
Chih-Chung Chang
e25cc65639 Support multiple cameras in framework.
Change-Id: I081f0fbdca4b633715ea7c3b3d42f8662d27598a
2010-05-10 11:21:14 +08:00
Kenny Root
b658cc42aa Merge "Prevent local reference table overflows" into kraken 2010-05-06 17:12:13 -07:00
Christopher Tate
fa9e7c05c7 Sketch of Native input for MessageQueue / Looper / ViewRoot
MessageQueue now uses a socket for internal signalling, and is prepared
to also handle any number of event input pipes, once the plumbing is
set up with ViewRoot / Looper to tell it about them as appropriate.

Change-Id: If9eda174a6c26887dc51b12b14b390e724e73ab3
2010-05-06 17:00:54 -07:00
Kenny Root
485dd21bbe Prevent local reference table overflows
If we're grabbing references to many strings in a loop, we have to
remove our local references so we don't overflow the VM's local
reference table.

Also, use env->ExceptionCheck() instead of checking for NULL value
returns on trying to allocate new items.

Bug: 2663816
Change-Id: I9cb5e17f6181dbb2f2c03d53841b2f5d8ab10f68
2010-05-06 16:35:21 -07:00
Jaikumar Ganesh
33232d26bb Merge "Add UUID property for adapter." into kraken 2010-05-05 15:25:54 -07:00
Dianne Hackborn
69969e48f2 First pass at NativeActivity.
This is a rough sketch of the new pure-native API, which you can
use through a NativeActivity in your manifest (no Java code in
the .apk needed!).

Intentionally no docs yet, the API is still being seriously
messed with.  But it works.

Change-Id: I0e916d58a0d159ecaf3689e41834eb8dc681c0c0
2010-05-05 15:17:26 -07:00
Jaikumar Ganesh
94278c9fd2 Add UUID property for adapter.
4.64 version of Bluez has the UUID property of adapter being reported.

Change-Id: Ibf451a14d58620ba8bea812cd302be0b4def5f74
2010-05-04 15:57:50 -07:00
Jaikumar Ganesh
9997f66f62 Revert "Fix runtime reboot when connecting to a A2DP headset and"
This reverts commit 55b0110fc298c403887b1311d7eabfffa230495f.
2010-05-04 15:52:42 -07:00
Jaikumar Ganesh
55b0110fc2 Fix runtime reboot when connecting to a A2DP headset and
user toggles BT state.

Bug:2607218

This happens when Bluetooth is turned off, and when the headset is
still trying to connect. We get the connection result of
attempt before Bluetooth was toggled. We need to ignore this result.

Change-Id: I023406ec6d59880754ca4f1de676d0dce71b13c6
2010-05-04 15:28:27 -07:00
Marco Nelissen
55fb51aa41 resolved conflicts for merge of 86303198 to kraken
Change-Id: Idd921c7108e4c2cd4a861ee1fb8b43e5d56f8f2f
2010-04-26 17:42:07 -07:00
Marco Nelissen
8138cb49e4 Make Surface.toString() show more useful info to help debug bug 2594388.
Change-Id: I005d3388503d8886e11a26fece30b87572934f15
2010-04-26 16:51:17 -07:00
Mathias Agopian
a8a0aa8b92 better fix for [2420565] Surface.lockCanvas() updates the dirty region too often
Change-Id: I83438b40effd21538f1c74396dc665254b9d5ab6
2010-04-21 22:25:35 -07:00
Carl Shapiro
dbc108a718 am 15feb4de: am 19275cb5: Merge "Remove code to pass the nonexistant lockprofsample flag to Dalvik." into froyo
Merge commit '15feb4defc61c7bded6fdd3ea1c3781f25666275' into kraken

* commit '15feb4defc61c7bded6fdd3ea1c3781f25666275':
  Remove code to pass the nonexistant lockprofsample flag to Dalvik.
2010-04-20 11:50:45 -07:00
Carl Shapiro
8ba73ac72c Remove code to pass the nonexistant lockprofsample flag to Dalvik.
Change-Id: If334e21d770bc21a9b7c4f04d0fb652f53359231
2010-04-20 01:27:50 -07:00
Carl Shapiro
49ee271bba am cb2906e4: am d5a873fb: Merge "Add command line flags to enable lock profiling." into froyo
Merge commit 'cb2906e4bbb96b0be83029572a78f97dc6763eca' into kraken

* commit 'cb2906e4bbb96b0be83029572a78f97dc6763eca':
  Add command line flags to enable lock profiling.
2010-04-16 13:31:39 -07:00
Carl Shapiro
d8f3ec6e83 Add command line flags to enable lock profiling. 2010-04-15 22:42:17 -07:00
Mathias Agopian
8b138323d5 don't hardcode "mSurface" throughout our source code
this is used in a few places to get access to the android.view.Surface
native surface. use a macro instead. Also rename the field to mNativeSurface.

Change-Id: I1c6dea14abd6b8b1392c7f97b304115999355094
2010-04-12 16:29:36 -07:00
Dan Egnor
aeeea3da3c am 505f22d1: am 2d3df559: Merge "Fix sim build (sim doesn\'t have strl*() reliably...)" into froyo
Merge commit '505f22d1a4dbf1fceaf8deca443d7322386964e1' into kraken

* commit '505f22d1a4dbf1fceaf8deca443d7322386964e1':
  Fix sim build (sim doesn't have strl*() reliably...)
2010-04-10 11:47:29 -07:00
Dan Egnor
4e8d8238e1 Fix sim build (sim doesn't have strl*() reliably...)
Just stub out the TrafficStats code for the sim.
Bug: 2578938

Change-Id: Ie555f67f581d05ee446ea29cb2223feb350c52f9
2010-04-08 23:47:06 -07:00
Dan Egnor
5b4cc93b0d am f5d506d9: am 78158db5: Hail-Mary attempt to avoid apparent blocking problems in readEvents().
Merge commit 'f5d506d92958d43449cb9ef77e6c9b6087e1cd68' into kraken

* commit 'f5d506d92958d43449cb9ef77e6c9b6087e1cd68':
  Hail-Mary attempt to avoid apparent blocking problems in readEvents().
2010-04-08 23:08:56 -07:00
Dan Egnor
78158db510 Hail-Mary attempt to avoid apparent blocking problems in readEvents().
Use the same procedure (select() with a short timeout) used by "logcat -d",
which doesn't seem to have any blocking problems.

Bug: 2569403
Change-Id: Ia27bb4207919a1288716b41a007b4b4b52f8e90a
2010-04-08 22:59:43 -07:00
Dan Egnor
a40b3a8d98 am c1420832: am 5945579e: Merge "Change TrafficStats to a new JNI implementation." into froyo
Merge commit 'c1420832a8f9c7fa62b143ce63c71062b3969c1b' into kraken

* commit 'c1420832a8f9c7fa62b143ce63c71062b3969c1b':
  Change TrafficStats to a new JNI implementation.
2010-04-08 14:53:06 -07:00
Dan Egnor
2b4abcd0c7 Change TrafficStats to a new JNI implementation.
Also change phone's ConnectionStateTrackers to use it directly,
rather than through the INetStat binder interface.

Bug: 2578938
Change-Id: I8858e2609cbec3be845a0ce5178cb03f67e01b41
2010-04-07 19:06:29 -07:00
Mike Lockwood
00b74270c9 Move files internal to LocationManagerService from framework.jar to services.jar
Change-Id: Iebbfc49b8300ab59730733efdf489ec87ea45a25
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-04-04 18:44:05 -04:00
Jaikumar Ganesh
d4afde3d12 am b8fc825d: am 3a0d1d11: Merge "Fix crash while turning bluetooth on, due to a race condition." into froyo
Merge commit 'b8fc825dfafd8792a4d9daead9d3d1b4a4b55de5' into kraken

* commit 'b8fc825dfafd8792a4d9daead9d3d1b4a4b55de5':
  Fix crash while turning bluetooth on, due to a race condition.
2010-03-31 23:22:51 -07:00
Jaikumar Ganesh
3a0d1d11eb Merge "Fix crash while turning bluetooth on, due to a race condition." into froyo 2010-03-31 18:36:35 -07:00
Jaikumar Ganesh
b8aa037602 Fix crash while turning bluetooth on, due to a race condition.
Bug: 2561150

Race condition: We were basing whether the event loop is
running or not on whether nat->pollData was null or not.
In rare cases, eventLoopMain would have not started,
isEventLoopRunning returns true; java side makes a dbus call
and the watches get set to null, causing a crash in
dbus_connection_set_watch_functions when eventLoopMain starts.

Change-Id: I863f182185a8e956fd53cb58783b7fe0ecfb2ddb
2010-03-31 11:29:18 -07:00
Mike Lockwood
8acdb911f4 Merge "Add support for GPS privacy lock. DO NOT MERGE" into froyo 2010-03-30 17:29:41 -07:00
Wu-cheng Li
0ca25191c6 Add some comments for zoom methods.
Also change RuntimeException to IllegalArgumentException.
bug:2458926

Change-Id: I87af31f5f3f10244131a1117bd1725c2d292b587
2010-03-29 16:21:12 +08:00
Mike Lockwood
a3ba63dc8a Add support for GPS privacy lock. DO NOT MERGE
Change-Id: Ieb55794453f86fb7100c9010a0729839990eb9f7
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-03-28 09:34:41 -04:00
Brad Fitzpatrick
5348c01412 Better fix for gettid() sim-eng breakage from last night.
Change-Id: I2e8762d43b3c224a2e102ff82fc79072a85bb4c6
2010-03-25 12:43:56 -07:00
Mike Reed
cd06ff13c9 Merge "update dox that we ignore the exact parameter on computeBounds" 2010-03-25 11:04:02 -07:00
Mike Reed
54900e8c05 update dox that we ignore the exact parameter on computeBounds
Change-Id: I6051210ea2a73b4d1c6cd631a285209ab130b4e5
2010-03-25 14:02:40 -04:00
Nick Pelly
f4264011c0 Merge "Fix Phone App crash due to binary data in HSP/HFP stream." 2010-03-25 10:01:21 -07:00
Nick Pelly
8457b0f0c6 Fix Phone App crash due to binary data in HSP/HFP stream.
The BMW 2005 E46 sends binary data amongst the AT commands. Log below.

There were a couple of problems when this happened.
o Off by one error causing overflow of read buffer.
o No validation that input can be parsed by NewStringUTF()

This commit fixes the off-by-one, and validates that the input is ASCII.

I also increased the read buffer size to 256 to make it less likely we split
commands across buffers. We will lose the command when this happens.

2010-03-24 16:00:29.934185 > ACL data: handle 1 flags 0x02 dlen 17
    L2CAP(d): cid 0x0040 len 13 [psm 0]
      0000: 29 ef 13 41 54 2b 43 49  4e 44 3f 0d 6a           )ï.AT+CIND?.j
2010-03-24 16:00:29.940502 < ACL data: handle 1 flags 0x00 dlen 38
    0000: 22 00 40 00 2b ef 3d 0d  0a 2b 43 49 4e 44 3a 20  ".@.+ï=..+CIND:
    0010: 31 2c 30 2c 30 2c 30 2c  34 2c 30 2c 35 0d 0a 0d  1,0,0,0,4,0,5...
    0020: 0a 4f 4b 0d 0a b0                                 .OK..°
2010-03-24 16:00:29.949657 > HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
2010-03-24 16:00:30.004284 > ACL data: handle 1 flags 0x02 dlen 9
    L2CAP(d): cid 0x0040 len 5 [psm 0]
      0000: 29 ff 01 01 76                                    )ÿ..v
2010-03-24 16:00:30.137218 > ACL data: handle 1 flags 0x02 dlen 144
    L2CAP(d): cid 0x0040 len 140 [psm 0]
      0000: 29 ef 0e 01 02 a9 03 58  02 a9 03 64 02 a9 03 98  )ï...©.X.©.d.©..
      0010: 02 a9 03 98 02 a9 03 98  02 a9 03 98 02 a9 03 98  .©...©...©...©..
      0020: 02 a9 03 98 02 a9 03 98  02 a9 03 98 02 a9 03 98  .©...©...©...©..
      0030: 02 a9 04 d8 02 a9 03 a4  02 a9 03 b0 02 a9 03 bc  .©.Ø.©.¤.©.°.©.¼
      0040: 02 a9 03 c8 02 a9 03 fc  02 a9 04 38 02 a9 04 44  .©.È.©.ü.©.8.©.D
      0050: 02 a9 04 50 02 a9 04 84  02 a9 04 90 02 a9 04 9c  .©.P.©...©...©..
      0060: 02 a9 04 a8 02 a9 04 b4  02 a9 04 c0 02 a9 04 d8  .©.¨.©.´.©.À.©.Ø
      0070: 02 a9 04 d8 02 a9 04 cc  02 a9 10 7c 02 a9 10 d8  .©.Ø.©.Ì.©.|.©.Ø
      0080: 02 a9 10 e4 02 a9 10 f4  02 a9 11 6a              .©.ä.©.ô.©.j

Change-Id: I7ccff70bc95a7945d8ff03527764fd8f4da04d24
Bug: 2539053
2010-03-25 09:56:01 -07:00
Brad Fitzpatrick
ad8fd282dd Hopefully fix the sim-eng build, part 2.
This is kinda gross, but I can't find a good way to check for the
existence of gettid(), except by finding its syscall number.  Then
might as well just use it rather than hope gettid's around, as it's
not in sim-eng.

Change-Id: Ieb7b39426dec08bd715b6fe1a9ab5b2801bdf775
2010-03-25 02:01:32 -07:00
Brad Fitzpatrick
8f26b323d8 Try to fix sim build. Looks like gettid() is in unistd.h.
Change-Id: Ib1ecea86246ad75b2553b0ccc8ce03a53ffdf218
2010-03-25 00:25:37 -07:00
Brad Fitzpatrick
2c5da313dd Log blocking Binder calls to the EventLog.
This mimics what we do already for SQLiteDatabase's db_operation and
ContentProvider's content_query_operation and
content_update_operation:  over a threshold things are always logged,
and under which they're sub-sampled.

Change-Id: Ia0280b9b07b336ee88b17be2a31a7af0fd7c5770
2010-03-24 23:57:34 -07:00
Jeff Brown
4b4d3039ec Merge "Ensure Binder finalizer handles partially initialized instances." 2010-03-24 20:06:41 -07:00