Changeset a86d057 in orbit


Ignore:
Timestamp:
03/04/13 16:58:33 (7 years ago)
Author:
Steve Castellotti <sc@…>
Branches:
master, RawEEG, Raw_EEG_Plot, Servo, Tab_Interface, pyramid
Children:
a546cc3
Parents:
8e8266b
Message:
  • Advanced UI for 1.2 release prepared
Location:
android
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • android/res/layout/activity_main.xml

    r34ba659 ra86d057  
    55    android:orientation="vertical" > 
    66 
    7     <!-- <Button --> 
    8     <!-- android:id="@+id/toggle_title" --> 
    9     <!-- android:layout_width="wrap_content" --> 
    10     <!-- android:layout_height="wrap_content" --> 
    11     <!-- android:layout_gravity="center" --> 
    12     <!-- android:text="@string/toggle_title" /> --> 
    13  
    147    <TextView 
    158        android:id="@+id/textViewLabelAttention" 
     
    7063 
    7164    <TextView 
    72         android:id="@+id/textViewThrottle" 
    73         android:layout_width="wrap_content" 
    74         android:layout_height="wrap_content" 
    75         android:text="@string/textview_throttle" /> 
    76  
    77     <SeekBar 
    78         android:id="@+id/seekBarThrottle" 
    79         android:layout_width="fill_parent" 
    80         android:layout_height="wrap_content" 
    81         android:max="127" 
    82         android:progress="80" /> 
    83  
    84     <TextView 
    85         android:id="@+id/textViewYaw" 
    86         android:layout_width="wrap_content" 
    87         android:layout_height="wrap_content" 
    88         android:text="@string/textview_yaw" /> 
    89  
    90     <SeekBar 
    91         android:id="@+id/seekBarYaw" 
    92         android:layout_width="fill_parent" 
    93         android:layout_height="wrap_content" 
    94         android:max="127" 
    95         android:progress="78" /> 
    96  
    97     <TextView 
    98         android:id="@+id/textViewPitch" 
    99         android:layout_width="wrap_content" 
    100         android:layout_height="wrap_content" 
    101         android:text="@string/textview_pitch" /> 
    102  
    103     <SeekBar 
    104         android:id="@+id/seekBarPitch" 
    105         android:layout_width="fill_parent" 
    106         android:layout_height="wrap_content" 
    107         android:max="63" 
    108         android:progress="31" /> 
     65        android:id="@+id/textViewLabelPower" 
     66        android:layout_width="wrap_content" 
     67        android:layout_height="wrap_content" 
     68        android:text="@string/label_power" 
     69        android:textAppearance="?android:attr/textAppearanceLarge" /> 
     70 
     71    <ProgressBar 
     72        android:id="@+id/progressBarPower" 
     73        style="?android:attr/progressBarStyleHorizontal" 
     74        android:layout_width="match_parent" 
     75        android:layout_height="wrap_content" /> 
     76 
     77    <View 
     78        android:layout_width="match_parent" 
     79        android:layout_height="10dp" > 
     80    </View> 
    10981 
    11082    <LinearLayout 
     83        android:id="@+id/layoutControl" 
    11184        android:layout_width="fill_parent" 
    11285        android:layout_height="wrap_content" 
     
    11992 
    12093        <Button 
    121             android:id="@+id/button1" 
     94            android:id="@+id/buttonConnect" 
    12295            android:layout_width="wrap_content" 
    12396            android:layout_height="wrap_content" 
     
    12699 
    127100        <Button 
    128             android:id="@+id/btnTestFly" 
     101            android:id="@+id/buttonTestFly" 
    129102            android:layout_width="wrap_content" 
    130103            android:layout_height="wrap_content" 
     
    133106 
    134107        <Button 
    135             android:id="@+id/btnStopTest" 
     108            android:id="@+id/buttonStopTest" 
    136109            android:layout_width="wrap_content" 
    137110            android:layout_height="wrap_content" 
     
    144117        </View> 
    145118 
     119        <CheckBox 
     120            android:id="@+id/checkBoxAdvancedOptions" 
     121            android:layout_width="wrap_content" 
     122            android:layout_height="wrap_content" 
     123            android:onClick="onCheckBoxAdvancedOptionsClicked" 
     124            android:text="@string/checkbox_advanced_options" /> 
     125    </LinearLayout> 
     126 
     127    <LinearLayout 
     128        android:id="@+id/layoutAudioService" 
     129        android:layout_width="fill_parent" 
     130        android:layout_height="wrap_content" 
     131        android:orientation="vertical" > 
     132 
     133        <TextView 
     134            android:id="@+id/textViewThrottle" 
     135            android:layout_width="wrap_content" 
     136            android:layout_height="wrap_content" 
     137            android:text="@string/textview_throttle" /> 
     138 
     139        <SeekBar 
     140            android:id="@+id/seekBarThrottle" 
     141            android:layout_width="fill_parent" 
     142            android:layout_height="wrap_content" 
     143            android:max="127" 
     144            android:progress="80" /> 
     145 
     146        <TextView 
     147            android:id="@+id/textViewYaw" 
     148            android:layout_width="wrap_content" 
     149            android:layout_height="wrap_content" 
     150            android:text="@string/textview_yaw" /> 
     151 
     152        <SeekBar 
     153            android:id="@+id/seekBarYaw" 
     154            android:layout_width="fill_parent" 
     155            android:layout_height="wrap_content" 
     156            android:max="127" 
     157            android:progress="78" /> 
     158 
     159        <TextView 
     160            android:id="@+id/textViewPitch" 
     161            android:layout_width="wrap_content" 
     162            android:layout_height="wrap_content" 
     163            android:text="@string/textview_pitch" /> 
     164 
     165        <SeekBar 
     166            android:id="@+id/seekBarPitch" 
     167            android:layout_width="fill_parent" 
     168            android:layout_height="wrap_content" 
     169            android:max="63" 
     170            android:progress="31" /> 
     171    </LinearLayout> 
     172 
     173    <LinearLayout 
     174        android:id="@+id/layoutAdvancedOptions" 
     175        android:layout_width="fill_parent" 
     176        android:layout_height="wrap_content" 
     177        android:orientation="horizontal" > 
     178 
     179        <View 
     180            android:layout_width="10dp" 
     181            android:layout_height="0dp" > 
     182        </View> 
     183 
     184        <CheckBox 
     185            android:id="@+id/checkBoxGenerateAudio" 
     186            android:layout_width="wrap_content" 
     187            android:layout_height="wrap_content" 
     188            android:onClick="onCheckBoxGenerateAudioClicked" 
     189            android:text="@string/checkbox_generate_audio" 
     190            android:checked="true" /> 
     191 
     192        <View 
     193            android:layout_width="10dp" 
     194            android:layout_height="0dp" > 
     195        </View> 
     196 
     197        <CheckBox 
     198            android:id="@+id/checkBoxInvertControlSignal" 
     199            android:layout_width="wrap_content" 
     200            android:layout_height="wrap_content" 
     201            android:onClick="onCheckBoxInvertControlSignalClicked" 
     202            android:text="@string/checkbox_invert_control_signal" /> 
     203 
     204        <View 
     205            android:layout_width="10dp" 
     206            android:layout_height="0dp" > 
     207        </View> 
     208 
    146209        <RadioGroup 
    147210            android:id="@+id/radioGroupChannel" 
     
    154217                android:layout_width="wrap_content" 
    155218                android:layout_height="wrap_content" 
    156                 android:text="@string/textViewChannel" /> 
     219                android:text="@string/text_view_channel" /> 
    157220 
    158221            <RadioButton 
     
    174237                android:text="@string/radio_c" /> 
    175238        </RadioGroup> 
     239 
     240        <View 
     241            android:layout_width="10dp" 
     242            android:layout_height="0dp" > 
     243        </View> 
    176244    </LinearLayout> 
    177245 
     
    180248        android:layout_width="wrap_content" 
    181249        android:layout_height="wrap_content" 
    182         android:contentDescription="@string/imageDescriptionStatus" 
     250        android:contentDescription="@string/image_description_status" 
    183251        android:src="@+raw/status_default" /> 
    184  
    185     <CheckBox 
    186         android:id="@+id/checkBoxGenerateAudio" 
    187         android:layout_width="wrap_content" 
    188         android:layout_height="wrap_content" 
    189         android:text="@string/checkbox_generate_audio" /> 
    190  
    191     <CheckBox 
    192         android:id="@+id/checkBoxFlip" 
    193         android:layout_width="wrap_content" 
    194         android:layout_height="wrap_content" 
    195         android:text="@string/checkbox_flip" /> 
    196252 
    197253    <ScrollView 
  • android/res/values/strings.xml

    r34ba659 ra86d057  
    1818    <string name="button_test_fly">Test Flight</string> 
    1919    <string name="button_stop_test">Stop Test</string> 
    20     <string name="textViewChannel">Channel</string> 
     20    <string name="text_view_channel">Channel</string> 
    2121    <string name="radio_a">A</string> 
    2222    <string name="radio_b">B</string> 
    2323    <string name="radio_c">C</string> 
     24    <string name="checkbox_advanced_options">Advanced Options</string> 
    2425    <string name="checkbox_generate_audio">Generate Control Signal</string> 
    25     <string name="checkbox_flip">Invert Control Signal</string> 
     26    <string name="checkbox_invert_control_signal">Invert Control Signal</string> 
    2627    <string name="textview_throttle">Throttle</string> 
    2728    <string name="textview_yaw">Yaw</string> 
    2829    <string name="textview_pitch">Pitch</string> 
    29     <string name="imageDescriptionStatus">Status</string> 
     30    <string name="image_description_status">Status</string> 
    3031    <string name="application_title">Puzzlebox Orbit</string> 
    3132    <string name="alternate_title">Settings</string> 
  • android/src/info/puzzlebox/orbit/AudioService.java

    r8e8266b ra86d057  
    99import android.os.Binder; 
    1010import android.os.IBinder; 
    11 import android.widget.Toast; 
     11//import android.widget.Toast; 
    1212 
    1313public class AudioService extends Service{ 
  • android/src/info/puzzlebox/orbit/OrbitActivity.java

    r8e8266b ra86d057  
    44 * Puzzlebox Orbit 
    55 * 
    6  * Copyright Puzzlebox Productions, LLC (2012) 
     6 * Copyright Puzzlebox Productions, LLC (2012-2013) 
    77 * 
    88 * This code is released under the GNU Public License (GPL) version 2 
     
    1414 *       support commented out by default throughout this source file. 
    1515 */ 
    16  
    17 //import java.io.IOException; 
    18 //import java.util.ArrayList; 
    19 //import java.util.Arrays; 
    20 //import java.util.Set; 
    21 //import java.util.concurrent.ExecutorService; 
    22 //import java.util.concurrent.Executors; 
    2316 
    2417import android.media.AudioFormat; 
     
    4033import android.content.ServiceConnection; 
    4134import android.content.pm.ActivityInfo; 
    42 //import android.bluetooth.BluetoothDevice; 
    43 //import android.content.Context; 
    4435import android.graphics.Color; 
    4536import android.graphics.drawable.ClipDrawable; 
     
    4940import android.util.Log; 
    5041import android.view.Gravity; 
    51 import android.view.Menu; 
    52 import android.view.MenuItem; 
    5342import android.view.View; 
     43import android.view.Window; 
    5444import android.widget.Button; 
    5545import android.widget.CheckBox; 
     46import android.widget.ImageView; 
     47import android.widget.LinearLayout; 
    5648import android.widget.ProgressBar; 
    5749import android.widget.RadioButton; 
     
    6052import android.widget.TextView; 
    6153import android.widget.Toast; 
    62 //import android.support.v4.app.NavUtils; 
    63 //import android.text.Layout; 
    6454import android.text.method.ScrollingMovementMethod; 
    6555 
     
    7767         */ 
    7868        ProgressBar progressBarAttention; 
     69        SeekBar seekBarAttention; 
    7970        ProgressBar progressBarMeditation; 
     71        SeekBar seekBarMeditation; 
    8072        ProgressBar progressBarSignal; 
    8173        ProgressBar progressBarPower; 
    82         SeekBar seekBarAttention; 
    83         SeekBar seekBarMeditation; 
    84         TextView tv; 
    85         Button b; 
    86  
    87  
    88         /** 
    89          * AudioService 
    90          */ 
    91         IntentFilter intentFilter; 
    92         private AudioService serviceBinder; 
    93         Intent orbitIntent; 
    9474        SeekBar seekBarThrottle; 
    9575        SeekBar seekBarYaw; 
    9676        SeekBar seekBarPitch; 
    97         CheckBox checkBoxFlip; 
     77        Button b; 
     78        CheckBox checkBoxAdvancedOptions; 
     79        CheckBox checkBoxGenerateAudio; 
     80        CheckBox checkBoxInvertControlSignal; 
    9881        RadioGroup radioGroupChannel; 
    99  
    10082        RadioButton radioButtonChannelA; 
    10183        RadioButton radioButtonChannelB; 
    10284        RadioButton radioButtonChannelC; 
     85        ImageView imageViewStatus; 
     86        TextView tv; 
     87 
     88        LinearLayout layoutControl; 
     89        LinearLayout layoutAudioService; 
     90        LinearLayout layoutAdvancedOptions; 
    10391 
    10492 
     
    114102        /** 
    115103         * Audio  
    116          * Currently the flight control command is hard-coded into WAV files 
    117          * In a future release the tones used to communicate with the infrared dongle 
    118          * will be generated on-the-fly. This conversion process is already underway 
     104         *  
     105         * By default the flight control command is hard-coded into WAV files 
     106         * When "Generate Control Signal" is enabled the tones used to communicate  
     107         * with the infrared dongle are generated on-the-fly. 
    119108         */ 
    120109        int audioFile = R.raw.throttle_hover_android_common; 
    121         //      int audioFile = R.raw.throttle_50_android_common; 
    122110        //      int audioFile = R.raw.throttle_hover_android_htc_one_x; 
    123         //      String audioFilePath = "file:///sdcard/Music/Throttle/throttle_30_android_common.wav"; 
    124111 
    125112        private SoundPool soundPool; 
    126113        private int soundID; 
    127114        boolean loaded = false; 
     115 
     116 
     117 
     118        /** 
     119         * AudioService 
     120         */ 
     121        IntentFilter intentFilter; 
     122        private AudioService serviceBinder; 
     123        Intent orbitIntent; 
    128124 
    129125 
     
    212208                 */ 
    213209                super.onCreate(savedInstanceState); 
     210 
     211                //              requestWindowFeature(Window.FEATURE_NO_TITLE); 
     212 
    214213                setContentView(R.layout.activity_main); 
     214 
     215                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    215216 
    216217                progressBarAttention = (ProgressBar)findViewById(R.id.progressBarAttention); 
     
    240241                progressBarSignal.setProgress(tgSignal); 
    241242 
    242                 //              progressBarPower = (ProgressBar)findViewById(R.id.progressBarPower); 
    243                 //              ShapeDrawable progressBarPowerDrawable = new ShapeDrawable(new RoundRectShape(roundedCorners, null,null)); 
    244                 //              String progressBarPowerColor = "#FFFF00"; 
    245                 //              progressBarPowerDrawable.getPaint().setColor(Color.parseColor(progressBarPowerColor)); 
    246                 //              ClipDrawable progressPower = new ClipDrawable(progressBarPowerDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL); 
    247                 //              progressBarPower.setProgressDrawable(progressPower);    
    248                 //              progressBarPower.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.progress_horizontal)); 
     243                progressBarPower = (ProgressBar)findViewById(R.id.progressBarPower); 
     244                ShapeDrawable progressBarPowerDrawable = new ShapeDrawable(new RoundRectShape(roundedCorners, null,null)); 
     245                String progressBarPowerColor = "#FFFF00"; 
     246                progressBarPowerDrawable.getPaint().setColor(Color.parseColor(progressBarPowerColor)); 
     247                ClipDrawable progressPower = new ClipDrawable(progressBarPowerDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL); 
     248                progressBarPower.setProgressDrawable(progressPower);    
     249                progressBarPower.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.progress_horizontal)); 
    249250 
    250251                seekBarAttention = (SeekBar)findViewById(R.id.seekBarAttention); 
     
    254255 
    255256 
    256                 /** 
    257                  * AudioService 
    258                  */ 
    259  
    260257                seekBarThrottle = (SeekBar)findViewById(R.id.seekBarThrottle); 
    261258                seekBarThrottle.setOnSeekBarChangeListener(this); 
     
    267264                seekBarPitch.setOnSeekBarChangeListener(this); 
    268265 
    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); 
     266                checkBoxAdvancedOptions = (CheckBox)findViewById(R.id.checkBoxAdvancedOptions); 
     267 
     268                checkBoxGenerateAudio = (CheckBox)findViewById(R.id.checkBoxGenerateAudio); 
     269 
     270                checkBoxInvertControlSignal = (CheckBox)findViewById(R.id.checkBoxInvertControlSignal); 
    275271 
    276272                radioGroupChannel = (RadioGroup)findViewById(R.id.radioGroupChannel); 
     
    283279                radioGroupChannel.check(1); 
    284280 
     281                imageViewStatus = (ImageView)findViewById(R.id.imageViewStatus); 
    285282 
    286283                tv = (TextView)findViewById(R.id.textViewDebugConsole); 
     
    290287                appendTextAndScroll("Remember to set volume at maximum!\n"); 
    291288 
    292  
     289                layoutControl = (LinearLayout)findViewById(R.id.layoutControl); 
     290                layoutAudioService = (LinearLayout)findViewById(R.id.layoutAudioService); 
     291                layoutAdvancedOptions = (LinearLayout)findViewById(R.id.layoutAdvancedOptions); 
     292 
     293 
     294 
     295                /** 
     296                 * Update settings according to default UI 
     297                 */ 
     298 
     299                updateAdvancedOptions(); 
    293300                updatePowerThresholds(); 
    294301                updatePower(); 
     
    312319                soundID = soundPool.load(this, audioFile, 1); 
    313320 
    314                 //              soundPool.load(audioFilePath, 1); 
    315  
    316                 //              genTone(); 
     321 
     322                /** 
     323                 * AudioService 
     324                 */ 
     325 
     326                orbitIntent = new Intent(OrbitActivity.this, AudioService.class); 
     327                bindService(orbitIntent, connection, Context.BIND_AUTO_CREATE); 
    317328 
    318329 
     
    320331                 * Prepare Bluetooth and NeuroSky ThinkGear EEG interface 
    321332                 */ 
     333                 
    322334                bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
    323335 
     
    351363        } // onCreate 
    352364 
     365 
     366        // ################################################################ 
    353367 
    354368        @Override 
     
    394408 
    395409 
     410        // ################################################################ 
     411 
    396412        @Override 
    397413        public void onDestroy() { 
     
    416432        } 
    417433 
     434 
     435        // ################################################################ 
    418436 
    419437        //      @Override 
     
    435453 
    436454 
     455        // ################################################################ 
     456 
    437457        private void appendTextAndScroll(String text) { 
    438458 
     
    468488 
    469489 
     490        // ################################################################ 
     491 
     492        public void onCheckBoxAdvancedOptionsClicked(View view) { 
     493 
     494                updateAdvancedOptions(); 
     495 
     496        } // onCheckBoxAdvancedOptionsClicked 
     497 
     498 
     499        // ################################################################ 
     500 
     501        public void onCheckBoxGenerateAudioClicked(View view) { 
     502 
     503        } // onCheckBoxGenerateAudioClicked 
     504 
     505 
     506        // ################################################################ 
     507 
     508        public void onCheckBoxInvertControlSignalClicked(View view) { 
     509 
     510        } // onCheckBoxInvertControlSignalClicked 
     511 
     512 
     513        // ################################################################ 
     514 
     515        public void updateAdvancedOptions() { 
     516 
     517                if (checkBoxAdvancedOptions.isChecked()) { 
     518 
     519                        layoutAudioService.setVisibility(View.VISIBLE); 
     520                        layoutAdvancedOptions.setVisibility(View.VISIBLE); 
     521                        tv.setVisibility(View.VISIBLE); 
     522 
     523                } else { 
     524 
     525                        layoutAudioService.setVisibility(View.GONE); 
     526                        layoutAdvancedOptions.setVisibility(View.GONE); 
     527                        tv.setVisibility(View.GONE); 
     528 
     529                } 
     530 
     531        } // updateAdvancedOptions 
     532 
     533 
     534        // ################################################################ 
     535 
    470536        public void setButtonText(int buttonId, String text) { 
    471537 
     
    479545        } // setButtonText 
    480546 
     547 
     548        // ################################################################ 
    481549 
    482550        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) { 
     
    490558 
    491559 
     560        // ################################################################ 
     561 
    492562        public void onStartTrackingTouch(SeekBar seekBar) { 
    493563 
     
    500570        } // onStartTrackingTouch 
    501571 
     572 
     573        // ################################################################ 
    502574 
    503575        public void onStopTrackingTouch(SeekBar seekBar) { 
     
    556628        //      } // onDeviceStateChange 
    557629 
     630 
     631        // ################################################################ 
    558632 
    559633        private final Handler handler = new Handler() { 
     
    583657                                                Log.v(TAG, "EEG Connected"); 
    584658                                        appendTextAndScroll("Bluetooth Connected\n"); 
    585                                         setButtonText(R.id.button1, "Disconnect"); 
     659                                        setButtonText(R.id.buttonConnect, "Disconnect"); 
    586660                                        tgDevice.start(); 
    587661                                        break; 
     
    660734 
    661735 
     736        // ################################################################ 
     737 
    662738        public void connectHeadset(View view) { 
    663739 
     
    682758        } // connectHeadset 
    683759 
     760 
     761        // ################################################################ 
    684762 
    685763        public void disconnectHeadset() { 
     
    698776                progressBarSignal.setProgress(0); 
    699777                progressBarPower.setProgress(0); 
    700                 setButtonText(R.id.button1, "Connect"); 
     778                setButtonText(R.id.buttonConnect, "Connect"); 
    701779        } // disconnectHeadset 
    702780 
     781 
     782        // ################################################################ 
    703783 
    704784        public int calculateSignal(int signal) { 
     
    725805        } // calculateSignal 
    726806 
     807 
     808        // ################################################################ 
    727809 
    728810        public void updatePowerThresholds() { 
     
    795877 
    796878 
     879        // ################################################################ 
     880 
    797881        public int calculateSpeed() { 
    798882 
     
    825909 
    826910 
     911        // ################################################################ 
     912 
    827913        public void updatePower() { 
    828914 
     
    835921                int new_speed = calculateSpeed(); 
    836922                String command = ""; 
    837                 //              progressBarPower.setProgress(new_speed); 
     923                progressBarPower.setProgress(new_speed); 
    838924 
    839925                if (new_speed > 0) { 
     
    900986 
    901987 
     988        // ################################################################ 
     989 
    902990        public void playControl() { 
    903991 
     
    9241012 
    9251013                if (serviceBinder != null) { 
    926                         serviceBinder.ifFlip = checkBoxFlip.isChecked(); //if checked then flip 
     1014                        serviceBinder.ifFlip = checkBoxInvertControlSignal.isChecked(); //if checked then flip 
    9271015                        int channel = radioGroupChannel.getCheckedRadioButtonId(); 
    9281016                        serviceBinder.loopNumberWhileMindControl = 4615; // about 10 minutes     
     
    9331021        } // playControl 
    9341022 
     1023 
     1024        // ################################################################ 
    9351025 
    9361026        public void stopControl() { 
     
    9621052 
    9631053 
     1054        // ################################################################ 
     1055 
    9641056        void genTone(){ 
    9651057 
     
    9891081        } // genTone 
    9901082 
     1083 
     1084        // ################################################################ 
    9911085 
    9921086        void playTone(){ 
     
    10081102        } // playTone 
    10091103 
     1104 
     1105        // ################################################################ 
    10101106 
    10111107        public void demoMode(View view) { 
     
    10611157 
    10621158 
     1159        // ################################################################ 
     1160 
    10631161        public void demoStop(View view) { 
    10641162                stopTest(view); 
     
    10661164 
    10671165 
     1166        // ################################################################ 
     1167 
    10681168        public void testFly(View view) { 
    10691169                if (serviceBinder != null) { 
    1070                         serviceBinder.ifFlip = checkBoxFlip.isChecked(); // if checked then flip 
     1170                        serviceBinder.ifFlip = checkBoxInvertControlSignal.isChecked(); // if checked then flip 
    10711171                        int channel = radioGroupChannel.getCheckedRadioButtonId(); 
    10721172                        serviceBinder.channel = channel; 
     
    10771177 
    10781178 
     1179        // ################################################################ 
     1180 
    10791181        public void stopTest(View view) { 
    10801182                if (serviceBinder != null) { 
     
    10851187 
    10861188 
     1189        // ################################################################ 
     1190 
    10871191        private ServiceConnection connection = new ServiceConnection() { 
    10881192 
Note: See TracChangeset for help on using the changeset viewer.