基于安装工具调整接口
parent
d6cd52dc7d
commit
30a3c9a703
@ -0,0 +1,156 @@
|
|||||||
|
package com.xypower.mpapp;
|
||||||
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
import android.util.Base64;
|
||||||
|
|
||||||
|
import com.xypower.common.FileUtils;
|
||||||
|
import com.xypower.mpapp.v2.Camera2VideoActivity;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
|
public class BridgeActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
private final static String ACTION_IMP_PUBKEY = "imp_pubkey";
|
||||||
|
private final static String ACTION_GEN_KEYS = "gen_keys";
|
||||||
|
private final static String ACTION_CERT_REQ = "cert_req";
|
||||||
|
private final static String ACTION_BATTERY_VOLTAGE = "query_bv";
|
||||||
|
private final static String ACTION_RECORDING = "recording";
|
||||||
|
|
||||||
|
private final static int REQUEST_CODE_RECORDING = Camera2VideoActivity.REQUEST_CODE_RECORDING;
|
||||||
|
|
||||||
|
private Handler mHandler = null;
|
||||||
|
private boolean m3V3TurnedOn = false;
|
||||||
|
private boolean mAutoClose = true;
|
||||||
|
|
||||||
|
private String mVideoFilePath = null;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_cert);
|
||||||
|
|
||||||
|
mHandler = new Handler();
|
||||||
|
|
||||||
|
Intent intent = getIntent();
|
||||||
|
final String action = intent.getStringExtra("action");
|
||||||
|
if (!TextUtils.isEmpty(action)) {
|
||||||
|
if (TextUtils.equals(action, ACTION_IMP_PUBKEY)) {
|
||||||
|
String cert = intent.getStringExtra("cert");
|
||||||
|
String path = intent.getStringExtra("path");
|
||||||
|
int index = intent.getIntExtra("index", 1);
|
||||||
|
|
||||||
|
if (!TextUtils.isEmpty(cert)) {
|
||||||
|
// Import
|
||||||
|
// String cert = intent.getStringExtra("md5");
|
||||||
|
byte[] content = Base64.decode(cert, Base64.DEFAULT);
|
||||||
|
if (content != null) {
|
||||||
|
MicroPhotoService.importPublicKey(index, content);
|
||||||
|
}
|
||||||
|
} else if (TextUtils.isEmpty(path)) {
|
||||||
|
String md5 = intent.getStringExtra("md5");
|
||||||
|
File file = new File(path);
|
||||||
|
if (file.exists() && file.isFile()) {
|
||||||
|
MicroPhotoService.importPublicKeyFile(index, path, md5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (TextUtils.equals(action, ACTION_GEN_KEYS)) {
|
||||||
|
int index = intent.getIntExtra("index", 0);
|
||||||
|
boolean res = MicroPhotoService.genKeys(index);
|
||||||
|
String path = intent.getStringExtra("path");
|
||||||
|
if (!TextUtils.isEmpty(path)) {
|
||||||
|
FileUtils.ensureParentDirectoryExisted(path);
|
||||||
|
FileUtils.writeTextFile(path, res ? "1" : "0");
|
||||||
|
}
|
||||||
|
} else if (TextUtils.equals(action, ACTION_CERT_REQ)) {
|
||||||
|
int index = intent.getIntExtra("index", 0);
|
||||||
|
int type = intent.getIntExtra("type", 0);
|
||||||
|
String subject = intent.getStringExtra("subject");
|
||||||
|
String path = intent.getStringExtra("path");
|
||||||
|
MicroPhotoService.genCertRequest(index, type, subject, path);
|
||||||
|
} else if (TextUtils.equals(action, ACTION_BATTERY_VOLTAGE)) {
|
||||||
|
String path = intent.getStringExtra("path");
|
||||||
|
// #define CMD_GET_CHARGING_BUS_VOLTAGE_STATE 112
|
||||||
|
// #define CMD_GET_BAT_VOL_STATE 115
|
||||||
|
// #define CMD_GET_BAT_BUS_VOLTAGE_STATE 117
|
||||||
|
int bv = MicroPhotoService.getGpioInt(117);
|
||||||
|
int bcv = MicroPhotoService.getGpioInt(112);
|
||||||
|
if (!TextUtils.isEmpty(path)) {
|
||||||
|
FileUtils.ensureParentDirectoryExisted(path);
|
||||||
|
FileUtils.writeTextFile(path + ".tmp", Integer.toString(bv) + " " + Integer.toString(bcv));
|
||||||
|
File file = new File(path + ".tmp");
|
||||||
|
file.renameTo(new File(path));
|
||||||
|
}
|
||||||
|
} else if (TextUtils.equals(action, ACTION_RECORDING)) {
|
||||||
|
String path = intent.getStringExtra("path");
|
||||||
|
int channel = intent.getIntExtra("channel", 1);
|
||||||
|
int cameraId = intent.getIntExtra("cameraId", -1);
|
||||||
|
int quality = intent.getIntExtra("quality", 0);
|
||||||
|
int width = intent.getIntExtra("width", 1280);
|
||||||
|
int height = intent.getIntExtra("height", 720);
|
||||||
|
int duration = intent.getIntExtra("duration", 15);
|
||||||
|
int orientation = intent.getIntExtra("orientation", 0);
|
||||||
|
long videoId = System.currentTimeMillis() / 1000;
|
||||||
|
|
||||||
|
String leftTopOsd = intent.getStringExtra("leftTopOsd");
|
||||||
|
String rightTopOsd = intent.getStringExtra("rightTopOsd");
|
||||||
|
String rightBottomOsd = intent.getStringExtra("rightBottomOsd");
|
||||||
|
String leftBottomOsd = intent.getStringExtra("leftBottomOsd");
|
||||||
|
|
||||||
|
if (cameraId == -1) {
|
||||||
|
cameraId = channel - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
Intent recordingIntent = MicroPhotoService.makeRecordingIntent(getApplicationContext(),
|
||||||
|
cameraId, videoId, duration, width, height, quality, orientation,
|
||||||
|
leftTopOsd, rightTopOsd, rightBottomOsd, leftBottomOsd);
|
||||||
|
|
||||||
|
mVideoFilePath = path;
|
||||||
|
mAutoClose = false;
|
||||||
|
|
||||||
|
recordingIntent.putExtra("ActivityResult", true);
|
||||||
|
startActivityForResult(recordingIntent, REQUEST_CODE_RECORDING);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final Activity activity = this;
|
||||||
|
mHandler.postDelayed(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
activity.finish();
|
||||||
|
}
|
||||||
|
}, 2000);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
|
||||||
|
if (m3V3TurnedOn) {
|
||||||
|
MicroPhotoService.setCam3V3Enable(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
|
||||||
|
if (requestCode == REQUEST_CODE_RECORDING) {
|
||||||
|
if (mVideoFilePath != null) {
|
||||||
|
String path = data.getStringExtra("path");
|
||||||
|
if (path != null) {
|
||||||
|
File file = new File(path);
|
||||||
|
file.renameTo(new File(mVideoFilePath));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,79 +0,0 @@
|
|||||||
package com.xypower.mpapp;
|
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.os.Handler;
|
|
||||||
import android.text.TextUtils;
|
|
||||||
import android.util.Base64;
|
|
||||||
|
|
||||||
import com.xypower.common.FileUtils;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
|
|
||||||
public class CertActivity extends AppCompatActivity {
|
|
||||||
|
|
||||||
private final static String ACTION_IMP_PUBKEY = "imp_pubkey";
|
|
||||||
private final static String ACTION_GEN_KEYS = "gen_keys";
|
|
||||||
private final static String ACTION_CERT_REQ = "cert_req";
|
|
||||||
|
|
||||||
private Handler mHandler = null;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.activity_cert);
|
|
||||||
|
|
||||||
mHandler = new Handler();
|
|
||||||
|
|
||||||
Intent intent = getIntent();
|
|
||||||
final String action = intent.getStringExtra("action");
|
|
||||||
if (!TextUtils.isEmpty(action)) {
|
|
||||||
if (TextUtils.equals(action, ACTION_IMP_PUBKEY)) {
|
|
||||||
String cert = intent.getStringExtra("cert");
|
|
||||||
String path = intent.getStringExtra("path");
|
|
||||||
int index = intent.getIntExtra("index", 1);
|
|
||||||
|
|
||||||
if (!TextUtils.isEmpty(cert)) {
|
|
||||||
// Import
|
|
||||||
// String cert = intent.getStringExtra("md5");
|
|
||||||
byte[] content = Base64.decode(cert, Base64.DEFAULT);
|
|
||||||
if (content != null) {
|
|
||||||
MicroPhotoService.importPublicKey(index, content);
|
|
||||||
}
|
|
||||||
} else if (TextUtils.isEmpty(path)) {
|
|
||||||
String md5 = intent.getStringExtra("md5");
|
|
||||||
File file = new File(path);
|
|
||||||
if (file.exists() && file.isFile()) {
|
|
||||||
MicroPhotoService.importPublicKeyFile(index, path, md5);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (TextUtils.equals(action, ACTION_GEN_KEYS)) {
|
|
||||||
int index = intent.getIntExtra("index", 0);
|
|
||||||
boolean res = MicroPhotoService.genKeys(index);
|
|
||||||
String path = intent.getStringExtra("path");
|
|
||||||
if (!TextUtils.isEmpty(path)) {
|
|
||||||
FileUtils.ensureParentDirectoryExisted(path);
|
|
||||||
FileUtils.writeTextFile(path, res ? "1" : "0");
|
|
||||||
}
|
|
||||||
} else if (TextUtils.equals(action, ACTION_CERT_REQ)) {
|
|
||||||
int index = intent.getIntExtra("index", 0);
|
|
||||||
int type = intent.getIntExtra("type", 0);
|
|
||||||
String subject = intent.getStringExtra("subject");
|
|
||||||
String path = intent.getStringExtra("path");
|
|
||||||
MicroPhotoService.genCertRequest(index, type, subject, path);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
final Activity activity = this;
|
|
||||||
mHandler.postDelayed(new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
activity.finish();
|
|
||||||
}
|
|
||||||
}, 2000);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue