Android Open Source - latrobe-datacapture-dir Bluetooth Activity






From Project

Back to project page latrobe-datacapture-dir.

License

The source code is released under:

MIT License

If you think the Android project latrobe-datacapture-dir listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.example.DataCaptureApp.testing;
/*from  w  ww  .j  a va2 s .c o  m*/
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.example.DataCaptureApp.services.BluetoothConnectivityService;
import com.example.DataCaptureApp.data.DataService;
import com.example.DataCaptureApp.data.FailedInitialisationException;
import com.example.DataCaptureApp.R;
import com.example.DataCaptureApp.data.Data;
import com.example.DataCaptureApp.data.Event;
import com.example.DataCaptureApp.data.IEventListener;
import com.example.DataCaptureApp.data.IEventSource;

/**
 * Created by Tom on 5/09/2014.
 */
public class BluetoothActivity extends Activity implements IEventListener
{
    public static final String TAG = "BluetoothActivity";
    private TextView mStatus;
    private BluetoothConnectivityService mService;
    private boolean mBound = false;
    private Data mServiceConfig;
    private boolean mIsMaster;

    private ServiceConnection mServiceConn = new ServiceConnection() {
        @Override
        public void onServiceConnected(ComponentName name, IBinder binder) {
            mBound = true;
            mService = (BluetoothConnectivityService)((DataService.LocalBinder)binder).getService();
            Log.d(TAG, "Bluetooth Service Connected");
            mService.setEventListener(BluetoothActivity.this);
            try
            {
                mService.start(mServiceConfig);
            }
            catch(FailedInitialisationException e)
            {
                setStatus("Failed to start Bluetooth service!");
                mBound = false;
                unbindService(this);
                mService = null;
            }
        }

        @Override
        public void onServiceDisconnected(ComponentName name) {
            mService = null;
            mBound = false;
        }
    };

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.bluetooth);
        mStatus = (TextView)findViewById(R.id.labelStatus);
        mServiceConfig = new Data();
    }

    @Override
    public void onStart()
    {
        super.onStart();
    }

    @Override
    public void onStop()
    {
        super.onStop();
    }

    private void setStatus(final String status)
    {
        this.runOnUiThread(new Runnable() {
            @Override
            public void run()
            {
                mStatus.setText(status);
            }
        });
    }

    public void onButtonMaster(View v)
    {
        Log.d(TAG, "Starting as Master");
        mIsMaster = true;
        mServiceConfig.set(BluetoothConnectivityService.CONFIG_ROLE, true);
        mServiceConfig.set(BluetoothConnectivityService.CONFIG_SLAVE_MAC, "00:90:64:44:57:90"); // LG P990 Bluetooth address!
        bindService(new Intent(this, BluetoothConnectivityService.class), mServiceConn, Context.BIND_AUTO_CREATE);
    }

    public void onButtonSlave(View v)
    {
        Log.d(TAG, "Starting as Slave");
        mIsMaster = false;
        mServiceConfig.set(BluetoothConnectivityService.CONFIG_ROLE, false);
        bindService(new Intent(this, BluetoothConnectivityService.class), mServiceConn, Context.BIND_AUTO_CREATE);
    }

    public void onButtonClose(View v)
    {
        Log.d(TAG, "Closing Connection");
        if(mBound)
        {
            mBound = false;
            mService.stop();
            unbindService(mServiceConn);
            mService = null;

        }
    }

    @Override
    public void onEvent(IEventSource source, Event event, Object arg)
    {
        if (source == mService)
        {
            setStatus(source + ": " + event);
            if (mIsMaster && event == Event.STARTED)
            {
                // Connected and we are master, write config
                String str = "Service Ready! Latency=" + mService.getLatency() + " Offset=" + mService.getTimeOffset();
                Toast.makeText(this, str, Toast.LENGTH_LONG).show();
            }
            if(event == Event.STOPPING)
            {
                if(mBound)
                {
                    mBound = false;
                    unbindService(mServiceConn);
                    mService = null;
                }
            }
        }
    }
}




Java Source Code List

com.example.DataCaptureApp.AdvConfigActivity.java
com.example.DataCaptureApp.ConfigActivity.java
com.example.DataCaptureApp.MasterActivity.java
com.example.DataCaptureApp.MasterService.java
com.example.DataCaptureApp.SlaveActivity.java
com.example.DataCaptureApp.SlaveService.java
com.example.DataCaptureApp.data.DataServiceConnection.java
com.example.DataCaptureApp.data.DataService.java
com.example.DataCaptureApp.data.DataTransform.java
com.example.DataCaptureApp.data.Data.java
com.example.DataCaptureApp.data.Event.java
com.example.DataCaptureApp.data.FailedInitialisationException.java
com.example.DataCaptureApp.data.IDataEventListener.java
com.example.DataCaptureApp.data.IDataListener.java
com.example.DataCaptureApp.data.IDataSource.java
com.example.DataCaptureApp.data.IDataTransform.java
com.example.DataCaptureApp.data.IEventListener.java
com.example.DataCaptureApp.data.IEventSource.java
com.example.DataCaptureApp.services.BluetoothConnectivityService.java
com.example.DataCaptureApp.services.BluetoothThread.java
com.example.DataCaptureApp.services.DataDbContract.java
com.example.DataCaptureApp.services.DataDbHelper.java
com.example.DataCaptureApp.services.DataStoreService.java
com.example.DataCaptureApp.services.HttpThread.java
com.example.DataCaptureApp.services.RemoteConnectivityService.java
com.example.DataCaptureApp.services.SensorSampleService.java
com.example.DataCaptureApp.services.SensorSampler.java
com.example.DataCaptureApp.testing.BluetoothActivity.java
com.example.DataCaptureApp.testing.DataStoreActivity.java
com.example.DataCaptureApp.testing.DataTester.java
com.example.DataCaptureApp.testing.IServiceListener.java
com.example.DataCaptureApp.testing.MainService.java
com.example.DataCaptureApp.testing.MasterTestActivity.java
com.example.DataCaptureApp.testing.RandomService.java
com.example.DataCaptureApp.testing.RemoteActivity.java
com.example.DataCaptureApp.testing.SensorSampleActivity.java
com.example.DataCaptureApp.testing.ServiceTestActivity.java
com.example.DataCaptureApp.testing.SlaveTestActivity.java
com.example.DataCaptureApp.testing.TestActivity.java
com.example.DataCaptureApp.transforms.AggregatorDataTransform.java
com.example.DataCaptureApp.transforms.ArithmeticDataTransform.java
com.example.DataCaptureApp.transforms.ArrayCollectDataTransform.java
com.example.DataCaptureApp.transforms.ArraySplitDataTransform.java
com.example.DataCaptureApp.transforms.DeserialiseDataTransform.java
com.example.DataCaptureApp.transforms.FieldCopyDataTransform.java
com.example.DataCaptureApp.transforms.FieldModifyDataTransform.java
com.example.DataCaptureApp.transforms.FieldRenameDataTransform.java
com.example.DataCaptureApp.transforms.IntervalAggregatorDataTransform.java
com.example.DataCaptureApp.transforms.PackDataTransform.java
com.example.DataCaptureApp.transforms.QuaternionDifferenceDataTransform.java
com.example.DataCaptureApp.transforms.RemoveDataTransform.java
com.example.DataCaptureApp.transforms.SetDataTransform.java
com.example.DataCaptureApp.transforms.UnpackDataTransform.java
com.example.DataCaptureApp.utils.BroadcastDataSource.java
com.example.DataCaptureApp.utils.ByteUtils.java
com.example.DataCaptureApp.utils.DataEventHandler.java
com.example.DataCaptureApp.utils.DataHandlerThread.java
com.example.DataCaptureApp.utils.JSONReader.java
com.example.DataCaptureApp.utils.Quaternion.java
com.example.DataCaptureApp.utils.SerialisationUtils.java