Example usage for android.view View setTag

List of usage examples for android.view View setTag

Introduction

In this page you can find the example usage for android.view View setTag.

Prototype

public void setTag(final Object tag) 

Source Link

Document

Sets the tag associated with this view.

Usage

From source file:com.aniruddhc.acemusic.player.PlaylistEditorActivity.PlaylistEditorAlbumsMultiselectAdapter.java

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    final Cursor c = (Cursor) getItem(position);
    SongsListViewHolder holder = null;// ww w.  ja  v a 2  s. c  o m

    if (convertView == null) {

        convertView = LayoutInflater.from(mContext).inflate(R.layout.music_library_editor_albums_layout, parent,
                false);
        holder = new SongsListViewHolder();
        holder.image = (ImageView) convertView.findViewById(R.id.albumThumbnailMusicLibraryEditor);
        holder.title = (TextView) convertView.findViewById(R.id.albumNameMusicLibraryEditor);
        holder.checkBox = (CheckBox) convertView.findViewById(R.id.albumCheckboxMusicLibraryEditor);
        holder.subText = (TextView) convertView.findViewById(R.id.albumArtistNameMusicLibraryEditor);

        convertView.setTag(holder);
    } else {
        holder = (SongsListViewHolder) convertView.getTag();
    }

    final View finalConvertView = convertView;
    final String songId = c.getString(c.getColumnIndex(DBAccessHelper._ID));
    final String songArtist = c.getString(c.getColumnIndex(DBAccessHelper.SONG_ARTIST));
    final String songAlbum = c.getString(c.getColumnIndex(DBAccessHelper.SONG_ALBUM));
    final String songAlbumArtPath = c.getString(c.getColumnIndex(DBAccessHelper.SONG_ALBUM_ART_PATH));

    //Set the album's name and artist as the row's tag.
    convertView.setTag(R.string.album, songAlbum);
    convertView.setTag(R.string.artist, songArtist);

    holder.title.setTypeface(TypefaceHelper.getTypeface(mContext, "RobotoCondensed-Light"));
    holder.title.setPaintFlags(holder.title.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
    holder.subText.setTypeface(TypefaceHelper.getTypeface(mContext, "RobotoCondensed-Light"));
    holder.subText
            .setPaintFlags(holder.subText.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);

    //Set the song title.
    holder.title.setText(songAlbum);
    holder.subText.setText(songArtist);
    mApp.getImageLoader().displayImage(songAlbumArtPath, holder.image,
            PlaylistEditorActivity.displayImageOptions);

    //Check if the song's DB ID exists in the HashSet and set the appropriate checkbox status.
    if (PlaylistEditorActivity.songDBIdsList.contains(songId)) {
        holder.checkBox.setChecked(true);
        convertView.setBackgroundColor(0xCC0099CC);
    } else {
        convertView.setBackgroundColor(0x00000000);
        holder.checkBox.setChecked(false);
    }

    holder.checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton checkbox, boolean isChecked) {

            if (isChecked == true) {

                //Only receive inputs by the user and ignore any system-made changes to the checkbox state.
                if (checkbox.isPressed()) {
                    finalConvertView.setBackgroundColor(0xCC0099CC);
                    AsyncGetAlbumSongIds task = new AsyncGetAlbumSongIds(mContext, songAlbum, songArtist);
                    task.execute(new String[] { "ADD" });
                }

            } else if (isChecked == false) {

                //Only receive inputs by the user and ignore any system-made changes to the checkbox state.
                if (checkbox.isPressed()) {
                    finalConvertView.setBackgroundColor(0x00000000);
                    AsyncGetAlbumSongIds task = new AsyncGetAlbumSongIds(mContext, songAlbum, songArtist);
                    task.execute(new String[] { "REMOVE" });

                }

            }

        }

    });

    return convertView;
}

From source file:com.battlelancer.seriesguide.adapters.SearchResultsAdapter.java

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (!mDataValid) {
        throw new IllegalStateException("this should only be called when the cursor is valid");
    }/*w w w .j ava 2  s  .c  om*/
    if (!mCursor.moveToPosition(position)) {
        throw new IllegalStateException("couldn't move cursor to position " + position);
    }

    final ViewHolder viewHolder;

    if (convertView == null) {
        convertView = newView(mContext, mCursor, parent);

        viewHolder = new ViewHolder();
        viewHolder.showTitle = (TextView) convertView.findViewById(R.id.textViewShowTitle);
        viewHolder.episodeTitle = (TextView) convertView.findViewById(R.id.textViewEpisodeTitle);
        viewHolder.searchSnippet = (TextView) convertView.findViewById(R.id.textViewSearchSnippet);
        viewHolder.watchedStatus = (ImageView) convertView.findViewById(R.id.imageViewWatchedStatus);

        convertView.setTag(viewHolder);
    } else {
        viewHolder = (ViewHolder) convertView.getTag();
    }

    viewHolder.showTitle.setText(mCursor.getString(SearchQuery.SHOW_TITLE));
    viewHolder.watchedStatus.setImageResource(EpisodeTools.isWatched(mCursor.getInt(SearchQuery.WATCHED))
            ? Utils.resolveAttributeToResourceId(mContext.getTheme(), R.attr.drawableWatched)
            : Utils.resolveAttributeToResourceId(mContext.getTheme(), R.attr.drawableWatch));

    // ensure matched term is bold
    viewHolder.searchSnippet.setText(Html.fromHtml(mCursor.getString(SearchQuery.OVERVIEW)));

    // episode
    int number = mCursor.getInt(SearchQuery.NUMBER);
    int season = mCursor.getInt(SearchQuery.SEASON);
    String title = mCursor.getString(SearchQuery.TITLE);
    viewHolder.episodeTitle.setText(Utils.getNextEpisodeString(mContext, season, number, title));

    return convertView;
}

From source file:com.sahildave.snackbar.SnackBar.java

private void addSingleLineAction(String message, MessageType messageType) {
    View v = activity.getLayoutInflater().inflate(R.layout.usb_singleline_action, null);
    TextView mSnackMsgView = (TextView) v.findViewById(R.id.snackMessage);
    ImageView mSnackIcon = (ImageView) v.findViewById(R.id.snackIcon);
    Button mSnackPositiveButton = (Button) v.findViewById(R.id.snackPositiveButton);
    Button mSnackNegativeButton = (Button) v.findViewById(R.id.snackNegativeButton);

    mSnackMsgView.setText(message);//  w  w w . jav  a2  s  . com
    setSnackIcon(messageType, mSnackIcon);

    v.setTag(messageType);
    addToView(v);

    mSnackPositiveButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            rootLayout.startAnimation(getExitAnimation());
            updateAllSnackArray();
            new Handler().postDelayed(new Runnable() {
                public void run() {
                    rootLayout.clearAnimation();
                    for (View v : currentSnackList) {
                        rootLayout.removeView(v);
                    }
                    currentSnackList = new ArrayList<View>();
                    snackBarListener.positiveButtonClicked();
                }
            }, OUT_ANIMATION_DURATION);
        }
    });

    mSnackNegativeButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            snackBarListener.negativeButtonClicked();
        }
    });

}

From source file:com.aniruddhc.acemusic.player.BlacklistManagerActivity.BlacklistedAlbumsMultiselectAdapter.java

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    final Cursor c = (Cursor) getItem(position);
    SongsListViewHolder holder = null;/*from  www  .ja v  a2s . c  o m*/

    if (convertView == null) {

        convertView = LayoutInflater.from(mContext).inflate(R.layout.music_library_editor_albums_layout, parent,
                false);
        holder = new SongsListViewHolder();
        holder.image = (ImageView) convertView.findViewById(R.id.albumThumbnailMusicLibraryEditor);
        holder.title = (TextView) convertView.findViewById(R.id.albumNameMusicLibraryEditor);
        holder.checkBox = (CheckBox) convertView.findViewById(R.id.albumCheckboxMusicLibraryEditor);
        holder.subText = (TextView) convertView.findViewById(R.id.albumArtistNameMusicLibraryEditor);

        convertView.setTag(holder);
    } else {
        holder = (SongsListViewHolder) convertView.getTag();
    }

    final View finalConvertView = convertView;
    final String songId = c.getString(c.getColumnIndex(DBAccessHelper._ID));
    final String songArtist = c.getString(c.getColumnIndex(DBAccessHelper.SONG_ARTIST));
    final String songAlbum = c.getString(c.getColumnIndex(DBAccessHelper.SONG_ALBUM));
    final String songAlbumArtPath = c.getString(c.getColumnIndex(DBAccessHelper.SONG_ALBUM_ART_PATH));
    final String songBlacklistStatus = c.getString(c.getColumnIndex(DBAccessHelper.BLACKLIST_STATUS));

    //Set the album's name and artist as the row's tag.
    convertView.setTag(R.string.album, songAlbum);
    convertView.setTag(R.string.artist, songArtist);

    holder.title.setTypeface(TypefaceHelper.getTypeface(mContext, "RobotoCondensed-Light"));
    holder.title.setPaintFlags(holder.title.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
    holder.subText.setTypeface(TypefaceHelper.getTypeface(mContext, "RobotoCondensed-Light"));
    holder.subText
            .setPaintFlags(holder.subText.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);

    //Set the song title.
    holder.title.setText(songAlbum);
    holder.subText.setText(songArtist);
    mApp.getImageLoader().displayImage(songAlbumArtPath, holder.image,
            BlacklistManagerActivity.displayImageOptions);

    //Check if the song's DB ID exists in the HashSet and set the appropriate checkbox status.
    if (BlacklistManagerActivity.songIdBlacklistStatusPair.get(songId).equals("TRUE")) {
        holder.checkBox.setChecked(true);
        convertView.setBackgroundColor(0xCCFF4444);
    } else {
        convertView.setBackgroundColor(0x00000000);
        holder.checkBox.setChecked(false);
    }

    holder.checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton checkbox, boolean isChecked) {

            if (isChecked == true) {

                //Only receive inputs by the user and ignore any system-made changes to the checkbox state.
                if (checkbox.isPressed()) {
                    finalConvertView.setBackgroundColor(0xCCFF4444);
                    AsyncBlacklistAlbumTask task = new AsyncBlacklistAlbumTask(songAlbum, songArtist);
                    task.execute(new String[] { "ADD" });
                }

            } else if (isChecked == false) {

                //Only receive inputs by the user and ignore any system-made changes to the checkbox state.
                if (checkbox.isPressed()) {
                    finalConvertView.setBackgroundColor(0x00000000);
                    AsyncBlacklistAlbumTask task = new AsyncBlacklistAlbumTask(songAlbum, songArtist);
                    task.execute(new String[] { "REMOVE" });

                }

            }

        }

    });

    return convertView;
}

From source file:com.easemob.chatuidemo.adapter.NewFriendsMsgAdapter.java

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    final ViewHolder holder;
    if (convertView == null) {
        holder = new ViewHolder();
        convertView = View.inflate(context, R.layout.row_invite_msg, null);
        holder.avator = (ImageView) convertView.findViewById(R.id.avatar);
        holder.reason = (TextView) convertView.findViewById(R.id.message);
        holder.name = (TextView) convertView.findViewById(R.id.name);
        holder.status = (Button) convertView.findViewById(R.id.user_state);
        holder.groupContainer = (LinearLayout) convertView.findViewById(R.id.ll_group);
        holder.groupname = (TextView) convertView.findViewById(R.id.tv_groupName);
        // holder.time = (TextView) convertView.findViewById(R.id.time);
        convertView.setTag(holder);
    } else {//from  w w  w .java  2  s. c o  m
        holder = (ViewHolder) convertView.getTag();
    }

    String str1 = context.getResources().getString(R.string.Has_agreed_to_your_friend_request);
    String str2 = context.getResources().getString(R.string.agree);

    String str3 = context.getResources().getString(R.string.Request_to_add_you_as_a_friend);
    String str4 = context.getResources().getString(R.string.Apply_to_the_group_of);
    String str5 = context.getResources().getString(R.string.Has_agreed_to);
    String str6 = context.getResources().getString(R.string.Has_refused_to);
    final InviteMessage msg = getItem(position);
    if (msg != null) {
        if (msg.getGroupId() != null) { // ???
            holder.groupContainer.setVisibility(View.VISIBLE);
            holder.groupname.setText(msg.getGroupName());
        } else {
            holder.groupContainer.setVisibility(View.GONE);
        }

        holder.reason.setText(msg.getReason());
        holder.name.setText(msg.getFrom());
        // holder.time.setText(DateUtils.getTimestampString(new
        // Date(msg.getTime())));
        if (msg.getStatus() == InviteMesageStatus.BEAGREED) {
            holder.status.setVisibility(View.INVISIBLE);
            holder.reason.setText(str1);
        } else if (msg.getStatus() == InviteMesageStatus.BEINVITEED
                || msg.getStatus() == InviteMesageStatus.BEAPPLYED) {
            holder.status.setVisibility(View.VISIBLE);
            holder.status.setEnabled(true);
            holder.status.setBackgroundResource(android.R.drawable.btn_default);
            holder.status.setText(str2);
            if (msg.getStatus() == InviteMesageStatus.BEINVITEED) {
                if (msg.getReason() == null) {
                    // ?
                    holder.reason.setText(str3);
                }
            } else { //
                if (TextUtils.isEmpty(msg.getReason())) {
                    holder.reason.setText(str4 + msg.getGroupName());
                }
            }
            // 
            holder.status.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // ????
                    acceptInvitation(holder.status, msg);
                }
            });
        } else if (msg.getStatus() == InviteMesageStatus.AGREED) {
            holder.status.setText(str5);
            holder.status.setBackgroundDrawable(null);
            holder.status.setEnabled(false);
        } else if (msg.getStatus() == InviteMesageStatus.REFUSED) {
            holder.status.setText(str6);
            holder.status.setBackgroundDrawable(null);
            holder.status.setEnabled(false);
        }

        // ?
    }

    return convertView;
}

From source file:com.fastbootmobile.encore.app.adapters.PlaylistGridAdapter.java

/**
 * {@inheritDoc}/*ww w . j  a  v a 2s.  c  o  m*/
 */
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Context ctx = parent.getContext();
    assert ctx != null;

    View root = convertView;
    if (convertView == null) {
        // Create a new view (nothing to recycle)
        LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        root = inflater.inflate(R.layout.medium_card_two_lines, parent, false);
        assert root != null;

        ViewHolder holder = new ViewHolder();
        holder.vRoot = (ViewGroup) root;
        holder.ivCover = (AlbumArtImageView) root.findViewById(R.id.ivCover);
        holder.tvTitle = (TextView) root.findViewById(R.id.tvTitle);
        holder.tvSubTitle = (TextView) root.findViewById(R.id.tvSubTitle);
        holder.ivOfflineStatus = (ImageView) root.findViewById(R.id.ivOfflineStatus);

        root.setTag(holder);
    }

    // Fill in the fields
    final Playlist playlist = getItem(position);
    final ViewHolder tag = (ViewHolder) root.getTag();

    tag.playlist = playlist;

    if (playlist.isLoaded() || playlist.getName() != null) {
        tag.tvTitle.setText(playlist.getName());
        tag.tvSubTitle.setText(ctx.getResources().getQuantityString(R.plurals.songs_count,
                playlist.getSongsCount(), playlist.getSongsCount()));
        tag.ivCover.loadArtForPlaylist(playlist);

        tag.ivOfflineStatus.setVisibility(View.VISIBLE);
        switch (playlist.getOfflineStatus()) {
        case BoundEntity.OFFLINE_STATUS_NO:
            tag.ivOfflineStatus.setVisibility(View.GONE);
            break;

        case BoundEntity.OFFLINE_STATUS_DOWNLOADING:
            tag.ivOfflineStatus.setImageResource(R.drawable.ic_sync_in_progress);
            break;

        case BoundEntity.OFFLINE_STATUS_ERROR:
            tag.ivOfflineStatus.setImageResource(R.drawable.ic_sync_problem);
            break;

        case BoundEntity.OFFLINE_STATUS_PENDING:
            tag.ivOfflineStatus.setImageResource(R.drawable.ic_track_download_pending);
            break;

        case BoundEntity.OFFLINE_STATUS_READY:
            tag.ivOfflineStatus.setImageResource(R.drawable.ic_track_downloaded);
            break;
        }
    } else {
        tag.tvTitle.setText(R.string.loading);
        tag.tvSubTitle.setText(R.string.loading);
        tag.ivCover.setDefaultArt();
        tag.ivOfflineStatus.setVisibility(View.GONE);
    }

    return root;
}

From source file:com.licenta.android.licenseapp.contacts.GuardiansAdapter.java

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    final ViewHolder viewHolder;
    if (convertView == null) {
        convertView = inflater.inflate(R.layout.item_contact, parent, false);
        viewHolder = new ViewHolder();

        viewHolder.clickableArea = (LinearLayout) convertView.findViewById(R.id.clickable_area);
        viewHolder.contactIcon = (ImageView) convertView.findViewById(R.id.contact_icon);
        viewHolder.contactIconFb = (ProfilePictureView) convertView.findViewById(R.id.fb_contact_icon);
        viewHolder.contactName = (TextView) convertView.findViewById(R.id.contact_name);
        viewHolder.contactPhoneNo = (TextView) convertView.findViewById(R.id.contact_phone_no);
        viewHolder.contactEmail = (TextView) convertView.findViewById(R.id.contact_email);
        viewHolder.contactIsSelected = (CheckBox) convertView.findViewById(R.id.contact_is_selected);

        convertView.setTag(viewHolder);
    } else {//from ww w.  j av  a2 s  .  c  o m
        viewHolder = (ViewHolder) convertView.getTag();
    }

    final Contact item = realmResults.get(position);

    //String userId = "111034575957111";//"928327317237123";
    if (item.isFacebook()) {
        viewHolder.contactIconFb.setProfileId(item.getId());
        viewHolder.contactIcon.setVisibility(View.GONE);
    } else {
        viewHolder.contactIconFb.setVisibility(View.GONE);
    }
    viewHolder.contactName.setText(item.getName());
    viewHolder.contactPhoneNo.setText(item.getPhoneNumber());
    viewHolder.contactEmail.setText(item.getEmail());

    viewHolder.clickableArea.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (fragment instanceof GuardiansFragment) {
                ((GuardiansFragment) fragment).onListItemClick(fragment.getListView(), null, position, 0);
            }
        }
    });

    viewHolder.contactIsSelected.setChecked(item.isActive());
    viewHolder.contactIsSelected.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            realm.beginTransaction();
            item.setActive(viewHolder.contactIsSelected.isChecked());
            realm.commitTransaction();
        }
    });

    return convertView;
}

From source file:com.enadein.carlogbook.adapter.LogAdapter.java

@Override
public View newView(Context context, Cursor cursor, ViewGroup viewGroup) {
    LayoutInflater inflater = LayoutInflater.from(context);

    View listItem;

    int type = cursor.getInt(cursor.getColumnIndex(ProviderDescriptor.LogView.Cols.TYPE_LOG));

    if (type == ProviderDescriptor.Log.Type.FUEL) {
        listItem = inflater.inflate(R.layout.fuel_log_item, null);

        LogFuelHolder holder = new LogFuelHolder();
        holder.odometerView = (TextView) listItem.findViewById(R.id.odometer);
        holder.dateView = (TextView) listItem.findViewById(R.id.date);
        holder.fuelView = (TextView) listItem.findViewById(R.id.fuel);
        holder.fuelValueView = (TextView) listItem.findViewById(R.id.fuelValue);
        holder.rateView = (TextView) listItem.findViewById(R.id.rate);
        holder.priceTotal = (TextView) listItem.findViewById(R.id.priceTotal);
        holder.imgType = (ImageView) listItem.findViewById(R.id.imgType);

        listItem.setTag(holder);
    } else {//from  ww w  .j  a v  a 2 s  .  c  o m
        listItem = inflater.inflate(R.layout.log_item, null);
        LogHolder holder = new LogHolder();

        holder.odometerView = (TextView) listItem.findViewById(R.id.odometer);
        holder.dateView = (TextView) listItem.findViewById(R.id.date);
        holder.imgType = (ImageView) listItem.findViewById(R.id.imgType);
        holder.nameView = (TextView) listItem.findViewById(R.id.name);
        holder.typeView = (TextView) listItem.findViewById(R.id.type);
        holder.priceTotal = (TextView) listItem.findViewById(R.id.priceTotal);

        listItem.setTag(holder);
    }

    return listItem;
}

From source file:net.idlesoft.android.apps.github.adapters.RepositoriesListAdapter.java

@Override
public View doGetView(final int index, View convertView, final ViewGroup parent) {
    ViewHolder holder;/*from   w  ww  . j  a v a  2  s. co m*/
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.repository_list_item, null);
        holder = new ViewHolder();
        holder.repo_name = (TextView) convertView.findViewById(R.id.repository_list_item_name);
        holder.repo_owner = (TextView) convertView.findViewById(R.id.repository_list_item_owner);
        holder.repo_owner_label = (TextView) convertView.findViewById(R.id.repository_list_item_owner_label);
        holder.repo_description = (TextView) convertView.findViewById(R.id.repository_list_item_description);
        holder.repo_fork = (TextView) convertView.findViewById(R.id.repository_list_item_fork);
        holder.repo_watch_count = (TextView) convertView.findViewById(R.id.repository_list_item_watch_count);
        holder.repo_fork_count = (TextView) convertView.findViewById(R.id.repository_list_item_fork_count);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }
    try {
        final JSONObject object = (JSONObject) getData().get(index);
        String owner = "";
        owner = object.getString("owner");
        holder.repo_name.setText(object.getString("name"));
        holder.repo_owner.setText(owner);
        holder.repo_description.setText(object.getString("description"));
        holder.repo_fork_count.setText(object.getString("forks"));
        holder.repo_watch_count.setText(object.getString("watchers"));

        if (object.getBoolean("fork")) {
            holder.repo_fork.setText("(Fork) ");
        } else {
            holder.repo_fork.setText("");
        }
    } catch (final JSONException e) {
        holder.repo_owner.setVisibility(View.GONE);
        holder.repo_owner_label.setVisibility(View.GONE);
        holder.repo_description.setVisibility(View.GONE);
    }
    return convertView;
}

From source file:cc.softwarefactory.lokki.android.fragments.ContactsFragment.java

private void setListAdapter() {

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, R.layout.people_row_layout, peopleList) {

        ViewHolder holder;/*from ww  w.j  a va 2  s .  c om*/

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {

            if (convertView == null) {
                convertView = getActivity().getLayoutInflater().inflate(R.layout.people_row_layout, parent,
                        false);
                holder = new ViewHolder();
                holder.name = (TextView) convertView.findViewById(R.id.contact_name);
                holder.email = (TextView) convertView.findViewById(R.id.contact_email);
                holder.lastReport = (TextView) convertView.findViewById(R.id.last_report);
                holder.photo = (ImageView) convertView.findViewById(R.id.contact_photo);
                holder.checkICanSee = (CheckBox) convertView.findViewById(R.id.i_can_see);
                holder.checkCanSeeMe = (CheckBox) convertView.findViewById(R.id.can_see_me);
                convertView.setTag(holder);

            } else {
                holder = (ViewHolder) convertView.getTag();
                //holder.imageLoader.cancel();
            }

            String contactName = getItem(position);
            String email = mapping.get(contactName);

            AQuery aq = new AQuery(convertView);
            aq.id(holder.name).text(contactName);
            aq.id(holder.email).text(email);

            //aq.id(holder.photo).image(R.drawable.default_avatar);
            //aq.id(holder.photo).image(Utils.getDefaultAvatarInitials(contactName.substring(0, 1).toUpperCase() + contactName.substring(1, 2)));
            avatarLoader.load(email, holder.photo);

            aq.id(holder.lastReport).text(Utils.timestampText(timestamps.get(contactName)));
            aq.id(holder.checkCanSeeMe).checked(canSeeMe.contains(email)).tag(email);
            aq.id(holder.checkICanSee).tag(email);

            if (MainApplication.iDontWantToSee != null) {
                aq.id(holder.checkICanSee).checked(!MainApplication.iDontWantToSee.has(email));
                aq.id(holder.photo)
                        .clickable(!MainApplication.iDontWantToSee.has(email) && iCanSee.contains(email));

            } else {
                aq.id(holder.photo).clickable(iCanSee.contains(email));
                aq.id(holder.checkICanSee).checked(iCanSee.contains(email)).clickable(iCanSee.contains(email));
            }

            holder.position = position;
            //holder.imageLoader = new LoadPhotoAsync(position, holder);
            //holder.imageLoader.execute(contactName);

            if (!iCanSee.contains(email)) {
                aq.id(holder.checkICanSee).invisible();
            } else {
                aq.id(holder.checkICanSee).visible();
            }

            return convertView;
        }
    };

    aq.id(R.id.headers).visibility(View.VISIBLE);
    aq.id(R.id.contacts_list_view).adapter(adapter);
}