package net.sf.openrocket.android.events; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.support.v4.content.LocalBroadcastManager; public abstract class ChangeEventBroadcastReceiver extends BroadcastReceiver { public void register( Context context ) { LocalBroadcastManager.getInstance(context).registerReceiver( this, new IntentFilter(Events.MESSAGE_ACTION) ); } public void unregister( Context context ) { LocalBroadcastManager.getInstance(context).unregisterReceiver(this); } @Override public void onReceive(Context context, Intent intent) { int type = intent.getIntExtra(Events.TYPE, -1); switch( type ) { case Events.CONFIGS_CHANGED: doMotorConfigsChanged(); doSimsChanged(); break; case Events.SIMS_CHANGED: doSimsChanged(); break; case Events.SIM_COMPLETE: doSimComplete(); break; } } protected abstract void doSimComplete(); protected abstract void doSimsChanged(); protected abstract void doMotorConfigsChanged(); }