diff --git a/app/src/main/java/com/xypower/secapp/BridgeProvider.java b/app/src/main/java/com/xypower/secapp/BridgeProvider.java index a4779bc..b725a3a 100644 --- a/app/src/main/java/com/xypower/secapp/BridgeProvider.java +++ b/app/src/main/java/com/xypower/secapp/BridgeProvider.java @@ -12,6 +12,7 @@ import android.text.TextUtils; import android.util.Base64; import android.util.Log; +import com.dowse.devicesdk.DsDeviceSdk; import com.xypower.common.FilesUtils; import org.json.JSONObject; @@ -56,9 +57,47 @@ public class BridgeProvider extends ContentProvider { @Override public boolean onCreate() { // TODO: Implement this to initialize your content provider on startup. + return true; } + private void initNrsec() { + boolean bres = false; + int res = 0; + DsDeviceSdk dsSdk = DsDeviceSdk.getInstance(); + dsSdk.init(); + + res = dsSdk.mcuInit(); + res = dsSdk.mcuOpen(); + + bres = dsSdk.mcuPowerOffCPR(); + try { + Thread.sleep(100); + } catch (Exception ex) { + ex.printStackTrace(); + } + bres = dsSdk.mcuPowerOnCPR(); + + try { + Thread.sleep(50); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + private void uninitNrsec() { + DsDeviceSdk dsSdk = DsDeviceSdk.getInstance(); + + int res = 0; + + boolean bres = dsSdk.mcuPowerOffCPR(); + res = dsSdk.mcuClose(); + res = dsSdk.mcuUnInit(); + + dsSdk.release(); + + } + @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { @@ -67,6 +106,8 @@ public class BridgeProvider extends ContentProvider { Log.i(TAG, uri.toString()); matcher.addURI(AUTHORITY, PATH_QUERY_SEC_VERSION, 1); + initNrsec(); + Cursor cursor = null; int matched = matcher.match(uri); switch (matched) { @@ -77,6 +118,7 @@ public class BridgeProvider extends ContentProvider { break; } + uninitNrsec(); return cursor; } @@ -90,6 +132,7 @@ public class BridgeProvider extends ContentProvider { matcher.addURI(AUTHORITY, PATH_GEN_KEYS, 3); matcher.addURI(AUTHORITY, PATH_GEN_CERT_REQ, 4); + initNrsec(); int res = 0; int matched = matcher.match(uri); switch (matched) { @@ -109,6 +152,8 @@ public class BridgeProvider extends ContentProvider { break; } + uninitNrsec(); + return res; }