Declare stream camera permissions and cancel capture at core restart
This commit is contained in:
1 parent
e4f2e647d7
commit
f2a5dde761
2 files changed
+7
-4
No files matched your search
@@ -12,6 +12,7 @@
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_PHONE_CALL" />
|
||||
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
@@ -83,6 +84,8 @@
|
||||
android:exported="false"
|
||||
android:foregroundServiceType="phoneCall|microphone" />
|
||||
|
||||
<service android:name=".data.StreamService" android:exported="false" android:foregroundServiceType="camera|microphone" />
|
||||
|
||||
<service
|
||||
android:name=".data.UtunConnectionService"
|
||||
android:exported="true"
|
||||
|
||||
@@ -43,7 +43,7 @@ object NativeLib {
|
||||
|
||||
fun stop() {
|
||||
runBlocking(Dispatchers.Main.immediate) {
|
||||
CallController.reset(); ChatApplication.instance.avatars.stop(); ChatApplication.instance.memberFiles.cancel()
|
||||
StreamController.reset(); CallController.reset(); ChatApplication.instance.avatars.stop(); ChatApplication.instance.memberFiles.cancel()
|
||||
}
|
||||
if (!isReady()) return
|
||||
nativeStop()
|
||||
@@ -58,7 +58,7 @@ object NativeLib {
|
||||
|
||||
fun destroy() {
|
||||
runBlocking(Dispatchers.Main.immediate) {
|
||||
CallController.reset(); ChatApplication.instance.avatars.stop(); ChatApplication.instance.memberFiles.cancel()
|
||||
StreamController.reset(); CallController.reset(); ChatApplication.instance.avatars.stop(); ChatApplication.instance.memberFiles.cancel()
|
||||
}
|
||||
nativeDestroy()
|
||||
runBlocking(Dispatchers.Main.immediate) { ChatApplication.instance.memberFiles.coreStopped() }
|
||||
@@ -66,7 +66,7 @@ object NativeLib {
|
||||
|
||||
fun restart(dbPath: String, controlPort: Int, configText: String): Boolean {
|
||||
runBlocking(Dispatchers.Main.immediate) {
|
||||
CallController.reset(); ChatApplication.instance.avatars.stop(); ChatApplication.instance.memberFiles.cancel()
|
||||
StreamController.reset(); CallController.reset(); ChatApplication.instance.avatars.stop(); ChatApplication.instance.memberFiles.cancel()
|
||||
}
|
||||
return nativeRestart(configText)
|
||||
}
|
||||
@@ -172,7 +172,7 @@ object NativeLib {
|
||||
|
||||
/* ── Voice recording ── */
|
||||
fun voiceStart(channelId: String, replyTo: String = "", requestId: Long = 0): Boolean =
|
||||
nativeVoiceStart(channelId, messageIdBytes(replyTo), requestId)
|
||||
!StreamController.blocksCapture() && nativeVoiceStart(channelId, messageIdBytes(replyTo), requestId)
|
||||
fun voiceFeed(samples: ShortArray): Boolean = nativeVoiceFeed(samples)
|
||||
fun voiceStop(): Int = nativeVoiceStop()
|
||||
fun voiceCancel() { nativeVoiceCancel() }
|
||||
|
||||
Reference in new issue
Block a user