Resolve NPE in GridDividerItemDecoration#drawHorizontalDividers.

- Guard against case where number of items is less than number of
columns in a gridlayout.
- Revert enabling dividers for CarUiRecyclerView.

Bug: 146561570
Test: Manual

Change-Id: I7d891df18ff634f32ce631020f0aae4084cc78a3
diff --git a/car-ui-lib/res/layout/car_ui_list_preference.xml b/car-ui-lib/res/layout/car_ui_list_preference.xml
index 0f9a367..88957b0 100644
--- a/car-ui-lib/res/layout/car_ui_list_preference.xml
+++ b/car-ui-lib/res/layout/car_ui_list_preference.xml
@@ -25,7 +25,8 @@
     <com.android.car.ui.recyclerview.CarUiRecyclerView
         android:id="@+id/list"
         android:layout_width="match_parent"
-        android:layout_height="match_parent" />
+        android:layout_height="match_parent"
+        app:enableDivider="true" />
 
     <com.android.car.ui.toolbar.Toolbar
         android:id="@+id/toolbar"
diff --git a/car-ui-lib/src/com/android/car/ui/recyclerview/CarUiRecyclerView.java b/car-ui-lib/src/com/android/car/ui/recyclerview/CarUiRecyclerView.java
index 345cbaf..0b608a2 100644
--- a/car-ui-lib/src/com/android/car/ui/recyclerview/CarUiRecyclerView.java
+++ b/car-ui-lib/src/com/android/car/ui/recyclerview/CarUiRecyclerView.java
@@ -264,7 +264,7 @@
                 a.getInt(R.styleable.CarUiRecyclerView_layoutStyle, CarUiRecyclerViewLayout.LINEAR);
         mNumOfColumns = a.getInt(R.styleable.CarUiRecyclerView_numOfColumns, /* defValue= */ 2);
         boolean enableDivider =
-                a.getBoolean(R.styleable.CarUiRecyclerView_enableDivider, /* defValue= */ true);
+                a.getBoolean(R.styleable.CarUiRecyclerView_enableDivider, /* defValue= */ false);
 
         if (mCarUiRecyclerViewLayout == CarUiRecyclerViewLayout.LINEAR) {
 
diff --git a/car-ui-lib/src/com/android/car/ui/recyclerview/decorations/grid/GridDividerItemDecoration.java b/car-ui-lib/src/com/android/car/ui/recyclerview/decorations/grid/GridDividerItemDecoration.java
index 9ccbc5e..d462b92 100644
--- a/car-ui-lib/src/com/android/car/ui/recyclerview/decorations/grid/GridDividerItemDecoration.java
+++ b/car-ui-lib/src/com/android/car/ui/recyclerview/decorations/grid/GridDividerItemDecoration.java
@@ -89,8 +89,9 @@
         int childCount = parent.getChildCount();
         int rowCount = childCount / mNumColumns;
         int lastRowChildCount = childCount % mNumColumns;
+        int lastColumn = Math.min(childCount, mNumColumns);
 
-        for (int i = 1; i < mNumColumns; i++) {
+        for (int i = 1; i < lastColumn; i++) {
             int lastRowChildIndex;
             if (i < lastRowChildCount) {
                 lastRowChildIndex = i + (rowCount * mNumColumns);