Changeset 8e8266b in orbit for android


Ignore:
Timestamp:
03/04/13 15:04:30 (7 years ago)
Author:
Steve Castellotti <sc@…>
Branches:
master, RawEEG, Raw_EEG_Plot, Servo, Tab_Interface, pyramid
Children:
a86d057
Parents:
34ba659
Message:
Location:
android
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • android/AndroidManifest.xml

    r34ba659 r8e8266b  
    1212    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
    1313 
    14 <!--    <uses-feature android:name="android.hardware.usb.host" /> --> 
     14    <!-- <uses-feature android:name="android.hardware.usb.host" /> --> 
    1515 
    1616    <application 
     
    2727                <category android:name="android.intent.category.LAUNCHER" /> 
    2828            </intent-filter> 
    29 <!--            <intent-filter> --> 
    30 <!--                <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> --> 
    31 <!--            </intent-filter> --> 
     29            <!-- <intent-filter> --> 
     30            <!-- <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> --> 
     31            <!-- </intent-filter> --> 
    3232 
    33 <!--             <meta-data --> 
    34 <!--                 android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" --> 
    35 <!--                 android:resource="@xml/device_filter" /> --> 
     33 
     34            <!-- <meta-data --> 
     35            <!-- android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" --> 
     36            <!-- android:resource="@xml/device_filter" /> --> 
    3637        </activity> 
     38 
     39        <service android:name=".AudioService" /> 
    3740    </application> 
    3841 
  • android/src/info/puzzlebox/orbit/OrbitActivity.java

    r34ba659 r8e8266b  
    2929import android.os.Bundle; 
    3030import android.os.Handler; 
     31import android.os.IBinder; 
    3132import android.os.Message; 
    3233import android.annotation.SuppressLint; 
    3334import android.app.Activity; 
    3435import android.bluetooth.BluetoothAdapter; 
     36import android.content.ComponentName; 
     37import android.content.Context; 
     38import android.content.Intent; 
     39import android.content.IntentFilter; 
     40import android.content.ServiceConnection; 
     41import android.content.pm.ActivityInfo; 
    3542//import android.bluetooth.BluetoothDevice; 
    3643//import android.content.Context; 
     
    4249import android.util.Log; 
    4350import android.view.Gravity; 
     51import android.view.Menu; 
     52import android.view.MenuItem; 
    4453import android.view.View; 
    4554import android.widget.Button; 
     55import android.widget.CheckBox; 
    4656import android.widget.ProgressBar; 
     57import android.widget.RadioButton; 
     58import android.widget.RadioGroup; 
    4759import android.widget.SeekBar; 
    4860import android.widget.TextView; 
    4961import android.widget.Toast; 
     62//import android.support.v4.app.NavUtils; 
    5063//import android.text.Layout; 
    5164import android.text.method.ScrollingMovementMethod; 
     
    7487 
    7588        /** 
     89         * AudioService 
     90         */ 
     91        IntentFilter intentFilter; 
     92        private AudioService serviceBinder; 
     93        Intent orbitIntent; 
     94        SeekBar seekBarThrottle; 
     95        SeekBar seekBarYaw; 
     96        SeekBar seekBarPitch; 
     97        CheckBox checkBoxFlip; 
     98        RadioGroup radioGroupChannel; 
     99 
     100        RadioButton radioButtonChannelA; 
     101        RadioButton radioButtonChannelB; 
     102        RadioButton radioButtonChannelC; 
     103 
     104 
     105        /** 
    76106         * Logging 
    77107         */ 
    78108        /** set to "false" for production releases */ 
    79         //      boolean DEBUG = true; 
    80         boolean DEBUG = false; 
     109        boolean DEBUG = true; 
     110        //      boolean DEBUG = false; 
    81111        String TAG = "OrbitActivity"; 
    82112 
     
    121151 
    122152        /** 
    123          * Neurosky ThinkGear Device 
     153         * NeuroSky ThinkGear Device 
    124154         */ 
    125155        TGDevice tgDevice; 
     
    222252                seekBarMeditation = (SeekBar)findViewById(R.id.seekBarMeditation); 
    223253                seekBarMeditation.setOnSeekBarChangeListener(this); 
     254 
     255 
     256                /** 
     257                 * AudioService 
     258                 */ 
     259 
     260                seekBarThrottle = (SeekBar)findViewById(R.id.seekBarThrottle); 
     261                seekBarThrottle.setOnSeekBarChangeListener(this); 
     262 
     263                seekBarYaw = (SeekBar)findViewById(R.id.seekBarYaw); 
     264                seekBarYaw.setOnSeekBarChangeListener(this); 
     265 
     266                seekBarPitch = (SeekBar)findViewById(R.id.seekBarPitch); 
     267                seekBarPitch.setOnSeekBarChangeListener(this); 
     268 
     269                orbitIntent = new Intent(OrbitActivity.this, AudioService.class); 
     270                bindService(orbitIntent, connection, Context.BIND_AUTO_CREATE); 
     271 
     272                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
     273 
     274                checkBoxFlip = (CheckBox)findViewById(R.id.checkBoxFlip); 
     275 
     276                radioGroupChannel = (RadioGroup)findViewById(R.id.radioGroupChannel); 
     277                radioButtonChannelA = (RadioButton)findViewById(R.id.radioA); 
     278                radioButtonChannelB = (RadioButton)findViewById(R.id.radioB); 
     279                radioButtonChannelC = (RadioButton)findViewById(R.id.radioC);            
     280                radioButtonChannelA.setId(1); 
     281                radioButtonChannelB.setId(0); 
     282                radioButtonChannelC.setId(2); 
     283                radioGroupChannel.check(1); 
     284 
    224285 
    225286                tv = (TextView)findViewById(R.id.textViewDebugConsole); 
     
    356417 
    357418 
     419        //      @Override 
     420        //      public boolean onCreateOptionsMenu(Menu menu) { 
     421        //              getMenuInflater().inflate(R.menu.activity_main, menu); 
     422        //              return true; 
     423        //      } 
     424        // 
     425        // 
     426        //      @Override 
     427        //      public boolean onOptionsItemSelected(MenuItem item) { 
     428        //              switch (item.getItemId()) { 
     429        //              case android.R.id.home: 
     430        //                      NavUtils.navigateUpFromSameTask(this); 
     431        //                      return true; 
     432        //              } 
     433        //              return super.onOptionsItemSelected(item); 
     434        //      } 
     435 
     436 
    358437        private void appendTextAndScroll(String text) { 
    359438 
     
    425504 
    426505                /** 
    427                  * Method required by SeekBar.OnSeekBarChangeListener 
    428                  */ 
     506                 * Update AudioService.command after moving a seekBar. 
     507                 */ 
     508                Integer[] command =  {seekBarThrottle.getProgress(), 
     509                                seekBarYaw.getProgress(), 
     510                                seekBarPitch.getProgress(), 
     511                                1}; 
     512                serviceBinder.command = command; 
     513 
    429514 
    430515                //appendTextAndScroll(getString(R.string.seekbar_tracking_off)); 
     
    822907 
    823908                /** Getting the user sound settings */ 
    824                 AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 
    825                 float actualVolume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
    826                 float maxVolume = (float) audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 
    827                 float volume = actualVolume / maxVolume; 
    828                 /** Is the sound loaded already? */ 
    829                 if (loaded) { 
    830                         soundPool.play(soundID, volume, volume, 1, 0, 1f); 
    831                         if (DEBUG) 
    832                                 Log.v(TAG, "Played sound"); 
     909                //              AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE); 
     910                //              float actualVolume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
     911                //              float maxVolume = (float) audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 
     912                //              float volume = actualVolume / maxVolume; 
     913                //              /** Is the sound loaded already? */ 
     914                //              if (loaded) { 
     915                //                      soundPool.play(soundID, volume, volume, 1, 0, 1f); 
     916                //                      if (DEBUG) 
     917                //                              Log.v(TAG, "Played sound"); 
     918                //              } 
     919 
     920 
     921                /** 
     922                 * Generate signal on the fly 
     923                 */ 
     924 
     925                if (serviceBinder != null) { 
     926                        serviceBinder.ifFlip = checkBoxFlip.isChecked(); //if checked then flip 
     927                        int channel = radioGroupChannel.getCheckedRadioButtonId(); 
     928                        serviceBinder.loopNumberWhileMindControl = 4615; // about 10 minutes     
     929                        serviceBinder.channel = channel; 
     930                        startService(new Intent (OrbitActivity.this, AudioService.class)); 
    833931                } 
    834932 
     
    842940                 */ 
    843941 
    844                 if (soundPool != null) { 
    845                         try { 
    846                                 soundPool.stop(soundID); 
    847                         } catch (Exception e) { 
    848                                 // TODO Auto-generated catch block 
    849                                 e.printStackTrace(); 
    850                         } 
    851                 } 
     942                //              if (soundPool != null) { 
     943                //                      try { 
     944                //                              soundPool.stop(soundID); 
     945                //                      } catch (Exception e) { 
     946                //                              // TODO Auto-generated catch block 
     947                //                              e.printStackTrace(); 
     948                //                      } 
     949                //              } 
     950 
     951 
     952                /** 
     953                 * stop AudioTrack as well as destroy service. 
     954                 */ 
     955                if (serviceBinder != null) { 
     956                        serviceBinder.track.stop(); 
     957                        stopService(new Intent(getBaseContext(),AudioService.class)); 
     958                } 
     959 
    852960 
    853961        } // stopControl 
     
    9531061 
    9541062 
     1063        public void demoStop(View view) { 
     1064                stopTest(view); 
     1065        } // demoStop 
     1066 
     1067 
     1068        public void testFly(View view) { 
     1069                if (serviceBinder != null) { 
     1070                        serviceBinder.ifFlip = checkBoxFlip.isChecked(); // if checked then flip 
     1071                        int channel = radioGroupChannel.getCheckedRadioButtonId(); 
     1072                        serviceBinder.channel = channel; 
     1073                        serviceBinder.loopNumberWhileMindControl = 20; 
     1074                        startService(new Intent (OrbitActivity.this, AudioService.class)); 
     1075                } 
     1076        } // testFly 
     1077 
     1078 
     1079        public void stopTest(View view) { 
     1080                if (serviceBinder != null) { 
     1081                        serviceBinder.track.stop(); 
     1082                        stopService(new Intent(getBaseContext(),AudioService.class)); 
     1083                } 
     1084        } //stopTest 
     1085 
     1086 
     1087        private ServiceConnection connection = new ServiceConnection() { 
     1088 
     1089                public void onServiceDisconnected(ComponentName name) { 
     1090                        // TODO Auto-generated method stub 
     1091                        serviceBinder.releasetrack(); 
     1092                        serviceBinder = null; 
     1093                } 
     1094 
     1095                public void onServiceConnected(ComponentName name, IBinder service) { 
     1096                        // TODO Auto-generated method stub 
     1097                        serviceBinder = ((AudioService.OrbitBinder)service).getService(); 
     1098                } 
     1099        }; 
     1100 
     1101 
    9551102} // MainActivity 
Note: See TracChangeset for help on using the changeset viewer.