diff --git a/app/src/main/cpp/GPIOControl.h b/app/src/main/cpp/GPIOControl.h index 0d1f3fb2..34311d41 100644 --- a/app/src/main/cpp/GPIOControl.h +++ b/app/src/main/cpp/GPIOControl.h @@ -52,6 +52,11 @@ public: setInt(CMD_SET_OTG_STATE, on ? 1 : 0); } + static bool getOtgState() + { + return getInt(CMD_SET_OTG_STATE) != 0; + } + static void setCam3V3Enable(bool enabled) { setInt(CMD_SET_CAM_3V3_EN_STATE, enabled ? 1 : 0); diff --git a/app/src/main/java/com/xypower/mpapp/ChannelActivity.java b/app/src/main/java/com/xypower/mpapp/ChannelActivity.java index 3b0defc3..517a9f01 100644 --- a/app/src/main/java/com/xypower/mpapp/ChannelActivity.java +++ b/app/src/main/java/com/xypower/mpapp/ChannelActivity.java @@ -69,8 +69,25 @@ public class ChannelActivity extends AppCompatActivity { saveChannelParams(channel); } }); - } + binding.btnNightMode.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (binding.btnNightMode.isChecked() && binding.btnHdrMode.isChecked()) { + binding.btnHdrMode.setChecked(false); + } + } + }); + + binding.btnHdrMode.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (binding.btnHdrMode.isChecked() && binding.btnNightMode.isChecked()) { + binding.btnNightMode.setChecked(false); + } + } + }); + } private View.OnFocusChangeListener onFocusChangeListener = new View.OnFocusChangeListener() { @Override @@ -129,7 +146,8 @@ public class ChannelActivity extends AppCompatActivity { binding.btnUsbCamera.setChecked(jsonObject.optInt("usbCamera", 0) == 1); binding.btnAutoExplosure.setChecked(jsonObject.optInt("autoExposure", 1) == 1); binding.btnAutoFocus.setChecked(jsonObject.optInt("autoFocus", 1) == 1); - binding.btnHdrMode.setChecked(jsonObject.optInt("hdr", 1) == 1); + binding.btnHdrMode.setChecked(jsonObject.optInt("hdr", 0) == 1); + binding.btnNightMode.setChecked(jsonObject.optInt("nightMode", 0) == 1); binding.exposuretime.setText(Integer.toString(jsonObject.optInt("exposureTime", 0))); binding.sensitivity.setText(Integer.toString(jsonObject.optInt("sensibility", 0))); binding.orientations.setSelection(jsonObject.optInt("orientation", 0)); @@ -191,6 +209,7 @@ public class ChannelActivity extends AppCompatActivity { jsonObject.put("autoExposure", binding.btnAutoExplosure.isChecked() ? 1 : 0); jsonObject.put("autoFocus", binding.btnAutoFocus.isChecked() ? 1 : 0); jsonObject.put("hdrMode", binding.btnHdrMode.isChecked() ? 1 : 0); + jsonObject.put("nightMode", binding.btnNightMode.isChecked() ? 1 : 0); jsonObject.put("exposureTime", Integer.parseInt(binding.exposuretime.getText().toString())); jsonObject.put("sensibility", Integer.parseInt(binding.sensitivity.getText().toString())); jsonObject.put("orientation", binding.orientations.getSelectedItemPosition()); diff --git a/app/src/main/java/com/xypower/mpapp/MainActivity.java b/app/src/main/java/com/xypower/mpapp/MainActivity.java index 5a926f9d..63dfd0e3 100644 --- a/app/src/main/java/com/xypower/mpapp/MainActivity.java +++ b/app/src/main/java/com/xypower/mpapp/MainActivity.java @@ -509,6 +509,13 @@ public class MainActivity extends AppCompatActivity { @Override public void onClick(View view) { SysApi.setOtgState(true); + + try { + Thread.sleep(100); + } catch (Exception e) { + + } + SysApi.setOtgState(true); SysApi.setCam3V3Enable(true); String cameraInfo = CameraUtils.getAllCameraInfo(view.getContext()); diff --git a/app/src/main/res/layout/activity_channel.xml b/app/src/main/res/layout/activity_channel.xml index b4e8882e..b0c606f2 100644 --- a/app/src/main/res/layout/activity_channel.xml +++ b/app/src/main/res/layout/activity_channel.xml @@ -116,6 +116,16 @@ app:layout_constraintStart_toEndOf="@+id/btnAutoFocus" app:layout_constraintTop_toBottomOf="@+id/resolutionCX" /> + +