Beispiel #1
0
  public void loadSettings() {
    debug("MainActivity: loadSettings");

    SharedPreferences settings = getSharedPreferences(PREFERENCES_FILE, 0);
    bluetoothDeviceAddress = settings.getString("deviceAddress", null);
    bluetoothDeviceName = settings.getString("deviceName", null);
    dataFormat = settings.getString("dataFormat", "crdt");
    deviceName = settings.getString("device", "Arduino");
    safeDrivingMode = settings.getBoolean("optSafe", true);
    bluetoothBackgroundMode = settings.getBoolean("optBTBackground", false);
    milesMode = settings.getBoolean("optMiles", false);
    dataExportMode = settings.getBoolean("optDataExport", false);
    debugLogMode = settings.getBoolean("optDebugLog", false);
    fieldLogMode = settings.getBoolean("optFieldLog", false);
    toastLevel = settings.getInt("optToast", 1);

    String carStr = settings.getString("car", "None");
    switch (carStr) {
      case "None":
        car = CAR_NONE;
        break;
      case "Zoé":
      case "ZOE":
      case "ZOE Q210":
        car = CAR_ZOE_Q210;
        break;
      case "ZOE R240":
        car = CAR_ZOE_R240;
        break;
      case "ZOE Q90":
        car = CAR_ZOE_Q90;
        break;
      case "ZOE R90":
        car = CAR_ZOE_R90;
        break;
      case "Fluence":
        car = CAR_FLUENCE;
        break;
      case "Kangoo":
        car = CAR_KANGOO;
        break;
      case "X10":
        car = CAR_X10;
        break;
    }

    // as the settings may have changed, we need to reload different things

    // create a new device
    switch (deviceName) {
      case "Bob Due":
        device = new BobDue();
        break;
      case "ELM327":
        device = new ELM327();
        break;
      default:
        device = null;
        break;
    }

    // since the car type may have changed, reload the frame timings
    fields.load();
    Frames.getInstance().reloadTiming();

    if (device != null) {
      // initialise the connection
      device.initConnection();

      // register application wide fields
      registerApplicationFields();
    }

    // after loading PREFERENCES we may have new values for "dataExportMode"
    dataExportMode = dataLogger.activate(dataExportMode);
  }