package com.seafile.seadroid2.cameraupload; import android.view.View; import android.widget.ImageView; import com.seafile.seadroid2.R; import com.seafile.seadroid2.data.SeafRepo; import com.seafile.seadroid2.ui.adapter.ReposAdapter; /** * Cloud library adapter */ public class CloudLibraryAdapter extends ReposAdapter { /** mark the checked repo */ public SeafRepo selectedRepo; public CloudLibraryAdapter(boolean onlyShowWritableRepos, String encryptedRepoId) { super(onlyShowWritableRepos, encryptedRepoId); } @Override protected int getChildLayout() { return R.layout.cuc_repo_list_item; } @Override protected int getChildTitleId() { return R.id.cuc_repo_list_item_title; } @Override protected int getChildSubTitleId() { return R.id.cuc_repo_list_item_subtitle; } @Override protected int getChildIconId() { return R.id.cuc_repo_list_item_icon; } @Override protected int getChildActionId() { return R.id.cuc_repo_list_item_action; } @Override protected SeafRepo getChildSeafRepo(int position) { return repos.get(position); } @Override public boolean isEnabled(int position) { // if repo is encrypted, disable it // because camera upload service doesn`t support it return !(repos.get(position).encrypted); } @Override protected void showRepoSelectedIcon(int position, ImageView imageView) { if (selectedRepo == null) { imageView.setVisibility(View.INVISIBLE); return; } if (selectedRepo.equals(repos.get(position))) imageView.setVisibility(View.VISIBLE); else imageView.setVisibility(View.INVISIBLE); } public void setSelectedRepo(SeafRepo repo) { selectedRepo = repo; } @Override public int getCount() { return repos.size(); } @Override public boolean isEmpty() { return repos.isEmpty(); } @Override public SeafRepo getItem(int position) { return repos.get(position); } @Override public long getItemId(int position) { return position; } }