// Path: android/voice-client-core/src/main/java/com/tuenti/voice/core/XmppPresenceAvailable.java
// public enum XmppPresenceAvailable
// {
//     XMPP_PRESENCE_UNAVAILABLE,
//     XMPP_PRESENCE_AVAILABLE,
//     XMPP_PRESENCE_ERROR;
// 
// // ------------------------------ FIELDS ------------------------------
// 
//     private static final XmppPresenceAvailable[] values = XmppPresenceAvailable.values();
// 
// // -------------------------- STATIC METHODS --------------------------
// 
//     public static XmppPresenceAvailable fromInteger( int i )
//     {
//         return values[i];
//     }
// }
// 
// Path: android/voice-client-core/src/main/java/com/tuenti/voice/core/XmppPresenceShow.java
// public enum XmppPresenceShow
// {
//     XMPP_PRESENCE_CHAT,
//     XMPP_PRESENCE_DEFAULT,
//     XMPP_PRESENCE_AWAY,
//     XMPP_PRESENCE_XA,
//     XMPP_PRESENCE_DND;
// 
// // ------------------------------ FIELDS ------------------------------
// 
//     private static final XmppPresenceShow[] values = XmppPresenceShow.values();
// 
// // -------------------------- STATIC METHODS --------------------------
// 
//     public static XmppPresenceShow fromInteger( int i )
//     {
//         return values[i];
//     }
// }
// 
// Path: android/voice-client-core/src/main/java/com/tuenti/voice/core/data/Buddy.java
// public class Buddy
//     implements Parcelable
// {
// // ------------------------------ FIELDS ------------------------------
// 
//     public static final Creator<Buddy> CREATOR = new Creator<Buddy>()
//     {
//         public Buddy createFromParcel( Parcel in )
//         {
//             return new Buddy( in );
//         }
// 
//         public Buddy[] newArray( int size )
//         {
//             return new Buddy[size];
//         }
//     };
// 
//     private XmppPresenceAvailable available;
// 
//     private String nick;
// 
//     private String remoteJid;
// 
//     private XmppPresenceShow show;
// 
// // --------------------------- CONSTRUCTORS ---------------------------
// 
//     public Buddy()
//     {
//     }
// 
//     public Buddy( Parcel in )
//     {
//         nick = in.readString();
//         remoteJid = in.readString();
//         available = XmppPresenceAvailable.fromInteger( in.readInt() );
//         show = XmppPresenceShow.fromInteger( in.readInt() );
//     }
// 
// // --------------------- GETTER / SETTER METHODS ---------------------
// 
//     public XmppPresenceAvailable getAvailable()
//     {
//         return available;
//     }
// 
//     public void setAvailable( XmppPresenceAvailable available )
//     {
//         this.available = available;
//     }
// 
//     public String getNick()
//     {
//         return nick;
//     }
// 
//     public void setNick( String nick )
//     {
//         this.nick = nick;
//     }
// 
//     public String getRemoteJid()
//     {
//         return remoteJid;
//     }
// 
//     public void setRemoteJid( String remoteJid )
//     {
//         this.remoteJid = remoteJid;
//     }
// 
//     public XmppPresenceShow getShow()
//     {
//         return show;
//     }
// 
//     public void setShow( XmppPresenceShow show )
//     {
//         this.show = show;
//     }
// 
// // ------------------------ INTERFACE METHODS ------------------------
// 
// // --------------------- Interface Parcelable ---------------------
// 
//     @Override
//     public int describeContents()
//     {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel( Parcel out, int flags )
//     {
//         out.writeString( nick );
//         out.writeString( remoteJid );
//         out.writeInt( available.ordinal() );
//         out.writeInt( show.ordinal() );
//     }
// 
// // -------------------------- OTHER METHODS --------------------------
// 
//     public String getName()
//     {
//         if ( !TextUtils.isEmpty( nick ) )
//         {
//             return nick;
//         }
//         return remoteJid;
//     }
// }


import android.view.LayoutInflater;
import com.github.kevinsawicki.wishlist.SingleTypeAdapter;
import com.tuenti.voice.core.XmppPresenceAvailable;
import com.tuenti.voice.core.XmppPresenceShow;
import com.tuenti.voice.core.data.Buddy;
import com.tuenti.voice.example.R;
package com.tuenti.voice.example.ui.buddy;


public class BuddyListAdapter
    extends SingleTypeAdapter<Buddy>
{
// --------------------------- CONSTRUCTORS ---------------------------

    public BuddyListAdapter( final LayoutInflater inflater, final Buddy[] buddies )
    {
        super( inflater, R.layout.buddy_item );
        setItems( buddies );
    }

    @Override
    protected int[] getChildViewIds()
    {
        return new int[]{R.id.buddy_name, R.id.buddy_presence, R.id.buddy_status};
    }

    @Override
    protected void update( final int position, final Buddy buddy )
    {
        setText( 0, buddy.getName() );
        imageView( 1 ).setImageResource( getImageResource( buddy ) );
        setText( 2, getAvailable( buddy ) );
    }

    private int getAvailable( final Buddy buddy )
    {
        if ( XmppPresenceAvailable.XMPP_PRESENCE_AVAILABLE.equals( buddy.getAvailable() ) )
        {
// Path: android/voice-client-core/src/main/java/com/tuenti/voice/core/XmppPresenceAvailable.java
// public enum XmppPresenceAvailable
// {
//     XMPP_PRESENCE_UNAVAILABLE,
//     XMPP_PRESENCE_AVAILABLE,
//     XMPP_PRESENCE_ERROR;
// 
// // ------------------------------ FIELDS ------------------------------
// 
//     private static final XmppPresenceAvailable[] values = XmppPresenceAvailable.values();
// 
// // -------------------------- STATIC METHODS --------------------------
// 
//     public static XmppPresenceAvailable fromInteger( int i )
//     {
//         return values[i];
//     }
// }
// 
// Path: android/voice-client-core/src/main/java/com/tuenti/voice/core/XmppPresenceShow.java
// public enum XmppPresenceShow
// {
//     XMPP_PRESENCE_CHAT,
//     XMPP_PRESENCE_DEFAULT,
//     XMPP_PRESENCE_AWAY,
//     XMPP_PRESENCE_XA,
//     XMPP_PRESENCE_DND;
// 
// // ------------------------------ FIELDS ------------------------------
// 
//     private static final XmppPresenceShow[] values = XmppPresenceShow.values();
// 
// // -------------------------- STATIC METHODS --------------------------
// 
//     public static XmppPresenceShow fromInteger( int i )
//     {
//         return values[i];
//     }
// }
// 
// Path: android/voice-client-core/src/main/java/com/tuenti/voice/core/data/Buddy.java
// public class Buddy
//     implements Parcelable
// {
// // ------------------------------ FIELDS ------------------------------
// 
//     public static final Creator<Buddy> CREATOR = new Creator<Buddy>()
//     {
//         public Buddy createFromParcel( Parcel in )
//         {
//             return new Buddy( in );
//         }
// 
//         public Buddy[] newArray( int size )
//         {
//             return new Buddy[size];
//         }
//     };
// 
//     private XmppPresenceAvailable available;
// 
//     private String nick;
// 
//     private String remoteJid;
// 
//     private XmppPresenceShow show;
// 
// // --------------------------- CONSTRUCTORS ---------------------------
// 
//     public Buddy()
//     {
//     }
// 
//     public Buddy( Parcel in )
//     {
//         nick = in.readString();
//         remoteJid = in.readString();
//         available = XmppPresenceAvailable.fromInteger( in.readInt() );
//         show = XmppPresenceShow.fromInteger( in.readInt() );
//     }
// 
// // --------------------- GETTER / SETTER METHODS ---------------------
// 
//     public XmppPresenceAvailable getAvailable()
//     {
//         return available;
//     }
// 
//     public void setAvailable( XmppPresenceAvailable available )
//     {
//         this.available = available;
//     }
// 
//     public String getNick()
//     {
//         return nick;
//     }
// 
//     public void setNick( String nick )
//     {
//         this.nick = nick;
//     }
// 
//     public String getRemoteJid()
//     {
//         return remoteJid;
//     }
// 
//     public void setRemoteJid( String remoteJid )
//     {
//         this.remoteJid = remoteJid;
//     }
// 
//     public XmppPresenceShow getShow()
//     {
//         return show;
//     }
// 
//     public void setShow( XmppPresenceShow show )
//     {
//         this.show = show;
//     }
// 
// // ------------------------ INTERFACE METHODS ------------------------
// 
// // --------------------- Interface Parcelable ---------------------
// 
//     @Override
//     public int describeContents()
//     {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel( Parcel out, int flags )
//     {
//         out.writeString( nick );
//         out.writeString( remoteJid );
//         out.writeInt( available.ordinal() );
//         out.writeInt( show.ordinal() );
//     }
// 
// // -------------------------- OTHER METHODS --------------------------
// 
//     public String getName()
//     {
//         if ( !TextUtils.isEmpty( nick ) )
//         {
//             return nick;
//         }
//         return remoteJid;
//     }
// }


// Path: android/voice-client-example/src/main/java/com/tuenti/voice/example/ui/buddy/BuddyListAdapter.java
import android.view.LayoutInflater;
import com.github.kevinsawicki.wishlist.SingleTypeAdapter;
import com.tuenti.voice.core.XmppPresenceAvailable;
import com.tuenti.voice.core.XmppPresenceShow;
import com.tuenti.voice.core.data.Buddy;
import com.tuenti.voice.example.R;

package com.tuenti.voice.example.ui.buddy;


public class BuddyListAdapter
    extends SingleTypeAdapter<Buddy>
{
// --------------------------- CONSTRUCTORS ---------------------------

    public BuddyListAdapter( final LayoutInflater inflater, final Buddy[] buddies )
    {
        super( inflater, R.layout.buddy_item );
        setItems( buddies );
    }

    @Override
    protected int[] getChildViewIds()
    {
        return new int[]{R.id.buddy_name, R.id.buddy_presence, R.id.buddy_status};
    }

    @Override
    protected void update( final int position, final Buddy buddy )
    {
        setText( 0, buddy.getName() );
        imageView( 1 ).setImageResource( getImageResource( buddy ) );
        setText( 2, getAvailable( buddy ) );
    }

    private int getAvailable( final Buddy buddy )
    {
        if ( XmppPresenceAvailable.XMPP_PRESENCE_AVAILABLE.equals( buddy.getAvailable() ) )
        {
            if ( XmppPresenceShow.XMPP_PRESENCE_DND.equals( buddy.getShow() ) )