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" />
+
+