From: tobiasKaminsky Date: Sun, 19 Oct 2014 17:36:04 +0000 (+0200) Subject: - bugfix X-Git-Tag: oc-android-1.7.0_signed~126^2~2 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/712a513532b8d914dc3a39720a61bcc71b3d2408?ds=inline - bugfix --- diff --git a/src/com/owncloud/android/ui/fragment/LocalFileListFragment.java b/src/com/owncloud/android/ui/fragment/LocalFileListFragment.java index 81c43a33..9eb7d1da 100644 --- a/src/com/owncloud/android/ui/fragment/LocalFileListFragment.java +++ b/src/com/owncloud/android/ui/fragment/LocalFileListFragment.java @@ -20,6 +20,10 @@ 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; @@ -31,9 +35,6 @@ import android.widget.AdapterView; import android.widget.ImageView; import android.widget.ListView; -import com.owncloud.android.Log_OC; -import com.owncloud.android.R; -import com.owncloud.android.ui.adapter.LocalFileListAdapter; /** * A Fragment that lists all files and folders in a given LOCAL path. @@ -43,19 +44,17 @@ import com.owncloud.android.ui.adapter.LocalFileListAdapter; */ public class LocalFileListFragment extends ExtendedListFragment { private static final String TAG = "LocalFileListFragment"; - - /** - * Reference to the Activity which this fragment is attached to. For - * callbacks - */ + + /** Reference to the Activity which this fragment is attached to. For callbacks */ private LocalFileListFragment.ContainerActivity mContainerActivity; - + /** Directory to show */ private File mDirectory = null; - + /** Adapter to connect the data from the directory with the View object */ private LocalFileListAdapter mAdapter = null; + /** * {@inheritDoc} */ @@ -65,11 +64,11 @@ public class LocalFileListFragment extends ExtendedListFragment { try { mContainerActivity = (ContainerActivity) activity; } catch (ClassCastException e) { - throw new ClassCastException(activity.toString() + " must implement " - + LocalFileListFragment.ContainerActivity.class.getSimpleName()); + throw new ClassCastException(activity.toString() + " must implement " + LocalFileListFragment.ContainerActivity.class.getSimpleName()); } } - + + /** * {@inheritDoc} */ @@ -80,7 +79,8 @@ public class LocalFileListFragment extends ExtendedListFragment { getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); Log_OC.i(TAG, "onCreateView() end"); return v; - } + } + /** * {@inheritDoc} @@ -88,30 +88,30 @@ public class LocalFileListFragment extends ExtendedListFragment { @Override public void onActivityCreated(Bundle savedInstanceState) { Log_OC.i(TAG, "onActivityCreated() start"); - + super.onCreate(savedInstanceState); mAdapter = new LocalFileListAdapter(mContainerActivity.getInitialDirectory(), getActivity()); setListAdapter(mAdapter); - + Log_OC.i(TAG, "onActivityCreated() stop"); } - + + /** - * Checks the file clicked over. Browses inside if it is a directory. - * Notifies the container activity in any case. + * Checks the file clicked over. Browses inside if it is a directory. Notifies the container activity in any case. */ @Override public void onItemClick(AdapterView l, View v, int position, long id) { - File file = (File) mAdapter.getItem(position); + File file = (File) mAdapter.getItem(position); if (file != null) { - // / Click on a directory + /// Click on a directory if (file.isDirectory()) { // just local updates listDirectory(file); // notify the click to container Activity mContainerActivity.onDirectoryClick(file); - - } else { // / Click on a file + + } else { /// Click on a file ImageView checkBoxV = (ImageView) v.findViewById(R.id.custom_checkbox); if (checkBoxV != null) { if (getListView().isItemChecked(position)) { @@ -123,90 +123,84 @@ public class LocalFileListFragment extends ExtendedListFragment { // notify the change to the container Activity mContainerActivity.onFileClick(file); } - + } else { Log_OC.w(TAG, "Null object in ListAdapter!!"); } } + /** * Call this, when the user presses the up button */ public void onNavigateUp() { File parentDir = null; - if (mDirectory != null) { - parentDir = mDirectory.getParentFile(); // can be null + if(mDirectory != null) { + parentDir = mDirectory.getParentFile(); // can be null } listDirectory(parentDir); } + /** - * Use this to query the {@link File} object for the directory that is - * currently being displayed by this fragment + * Use this to query the {@link File} object for the directory + * that is currently being displayed by this fragment * - * @return File The currently displayed directory + * @return File The currently displayed directory */ - public File getCurrentDirectory() { + public File getCurrentDirectory(){ return mDirectory; } - + + /** - * Calls {@link LocalFileListFragment#listDirectory(File)} with a null - * parameter to refresh the current directory. + * Calls {@link LocalFileListFragment#listDirectory(File)} with a null parameter + * to refresh the current directory. */ - public void listDirectory() { + public void listDirectory(){ listDirectory(null); } - + + /** * Lists the given directory on the view. When the input parameter is null, - * it will either refresh the last known directory. list the root if there - * never was a directory. + * it will either refresh the last known directory. list the root + * if there never was a directory. * - * @param directory Directory to be listed + * @param directory Directory to be listed */ public void listDirectory(File directory) { - + // Check input parameters for null - if (directory == null) { - if (mDirectory != null) { + if(directory == null) { + if(mDirectory != null){ directory = mDirectory; } else { - directory = Environment.getExternalStorageDirectory(); // TODO - // be - // careful - // with - // the - // state - // of the - // storage; - // could - // not be - // available - if (directory == null) - return; // no files to show + directory = Environment.getExternalStorageDirectory(); // TODO be careful with the state of the storage; could not be available + if (directory == null) return; // no files to show } } - + + // if that's not a directory -> List its parent - if (!directory.isDirectory()) { + if(!directory.isDirectory()){ Log_OC.w(TAG, "You see, that is not a directory -> " + directory.toString()); directory = directory.getParentFile(); } - mList.clearChoices(); // by now, only files in the same directory will - // be kept as selected + mList.clearChoices(); // by now, only files in the same directory will be kept as selected mAdapter.swapDirectory(directory); if (mDirectory == null || !mDirectory.equals(directory)) { mList.setSelectionFromTop(0, 0); } mDirectory = directory; } + /** * Returns the fule paths to the files checked by the user * - * @return File paths to the files checked by the user. + * @return File paths to the files checked by the user. */ public String[] getCheckedFilePaths() { ArrayList result = new ArrayList(); @@ -223,38 +217,37 @@ public class LocalFileListFragment extends ExtendedListFragment { return result.toArray(new String[result.size()]); } + /** - * Interface to implement by any Activity that includes some instance of - * LocalFileListFragment + * Interface to implement by any Activity that includes some instance of LocalFileListFragment * * @author David A. Velasco */ public interface ContainerActivity { /** - * Callback method invoked when a directory is clicked by the user on - * the files list - * + * Callback method invoked when a directory is clicked by the user on the files list + * * @param file */ public void onDirectoryClick(File directory); - + /** - * Callback method invoked when a file (non directory) is clicked by the - * user on the files list - * + * Callback method invoked when a file (non directory) is clicked by the user on the files list + * * @param file */ public void onFileClick(File file); - + + /** - * Callback method invoked when the parent activity is fully created to - * get the directory to list firstly. + * Callback method invoked when the parent activity is fully created to get the directory to list firstly. * - * @return Directory to list firstly. Can be NULL. + * @return Directory to list firstly. Can be NULL. */ public File getInitialDirectory(); } + }