Brad Fitzpatrick
a4ab265134
am 4d544376: am 86c035f0: Merge "COMMENT ONLY change to clarify ContentProvider documentation." into froyo
...
Merge commit '4d5443762bd2b44b28edc2f2f75728911d70eac1' into gingerbread-plus-aosp
* commit '4d5443762bd2b44b28edc2f2f75728911d70eac1':
COMMENT ONLY change to clarify ContentProvider documentation.
2010-07-27 16:54:40 -07:00
Brad Fitzpatrick
4d5443762b
am 86c035f0: Merge "COMMENT ONLY change to clarify ContentProvider documentation." into froyo
...
Merge commit '86c035f0d176be9cb06b1e4f2390c25701417586' into gingerbread
* commit '86c035f0d176be9cb06b1e4f2390c25701417586':
COMMENT ONLY change to clarify ContentProvider documentation.
2010-07-27 16:52:12 -07:00
Dan Egnor
6fcc0f073d
COMMENT ONLY change to clarify ContentProvider documentation.
...
Gets a little more specific about thread behavior, and makes
pointed comments about not doing too much work in onCreate().
Change-Id: I682f0eb7d7559babee901ed26642751a6ba0a1ea
2010-07-27 16:32:17 -07:00
Brad Fitzpatrick
3e5e21d4dc
am 1772c34e: Merge "StrictMode: gather and return violating stacks in Binder replies" into gingerbread
...
Merge commit '1772c34e5331a6456c8a93051192d19ff873c062' into gingerbread-plus-aosp
* commit '1772c34e5331a6456c8a93051192d19ff873c062':
StrictMode: gather and return violating stacks in Binder replies
2010-07-15 15:44:46 -07:00
Brad Fitzpatrick
5b747191ff
StrictMode: gather and return violating stacks in Binder replies
...
Now, when Thread A has a strict mode policy in effect and does a
Binder call to Thread B (most likely in another process), the strict
mode policy is passed along, but with the GATHER penalty bit set which
overrides other policies and instead gathers all offending stack
traces to a threadlocal which are then written back in the Parcel's
reply header.
Change-Id: I7d4497032a0609b37b1a2a15855f5c929ba0584d
2010-07-15 13:18:05 -07:00
The Android Open Source Project
7e343b8d39
merge from froyo-plus-aosp
...
Change-Id: Ic1d0535cb746af0c53a5277b008061f7a2d973a2
2010-06-25 11:20:45 -07:00
Dianne Hackborn
01e4cfc47d
Some ActivityThread/ActivityManager cleanup.
...
- Move PackageInfo out of ActivityThread, renaming to LoadedApk.
- Rename some of the other PacakgeInfo inner classes to better
represent what they are.
- Rename HistoryRecord to ActivityRecord.
- Introduce AppGlobals, to eventually let ActivityThread become
package scoped.
Change-Id: Ib714c54ceb3cdbb525dce3db9505f31042e88cf0
2010-06-24 15:20:48 -07:00
The Android Open Source Project
e5a023bfbb
merge from open-source master
...
Change-Id: I8e7ccd470e8b90347686985aa2d8337d0c38900c
2010-06-18 12:40:42 -07:00
Brad Fitzpatrick
44dc76a8a7
Log.wtf when databases go to be downgraded.
...
BUG=2734435
Change-Id: I686d6d9415f3081544c3fbe379287c31e0ecec20
2010-06-08 12:20:51 -07:00
Tatsuo Nagamatsu
6d3acde839
fillWindow's start position must be smaller than getCount value
...
Change-Id: I3664ae8f6172f02bf6e2472320e79e3bf8683cc0
2010-06-07 02:07:51 +09:00
Brad Fitzpatrick
cfda9f3a47
Sprinkle new BlockGuard around SQLiteDatabase.
...
SQLite is JNI to native code and doesn't go via IFileSystem, so it
needs custom sprinkling, at least for now.
Change-Id: Ic7fded1b64a4f483dfc17b3a7b136c803df1e111
2010-06-03 12:52:54 -07:00
The Android Open Source Project
1a3b3d4841
merge from open-source master
...
Change-Id: I51b4eccfde8e74c69ab8e0c051bb8ea718ee7101
2010-05-13 09:04:45 -07:00
Jeff Hamilton
f3ca9a5c7e
Add some documentation about the thread safety of Cursor and some of the SQLite* classes.
...
Change-Id: Icae51052d1c942d7d60bb958d3703411da001079
2010-05-12 16:44:19 -07:00
Vasu Nori
020e534579
bug:2622719 move 'forcing of cursor execution' to ContentProvider
...
revert part of the CL: Ia561135e974a44ad3e3774ecb23c6a3d0fc38176
and add it to ContentProvider.query() to force query execution
in worker thread, instead of having the main thread incur the cost
of query execution and potentially get ANR
Change-Id: I0ea8a170bd954a421f4ad825f8090319a83a5b2b
2010-04-28 15:32:54 -07:00
Vasu Nori
0f43f2f700
remove myname accidentally included in one of the files
...
Change-Id: I189db1cc60069b4318fa32a8b5aea6916ac5aa4e
2010-04-27 16:24:20 -07:00
Vasu Nori
0dbb9cee58
accept close() on database objects even if the database is closed
...
bug:2602878
Change-Id: I3075f801ef35d72792ff3daaa1e887e53b58f5f8
2010-04-16 14:24:57 -07:00
Dmitri Plotnikov
5304d8fdc9
Merge "Introducing "strict project map"." into froyo
2010-04-14 18:33:54 -07:00
Dmitri Plotnikov
40eb4aad2b
Introducing "strict project map".
...
Change-Id: I147e10ac6475badf1d21e2c27d1cedbb27bd49df
2010-04-14 16:10:22 -07:00
Vasu Nori
c8e1f23891
verify database state before calling sqlite. Bug:2593970
...
Change-Id: Id68365abccbdca572ad13c2b51162d53993ff540
2010-04-13 15:05:09 -07:00
Tatsuo Nagamatsu
69f789a128
CursorToBulkCursorAdapter.close must call mCursor.close instead of mCursor.deactivate. This prevent us to call Cursor.close on cross process ContentProvider and may cause a database leak problem.
...
Change-Id: I126457c1b709e853727f460095b518b0420aa34f
2010-03-28 14:23:51 +09:00
Dmitri Plotnikov
8f29c12d6e
Forcing query execution in SQLiteDatabase.query
...
The issue is that our code often "executes" a query
on a background thread but iterates over the cursor
on the UI thread. Since we actually do the fetch
on moveToFirst or moveToNext, the query is in reality
often run on the UI thread and causes an ANR.
Change-Id: Ia561135e974a44ad3e3774ecb23c6a3d0fc38176
2010-03-24 13:35:03 -07:00
Brad Fitzpatrick
722802e76b
Log database lock contention as well (as seperate pseudo-queries).
...
This also makes the 500ms logging threshold (over which is always
logged, and under which is sub-sampled) configurable via a
SystemProperty, which is mostly useful for interactive debugging when
lock contention is suspected, but could also be useful in the future
as a quick way to adjust this threshold for dogfooders, without code
changes.
Change-Id: I769069d8d870331d89a4aa3239ba50db806fe4d4
2010-03-24 10:45:58 -07:00
Vasu Nori
f3cf8a4da8
when corruption occurs, log a warning before closing db
...
and database.close() should NOT set mPath to null.
a few other minor changes included in this CL
1. if it is memory database, no need to delete any file
2. if 2 threads are sharing the same connection, and if corruption occurs
on it, one thread closes the db and deletes db - while the other
thread is still using it. this can cause SQLITE_MISUSE error.
to prevent this, every method in SQLiteDatabse should make sure
db is open before exec'ing sql statements. bug:2531172
Change-Id: I4cb5ab8539f46d7f8b26c3f830d799adf46444b6
2010-03-23 15:52:02 -07:00
Vasu Nori
7e6ee51359
Merge "print finalizer warning before closing the cursor in finalize"
2010-03-23 13:03:43 -07:00
Vasu Nori
2cc1df0438
print finalizer warning before closing the cursor in finalize
...
this will let us know which cursor is being finalized.
if the heapworker gets wedbed due to the close bug:2536922
then we will never see the warning and never know which cursor
caused this problem
Change-Id: I595cc1014ff7a1114079b33665c092c6a2f3a907
2010-03-23 12:17:25 -07:00
satok
e3b2df827f
Merge "Call super.close() in MargeCursor"
2010-03-22 22:40:10 -07:00
satok
f68258f454
Call super.close() in MargeCursor
...
Bug: 2524465
Change-Id: I1927940b4e3a9417b36ec6169da00475662b6004
2010-03-23 11:15:28 +09:00
Vasu Nori
0a1344efc2
limit sql statement in finalizer warning to 100 chars
...
too long a sql statement reduces the amount of stack trace printed.
Change-Id: Id980b184850adb2bcb5e47eebe35796bc731a490
2010-03-19 10:37:09 -07:00
Vasu Nori
a5bd122122
Merge "close() database should close the db no matter what the ref count says"
2010-03-16 13:33:29 -07:00
Vasu Nori
04708b57da
Merge "fix the way last insert rowid is returned"
2010-03-16 12:29:19 -07:00
Vasu Nori
f6373e9513
close() database should close the db no matter what the ref count says
...
bug:2455416
Change-Id: Ia995c952c6941fbaa016c5b251e4980fa5328fbb
2010-03-16 10:53:40 -07:00
Vasu Nori
5bf67247d2
fix the way last insert rowid is returned
...
if insert statement doesn't succeed, last inserted rowid
shoudl return -1 - instead of returning rowid of the last
successful insert that may have occurred years before this most
recent insert statement failure.
Change-Id: Ia517292afd58fdb600da900e0ee01fe051d6e618
2010-03-16 09:55:13 -07:00
Brad Fitzpatrick
ae6cdd12ac
Allocate SQLiteQueryBuilder's WHERE clause StringBuilder lazily.
...
Number of callers weren't using this, and seemed like a waste to
allocate it when unnecessary.
Change-Id: Iebb701a9eb4f1d9d028bfe74463574f84a36729c
2010-03-14 11:38:06 -07:00
Kenny Root
15a4d2ffd0
Add correct copyright headers to multiple files
...
Format for the list of changes shows the origin commit reference followed
by the file name.
33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java
33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java
133776-p9 core/java/android/app/IntentService.java
127013-p9 core/java/android/appwidget/AppWidgetHost.java
27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java
60765-p9 core/java/android/content/SyncResult.java
43920-p9 core/java/android/content/pm/ActivityInfo.java
43920-p9 core/java/android/content/pm/ApplicationInfo.java
43920-p9 core/java/android/content/pm/InstrumentationInfo.java
43920-p9 core/java/android/content/pm/PackageInfo.java
44103-p9 core/java/android/content/pm/PackageItemInfo.java
68960-p9 core/java/android/content/pm/PackageStats.java
43920-p9 core/java/android/content/pm/ResolveInfo.java
43920-p9 core/java/android/content/pm/ServiceInfo.java
60641-p9 core/java/android/content/res/Configuration.java
60734-p9 core/java/android/content/res/TypedArray.java
137672-p9 core/java/android/inputmethodservice/ExtractButton.java
123112-p9 core/java/android/inputmethodservice/ExtractEditText.java
119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java
115078-p9 core/java/android/os/BatteryStats.java
124790-p9 core/java/android/text/style/UpdateAppearance.java
45083-p9 core/java/android/view/RawInputEvent.java
101491-p9 core/java/android/view/inputmethod/EditorInfo.java
114701-p9 core/java/android/view/inputmethod/ExtractedText.java
123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java
119291-p9 core/java/com/android/internal/os/HandlerCaller.java
129279-p9 core/java/com/android/internal/os/PkgUsageStats.java
114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java
114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java
84364-p9 opengl/java/android/opengl/EGLLogWrapper.java
11355-p9 opengl/tools/glgen/src/CFunc.java
11355-p9 opengl/tools/glgen/src/CType.java
11355-p9 opengl/tools/glgen/src/CodeEmitter.java
11355-p9 opengl/tools/glgen/src/GenerateGL.java
11355-p9 opengl/tools/glgen/src/JFunc.java
11355-p9 opengl/tools/glgen/src/JType.java
11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java
11355-p9 opengl/tools/glgen/src/ParameterChecker.java
57236-p9 services/java/com/android/server/status/AnimatedImageView.java
66754-p9 services/java/com/android/server/status/CloseDragHandle.java
57188-p9 services/java/com/android/server/status/DateView.java
46928-p9 services/java/com/android/server/status/ExpandedView.java
70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java
45968-p9 services/java/com/android/server/status/IconData.java
57470-p9 services/java/com/android/server/status/IconMerger.java
82719-p9 services/java/com/android/server/status/LatestItemView.java
45968-p9 services/java/com/android/server/status/NotificationData.java
66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java
57458-p9 services/java/com/android/server/status/NotificationViewList.java
45968-p9 services/java/com/android/server/status/StatusBarException.java
45968-p9 services/java/com/android/server/status/StatusBarIcon.java
46130-p9 services/java/com/android/server/status/StatusBarNotification.java
45968-p9 services/java/com/android/server/status/StatusBarView.java
46199-p9 services/java/com/android/server/status/Ticker.java
62286-p9 services/java/com/android/server/status/TickerView.java
57188-p9 services/java/com/android/server/status/TrackingView.java
86041-p9 telephony/java/android/telephony/PhoneStateListener.java
87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java
136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java
55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java
46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java
77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java
9788976b14 core/java/android/accounts/AuthenticatorDescription.java
5333288354 core/java/android/app/UiModeManager.java
93e7e22ec9 core/java/android/app/FullBackupAgent.java
328c0e7986 core/java/android/content/CursorEntityIterator.java
307da1a46b core/java/android/content/SyncQueue.java
307da1a46b core/java/android/content/SyncOperation.java
eb034652c2 core/java/android/content/pm/LabeledIntent.java
49237345d8 core/java/android/content/pm/FeatureInfo.java
a2b6c3775e core/java/android/content/pm/PackageInfoLite.java
3ecd5f4375 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2 core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e core/java/com/android/internal/view/BaseIWindow.java
e540833fdf core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab90388 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab8 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e59 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77 opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77 opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77 opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d8 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java
Copyright header moved to top in following file:
core/tests/coretests/src/android/widget/ListViewTest.java
Change-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418
2010-03-11 18:22:10 -08:00
Vasu Nori
3695709457
debug-flag covered log messages to help people debug finalizer stuff
...
should help developers figure out why finalizer warnings are coming out
of their app.
Change-Id: I50a4ba96c84c6b3cf4445331e1fb55320d8783e1
2010-03-11 14:57:53 -08:00
Vasu Nori
c3849200fa
add more debug info to SQL section in bugreport
...
after this CL, adb bugreport will the following info (under SQL section
of each app's meminfo dump)
SQL
heap: 344 memoryUsed: 344
pageCacheOverflo: 67 largestMemAlloc: 50
DATABASES
Pagesize Dbsize Lookaside Dbname
1024 7 24 googlesettings.db
1024 26 110 talk.db
1024 11 0 (attached) transient_talk_db
1024 11 32 subscribedfeeds.db
1024 20 27 gservices.db
Change-Id: Iabd13be9793d9794137c60a045b84fa632f13498
2010-03-11 11:38:31 -08:00
Brad Fitzpatrick
104798b706
Merge "Speed up ContentProvider.query() in simple case by ~30%"
2010-03-09 16:42:44 -08:00
Brad Fitzpatrick
9ffdfa0c23
Speed up ContentProvider.query() in simple case by ~30%
...
When query() uses bulkQuery() and we know we're going to need some
metadata right afterwards (number of rows and column index of _id, if
present), just asked for it in the initial binder transaction instead
of immediately fetching it again.
Also, this defers loading column names until the client asks for them.
This gets down the simpler (and very common) use cases of
ContentProvider.query() down to 3 binder calls:
QUERY_TRANSACTION to android.content.ContentProvider$Transport
GET_CURSOR_WINDOW_TRANSACTION to android.database.CursorToBulkCursorAdaptor
CLOSE_TRANSACTION to android.database.CursorToBulkCursorAdaptor
More can still be done, but this is a good bite-sized first piece.
Change-Id: I7ad45949f53e0097ff18c2478d659f0f36929693
2010-03-09 15:20:21 -08:00
Vasu Nori
8648e37f82
add REPLACE to the list of cached sql stmnts
2010-03-09 12:33:39 -08:00
Vasu Nori
afe806a4a3
modify comments to be more accurate
2010-03-09 11:37:52 -08:00
Vasu Nori
49d02acec8
caching bug in SQLiteDatabase causes invalid finalizer warnings
...
a bug in maintaining the cache caused these warnings. when the cache
is full, caching code in SQLiteDatabase dropped an entry from the cache
to accommodate the new one. and if the just-dropped one is not in use
that object got GC'ed and caused a finalizer warning. Calendar is one app
that didn't use ? for bindargs (sometimes) and noticed this bug in that app
Fix is to not add the new enry to cache if the cache is already full.
that will cause the app's close() to release the entry.
another common case where this finalizer warning occurs is when unittests run.
if the test does not close the database in tearDown(), it will cause
database object and the compiled sql statement cache within the database
obj get GC'ed which cause finalizer warnings.
2010-03-08 09:54:53 -08:00
Vasu Nori
fb3803a360
a dbobject is closed twice and that causes incorrect warnings
2010-03-04 11:40:49 -08:00
Vasu Nori
4da24f428f
hide the newly created DatabaseObjectNotClosedException class from sdk
2010-03-03 10:49:56 -08:00
Vasu Nori
08b448ea39
in finalizer warnings, use a better exception - NOT Exception()
...
finalizer warnings should use a more descriptive exception instead of
Exception() so it is clearer to the developers as to why this
warning is output.
2010-03-03 10:05:16 -08:00
Bjorn Bringert
d6dfca8302
Call close() instead of deactivate() in CursorToBulkCursorAdaptor.close()
...
This seems like a long-lived copy-and-paste bug.
Fixes http://b/issue?id=2015069
This is the master version of change
https://android-git.corp.google.com/g/8636 which never
made it into Eclair.
Change-Id: I75f3a1942994982d5e5f779ab43a573cb953490b
2010-03-03 12:49:17 +00:00
Vasu Nori
14b60e747c
add warning in finalizer. deprecate protected members.
...
finalizer shoudl not be called ever. add a warning to say that.
adeprecate a few members in SQLiteProgram.java. they should not
have had protected access level. shoudl be package.
2010-03-02 11:50:39 -08:00
Vasu Nori
d606b4bf2c
in finalize() methods, log warnings if db lock is going to be held.
...
this is to track bug:2463988 and bug:2457342
2010-02-26 11:02:32 -08:00
Vasu Nori
1d7265800d
yet another race condition fix to address bug:2456970
2010-02-24 12:42:46 -08:00
Brad Fitzpatrick
25880968cb
Reduce SQLiteDatabase and ContentResolver EventLog logging thresholds.
...
Turns out the database is used a ton, and not particularly quickly, so
these were spamming the logs at their prior 100ms thresholds. Setting
it to 500ms now. (still sub-sampled, so should be ~5x less spammy...)
2010-02-22 15:17:49 -08:00
Vasu Nori
ec37e42fb2
fix race condition introduced by CL https://android-git.corp.google.com/g/40395
2010-02-22 12:32:52 -08:00