Android Open Source - PrincePolo Directory List Array Adapter






From Project

Back to project page PrincePolo.

License

The source code is released under:

GNU General Public License

If you think the Android project PrincePolo 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 se.agile.model;
/*  w  w  w.  j  a  v a  2s .  co  m*/

import java.util.ArrayList;
import java.util.Collections;

import se.agile.asynctasks.RequestFiles;
import se.agile.asynctasks.RequestListener;
import se.agile.githubdata.Directory;
import se.agile.githubdata.File;
import se.agile.githubdata.Folder;
import se.agile.princepolo.R;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.TextView;

public class DirectoryListArrayAdapter extends ArrayAdapter<Directory>{
  private final Context context;
  private ArrayList<Directory>  directoryList = new ArrayList<Directory>();
  private String currentPath = "", branchName;
  private OnClickListener checkListener;
  RequestListener<ArrayList<Directory>> requestListener;
  
  
  public DirectoryListArrayAdapter(Context context, ArrayList<Directory> directoryList, String branchName, String path, RequestListener<ArrayList<Directory>> requestListener, OnClickListener checkListener) {
    super(context, R.layout.fragment_notification_list_view,R.id.directory_name, directoryList);
    this.context = context;
    if(directoryList != null){
      this.directoryList = directoryList;
    }
    this.checkListener = checkListener;
    this.requestListener = requestListener;
    this.branchName = branchName;
    updateData(path);
  }
  
  public void changeBranch(String branchName){
    this.branchName = branchName;
  }
  
  public void changeBranchAndUpdateData(String branchName){
    this.branchName = branchName;
    updateData(currentPath);
  }
  
  public void updateData(String path){
    RequestFiles reqFiles = new RequestFiles(requestListener);
    reqFiles.execute(path, branchName);
    this.currentPath = path;
  }
  
  public void retry(){
    updateData(currentPath);
  }
  
  public void replaceList(ArrayList<Directory> directoryList){
    this.directoryList.clear();
    for(Directory dir : directoryList){
      this.directoryList.add(dir);
    }
    Collections.sort(this.directoryList);
    notifyDataSetChanged();
  }
  
  public Directory getDirectory(int position){
    return directoryList.get(position);
  }
  
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View rowView = inflater.inflate(R.layout.fragment_directory_row_list_view, parent, false);
    
    TextView name = (TextView) rowView.findViewById(R.id.directory_name);
    TextView path = (TextView) rowView.findViewById(R.id.directory_path);
    ImageView icon = (ImageView) rowView.findViewById(R.id.directory_icon);
    
    CheckBox check = (CheckBox) rowView.findViewById(R.id.directory_check);
    Directory directory = directoryList.get(position);
    
    name.setText(directory.getName());
    path.setText(directory.getPath());
    if(directory instanceof Folder){
      icon.setImageResource(R.drawable.folder_icon);
      check.setVisibility(View.INVISIBLE);
    }else if(directory instanceof File){
      File file = (File) directory;
      check.setChecked(file.isWorkingFile());
      check.setOnClickListener(checkListener);
      check.setTag(file);
    }
    return rowView;
  }

}




Java Source Code List

se.agile.activities.AboutFragment.java
se.agile.activities.BranchFragment.java
se.agile.activities.BranchesFragment.java
se.agile.activities.CardFragment.java
se.agile.activities.CollaboratorsFragment.java
se.agile.activities.CommitFragment.java
se.agile.activities.ConflictFragment.java
se.agile.activities.ConnectToGitHubFragment.java
se.agile.activities.LoginActivity.java
se.agile.activities.MainActivity.java
se.agile.activities.NotificationFragmentSwitcher.java
se.agile.activities.NotificationsFragment.java
se.agile.activities.PersonalNotesFragment.java
se.agile.activities.PokerFragment.java
se.agile.activities.RepositoryOverviewFragment.java
se.agile.activities.SelectRepositoryFragment.java
se.agile.activities.SelectWorkingFilesActivity.java
se.agile.activities.SelectWorkingFilesFragment.java
se.agile.activities.SelectWorkingFilesOverviewFragment.java
se.agile.activities.SettingsFragment.java
se.agile.activities.SignOutFragment.java
se.agile.asynctasks.RequestAccessToken.java
se.agile.asynctasks.RequestAllCommitsForBranch.java
se.agile.asynctasks.RequestAllFilesForBranch.java
se.agile.asynctasks.RequestBranch.java
se.agile.asynctasks.RequestBranches.java
se.agile.asynctasks.RequestFiles.java
se.agile.asynctasks.RequestFullCommit.java
se.agile.asynctasks.RequestListenerAdapter.java
se.agile.asynctasks.RequestListener.java
se.agile.asynctasks.RequestRepositories.java
se.agile.asynctasks.RequestShortCommit.java
se.agile.asynctasks.RequestTask.java
se.agile.asynctasks.RequestUser.java
se.agile.controller.MainActivityController.java
se.agile.controller.settingsFragmentController.java
se.agile.githubdata.Branch.java
se.agile.githubdata.Commit.java
se.agile.githubdata.Directory.java
se.agile.githubdata.File.java
se.agile.githubdata.Folder.java
se.agile.githubdata.GitHubDataInterface.java
se.agile.githubdata.Repository.java
se.agile.githubdata.User.java
se.agile.model.BranchNotification.java
se.agile.model.BranchSelectionModel.java
se.agile.model.CommitNotification.java
se.agile.model.ConflictNotification.java
se.agile.model.CreateNotificationActivity.java
se.agile.model.DirectoryListArrayAdapter.java
se.agile.model.InteractiveArrayAdapter.java
se.agile.model.JSONParser.java
se.agile.model.NotificationDialog.java
se.agile.model.NotificationHandler.java
se.agile.model.NotificationListArrayAdapter.java
se.agile.model.NotificationListener.java
se.agile.model.Notification.java
se.agile.model.PreferenceListener.java
se.agile.model.Preferences.java
se.agile.model.TemporaryStorage.java
se.agile.model.Tuple.java
se.agile.model.WorkingFileListArrayAdapter.java
se.agile.navigator.NavDrawerItem.java
se.agile.navigator.NavDrawerListAdapter.java