Fixed. Some message dissapear from list view as 'loading' and 'nothing in here...'
authorjabarros <jabarros@solidgear.es>
Thu, 22 Jan 2015 12:14:57 +0000 (13:14 +0100)
committerjabarros <jabarros@solidgear.es>
Thu, 22 Jan 2015 12:14:57 +0000 (13:14 +0100)
src/com/owncloud/android/ui/fragment/ExtendedListFragment.java
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

index 3b5429f..02f4103 100644 (file)
@@ -76,12 +76,18 @@ implements OnItemClickListener, OnEnforceableRefreshListener {
     }
 
     public void setFooterView(View footer) {
-        // TODO find solution
         imageView.addFooterView(footer, null, false);
         imageView.invalidate();
     }
 
+    public void removeFooterView(View footer) {
+        imageView.removeFooterView(footer);
+        imageView.invalidate();
+    }
 
+    public int getFooterViewCount() {
+        return imageView.getFooterViewCount();
+    }
     
     protected void switchImageView(){
        imageView.setNumColumns(GridView.AUTO_FIT);
index 4b3d6f8..fa144b8 100644 (file)
@@ -29,6 +29,7 @@ import android.view.ContextMenu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.AdapterView;
 import android.widget.AdapterView.AdapterContextMenuInfo;
 import android.widget.TextView;
@@ -438,6 +439,17 @@ public class OCFileListFragment extends ExtendedListFragment {
         } else if (folders > 1) {
             output = output + folders.toString() + " " + getResources().getString(R.string.file_list_folders);
         }
+
+        // Fix for showing or not to show the footerView
+        if (folders == 0 && files == 0) {   // If no files or folders, remove footerView for allowing
+                                            // to show the emptyList message
+            removeFooterView(mFooterView);
+        } else { // set a new footerView if there is not one for showing the number or files/folders
+            if (getFooterViewCount()== 0) {
+                ((ViewGroup)mFooterView.getParent()).removeView(mFooterView);
+                setFooterView(mFooterView);
+            }
+        }
         
         return output;
     }