@ -171,11 +171,27 @@ void Runner::RequestCapture(CTerminal* pTerminal, unsigned int channel, unsigned
pTerminal - > RequestCapture ( channel , preset , type , scheduleTime ) ;
pTerminal - > RequestCapture ( channel , preset , type , scheduleTime ) ;
}
}
# include <signal.h>
# include <android/log.h>
#if 0
void sighandler ( int sig ) {
__android_log_print ( ANDROID_LOG_ERROR , " NativeCrash " , " Caught signal %d " , sig ) ;
exit ( 1 ) ;
}
# endif
jint JNI_OnLoad ( JavaVM * vm , void * reserved )
jint JNI_OnLoad ( JavaVM * vm , void * reserved )
{
{
JNIEnv * env = NULL ;
JNIEnv * env = NULL ;
jint result = - 1 ;
jint result = - 1 ;
// 在 JNI_OnLoad 或其他初始化函数中注册
#if 0
signal ( SIGSEGV , sighandler ) ;
# endif
# if defined(JNI_VERSION_1_6)
# if defined(JNI_VERSION_1_6)
if ( result = = - 1 & & vm - > GetEnv ( ( void * * ) & env , JNI_VERSION_1_6 ) = = JNI_OK )
if ( result = = - 1 & & vm - > GetEnv ( ( void * * ) & env , JNI_VERSION_1_6 ) = = JNI_OK )
{
{
@ -298,12 +314,10 @@ Java_com_xypower_mpapp_MainActivity_takePhoto(
unsigned char id = ( unsigned char ) channel - 1 ;
unsigned char id = ( unsigned char ) channel - 1 ;
Camera2Reader * camera = new Camera2Reader ( id ) ;
Camera2Reader * camera = new Camera2Reader ( id ) ;
const char * pathStr = env - > GetStringUTFChars ( path , 0 ) ;
std : : string pathStr = jstring2string ( env , path ) ;
const char * fileNameStr = env - > GetStringUTFChars ( fileName , 0 ) ;
std : : string fileNameStr = jstring2string ( env , fileName ) ;
camera - > Open ( pathStr , fileNameStr ) ;
camera - > Open ( pathStr . c_str ( ) , fileNameStr . c_str ( ) ) ;
env - > ReleaseStringUTFChars ( fileName , fileNameStr ) ;
env - > ReleaseStringUTFChars ( path , pathStr ) ;
camera - > start ( ) ;
camera - > start ( ) ;
@ -335,12 +349,12 @@ Java_com_xypower_mpapp_MicroPhotoService_init(
env - > SetObjectField ( pThis , fieldId , modelName ) ;
env - > SetObjectField ( pThis , fieldId , modelName ) ;
bool udpOrTcp = ( networkProtocol ! = 0 ) ; // 0: tcp
bool udpOrTcp = ( networkProtocol ! = 0 ) ; // 0: tcp
const char * appPathStr = appPath = = NULL ? NULL : env - > GetStringUTFChars ( appPath , 0 ) ;
std : : string appPathStr = jstring2string ( env , appPath ) ;
const char * ipStr = ip = = NULL ? NULL : env - > GetStringUTFChars ( ip , 0 ) ;
std : : string ipStr = jstring2string ( env , ip ) ;
const char * cmdidStr = cmdid = = NULL ? NULL : env - > GetStringUTFChars ( cmdid , 0 ) ;
std : : string cmdidStr = jstring2string ( env , cmdid ) ;
const char * simcardStr = simcard = = NULL ? NULL : env - > GetStringUTFChars ( simcard , 0 ) ;
std : : string simcardStr = jstring2string ( env , simcard ) ;
const char * tfCardPathStr = tfCardPath = = NULL ? NULL : env - > GetStringUTFChars ( tfCardPath , 0 ) ;
std : : string tfCardPathStr = jstring2string ( env , tfCardPath ) ;
const char * nativeLibraryDirStr = nativeLibraryDir = = NULL ? NULL : env - > GetStringUTFChars ( nativeLibraryDir , 0 ) ;
std : : string nativeLibraryDirStr = jstring2string ( env , nativeLibraryDir ) ;
JavaVM * vm = NULL ;
JavaVM * vm = NULL ;
jint ret = env - > GetJavaVM ( & vm ) ;
jint ret = env - > GetJavaVM ( & vm ) ;
@ -351,14 +365,14 @@ Java_com_xypower_mpapp_MicroPhotoService_init(
CTerminal * pTerminal = NewTerminal ( protocol ) ;
CTerminal * pTerminal = NewTerminal ( protocol ) ;
CPhoneDevice * device = new CPhoneDevice ( vm , pThis , MakeString( appPathStr) , ( uint64_t ) netHandle , versionCode , MakeString( nativeLibraryDirStr) ) ;
CPhoneDevice * device = new CPhoneDevice ( vm , pThis , appPathStr, ( uint64_t ) netHandle , versionCode , nativeLibraryDirStr) ;
device - > SetListener ( pTerminal ) ;
device - > SetListener ( pTerminal ) ;
device - > UpdateSignalLevel ( signalLevel ) ;
device - > UpdateSignalLevel ( signalLevel ) ;
device - > SetBuildTime ( buildTime / 1000 ) ;
device - > SetBuildTime ( buildTime / 1000 ) ;
device - > UpdateSimcard ( MakeString( simcardStr) ) ;
device - > UpdateSimcard ( simcardStr) ;
device - > UpdateTfCardPath ( MakeString( tfCardPathStr) ) ;
device - > UpdateTfCardPath ( tfCardPathStr) ;
pTerminal - > InitServerInfo ( MakeString( appPathStr) , MakeString( cmdidStr) , MakeString( ipStr) , port , udpOrTcp , encryptData ) ;
pTerminal - > InitServerInfo ( appPathStr , cmdidStr , ipStr, port , udpOrTcp , encryptData ) ;
// pTerminal->SetPacketSize(1 * 1024); // 1K
// pTerminal->SetPacketSize(1 * 1024); // 1K
# if defined(USING_NRSEC) && !defined(USING_NRSEC_VPN)
# if defined(USING_NRSEC) && !defined(USING_NRSEC_VPN)
pTerminal - > InitEncryptionInfo ( simcardStr , " /dev/spidev0.0 " , " " ) ;
pTerminal - > InitEncryptionInfo ( simcardStr , " /dev/spidev0.0 " , " " ) ;
@ -370,12 +384,6 @@ Java_com_xypower_mpapp_MicroPhotoService_init(
# ifdef _DEBUG
# ifdef _DEBUG
ALOGD ( " Finish Startup " ) ;
ALOGD ( " Finish Startup " ) ;
# endif
# endif
if ( appPathStr ! = NULL ) env - > ReleaseStringUTFChars ( appPath , appPathStr ) ;
if ( ipStr ! = NULL ) env - > ReleaseStringUTFChars ( ip , ipStr ) ;
if ( cmdidStr ! = NULL ) env - > ReleaseStringUTFChars ( cmdid , cmdidStr ) ;
if ( simcardStr ! = NULL ) env - > ReleaseStringUTFChars ( simcard , simcardStr ) ;
if ( tfCardPathStr ! = NULL ) env - > ReleaseStringUTFChars ( tfCardPath , tfCardPathStr ) ;
if ( nativeLibraryDirStr ! = NULL ) env - > ReleaseStringUTFChars ( nativeLibraryDir , nativeLibraryDirStr ) ;
if ( ! res )
if ( ! res )
{
{
@ -476,11 +484,8 @@ Java_com_xypower_mpapp_MicroPhotoService_takePhoto(
osds [ 2 ] . text = cfg . osd . rightBottom ;
osds [ 2 ] . text = cfg . osd . rightBottom ;
osds [ 3 ] . text = cfg . osd . leftBottom ;
osds [ 3 ] . text = cfg . osd . leftBottom ;
const char * pathStr = env - > GetStringUTFChars ( path , 0 ) ;
std : : string pathStr = jstring2string ( env , path ) ;
device - > TakePhoto ( photoInfo , osds , pathStr ) ;
device - > TakePhoto ( photoInfo , osds , MakeString ( pathStr ) ) ;
env - > ReleaseStringUTFChars ( path , pathStr ) ;
// device->TurnOffCameraPower(NULL);
// device->TurnOffCameraPower(NULL);
// if (photoInfo.usbCamera)
// if (photoInfo.usbCamera)
@ -714,9 +719,7 @@ Java_com_xypower_mpapp_MicroPhotoService_recoganizePicture(
JNIEnv * env ,
JNIEnv * env ,
jclass cls , jstring paramPath , jstring binPath , jstring blobName8 , jstring blobName16 , jstring blobName32 , jstring picPath ) {
jclass cls , jstring paramPath , jstring binPath , jstring blobName8 , jstring blobName16 , jstring blobName32 , jstring picPath ) {
const char * pParamPathStr = env - > GetStringUTFChars ( paramPath , 0 ) ;
std : : string paramPathStr = jstring2string ( env , paramPath ) ;
std : : string paramPathStr = MakeString ( pParamPathStr ) ;
env - > ReleaseStringUTFChars ( paramPath , pParamPathStr ) ;
const char * pBinPathStr = env - > GetStringUTFChars ( binPath , 0 ) ;
const char * pBinPathStr = env - > GetStringUTFChars ( binPath , 0 ) ;
std : : string binPathStr = MakeString ( pBinPathStr ) ;
std : : string binPathStr = MakeString ( pBinPathStr ) ;
@ -983,9 +986,8 @@ Java_com_xypower_mpapp_MicroPhotoService_infoLog(
return ;
return ;
}
}
const char * msgStr = env - > GetStringUTFChars ( msg , 0 ) ;
std : : string str = jstring2string ( env , msg ) ;
XYLOG ( XYLOG_SEVERITY_INFO , msgStr ) ;
XYLOG ( XYLOG_SEVERITY_INFO , str . c_str ( ) ) ;
env - > ReleaseStringUTFChars ( msg , msgStr ) ;
}
}
extern " C " JNIEXPORT jboolean JNICALL
extern " C " JNIEXPORT jboolean JNICALL