diff --git a/app/src/main/java/com/xypower/mpremote/DeviceActivity.java b/app/src/main/java/com/xypower/mpremote/DeviceActivity.java index b7ddc2e..afe8803 100644 --- a/app/src/main/java/com/xypower/mpremote/DeviceActivity.java +++ b/app/src/main/java/com/xypower/mpremote/DeviceActivity.java @@ -35,6 +35,7 @@ import org.json.JSONObject; import java.io.File; import java.net.Socket; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -154,6 +155,48 @@ public class DeviceActivity extends AppCompatActivity { } }); + binding.takePhoto2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + takePhoto(2, 255, true); + } + }); + + binding.takeVideo2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + takeVideo(2, 255, false); + } + }); + + binding.takePhoto3.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + takePhoto(3, 255, true); + } + }); + + binding.takeVideo3.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + takeVideo(3, 255, false); + } + }); + + binding.takePhoto4.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + takePhoto(4, 255, true); + } + }); + + binding.takeVideo4.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + takeVideo(4, 255, false); + } + }); + loadDeviceInfo(context, true); } @@ -197,7 +240,6 @@ public class DeviceActivity extends AppCompatActivity { private void runImpl() { Log.d(TAG, "Adb discovering " + mDeviceIp); - // Dadb adb = Dadb.discover(mDeviceIp, mAdbKeyPair); Dadb adb = Dadb.create(mDeviceIp, AdbUtils.DEFAULT_ADB_PORT, mAdbKeyPair); @@ -488,8 +530,9 @@ public class DeviceActivity extends AppCompatActivity { leftTopOsd += simpleDateFormat2.format(dt) + " "; leftTopOsd += "CH:" + Integer.toString(channel) + " "; - leftTopOsd = leftTopOsd.replaceAll("\\\\", "\\\\\\\\"); - leftTopOsd = leftTopOsd.replaceAll(" ", "\\\\ "); + // leftTopOsd = leftTopOsd.replaceAll("\\\\", "\\\\\\\\"); + // leftTopOsd = leftTopOsd.replaceAll(" ", "\\\\ "); + byte[] leftTopOsdBytes = leftTopOsd.getBytes(StandardCharsets.UTF_8); String usb = (channel == 4) ? "true" : "false"; JSONObject channelJson = (JSONObject) mChannelCfgs.get(Integer.valueOf(channel)); @@ -498,9 +541,10 @@ public class DeviceActivity extends AppCompatActivity { usb = (usbCamera != 0) ? "true" : "false"; cameraId = channelJson.optInt("cameraId", cameraId); } - final String cmd = "am start -n " + PACKAGE_NAME_MP + "/" + PACKAGE_NAME_MP + ".BridgeActivity --es action \"take_photo\" --es path \"" - + remoteFilePath + "\" --ez usb " + usb + " --ei cameraId " + Integer.toString(cameraId) + " --ei channel " - + Integer.toString(channel) + " --ei preset " + Integer.toString(preset) + " --es leftTopOsd \"" + leftTopOsd + "\""; + // content update --uri content://com.xypower.mpapp.provider/importPriKey + final String cmd = "content update --uri content://" + PACKAGE_NAME_MP + ".provider/takePhoto --bind path:s:\"" + + remoteFilePath + "\" --bind usb:b:" + usb + " --bind cameraId:i:" + Integer.toString(cameraId) + " --bind channel:i:" + + Integer.toString(channel) + " --bind preset:i:" + Integer.toString(preset) + " --bind leftTopOsd:s:" + Base64.encodeToString(leftTopOsdBytes, Base64.DEFAULT | Base64.NO_WRAP) + ""; // adbShellResponse = null; takePhotoImpl(cmd, channel, preset, fileName, remoteFilePath, photoOrVideo, 0);