Changeset 70c6c13 in orbit for android


Ignore:
Timestamp:
12/21/13 01:05:30 (6 years ago)
Author:
Steve Castellotti <sc@…>
Branches:
master, Servo
Children:
e089694
Parents:
6b13b7f
Message:
  • conversion to gravity and accelerometer sensors complete
File:
1 edited

Legend:

Unmodified
Added
Removed
  • android/src/info/puzzlebox/orbit/FragmentTabAdvanced.java

    r6b13b7f r70c6c13  
    327327                        tv.append(text); 
    328328 
    329                 Log.v(TAG, "Debug Console Line Count: " + tv.getLineCount()); 
    330  
    331  
    332329                //              try:  
    333330                //                      tv.setText(s);  
     
    337334                //                          }  
    338335                //                      });  
    339  
    340                 //              tv.setVerticalScrollbarPosition(tv.getLineCount()); 
    341336 
    342337                //              if (tv != null) { 
     
    475470        public void onCheckBoxTiltSensorControlClicked() { 
    476471 
    477                 //              ((OrbitTabActivity)getActivity()).tiltSensorControl = checkBoxTiltSensorControl.isChecked(); 
    478  
    479  
    480                 //        // listener for accelerometer, use anonymous class for simplicity 
    481                 //        ((SensorManager)getSystemService(Context.SENSOR_SERVICE)).registerListener( 
    482                 //              new SensorEventListener() {     
    483                 //                      public void onSensorChanged(SensorEvent event) {   
    484                 //                          //set ball speed based on phone tilt (ignore Z axis) 
    485                 //                              tiltX = -event.values[0]; 
    486                 //                              tiltY = event.values[1]; 
    487                 //                              //timer event will redraw ball 
    488                 //                      } 
    489                 //                      public void onAccuracyChanged(Sensor sensor, int accuracy) {} //ignore this event 
    490                 //              }, 
    491                 //              ((SensorManager)getSystemService(Context.SENSOR_SERVICE)) 
    492                 //              .getSensorList(Sensor.TYPE_ACCELEROMETER).get(0), SensorManager.SENSOR_DELAY_NORMAL); 
    493  
    494  
    495472                if (checkBoxTiltSensorControl.isChecked()) { 
    496473 
    497                         //                      Log.v(TAG, "Sensor TYPE_ACCELEROMETER: " + Sensor.TYPE_ACCELEROMETER); 
    498                         //                      //                      Log.v(TAG, "Sensor TYPE_GAME_ROTATION_VECTOR: " + Sensor.TYPE_GAME_ROTATION_VECTOR); // API 19 
    499                         //                      //                      Log.v(TAG, "Sensor TYPE_GEOMAGNETIC_ROTATION_VECTOR: " + Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR); // API 19 
    500                         //                      Log.v(TAG, "Sensor TYPE_GYROSCOPE: " + Sensor.TYPE_GYROSCOPE); 
    501                         //                      Log.v(TAG, "Sensor TYPE_LINEAR_ACCELERATION: " + Sensor.TYPE_LINEAR_ACCELERATION); 
    502                         //                      Log.v(TAG, "Sensor TYPE_MAGNETIC_FIELD: " + Sensor.TYPE_MAGNETIC_FIELD); 
    503                         //                      //                      Log.v(TAG, "Sensor TYPE_GAME_ROTATION_VECTOR: " + Sensor.TYPE_GAME_ROTATION_VECTOR); // API 18 
    504                         //                      Log.v(TAG, "Sensor TYPE_ORIENTATION: " + Sensor.TYPE_ORIENTATION); 
    505                         //                      Log.v(TAG, "Sensor TYPE_MAGNETIC_FIELD: " + Sensor.TYPE_MAGNETIC_FIELD); 
    506  
    507                         //                      // register for orientation sensor events: 
     474                        // register for tilt sensor events: 
    508475                        sensorManager = (SensorManager) ((OrbitTabActivity)getActivity()).getSystemService(Context.SENSOR_SERVICE); 
    509476 
     
    512479 
    513480 
    514                         //                      for (Sensor sensor : sensorManager.getSensorList()) { 
    515                         ////                    for (Sensor sensor : sensorManager.getSensorList(Sensor.TYPE_ORIENTATION)) { 
    516                         ////                            if (sensor.getType() == Sensor.TYPE_ORIENTATION) { 
    517                         ////                                    orientationSensor = sensor; 
    518                         ////                            } 
    519                         //                               
    520                         //                              Log.v(TAG, "Sensor Type Found: " + sensor.getType()); 
    521                         //                               
    522                         //                              if (sensor.getType() == Sensor.TYPE_ACCELEROMETER) { 
    523                         //                                      accelerationSensor = sensor; 
     481                        //                      for (Sensor sensor : sensorManager.getSensorList(Sensor.TYPE_ORIENTATION)) { 
     482                        //                              if (sensor.getType() == Sensor.TYPE_ORIENTATION) { 
     483                        //                                      orientationSensor = sensor; 
    524484                        //                              } 
    525                         //                               
    526                         //                      } 
    527485 
    528486 
    529487                        if (sensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY) != null) { 
    530488                                List<Sensor> gravSensors = sensorManager.getSensorList(Sensor.TYPE_GRAVITY); 
    531                                 for(int i=0; i < gravSensors.size(); i++) { 
    532                                         //                                      if ((gravSensors.get(i).getVendor().contains("Google Inc.")) && 
    533                                         //                                                      (gravSensors.get(i).getVersion() == 3)){ 
    534                                         // Use the version 3 gravity sensor. 
    535                                         orientationSensor = gravSensors.get(i); 
    536                                         Log.v(TAG, "Tilt Control: Using Gravity Sensor"); 
    537                                         appendDebugConsole("Tilt Control: Using Gravity Sensor"); 
    538                                         break; 
    539                                         //                                      } 
     489                                for (int i=0; i < gravSensors.size(); i++) { 
     490                                        if (gravSensors.get(i).getVersion() >= 3) { 
     491                                                // Use the version 3 gravity sensor. 
     492                                                orientationSensor = gravSensors.get(i); 
     493                                                Log.v(TAG, "Tilt Control: Using Gravity Sensor (version 3+)"); 
     494                                                appendDebugConsole("Tilt Control: Using Gravity Sensor"); 
     495                                                break; 
     496                                        } 
     497                                } 
     498 
     499                                if (orientationSensor == null) { 
     500                                        // Fall back to using an earlier version gravity sensor. 
     501                                        for (int i=0; i < gravSensors.size(); i++) { 
     502                                                orientationSensor = gravSensors.get(i); 
     503                                                Log.v(TAG, "Tilt Control: Using Gravity Sensor"); 
     504                                                appendDebugConsole("Tilt Control: Using Gravity Sensor"); 
     505                                                break; 
     506                                        } 
    540507                                } 
    541508                        } 
     509 
    542510                        else if (sensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION) != null) { 
    543511                                orientationSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); 
    544                                 Log.v(TAG, "Linear accelerometer sensor found"); 
    545                         } 
    546  
    547                         else { 
    548  
    549512                                Log.v(TAG, "Tilt Control: Using Accelerometer Sensor"); 
    550513                                appendDebugConsole("Tilt Control: Using Linear Accelerometer Sensor"); 
     514                        } 
     515 
     516                        else { 
    551517 
    552518                                // Use the accelerometer. 
     
    556522                                        appendDebugConsole("Tilt Control: Using Accelerometer Sensor"); 
    557523                                } 
    558                                 else { 
    559                                         // Sorry, there are no accelerometers on your device. 
    560                                         Log.v(TAG, "Sorry, there are no tilt sensors on your device."); 
    561                                         appendDebugConsole("Tilt Control: Using Gravity Sensor"); 
    562                                 } 
     524 
    563525                        } 
    564526 
     
    755717 
    756718                // No operation 
    757                  
     719 
    758720        } // onAccuracyChanged 
    759721 
     
    767729                //              tiltY = -sensorEvent.values[2]; // invert the Y axis so that negative values equal left 
    768730 
    769                 // Sensor.TYPE_GRAVITY method 
     731                // Sensor.TYPE_GRAVITY or TYPE_ACCELEROMETER methods 
    770732                tiltX = sensorEvent.values[1] * -4; 
    771733                tiltY = sensorEvent.values[0] * -6;  
    772734 
    773 //              appendDebugConsole("X: " + tiltX + ", Y: " + tiltY + "\n"); 
     735                //              appendDebugConsole("X: " + tiltX + ", Y: " + tiltY + "\n"); 
    774736 
    775737                if (referenceTiltX == 0) { 
     
    778740                } 
    779741 
    780                 // Sensor.TYPE_OPERATION method 
     742                // Sensor.TYPE_OPERATION or TYPE_ACCELEROMETER methods 
    781743                //              seekBarYaw.setProgress(defaultControlYaw + (int) (tiltY - referenceTiltY)); 
    782744                //              seekBarPitch.setProgress(defaultControlPitch + (int) ((tiltX / 2) - (referenceTiltX / 2))); 
    783                  
     745 
    784746                // Sensor.TYPE_GRAVITY 
    785747                seekBarYaw.setProgress(defaultControlYaw + (int) (tiltY - referenceTiltY)); 
Note: See TracChangeset for help on using the changeset viewer.