package de.tum.in.i22.uc.pdp.android;
import java.util.ArrayList;
import java.util.List;
import android.content.ComponentName;
import android.content.ServiceConnection;
import android.os.IBinder;
import android.os.Messenger;
public class RemoteServiceConnection implements ServiceConnection {
private Messenger messenger = null;
private boolean isBound = false;
private List<ServiceBoundListener> onServiceBound = new ArrayList<ServiceBoundListener>();
public RemoteServiceConnection() {
}
@Override
public void onServiceConnected(ComponentName component, IBinder binder) {
this.messenger = new Messenger(binder);
this.isBound = true;
for (ServiceBoundListener listener : onServiceBound)
listener.serviceBound(this);
}
@Override
public void onServiceDisconnected(ComponentName component) {
this.messenger = null;
this.isBound = false;
}
public boolean isBound() {
return isBound;
}
public Messenger getMessenger() {
return messenger;
}
public void addOnServiceBoundListener(ServiceBoundListener listener) {
this.onServiceBound.add(listener);
}
}