All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.example.picasso.SampleContactsAdapter Maven / Gradle / Ivy

/*
 * Copyright (C) 2013 The Android Open Source Project
 * Copyright (C) 2013 Square, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.example.picasso;

import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.support.v4.widget.CursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.QuickContactBadge;
import android.widget.TextView;
import com.squareup.picasso.Picasso;

import static android.provider.ContactsContract.Contacts;
import static com.example.picasso.SampleContactsActivity.ContactsQuery;

class SampleContactsAdapter extends CursorAdapter {
  private final LayoutInflater inflater;

  public SampleContactsAdapter(Context context) {
    super(context, null, 0);
    inflater = LayoutInflater.from(context);
  }

  @Override public View newView(Context context, Cursor cursor, ViewGroup viewGroup) {
    View itemLayout = inflater.inflate(R.layout.sample_contacts_activity_item, viewGroup, false);

    ViewHolder holder = new ViewHolder();
    holder.text1 = (TextView) itemLayout.findViewById(android.R.id.text1);
    holder.icon = (QuickContactBadge) itemLayout.findViewById(android.R.id.icon);

    itemLayout.setTag(holder);

    return itemLayout;
  }

  @Override public void bindView(View view, Context context, Cursor cursor) {
    Uri contactUri = Contacts.getLookupUri(cursor.getLong(ContactsQuery.ID),
        cursor.getString(ContactsQuery.LOOKUP_KEY));

    ViewHolder holder = (ViewHolder) view.getTag();
    holder.text1.setText(cursor.getString(ContactsQuery.DISPLAY_NAME));
    holder.icon.assignContactUri(contactUri);

    Picasso.with(context)
        .load(contactUri)
        .placeholder(R.drawable.contact_picture_placeholder)
        .tag(context)
        .into(holder.icon);
  }

  @Override public int getCount() {
    return getCursor() == null ? 0 : super.getCount();
  }

  private static class ViewHolder {
    TextView text1;
    QuickContactBadge icon;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy