From eb4920affeba537eeb689dedf9ecff44c27ef91b Mon Sep 17 00:00:00 2001 From: Matthew Date: Fri, 6 Sep 2024 22:28:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=B5=E6=BA=90=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/secapp/BridgeProvider.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) 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; }