merge in lmp-mr1-release history after reset to lmp-mr1-dev
diff --git a/common/java/com/android/common/widget/CompositeCursorAdapter.java b/common/java/com/android/common/widget/CompositeCursorAdapter.java
index dddbcf6..8a3fa9b 100644
--- a/common/java/com/android/common/widget/CompositeCursorAdapter.java
+++ b/common/java/com/android/common/widget/CompositeCursorAdapter.java
@@ -170,7 +170,12 @@
         mCount = 0;
         for (Partition partition : mPartitions) {
             Cursor cursor = partition.cursor;
-            int count = cursor != null ? cursor.getCount() : 0;
+            int count;
+            if (cursor == null || cursor.isClosed()) {
+                count = 0;
+            } else {
+                count = cursor.getCount();
+            }
             if (partition.hasHeader) {
                 if (count != 0 || partition.showIfEmpty) {
                     count++;
@@ -428,7 +433,9 @@
                     return null;
                 }
                 Cursor cursor = mPartition.cursor;
-                cursor.moveToPosition(offset);
+                if (cursor == null || cursor.isClosed() || !cursor.moveToPosition(offset)) {
+                    return null;
+                }
                 return cursor;
             }
             start = end;