BluetoothDevicesListActivity.java
Go to the documentation of this file.
00001 package com.riverlab.robotmanager.bluetooth;
00002 
00003 import android.app.Activity;
00004 import android.bluetooth.BluetoothAdapter;
00005 import android.bluetooth.BluetoothDevice;
00006 import android.bluetooth.BluetoothSocket;
00007 import android.content.Context;
00008 import android.content.Intent;
00009 import android.media.AudioManager;
00010 import android.os.Bundle;
00011 import android.os.Handler;
00012 import android.os.Message;
00013 import android.util.Log;
00014 import android.view.Menu;
00015 import android.view.MenuInflater;
00016 import android.view.MenuItem;
00017 import android.view.View;
00018 import android.view.WindowManager;
00019 import android.widget.AdapterView;
00020 
00021 import com.google.android.glass.media.Sounds;
00022 import com.google.android.glass.widget.CardScrollView;
00023 import com.riverlab.robotmanager.R;
00024 import com.riverlab.robotmanager.RobotManagerApplication;
00025 import com.riverlab.robotmanager.R.id;
00026 import com.riverlab.robotmanager.R.menu;
00027 
00028 import java.io.IOException;
00029 import java.io.InputStream;
00030 import java.io.OutputStream;
00031 import java.lang.reflect.InvocationTargetException;
00032 import java.lang.reflect.Method;
00033 import java.util.ArrayList;
00034 import java.util.List;
00035 import java.util.Set;
00036 
00037 public class BluetoothDevicesListActivity extends Activity implements AdapterView.OnItemClickListener {
00038 
00039         BluetoothAdapter mBluetoothAdapter;
00040         List<BluetoothDevice> mBondedDevices;
00041         CardScrollView mCardScrollView;
00042         BluetoothDevice mSelectedDevice;
00043         BluetoothDeviceCardScrollAdapter adapter;
00044         BluetoothSocket btSocket;
00045         RobotManagerApplication mApplication;
00046 
00047         @Override
00048         protected void onCreate(Bundle savedInstanceState) {
00049                 super.onCreate(savedInstanceState);
00050 
00051                 mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
00052 
00053                 mCardScrollView = new CardScrollView(this);
00054                 mCardScrollView.activate();
00055                 mCardScrollView.setOnItemClickListener(this);
00056                 mApplication = ((RobotManagerApplication) this.getApplication());
00057                 setContentView(mCardScrollView);
00058         }
00059 
00060         @Override
00061         protected void onResume() {
00062                 super.onResume();
00063 
00064                 Set<BluetoothDevice> devices = mBluetoothAdapter.getBondedDevices();
00065                 mBondedDevices = new ArrayList<BluetoothDevice>(devices);
00066                 adapter = new BluetoothDeviceCardScrollAdapter(this, mBondedDevices);
00067                 mCardScrollView.setAdapter(adapter);
00068                 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
00069         }
00070 
00071         @Override
00072         public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
00073                 mSelectedDevice = (BluetoothDevice) mCardScrollView.getItemAtPosition(position);
00074                 AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
00075                 audio.playSoundEffect(Sounds.TAP);
00076                 openOptionsMenu();
00077         }
00078 
00079         @Override
00080         public boolean onCreateOptionsMenu(Menu menu) {
00081                 MenuInflater inflater = getMenuInflater();
00082                 inflater.inflate(R.menu.device, menu);
00083 
00084                 return true;
00085         }
00086 
00087         @Override
00088         public boolean onMenuItemSelected(int featureId, MenuItem item) {
00089                 switch (item.getItemId()) {
00090                 case R.id.connectMenuItem:
00091                         //Connect to mSelectedDevice
00092                         
00093                         Handler connectedHandler = mApplication.getConnectedThreadHandler();
00094                         Message msg = connectedHandler.obtainMessage(ConnectedThread.CONNECT_MESSAGE, mSelectedDevice.getName());
00095                         connectedHandler.sendMessage(msg);
00096                         
00097                         long now = System.currentTimeMillis();
00098                         int threshold = 2000;
00099                         
00100                         while(!mApplication.getConnectionStatus() && System.currentTimeMillis() - now < threshold);
00101                         
00102                         if (mApplication.getConnectionStatus())
00103                         {
00104                                 Intent returnIntent = new Intent();
00105                                 returnIntent.putExtra("result", "Success");
00106                                 setResult(RESULT_OK,returnIntent);     
00107                                 finish();
00108                         } else
00109                         {       
00110                                 Intent returnIntent = new Intent();
00111                                 returnIntent.putExtra("result", "Failure");
00112                                 setResult(RESULT_OK,returnIntent);     
00113                                 finish();
00114                         }
00115                         return true;
00116                 default:
00117                         return super.onOptionsItemSelected(item);
00118                 }
00119         }
00120 
00121         
00122 }


google_glass_driver
Author(s): Nicholas Otero
autogenerated on Fri Aug 28 2015 10:51:44