Fix crash in navigation in FileList
authormasensio <masensio@solidgear.es>
Thu, 12 Mar 2015 17:41:03 +0000 (18:41 +0100)
committermasensio <masensio@solidgear.es>
Thu, 12 Mar 2015 17:41:03 +0000 (18:41 +0100)
src/com/owncloud/android/ui/adapter/FileListListAdapter.java
src/com/owncloud/android/ui/fragment/ExtendedListFragment.java

index 2537d80..0b59dc3 100644 (file)
@@ -30,6 +30,7 @@ import android.accounts.Account;
 import android.content.Context;\r
 import android.content.SharedPreferences;\r
 import android.graphics.Bitmap;\r
+import android.os.Build;\r
 import android.preference.PreferenceManager;\r
 import android.text.format.DateUtils;\r
 import android.view.LayoutInflater;\r
@@ -196,15 +197,17 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
 \r
                     if (!file.isFolder()) {\r
                         AbsListView parentList = (AbsListView)parent;\r
-                        if (parentList.getChoiceMode() == AbsListView.CHOICE_MODE_NONE) {\r
-                            checkBoxV.setVisibility(View.GONE);\r
-                        } else {\r
-                            if (parentList.isItemChecked(position)) {\r
-                                checkBoxV.setImageResource(android.R.drawable.checkbox_on_background);\r
+                        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {\r
+                            if (parentList.getChoiceMode() == AbsListView.CHOICE_MODE_NONE) {\r
+                                checkBoxV.setVisibility(View.GONE);\r
                             } else {\r
-                                checkBoxV.setImageResource(android.R.drawable.checkbox_off_background);\r
+                                if (parentList.isItemChecked(position)) {\r
+                                    checkBoxV.setImageResource(android.R.drawable.checkbox_on_background);\r
+                                } else {\r
+                                    checkBoxV.setImageResource(android.R.drawable.checkbox_off_background);\r
+                                }\r
+                                checkBoxV.setVisibility(View.VISIBLE);\r
                             }\r
-                            checkBoxV.setVisibility(View.VISIBLE);\r
                         }\r
 \r
                     } else { //Folder\r
index 03289cf..c266ce0 100644 (file)
@@ -22,7 +22,9 @@ package com.owncloud.android.ui.fragment;
 
 import java.util.ArrayList;
 
+import android.annotation.TargetApi;
 import android.content.Context;
+import android.os.Build;
 import android.os.Bundle;
 import android.support.v4.widget.SwipeRefreshLayout;
 import android.view.LayoutInflater;
@@ -33,6 +35,7 @@ import android.widget.AdapterView;
 import android.widget.AdapterView.OnItemClickListener;
 import android.widget.GridView;
 import android.widget.ListAdapter;
+import android.widget.ListView;
 import android.widget.TextView;
 
 import com.actionbarsherlock.app.SherlockFragment;
@@ -80,10 +83,14 @@ implements OnItemClickListener, OnEnforceableRefreshListener {
 
     private ListAdapter mAdapter;
 
-
     protected void setListAdapter(ListAdapter listAdapter) {
         mAdapter = listAdapter;
-        mCurrentListView.setAdapter(listAdapter);
+        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+            mCurrentListView.setAdapter(listAdapter);
+        } else {
+            ((ListView)mCurrentListView).setAdapter(listAdapter);
+        }
+
         mCurrentListView.invalidate();
     }
 
@@ -348,10 +355,11 @@ implements OnItemClickListener, OnEnforceableRefreshListener {
         }
     }
 
-
     protected void setChoiceMode(int choiceMode) {
-        mListView.setChoiceMode(choiceMode);
-        mGridView.setChoiceMode(choiceMode);
+        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+            mListView.setChoiceMode(choiceMode);
+            mGridView.setChoiceMode(choiceMode);
+        }
     }
 
     protected void registerForContextMenu() {