Fixes race condition in HistoryAdapter

 Bug: 3245076
 There was a race condition between the two loaders. If most visited
 finished loading first, history would crash.

Change-Id: I561edffe0cadef452b5fa2d621466bf23a9c57cf
diff --git a/src/com/android/browser/BrowserHistoryPage.java b/src/com/android/browser/BrowserHistoryPage.java
index e9db667..f99e7b5 100644
--- a/src/com/android/browser/BrowserHistoryPage.java
+++ b/src/com/android/browser/BrowserHistoryPage.java
@@ -376,7 +376,6 @@
 
         @Override
         public long getChildId(int groupPosition, int childPosition) {
-            if (!mDataValid) return 0;
             if (moveCursorToChildPosition(groupPosition, childPosition)) {
                 Cursor cursor = getCursor(groupPosition);
                 return cursor.getLong(HistoryQuery.INDEX_ID);
@@ -418,7 +417,9 @@
         public View getGroupView(int groupPosition, boolean isExpanded,
                 View convertView, ViewGroup parent) {
             if (groupPosition >= super.getGroupCount()) {
-                if (!mDataValid) throw new IllegalStateException("Data is not valid");
+                if (mMostVisited == null || mMostVisited.isClosed()) {
+                    throw new IllegalStateException("Data is not valid");
+                }
                 TextView item;
                 if (null == convertView || !(convertView instanceof TextView)) {
                     LayoutInflater factory = LayoutInflater.from(getContext());
@@ -436,7 +437,7 @@
         boolean moveCursorToChildPosition(
                 int groupPosition, int childPosition) {
             if (groupPosition >= super.getGroupCount()) {
-                if (mDataValid && !mMostVisited.isClosed()) {
+                if (mMostVisited != null && !mMostVisited.isClosed()) {
                     mMostVisited.moveToPosition(childPosition);
                     return true;
                 }