Merge branch 'master' into develop
authorDavid A. Velasco <dvelasco@solidgear.es>
Wed, 3 Dec 2014 10:31:49 +0000 (11:31 +0100)
committerDavid A. Velasco <dvelasco@solidgear.es>
Wed, 3 Dec 2014 10:31:49 +0000 (11:31 +0100)
1  2 
owncloud-android-library
res/values/strings.xml
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

diff --combined owncloud-android-library
@@@ -1,1 -1,1 +1,1 @@@
- Subproject commit 5bd0d7387712ce3f53869294761ac4d8537841cd
 -Subproject commit 0030d82ee8156eb82224eaea810e4bf6010feef1
++Subproject commit 8261865ff24c1bfc05be19ae9364a66dac8f26c3
diff --combined res/values/strings.xml
      <string name="file_list_empty">Nothing in here. Upload something!</string>
      <string name="file_list_loading">Loading...</string>
      <string name="local_file_list_empty">There are no files in this folder.</string>
 +    <string name="file_list_folder">folder</string>
 +    <string name="file_list_folders">folders</string>
 +    <string name="file_list_file">file</string>
 +    <string name="file_list_files">files</string>
      <string name="filedetails_select_file">Tap on a file to display additional information.</string>
      <string name="filedetails_size">Size:</string>
      <string name="filedetails_type">Type:</string>
        <string name="saml_authentication_wrong_pass">Wrong password</string>
        <string name="actionbar_move">Move</string>
        <string name="file_list_empty_moving">Nothing in here. You can add a folder!</string>
-       <string name="move_choose_button_text">Choose</string>
+       <string name="folder_picker_choose_button_text">Choose</string>
  
        <string name="move_file_not_found">Unable to move. Please check whether the file exists</string>
        <string name="move_file_invalid_into_descendent">It is not possible to move a folder into a descendant</string>
  
        <string name="prefs_category_instant_uploading">Instant Uploads</string>
        <string name="prefs_category_security">Security</string>
+       <string name="prefs_instant_video_upload_path_title">Upload Video Path</string>
  </resources>
  package com.owncloud.android.ui.fragment;
  
  import java.io.File;
 +import java.util.Vector;
  
  import android.app.Activity;
 +import android.content.Context;
  import android.content.Intent;
  import android.os.Bundle;
  import android.support.v4.widget.SwipeRefreshLayout;
@@@ -31,8 -29,6 +31,8 @@@ import android.view.MenuItem
  import android.view.View;
  import android.widget.AdapterView;
  import android.widget.AdapterView.AdapterContextMenuInfo;
 +import android.widget.TextView;
 +import android.view.LayoutInflater;
  
  import com.owncloud.android.R;
  import com.owncloud.android.datamodel.FileDataStorageManager;
@@@ -40,7 -36,7 +40,7 @@@ import com.owncloud.android.datamodel.O
  import com.owncloud.android.files.FileMenuFilter;
  import com.owncloud.android.lib.common.utils.Log_OC;
  import com.owncloud.android.ui.activity.FileDisplayActivity;
- import com.owncloud.android.ui.activity.MoveActivity;
+ import com.owncloud.android.ui.activity.FolderPickerActivity;
  import com.owncloud.android.ui.activity.OnEnforceableRefreshListener;
  import com.owncloud.android.ui.adapter.FileListListAdapter;
  import com.owncloud.android.ui.dialog.ConfirmationDialogFragment;
@@@ -74,7 -70,6 +74,7 @@@ public class OCFileListFragment extend
     
      private OCFile mFile = null;
      private FileListListAdapter mAdapter;
 +    private View mFooterView;
      
      private OCFile mTargetFile;
  
      public void onActivityCreated(Bundle savedInstanceState) {
          super.onActivityCreated(savedInstanceState);
          Log_OC.e(TAG, "onActivityCreated() start");
 -        
 +
          if (savedInstanceState != null) {
              mFile = savedInstanceState.getParcelable(KEY_FILE);
          }
 -        
 +
 +        mFooterView = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(
 +                        R.layout.list_footer, null, false);
 +        setFooterView(mFooterView);
 +
          Bundle args = getArguments();
          boolean justFolders = (args == null) ? false : args.getBoolean(ARG_JUST_FOLDERS, false); 
          mAdapter = new FileListListAdapter(
                  justFolders,
                  getSherlockActivity(), 
                  mContainerActivity
 -        );
 +                );
          setListAdapter(mAdapter);
 -        
 +
          registerForContextMenu(getListView());
          getListView().setOnCreateContextMenuListener(this);
 -  }
 -    
 +    }
 +
      /**
       * Saves the current listed folder.
       */
                  return true;
              }
              case R.id.action_move: {
-                 Intent action = new Intent(getActivity(), MoveActivity.class);
+                 Intent action = new Intent(getActivity(), FolderPickerActivity.class);
  
                  // Pass mTargetFile that contains info of selected file/folder
-                 action.putExtra(MoveActivity.EXTRA_TARGET_FILE, mTargetFile);
+                 action.putExtra(FolderPickerActivity.EXTRA_FILE, mTargetFile);
                  getActivity().startActivityForResult(action, FileDisplayActivity.ACTION_MOVE_FILES);
                  return true;
              }
                  mList.setSelectionFromTop(0, 0);
              }
              mFile = directory;
 +            
 +            // Update Footer
 +            TextView footerText = (TextView) mFooterView.findViewById(R.id.footerText);
 +            Log_OC.d("footer", String.valueOf(System.currentTimeMillis()));
 +            footerText.setText(generateFooterText(directory));
 +            Log_OC.d("footer", String.valueOf(System.currentTimeMillis()));
          }
      }
      
 +    private String generateFooterText(OCFile directory) {
 +        Integer files = 0;
 +        Integer folders = 0;
 +
 +        FileDataStorageManager storageManager = mContainerActivity.getStorageManager();
 +        Vector<OCFile> mFiles = storageManager.getFolderContent(mFile);
 +
 +        for (OCFile ocFile : mFiles) {
 +            if (ocFile.isFolder()) {
 +                folders++;
 +            } else {
 +                files++;
 +            }
 +        }
 +
 +        String output = "";
 +       
 +        if (files > 0){
 +            if (files == 1) {
 +                output = output + files.toString() + " " + getResources().getString(R.string.file_list_file);
 +            } else {
 +                output = output + files.toString() + " " + getResources().getString(R.string.file_list_files);
 +            }
 +        }
 +        if (folders > 0 && files > 0){
 +            output = output + ", ";
 +        }
 +        if (folders == 1) {
 +            output = output + folders.toString() + " " + getResources().getString(R.string.file_list_folder);
 +        } else if (folders > 1) {
 +            output = output + folders.toString() + " " + getResources().getString(R.string.file_list_folders);
 +        }
 +        
 +        return output;
 +    }
 +    
      public void sortByName(boolean descending) {
          mAdapter.setSortOrder(FileListListAdapter.SORT_NAME, descending);
      }