Prevent call from being stopped when removing app from recent tasks + go back to call activity when clicking launcher icon during a call
This commit is contained in:
parent
635c8e69c7
commit
cbacb97f9d
3 changed files with 15 additions and 1 deletions
|
@ -25,9 +25,11 @@ Group changes to describe their impact on the project, as follows:
|
||||||
- Improved how contact avatars are generated
|
- Improved how contact avatars are generated
|
||||||
- 3-dots menu even for basic chat rooms with more options
|
- 3-dots menu even for basic chat rooms with more options
|
||||||
- Phone numbers & email addresses are now clickable links in chat messages
|
- Phone numbers & email addresses are now clickable links in chat messages
|
||||||
|
- Go to call activity when there is at least one active call and you click on launcher icon
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- Multiple file download attempt from the same chat bubble at the same time needed app restart to properly download each file
|
- Multiple file download attempt from the same chat bubble at the same time needed app restart to properly download each file
|
||||||
|
- Call stopped when removing app from recent tasks
|
||||||
- Generated avatars in dark mode
|
- Generated avatars in dark mode
|
||||||
- Call state in self-managed TelecomManager service if it takes longer to be created than the call to be answered
|
- Call state in self-managed TelecomManager service if it takes longer to be created than the call to be answered
|
||||||
- Show service notification sooner to prevent crash if Core creation takes too long
|
- Show service notification sooner to prevent crash if Core creation takes too long
|
||||||
|
|
|
@ -261,6 +261,16 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin
|
||||||
|
|
||||||
private fun handleIntentParams(intent: Intent) {
|
private fun handleIntentParams(intent: Intent) {
|
||||||
when (intent.action) {
|
when (intent.action) {
|
||||||
|
Intent.ACTION_MAIN -> {
|
||||||
|
val core = coreContext.core
|
||||||
|
val call = core.currentCall ?: core.calls.firstOrNull()
|
||||||
|
if (call != null) {
|
||||||
|
Log.i("[Main Activity] Launcher clicked while there is at least one active call, go to CallActivity")
|
||||||
|
val callIntent = Intent(this, org.linphone.activities.voip.CallActivity::class.java)
|
||||||
|
callIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)
|
||||||
|
startActivity(callIntent)
|
||||||
|
}
|
||||||
|
}
|
||||||
Intent.ACTION_SEND, Intent.ACTION_SENDTO -> {
|
Intent.ACTION_SEND, Intent.ACTION_SENDTO -> {
|
||||||
if (intent.type == "text/plain") {
|
if (intent.type == "text/plain") {
|
||||||
handleSendText(intent)
|
handleSendText(intent)
|
||||||
|
|
|
@ -66,7 +66,9 @@ class CoreService : CoreService() {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onTaskRemoved(rootIntent: Intent?) {
|
override fun onTaskRemoved(rootIntent: Intent?) {
|
||||||
if (!corePreferences.keepServiceAlive) {
|
if (coreContext.core.callsNb > 0) {
|
||||||
|
Log.w("[Service] Task removed but there is at least one active call, do not stop the Core!")
|
||||||
|
} else if (!corePreferences.keepServiceAlive) {
|
||||||
if (coreContext.core.isInBackground) {
|
if (coreContext.core.isInBackground) {
|
||||||
Log.i("[Service] Task removed, stopping Core")
|
Log.i("[Service] Task removed, stopping Core")
|
||||||
coreContext.stop()
|
coreContext.stop()
|
||||||
|
|
Loading…
Reference in a new issue