Android Open Source - brainrot File List Fragment






From Project

Back to project page brainrot.

License

The source code is released under:

Apache License

If you think the Android project brainrot listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/* 
 * Copyright (C) 2012 Paul Burke/*from   w  ww . j a  v a 2 s. c om*/
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */ 

package com.ipaulpro.afilechooser;

import java.io.File;
import java.util.List;

import android.os.Bundle;
import android.os.Environment;
import android.support.v4.app.ListFragment;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;
import android.view.View;
import android.widget.ListView;

/**
 * Fragment that displays a list of Files in a given path.
 * 
 * @version 2012-10-28
 * 
 * @author paulburke (ipaulpro)
 * 
 */
public class FileListFragment extends ListFragment implements
    LoaderManager.LoaderCallbacks<List<File>> {

  private static final int LOADER_ID = 0;

  private FileListAdapter mAdapter;
  private String mPath;

  /**
   * Create a new instance with the given file path.
   * 
   * @param path The absolute path of the file (directory) to display.
   * @return A new Fragment with the given file path. 
   */
  public static FileListFragment newInstance(String path) {
    FileListFragment fragment = new FileListFragment();
    Bundle args = new Bundle();
    args.putString(FileChooserActivity.PATH, path);
    fragment.setArguments(args);

    return fragment;
  }

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mAdapter = new FileListAdapter(getActivity());
    mPath = getArguments() != null ? getArguments().getString(
        FileChooserActivity.PATH) : Environment
        .getExternalStorageDirectory().getAbsolutePath();
  }

  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    setEmptyText(getString(R.string.empty_directory));
    setListAdapter(mAdapter);
    setListShown(false);

    getLoaderManager().initLoader(LOADER_ID, null, this);
    
    super.onActivityCreated(savedInstanceState);
  }

  @Override
  public void onListItemClick(ListView l, View v, int position, long id) {
    FileListAdapter adapter = (FileListAdapter) l.getAdapter();
    if (adapter != null) {
      File file = (File) adapter.getItem(position);
      mPath = file.getAbsolutePath();
      ((FileChooserActivity) getActivity()).onFileSelected(file);
    }
  }

  @Override
  public Loader<List<File>> onCreateLoader(int id, Bundle args) {
    return new FileLoader(getActivity(), mPath);
  }

  @Override
  public void onLoadFinished(Loader<List<File>> loader, List<File> data) {
    mAdapter.setListItems(data);

    if (isResumed())
      setListShown(true);
    else
      setListShownNoAnimation(true);
  }

  @Override
  public void onLoaderReset(Loader<List<File>> loader) {
    mAdapter.clear();
  }
}




Java Source Code List

com.ipaulpro.afilechooser.FileChooserActivity.java
com.ipaulpro.afilechooser.FileListAdapter.java
com.ipaulpro.afilechooser.FileListFragment.java
com.ipaulpro.afilechooser.FileLoader.java
com.ipaulpro.afilechooser.utils.FileUtils.java
com.ipaulpro.afilechooser.utils.MimeTypeParser.java
com.ipaulpro.afilechooser.utils.MimeTypes.java
jcuenod.brainrot.BubbleChartDetails.java
jcuenod.brainrot.DBHelper.java
jcuenod.brainrot.DueCardBroadcastReceiver.java
jcuenod.brainrot.FlashCard.java
jcuenod.brainrot.ImportAsyncTask.java
jcuenod.brainrot.LanguageUtils.java
jcuenod.brainrot.MainActivity.java
jcuenod.brainrot.PieChartDetails.java
jcuenod.brainrot.ServiceStarter.java
jcuenod.brainrot.Statistics.java