resolved conflicts for merge of 7d6362de to master

Change-Id: Ic26dd6d617f0edba549c992256511613df00caa6
diff --git a/core/java/android/database/sqlite/SQLiteDatabase.java b/core/java/android/database/sqlite/SQLiteDatabase.java
index 7d5482d..f7f8004 100644
--- a/core/java/android/database/sqlite/SQLiteDatabase.java
+++ b/core/java/android/database/sqlite/SQLiteDatabase.java
@@ -34,6 +34,8 @@
 import android.util.Log;
 import android.util.Pair;
 
+import dalvik.system.BlockGuard;
+
 import java.io.File;
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
@@ -1360,6 +1362,7 @@
             CursorFactory cursorFactory, String sql, String[] selectionArgs,
             String editTable) {
         verifyDbIsOpen();
+        BlockGuard.getThreadPolicy().onReadFromDisk();
         long timeStart = 0;
 
         if (Config.LOGV || mSlowQueryThreshold != -1) {
@@ -1519,6 +1522,7 @@
     public long insertWithOnConflict(String table, String nullColumnHack,
             ContentValues initialValues, int conflictAlgorithm) {
         verifyDbIsOpen();
+        BlockGuard.getThreadPolicy().onWriteToDisk();
 
         // Measurements show most sql lengths <= 152
         StringBuilder sql = new StringBuilder(152);
@@ -1608,6 +1612,7 @@
      */
     public int delete(String table, String whereClause, String[] whereArgs) {
         verifyDbIsOpen();
+        BlockGuard.getThreadPolicy().onWriteToDisk();
         lock();
         SQLiteStatement statement = null;
         try {
@@ -1660,6 +1665,7 @@
      */
     public int updateWithOnConflict(String table, ContentValues values,
             String whereClause, String[] whereArgs, int conflictAlgorithm) {
+        BlockGuard.getThreadPolicy().onWriteToDisk();
         if (values == null || values.size() == 0) {
             throw new IllegalArgumentException("Empty values");
         }
@@ -1749,6 +1755,7 @@
      */
     public void execSQL(String sql) throws SQLException {
         verifyDbIsOpen();
+        BlockGuard.getThreadPolicy().onWriteToDisk();
         long timeStart = SystemClock.uptimeMillis();
         lock();
         logTimeStat(mLastSqlStatement, timeStart, GET_LOCK_LOG_PREFIX);
@@ -1810,6 +1817,7 @@
      * @throws SQLException If the SQL string is invalid for some reason
      */
     public void execSQL(String sql, Object[] bindArgs) throws SQLException {
+        BlockGuard.getThreadPolicy().onWriteToDisk();
         if (bindArgs == null) {
             throw new IllegalArgumentException("Empty bindArgs");
         }
diff --git a/core/java/android/database/sqlite/SQLiteStatement.java b/core/java/android/database/sqlite/SQLiteStatement.java
index 0c6e666..e1ad306c 100644
--- a/core/java/android/database/sqlite/SQLiteStatement.java
+++ b/core/java/android/database/sqlite/SQLiteStatement.java
@@ -18,6 +18,8 @@
 
 import android.os.SystemClock;
 
+import dalvik.system.BlockGuard;
+
 /**
  * A pre-compiled statement against a {@link SQLiteDatabase} that can be reused.
  * The statement cannot return multiple rows, but 1x1 result sets are allowed.
@@ -48,6 +50,7 @@
      */
     public void execute() {
         mDatabase.verifyDbIsOpen();
+        BlockGuard.getThreadPolicy().onWriteToDisk();
         long timeStart = SystemClock.uptimeMillis();
         mDatabase.lock();
 
@@ -73,6 +76,7 @@
      */
     public long executeInsert() {
         mDatabase.verifyDbIsOpen();
+        BlockGuard.getThreadPolicy().onWriteToDisk();
         long timeStart = SystemClock.uptimeMillis();
         mDatabase.lock();
 
@@ -98,6 +102,7 @@
      */
     public long simpleQueryForLong() {
         mDatabase.verifyDbIsOpen();
+        BlockGuard.getThreadPolicy().onReadFromDisk();
         long timeStart = SystemClock.uptimeMillis();
         mDatabase.lock();
 
@@ -123,6 +128,7 @@
      */
     public String simpleQueryForString() {
         mDatabase.verifyDbIsOpen();
+        BlockGuard.getThreadPolicy().onReadFromDisk();
         long timeStart = SystemClock.uptimeMillis();
         mDatabase.lock();