package com.talent.allshare.proxy;
import org.cybergarage.util.CommonLog;
import org.cybergarage.util.LogFactory;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.util.Log;
public class DeviceBrocastFactory {
private static final CommonLog log = LogFactory.createLog();
private DeviceChangeBrocastReceiver mReceiver;
private Context mContext;
public DeviceBrocastFactory(Context context){
mContext = context;
}
public void registerListener(IDeviceChangeListener listener){
if (mReceiver == null){
mReceiver = new DeviceChangeBrocastReceiver();
mContext.registerReceiver(mReceiver, new IntentFilter(ADD_DEVICES));
mContext.registerReceiver(mReceiver, new IntentFilter(REMOVE_DEVICES));
mContext.registerReceiver(mReceiver, new IntentFilter(CLEAR_DEVICES));
mReceiver.setListener(listener);
}
}
public void unRegisterListener(){
if (mReceiver != null){
mContext.unregisterReceiver(mReceiver);
mReceiver = null;
}
}
public static final String ADD_DEVICES = "com.talent.allshare.add_device";
public static final String REMOVE_DEVICES = "com.talent.allshare.remove_device";
public static final String REMOVE_EXTRA_FLAG = "com.talent.allshare.remove_extra_flag";
public static final String CLEAR_DEVICES = "com.talent.allshare.clear_device";
public static final String SEARCH_DEVICES_FAIL = "com.talent.allshare.search_devices_fail";
public static void sendAddBrocast(Context context){
log.e("sendAddBrocast");
Intent intent = new Intent(ADD_DEVICES);
context.sendBroadcast(intent);
}
public static void sendRemoveBrocast(Context context, boolean isSelected){
log.e("sendRemoveBrocast isSelected = " + isSelected);
Intent intent = new Intent(REMOVE_DEVICES);
intent.putExtra(REMOVE_EXTRA_FLAG, isSelected);
context.sendBroadcast(intent);
}
public static void sendClearBrocast(Context context){
log.e("sendClearBrocast");
Intent intent = new Intent(CLEAR_DEVICES);
intent.putExtra(REMOVE_EXTRA_FLAG, true);
context.sendBroadcast(intent);
}
public static void sendSearchDeviceFailBrocast(Context context){
log.e("sendSearchDeviceFailBrocast");
Intent intent = new Intent(SEARCH_DEVICES_FAIL);
context.sendBroadcast(intent);
}
}