// 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.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
import com.tuenti.voice.core.data.Buddy;
import com.tuenti.voice.core.service.IBuddyService;
import com.tuenti.voice.core.service.IBuddyServiceCallback;
    };

// --------------------------- CONSTRUCTORS ---------------------------

    public BuddyCallback( final Activity activity )
    {
        mActivity = activity;
    }

// ------------------------ INTERFACE METHODS ------------------------

// --------------------- Interface IBuddyServiceCallback ---------------------

    @Override
    public void handleBuddyUpdated( Buddy[] buddies )
    {
    }

// -------------------------- OTHER METHODS --------------------------

    public void bind()
    {
        if ( !mServiceConnected )
        {
            mServiceConnected = true;
            Intent connectionIntent = new Intent( IBuddyService.class.getName() );
            mActivity.bindService( connectionIntent, mServiceConnection, Context.BIND_AUTO_CREATE );
        }
    }

// 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-aidl/src/main/java/com/tuenti/voice/core/BuddyCallback.java
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
import com.tuenti.voice.core.data.Buddy;
import com.tuenti.voice.core.service.IBuddyService;
import com.tuenti.voice.core.service.IBuddyServiceCallback;

    };

// --------------------------- CONSTRUCTORS ---------------------------

    public BuddyCallback( final Activity activity )
    {
        mActivity = activity;
    }

// ------------------------ INTERFACE METHODS ------------------------

// --------------------- Interface IBuddyServiceCallback ---------------------

    @Override
    public void handleBuddyUpdated( Buddy[] buddies )
    {
    }

// -------------------------- OTHER METHODS --------------------------

    public void bind()
    {
        if ( !mServiceConnected )
        {
            mServiceConnected = true;
            Intent connectionIntent = new Intent( IBuddyService.class.getName() );
            mActivity.bindService( connectionIntent, mServiceConnection, Context.BIND_AUTO_CREATE );
        }
    }

    public void onServiceConnected()