package com.openvehicles.OVMS.ui; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.os.IBinder; import com.actionbarsherlock.app.SherlockFragmentActivity; import com.openvehicles.OVMS.api.ApiObservable; import com.openvehicles.OVMS.api.ApiService; import com.openvehicles.OVMS.api.ApiService.ApiBinder; public class ApiActivity extends SherlockFragmentActivity { private ApiService mApiService; @Override protected void onStart() { super.onStart(); bindService(new Intent(this, ApiService.class), mConnection, Context.BIND_AUTO_CREATE); } @Override protected void onStop() { if (mApiService != null) { unbindService(mConnection); mApiService = null; } super.onStop(); } public ApiService getService() { return mApiService; } private ServiceConnection mConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName className, IBinder service) { ApiBinder binder = (ApiBinder) service; mApiService = binder.getService(); ApiObservable.get().notifyOnBind(mApiService); } @Override public void onServiceDisconnected(ComponentName name) { mApiService = null; } }; }