diff --git a/app/src/main/java/com/example/kingway/ptt/CallBackResolution.java b/app/src/main/java/com/example/kingway/ptt/CallBackResolution.java index 0e59831..c141b4d 100644 --- a/app/src/main/java/com/example/kingway/ptt/CallBackResolution.java +++ b/app/src/main/java/com/example/kingway/ptt/CallBackResolution.java @@ -26,7 +26,7 @@ public class CallBackResolution { private static int speckType = 1; private static String talkId = ""; private static String talkName = ""; - private static final Map groupInfos = new LinkedHashMap<>(MAX_GROUP_INFOS); + private static final Map groupInfos = new LinkedHashMap<>(MAX_GROUP_INFOS); private static String oldLoginSate = "00"; private static int logNum = 0; private static long offlineTime = 0; @@ -93,6 +93,10 @@ public class CallBackResolution { com.stand.standapp.MainActivity.onPttLoginSuccess(); com.stand.standapp.MainActivity.executeJs("updatePttLoginStatus('" + pttLoginStatus + "','" + pttLoginId + "')"); } + if ("01".equals(errorNum)) { + com.stand.standapp.MainActivity.onPttLoginSuccess(); + com.stand.standapp.MainActivity.executeJs("updatePttLoginStatus('02','" + pttLoginId + "')"); + } break; case "a2"://账号有视频功能 diff --git a/app/src/main/java/com/stand/standapp/MainActivity.kt b/app/src/main/java/com/stand/standapp/MainActivity.kt index a9a403f..d862b28 100644 --- a/app/src/main/java/com/stand/standapp/MainActivity.kt +++ b/app/src/main/java/com/stand/standapp/MainActivity.kt @@ -310,7 +310,7 @@ class MainActivity : AppCompatActivity() { // 3. 强制清缓存,确保 JS/CSS 等资源获取最新版本 try { - // runtime.storageController.clearData(ClearFlags.ALL) + // runtime.storageController.clearData(ClearFlags.ALL) Timber.tag("MainActivity").i("GeckoView cache cleared") } catch (e: Exception) { Timber.tag("MainActivity").w(e, "Failed to clear GeckoView cache") @@ -516,12 +516,12 @@ class MainActivity : AppCompatActivity() { // } catch (e: Exception) { // Timber.tag("MainActivity").e(e, "PTT cancel failed") // } -// try { -// com.example.kingway.ptt.SendAtUtil.toLogout() -// Timber.tag("MainActivity").i("PTT logout sent") -// } catch (e: Exception) { -// Timber.tag("MainActivity").e(e, "PTT logout failed") -// } + try { + com.example.kingway.ptt.SendAtUtil.toLogout() + Timber.tag("MainActivity").i("PTT logout sent") + } catch (e: Exception) { + Timber.tag("MainActivity").e(e, "PTT logout failed") + } // 2. Stop GPIO listening try { @@ -548,7 +548,6 @@ class MainActivity : AppCompatActivity() { // 3. Destroy/release AudioTrack in PTT Native try { com.stand.standapp.MyApplication.pNative?.destory() - com.stand.standapp.MyApplication.pNative = null Timber.tag("MainActivity").i("PTT native AudioTrack destroyed") } catch (e: Exception) { Timber.tag("MainActivity").e(e, "PTT native destroy failed") diff --git a/app/src/main/java/com/stand/standapp/utils/GpioManager.kt b/app/src/main/java/com/stand/standapp/utils/GpioManager.kt index 4fe87ce..358171b 100644 --- a/app/src/main/java/com/stand/standapp/utils/GpioManager.kt +++ b/app/src/main/java/com/stand/standapp/utils/GpioManager.kt @@ -17,7 +17,7 @@ object GpioManager { private var mIsRunning = false private var mThread: Thread? = null private var lastGpioValue = 1 // 默认松开状态 (1) - + fun init(context: Context) { if (mZysjSystemManager != null) return try { @@ -38,10 +38,10 @@ object GpioManager { // 硬件轮询频率优化:150ms 既能保证响应速度,又能降低 CPU 消耗 Thread.sleep(150) val manager = mZysjSystemManager ?: continue - + // 获取 GPIO 1 的值 (0 按下, 1 松开) val currentValue = manager.get_zysj_gpio_value(1) - + if (currentValue != lastGpioValue) { Timber.tag("GPIO").d("GPIO 1 Value changed: $lastGpioValue -> $currentValue") handleGpioChange(currentValue) @@ -96,7 +96,7 @@ object GpioManager { if (isSpeaking) { val now = System.currentTimeMillis() val duration = now - lastSpeakTime - + if (duration < MIN_SPEAK_DURATION) { val delay = MIN_SPEAK_DURATION - duration Timber.tag("GPIO").d("Hardware speak duration too short ($duration ms), delaying release by $delay ms")