Android Open Source - Aether-s-Notebook-Android-Client File List Adapter






From Project

Back to project page Aether-s-Notebook-Android-Client.

License

The source code is released under:

GNU General Public License

If you think the Android project Aether-s-Notebook-Android-Client 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

package aethers.notebook.core.ui.filechooser;
/* w  w  w.j a v  a2  s .  c om*/
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import aethers.notebook.R;
import android.app.Activity;
import android.database.DataSetObserver;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.TextView;

public class FileListAdapter
implements ListAdapter
{
    private final Activity activity;
 
    private final List<File> files;
    
    public FileListAdapter(Activity activity, List<File> files)
    {
        this.activity = activity;
        ArrayList<File> ordered = new ArrayList<File>();
        ordered.addAll(files);
        Collections.sort(ordered, new Comparator<File>()
        {
            @Override
            public int compare(File a, File b) 
            {
                if(a.isDirectory() && b.isDirectory())
                    return a.getName().compareTo(b.getName());
                if(a.isFile() && b.isFile())
                    return a.getName().compareTo(b.getName());
                if(a.isDirectory() && b.isFile())
                    return -1;
                return 1;
            }
        });
        this.files = ordered;        
    }
    
    @Override
    public int getCount() 
    {
        return files.size();
    }

    @Override
    public Object getItem(int position) 
    {
        return files.get(position);
    }

    @Override
    public long getItemId(int position) 
    {
        return files.get(position).hashCode();
    }

    @Override
    public int getItemViewType(int position) 
    {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) 
    {
        File f = files.get(position);
        LinearLayout l = (LinearLayout)activity.getLayoutInflater().inflate(
                R.layout.filechooseritem, null);
        ImageView i = (ImageView)l.findViewById(R.id.filechooseritem_icon);
        i.setImageResource(f.isDirectory() ? R.drawable.folder : R.drawable.file);
        TextView v = (TextView)l.findViewById(R.id.filechooseritem_text);
        v.setText(f.getName());
        return l;
    }

    @Override
    public int getViewTypeCount() 
    {
        return 1;
    }

    @Override
    public boolean hasStableIds() 
    {
        return true;
    }

    @Override
    public boolean isEmpty()
    {
        return files.isEmpty();
    }

    @Override
    public void registerDataSetObserver(DataSetObserver observer) { }

    @Override
    public void unregisterDataSetObserver(DataSetObserver observer) { }

    @Override
    public boolean areAllItemsEnabled() 
    {
        return true;
    }

    @Override
    public boolean isEnabled(int position) 
    {
        return true;
    }
}




Java Source Code List

aethers.notebook.appender.managed.file.ConfigurationActivity.java
aethers.notebook.appender.managed.file.Configuration.java
aethers.notebook.appender.managed.file.FileAppender.java
aethers.notebook.appender.managed.uploader.ConfigurationActivity.java
aethers.notebook.appender.managed.uploader.Configuration.java
aethers.notebook.appender.managed.uploader.UploaderAppender.java
aethers.notebook.core.Action.java
aethers.notebook.core.AppenderServiceIdentifier.java
aethers.notebook.core.BootReceiver.java
aethers.notebook.core.ConfigurationTemplate.java
aethers.notebook.core.Configuration.java
aethers.notebook.core.CoreService.java
aethers.notebook.core.LoggerServiceIdentifier.java
aethers.notebook.core.TimeStamp.java
aethers.notebook.core.ui.ConfigurationActivity.java
aethers.notebook.core.ui.EditIntegerPreference.java
aethers.notebook.core.ui.IntegerPreferenceChangeListener.java
aethers.notebook.core.ui.NonPersistingButtonPreference.java
aethers.notebook.core.ui.PersistingButtonPreference.java
aethers.notebook.core.ui.filechooser.DirectoryChooser.java
aethers.notebook.core.ui.filechooser.FileChooser.java
aethers.notebook.core.ui.filechooser.FileListAdapter.java
aethers.notebook.logger.managed.PushLogger.java
aethers.notebook.logger.managed.celllocation.CellLocationLogger.java
aethers.notebook.logger.managed.dataconnectionstate.DataConnectionStateLogger.java
aethers.notebook.logger.managed.position.ConfigurationActivity.java
aethers.notebook.logger.managed.position.Configuration.java
aethers.notebook.logger.managed.position.PositionLogger.java
aethers.notebook.logger.managed.servicestate.ServiceStateLogger.java
aethers.notebook.logger.managed.signalstrength.SignalStrengthLogger.java
aethers.notebook.logger.managed.wifi.ConfigurationActivity.java
aethers.notebook.logger.managed.wifi.Configuration.java
aethers.notebook.logger.managed.wifi.WifiLogger.java
aethers.notebook.util.Logger.java