Android Open Source - my-wallpaper Category Adapter






From Project

Back to project page my-wallpaper.

License

The source code is released under:

MIT License

If you think the Android project my-wallpaper 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 com.koonen.photostream;
//from  w  w w .  j  a  v a2s .co m
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.koonen.photostream.dao.Category;
import com.koonen.photostream.dao.CategoryDAO;

/**
 * 
 * @author Glick
 * 
 */
public class CategoryAdapter extends BaseAdapter {

  private Context context;
  private CategoryDAO categoryDAO;
  private List<Category> categories = null;
  private Map<Integer, Category> categoriesMap = null;

  private static final int MAX_SHOWED_TAGS = 4;

  public CategoryAdapter(Context context) {
    super();
    this.context = context;
    categoryDAO = new CategoryDAO();

    addAll();
  }

  @Override
  public int getCount() {
    return categories.size();
  }

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

  @Override
  public long getItemId(int position) {
    return categories.get(position).getId();
  }

  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflator = (LayoutInflater) context
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    LinearLayout layout = (LinearLayout) inflator.inflate(
        R.layout.list_row, null);
    TextView categoryNameView = (TextView) layout
        .findViewById(R.id.category_item_name);
    TextView categoryTagsView = (TextView) layout
        .findViewById(R.id.category_item_tags);
    Category category = (Category) getItem(position);
    categoryNameView.setText(category.getName());
    String tags = category.getTags();
    if (tags != null && !"".equals(tags)) {
      String[] tagsArray = tags.split(" ");
      StringBuilder showedTags = new StringBuilder();
      for (int i = 0; (i < tagsArray.length && i < MAX_SHOWED_TAGS); i++) {
        String tag = tagsArray[i];
        showedTags.append(tag);
        if (i + 1 < MAX_SHOWED_TAGS && i + 1 < tagsArray.length) {
          showedTags.append(",");
        }
      }
      categoryTagsView.setText(showedTags.toString());
    }

    return layout;
  }

  public void add(Category category) {
    categoryDAO.insert(category);
    categories.add(category);
    categoriesMap.put(category.getId(), category);
    notifyDataSetChanged();
  }

  private void addAll() {
    categories = categoryDAO.selectAll();
    categoriesMap = new HashMap<Integer, Category>();
    for (Category category : categories) {
      categoriesMap.put(category.getId(), category);
    }
  }

  public void remove(Category category) {
    categoryDAO.delete(category.getId());
    categoriesMap.remove(category.getId());
    categories.remove(category);
    notifyDataSetChanged();
  }

  public void update(Category category) {
    categoryDAO.update(category);
    Category categoryOld = categoriesMap.get(category.getId());
    int index = categories.indexOf(categoryOld);
    categories.get(index).update(category);
    categoriesMap.put(category.getId(), category);
    notifyDataSetChanged();
  }

  public boolean isUnmodifiable(Category category) {
    return categoryDAO.isUnmodifiable(category);
  }

  public Category getCategoryByName(String name) {
    return categoryDAO.selectByCategoryName(name);
  }

  public boolean isExistCategory(Category category) {
    return categoryDAO.isExistCategory(category);
  }
}




Java Source Code List

com.koonen.photostream.ActivityConstants.java
com.koonen.photostream.BootReceiver.java
com.koonen.photostream.CameraPreviewActivity.java
com.koonen.photostream.CategoryActivity.java
com.koonen.photostream.CategoryAdapter.java
com.koonen.photostream.CategoryEditActivity.java
com.koonen.photostream.CropWallpaperTask.java
com.koonen.photostream.Eula.java
com.koonen.photostream.FastBitmapDrawable.java
com.koonen.photostream.FileBrowserActivity.java
com.koonen.photostream.GridLayout.java
com.koonen.photostream.ImageUtilities.java
com.koonen.photostream.PhotostreamActivity.java
com.koonen.photostream.RotationService.java
com.koonen.photostream.ServiceConnector.java
com.koonen.photostream.SetWallpaperTask.java
com.koonen.photostream.UserTask.java
com.koonen.photostream.ViewPhotoActivity.java
com.koonen.photostream.WallPaperExecutor.java
com.koonen.photostream.api.FilePhoto.java
com.koonen.photostream.api.IPhotoService.java
com.koonen.photostream.api.Location.java
com.koonen.photostream.api.PhotoList.java
com.koonen.photostream.api.PhotoSize.java
com.koonen.photostream.api.Photo.java
com.koonen.photostream.api.ResponseHandler.java
com.koonen.photostream.api.ResponseParser.java
com.koonen.photostream.api.ServiceContext.java
com.koonen.photostream.api.ServiceException.java
com.koonen.photostream.api.ServiceManager.java
com.koonen.photostream.api.ServiceNetworkException.java
com.koonen.photostream.api.SourceType.java
com.koonen.photostream.api.Type.java
com.koonen.photostream.api.UserInfo.java
com.koonen.photostream.api.UserNotFoundException.java
com.koonen.photostream.api.User.java
com.koonen.photostream.api.flickr.Auth.java
com.koonen.photostream.api.flickr.FlickrConstants.java
com.koonen.photostream.api.flickr.FlickrService.java
com.koonen.photostream.api.flickr.Perms.java
com.koonen.photostream.dao.CategoryDAO.java
com.koonen.photostream.dao.CategoryList.java
com.koonen.photostream.dao.Category.java
com.koonen.photostream.dao.ImageDAO.java
com.koonen.photostream.dao.PhotoDAO.java
com.koonen.photostream.dao.PhotoUrlListProvider.java
com.koonen.photostream.dao.PhotoUrlList.java
com.koonen.photostream.dao.PhotoUrl.java
com.koonen.photostream.effects.EffectsApplier.java
com.koonen.photostream.effects.EffectsFactory.java
com.koonen.photostream.effects.Rotate3dAnimation.java
com.koonen.photostream.effects.TypeEffect.java
com.koonen.photostream.settings.BackgroundSource.java
com.koonen.photostream.settings.Network.java
com.koonen.photostream.settings.UserPreferences.java
com.koonen.photostream.settings.UserSettingsActivity.java
com.koonen.photostream.settings.WallpaperSettingMode.java
com.koonen.utils.ConfigurationReader.java
com.koonen.utils.DialogUtils.java
com.koonen.utils.Enumeration.java
com.koonen.utils.GroupUtils.java
com.koonen.utils.MailSender.java
com.koonen.utils.StatisticUtils.java
com.koonen.utils.StreamUtils.java