Changeset de61e47 in orbit


Ignore:
Timestamp:
12/25/13 16:38:53 (6 years ago)
Author:
Steve Castellotti <sc@…>
Branches:
master, Servo
Children:
005b954
Parents:
7ec2d63
Message:
  • added Scoring and High Score tracking
  • updated version number to 1.5.0
Location:
android
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • android/AndroidManifest.xml

    rffe8a1a rde61e47  
    33    package="info.puzzlebox.orbit" 
    44    android:versionCode="9" 
    5     android:versionName="1.4.6" > 
     5    android:versionName="1.5.0" > 
    66 
    77    <uses-sdk 
  • android/res/layout/fragment_advanced.xml

    r1d620a4 rde61e47  
    253253            android:text="@string/checkbox_controlled_descent" /> 
    254254    </LinearLayout> 
    255      
     255 
    256256    <ScrollView 
    257257        android:id="@+id/scrollViewDebugConsole" 
  • android/res/layout/fragment_flight_thinkgear.xml

    ref67954 rde61e47  
    112112        android:paddingRight="@dimen/padding_large" /> 
    113113 
    114     <View 
     114    <!-- 
     115         <View 
    115116        android:layout_width="match_parent" 
    116117        android:layout_height="10dp" > 
    117118    </View> 
     119    --> 
    118120 
    119121    <LinearLayout 
     
    161163            android:onClick="demoStop" 
    162164            android:text="@string/button_stop_test" /> 
     165    </LinearLayout> 
     166 
     167    <LinearLayout 
     168        android:id="@+id/layoutScore" 
     169        android:layout_width="wrap_content" 
     170        android:layout_height="wrap_content" 
     171        android:layout_gravity="center" 
     172        android:gravity="center" 
     173        android:orientation="horizontal" > 
     174 
     175        <!-- 
     176             <View 
     177            android:id="@+id/viewSpaceScoreLeft" 
     178            android:layout_width="20dp" 
     179            android:layout_height="0dp" > 
     180        </View> 
     181        --> 
     182 
     183        <TextView 
     184            android:id="@+id/textViewLabelScore" 
     185            android:layout_width="wrap_content" 
     186            android:layout_height="wrap_content" 
     187            android:paddingLeft="@dimen/padding_medium" 
     188            android:text="@string/textview_label_score" /> 
     189 
     190        <TextView 
     191            android:id="@+id/textViewScore" 
     192            android:layout_width="wrap_content" 
     193            android:layout_height="wrap_content" 
     194            android:paddingLeft="@dimen/padding_medium" 
     195            android:text="@string/textview_score" /> 
     196 
     197        <View 
     198            android:id="@+id/viewSpaceScoreMiddle" 
     199            android:layout_width="25dp" 
     200            android:layout_height="0dp" > 
     201        </View> 
     202 
     203        <TextView 
     204            android:id="@+id/textViewLabelHighScore" 
     205            android:layout_width="wrap_content" 
     206            android:layout_height="wrap_content" 
     207            android:paddingLeft="@dimen/padding_medium" 
     208            android:text="@string/textview_label_high_score" /> 
     209 
     210        <TextView 
     211            android:id="@+id/textViewHighScore" 
     212            android:layout_width="wrap_content" 
     213            android:layout_height="wrap_content" 
     214            android:paddingLeft="@dimen/padding_medium" 
     215            android:text="@string/textview_high_score" /> 
     216 
     217        <!-- 
     218             <View 
     219            android:id="@+id/viewSpaceScoreRight" 
     220            android:layout_width="20dp" 
     221            android:layout_height="0dp" > 
     222        </View> 
     223        --> 
    163224    </LinearLayout> 
    164225 
  • android/res/values/strings.xml

    r1d620a4 rde61e47  
    5959    <string name="checkbox_tilt_sensor_control_throttle_small">Throttle Only</string> 
    6060    <string name="checkbox_controlled_descent">Controlled Descent</string> 
     61    <string name="textview_label_score">Current Score: </string> 
     62    <string name="textview_score">0</string> 
     63    <string name="textview_label_high_score">High Score: </string> 
     64    <string name="textview_high_score">0</string> 
    6165    <string name="textview_throttle">Throttle</string> 
    6266    <string name="textview_yaw">Yaw</string> 
  • android/src/info/puzzlebox/orbit/FragmentTabFlightThinkGear.java

    r3444b8e rde61e47  
    2828import android.widget.ProgressBar; 
    2929import android.widget.SeekBar; 
     30import android.widget.TextView; 
    3031import android.widget.Toast; 
    3132 
     
    7172        Number[] rawEEG = new Number[512]; 
    7273        int arrayIndex = 0; 
     74 
     75        int minimumScoreTarget = 40; 
     76        int scoreCurrent = 0; 
     77        int scoreHigh = 0; 
    7378 
    7479 
     
    8691        Button testFlightButton; 
    8792        Button stopTestButton; 
     93        TextView textViewScore; 
     94        TextView textViewHighScore; 
    8895 
    8996        ImageView imageViewStatus; 
     
    259266                connectButton.setOnClickListener(this); 
    260267 
     268                textViewScore = (TextView) v.findViewById(R.id.textViewScore); 
     269                textViewHighScore = (TextView) v.findViewById(R.id.textViewHighScore); 
     270 
    261271 
    262272                /** 
     
    266276                bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
    267277 
    268                 if(bluetoothAdapter == null) { 
     278                if (bluetoothAdapter == null) { 
    269279                        // Alert user that Bluetooth is not available 
    270280                        Toast.makeText(((OrbitTabActivity)getActivity()), "Bluetooth not available", Toast.LENGTH_LONG).show(); 
     
    980990        } // updateEEGRawHistory 
    981991 
     992        // ################################################################ 
     993 
     994        public void updateScore() { 
     995 
     996                int eegAttentionScore = 0; 
     997                int eegAttention = progressBarAttention.getProgress(); 
     998                int eegAttentionTarget = seekBarAttention.getProgress(); 
     999 
     1000                int eegMeditationScore = 0; 
     1001                int eegMeditation = progressBarMeditation.getProgress(); 
     1002                int eegMeditationTarget = seekBarMeditation.getProgress(); 
     1003 
     1004                if ((eegAttention >= eegAttentionTarget) && 
     1005                                (eegAttentionTarget > minimumScoreTarget)) 
     1006                        eegAttentionScore = eegAttention; 
     1007 
     1008                if ((eegMeditation >= eegMeditationTarget) && 
     1009                                (eegMeditationTarget > minimumScoreTarget)) 
     1010                        eegMeditationScore = eegMeditation; 
     1011 
     1012                if (eegAttentionScore > eegMeditationScore) 
     1013                        scoreCurrent = scoreCurrent + eegAttentionScore; 
     1014                else 
     1015                        scoreCurrent = scoreCurrent + eegMeditationScore; 
     1016 
     1017                textViewScore.setText(Integer.toString(scoreCurrent)); 
     1018 
     1019                if (scoreCurrent > scoreHigh) { 
     1020                        scoreHigh = scoreCurrent; 
     1021                        textViewHighScore.setText(Integer.toString(scoreHigh)); 
     1022                } 
     1023 
     1024        } // updateScore 
     1025 
     1026 
     1027        // ################################################################ 
     1028 
     1029        public void resetCurrentScore() { 
     1030 
     1031                scoreCurrent = 0; 
     1032                textViewScore.setText(Integer.toString(scoreCurrent)); 
     1033 
     1034        } // resetCurrentScore 
     1035 
    9821036 
    9831037} // FragmentTabFlightThinkGear 
  • android/src/info/puzzlebox/orbit/OrbitTabActivity.java

    r8b32216 rde61e47  
    1515import java.util.ArrayList; 
    1616import java.util.List; 
    17 import java.util.Locale; 
    1817 
    1918import org.apache.http.HttpResponse; 
     
    780779                        } 
    781780 
     781                        updateScore(); 
     782 
    782783                        command = "hover"; 
    783784 
     
    786787                        /** Land the helicopter */ 
    787788                        stopControl(); 
     789 
     790                        resetCurrentScore(); 
    788791 
    789792                        command = "neutral"; 
     
    964967        // ################################################################ 
    965968 
     969        public void updateScore() { 
     970 
     971                FragmentTabFlightThinkGear fragmentFlight =  
     972                                (FragmentTabFlightThinkGear) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlightThinkGear() ); 
     973 
     974                if (fragmentFlight != null) 
     975                        fragmentFlight.updateScore(); 
     976 
     977        } // updateScore 
     978 
     979 
     980        // ################################################################ 
     981 
     982        public void resetCurrentScore() { 
     983 
     984                FragmentTabFlightThinkGear fragmentFlight =  
     985                                (FragmentTabFlightThinkGear) getSupportFragmentManager().findFragmentByTag( getTabFragmentFlightThinkGear() ); 
     986 
     987                if (fragmentFlight != null) 
     988                        fragmentFlight.resetCurrentScore(); 
     989 
     990        } // resetCurrentScore 
     991 
     992 
     993        // ################################################################ 
     994 
    966995        /** 
    967996         * @param audioHandler the audioHandler to update command 
Note: See TracChangeset for help on using the changeset viewer.