Encapsulating all fields on DirectoryPartition

Change-Id: I903c720d0df1ef5bf46064f03a889389b31691fe
diff --git a/src/com/android/contacts/list/ContactEntryListAdapter.java b/src/com/android/contacts/list/ContactEntryListAdapter.java
index 4ff7f0c..a97402a 100644
--- a/src/com/android/contacts/list/ContactEntryListAdapter.java
+++ b/src/com/android/contacts/list/ContactEntryListAdapter.java
@@ -81,7 +81,7 @@
         }
         int partitionIndex = getPartitionCount();
         mPartitions.put(partitionIndex, partition);
-        addPartition(partition.showIfEmpty, partition.directoryType != null);
+        addPartition(partition.getShowIfEmpty(), partition.getDirectoryType() != null);
     }
 
     public abstract String getContactDisplayName(int position);
@@ -239,10 +239,10 @@
         DirectoryPartition directoryPartition = mPartitions.get(partition);
 
         TextView directoryTypeTextView = (TextView)view.findViewById(R.id.directory_type);
-        directoryTypeTextView.setText(directoryPartition.directoryType);
+        directoryTypeTextView.setText(directoryPartition.getDirectoryType());
         TextView displayNameTextView = (TextView)view.findViewById(R.id.display_name);
-        if (!TextUtils.isEmpty(directoryPartition.displayName)) {
-            displayNameTextView.setText(directoryPartition.displayName);
+        if (!TextUtils.isEmpty(directoryPartition.getDisplayName())) {
+            displayNameTextView.setText(directoryPartition.getDisplayName());
             displayNameTextView.setVisibility(View.VISIBLE);
         } else {
             displayNameTextView.setVisibility(View.GONE);
diff --git a/src/com/android/contacts/list/ContactEntryListFragment.java b/src/com/android/contacts/list/ContactEntryListFragment.java
index 07f6d48..7ec625e 100644
--- a/src/com/android/contacts/list/ContactEntryListFragment.java
+++ b/src/com/android/contacts/list/ContactEntryListFragment.java
@@ -196,22 +196,23 @@
             try {
                 while (data.moveToNext()) {
                     DirectoryPartition partition = new DirectoryPartition();
-                    partition.directoryId = data.getLong(DirectoryQuery.ID);
+                    partition.setDirectoryId(data.getLong(DirectoryQuery.ID));
                     String packageName = data.getString(DirectoryQuery.PACKAGE_NAME);
                     int typeResourceId = data.getInt(DirectoryQuery.TYPE_RESOURCE_ID);
                     if (!TextUtils.isEmpty(packageName) && typeResourceId != 0) {
                         // TODO: should this be done on a background thread?
                         try {
-                            partition.directoryType = pm.getResourcesForApplication(packageName)
-                                    .getString(typeResourceId);
+                            partition.setDirectoryType(pm.getResourcesForApplication(packageName)
+                                    .getString(typeResourceId));
                         } catch (Exception e) {
                             Log.e(TAG, "Cannot obtain directory type from package: " + packageName);
                         }
                     }
-                    partition.displayName = data.getString(DirectoryQuery.DISPLAY_NAME);
+                    partition.setDisplayName(data.getString(DirectoryQuery.DISPLAY_NAME));
 
                     // TODO obtain the "showIfEmpty" from directory meta-data
-                    partition.showIfEmpty = partition.directoryId != Directory.LOCAL_INVISIBLE;
+                    partition.setShowIfEmpty(
+                            partition.getDirectoryId() != Directory.LOCAL_INVISIBLE);
 
                     String directoryType = null;
 
@@ -225,7 +226,7 @@
             int size = mDirectoryPartitions.size();
             for (int i = 0; i < size; i++) {
                 DirectoryPartition partition = mDirectoryPartitions.get(i);
-                partition.partitionIndex = i;
+                partition.setPartitionIndex(i);
                 mAdapter.addDirectoryPartition(partition);
             }
 
@@ -248,7 +249,7 @@
 
     protected void loadPartitions() {
         for (DirectoryPartition partition : mDirectoryPartitions) {
-            CursorLoader loader = (CursorLoader)getLoader(partition.partitionIndex);
+            CursorLoader loader = (CursorLoader)getLoader(partition.getPartitionIndex());
             if (loader != null) {
                 loader.cancelLoad();
             }
@@ -259,8 +260,8 @@
             startLoading(DIRECTORY_LOADER_ID, null);
         } else {
             DirectoryPartition directoryPartition = new DirectoryPartition();
-            directoryPartition.directoryId = Directory.DEFAULT;
-            directoryPartition.partitionIndex = 0;
+            directoryPartition.setDirectoryId(Directory.DEFAULT);
+            directoryPartition.setPartitionIndex(0);
             mDirectoryPartitions.add(directoryPartition);
             if (mAdapter != null) {
                 mAdapter.resetPartitions();
@@ -278,13 +279,13 @@
         configureAdapter();
 
         for (DirectoryPartition partition : mDirectoryPartitions) {
-            CursorLoader loader = (CursorLoader)getLoader(partition.partitionIndex);
+            CursorLoader loader = (CursorLoader)getLoader(partition.getPartitionIndex());
             if (loader == null) {
                 Bundle args = new Bundle();
-                args.putLong(DIRECTORY_ID_ARG_KEY, partition.directoryId);
-                startLoading(partition.partitionIndex, args);
+                args.putLong(DIRECTORY_ID_ARG_KEY, partition.getDirectoryId());
+                startLoading(partition.getPartitionIndex(), args);
             } else {
-                mAdapter.configureLoader(loader, partition.directoryId);
+                mAdapter.configureLoader(loader, partition.getDirectoryId());
                 if (forceLoad) {
                     loader.forceLoad();
                 }
diff --git a/src/com/android/contacts/list/DirectoryPartition.java b/src/com/android/contacts/list/DirectoryPartition.java
index 1e8b3a7..9db982b 100644
--- a/src/com/android/contacts/list/DirectoryPartition.java
+++ b/src/com/android/contacts/list/DirectoryPartition.java
@@ -15,6 +15,7 @@
  */
 package com.android.contacts.list;
 
+import android.database.Cursor;
 import android.provider.ContactsContract.Directory;
 
 /**
@@ -25,27 +26,66 @@
     /**
      * Directory ID, see {@link Directory}.
      */
-    long directoryId;
+    private long mDirectoryId;
 
     /**
      * Corresponding loader ID.
      */
-    int partitionIndex;
+    private int mPartitionIndex;
 
     /**
      * Directory type resolved from {@link Directory#PACKAGE_NAME} and
      * {@link Directory#TYPE_RESOURCE_ID};
      */
-    public String directoryType;
+    private String mDirectoryType;
 
     /**
      * See {@link Directory#DISPLAY_NAME}.
      */
-    public String displayName;
+    private String mDisplayName;
 
     /**
      * True if the directory should be shown even if no contacts are found.
      */
-    public boolean showIfEmpty;
+    private boolean mShowIfEmpty;
 
+    public long getDirectoryId() {
+        return mDirectoryId;
+    }
+
+    public void setDirectoryId(long directoryId) {
+        this.mDirectoryId = directoryId;
+    }
+
+    public int getPartitionIndex() {
+        return mPartitionIndex;
+    }
+
+    public void setPartitionIndex(int partitionIndex) {
+        this.mPartitionIndex = partitionIndex;
+    }
+
+    public String getDirectoryType() {
+        return mDirectoryType;
+    }
+
+    public void setDirectoryType(String directoryType) {
+        this.mDirectoryType = directoryType;
+    }
+
+    public String getDisplayName() {
+        return mDisplayName;
+    }
+
+    public void setDisplayName(String displayName) {
+        this.mDisplayName = displayName;
+    }
+
+    public boolean getShowIfEmpty() {
+        return mShowIfEmpty;
+    }
+
+    public void setShowIfEmpty(boolean showIfEmpty) {
+        this.mShowIfEmpty = showIfEmpty;
+    }
 }
\ No newline at end of file