Merge remote-tracking branch 'upstream/develop' into
authortobiasKaminsky <tobias@kaminsky.me>
Fri, 24 Oct 2014 16:44:04 +0000 (18:44 +0200)
committertobiasKaminsky <tobias@kaminsky.me>
Fri, 24 Oct 2014 16:44:04 +0000 (18:44 +0200)
bugfixMultipleSelect

Conflicts:
src/com/owncloud/android/ui/fragment/LocalFileListFragment.java

1  2 
project.properties
src/com/owncloud/android/ui/fragment/LocalFileListFragment.java

diff --combined project.properties
@@@ -10,3 -10,4 +10,5 @@@
  # Project target.
  target=android-19
  android.library.reference.1=actionbarsherlock/library
+ android.library.reference.2=owncloud-android-library
++android.library.reference.3=../android-library/android-library
  package com.owncloud.android.ui.fragment;
  
  import java.io.File;
 +import java.util.ArrayList;
  
- import com.owncloud.android.Log_OC;
- import com.owncloud.android.R;
- import com.owncloud.android.ui.adapter.LocalFileListAdapter;
  import android.app.Activity;
  import android.os.Bundle;
  import android.os.Environment;
@@@ -35,6 -30,10 +31,10 @@@ import android.widget.AdapterView
  import android.widget.ImageView;
  import android.widget.ListView;
  
+ import com.owncloud.android.R;
+ import com.owncloud.android.lib.common.utils.Log_OC;
+ import com.owncloud.android.ui.adapter.LocalFileListAdapter;
  
  /**
   * A Fragment that lists all files and folders in a given LOCAL path.
@@@ -77,6 -76,8 +77,8 @@@ public class LocalFileListFragment exte
          Log_OC.i(TAG, "onCreateView() start");
          View v = super.onCreateView(inflater, container, savedInstanceState);
          getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
+         disableSwipe(); // Disable pull refresh
+         setMessageForEmptyList(getString(R.string.local_file_list_empty));
          Log_OC.i(TAG, "onCreateView() end");
          return v;
      }    
@@@ -89,7 -90,7 +91,7 @@@
      public void onActivityCreated(Bundle savedInstanceState) {
          Log_OC.i(TAG, "onActivityCreated() start");
          
-         super.onCreate(savedInstanceState);
+         super.onActivityCreated(savedInstanceState);
          mAdapter = new LocalFileListAdapter(mContainerActivity.getInitialDirectory(), getActivity());
          setListAdapter(mAdapter);
          
                  listDirectory(file);
                  // notify the click to container Activity
                  mContainerActivity.onDirectoryClick(file);
+                 // save index and top position
+                 saveIndexAndTopPosition(position);
              
              } else {    /// Click on a file
                  ImageView checkBoxV = (ImageView) v.findViewById(R.id.custom_checkbox);
              parentDir = mDirectory.getParentFile();  // can be null
          }
          listDirectory(parentDir);
+         // restore index and top position
+         restoreIndexAndTopPosition();
      }
  
      
       * @return      File paths to the files checked by the user.
       */
      public String[] getCheckedFilePaths() {
 -        String [] result = null;
 +        ArrayList<String> result = new ArrayList<String>();
          SparseBooleanArray positions = mList.getCheckedItemPositions();
          if (positions.size() > 0) {
 -            Log_OC.d(TAG, "Returning " + positions.size() + " selected files");
 -            result = new String[positions.size()];
 -            for (int i=0; i<positions.size(); i++) {
 -                result[i] = ((File) mList.getItemAtPosition(positions.keyAt(i))).getAbsolutePath();
 +            for (int i = 0; i < positions.size(); i++) {
 +                if (positions.get(positions.keyAt(i)) == true) {
 +                    result.add(((File) mList.getItemAtPosition(positions.keyAt(i))).getAbsolutePath());
 +                }
              }
 +
 +            Log_OC.d(TAG, "Returning " + result.size() + " selected files");
          }
 -        return result;
 +        return result.toArray(new String[result.size()]);
      }