enlever les activités à enlever du backstack
This commit is contained in:
parent
bb14296c26
commit
48ac044e66
|
@ -86,7 +86,6 @@
|
|||
|
||||
<activity android:name=".ConversationActivity"
|
||||
android:windowSoftInputMode="adjustResize"
|
||||
android:launchMode="singleTop"
|
||||
android:parentActivityName=".MainActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND" />
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package xyz.johnny.norntalk
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.os.AsyncTask
|
||||
import android.util.Log
|
||||
import android.view.ContextMenu
|
||||
|
@ -21,6 +20,7 @@ import xyz.johnny.norntalk.messages.NornConversation
|
|||
import xyz.johnny.norntalk.messages.NornMessage
|
||||
import xyz.johnny.norntalk.messages.NornMessageDispatcher
|
||||
import xyz.johnny.norntalk.ui_components.ComposeView
|
||||
import xyz.johnny.norntalk.ui_components.DismissableActivity
|
||||
import xyz.johnny.norntalk.ui_components.NornMessageAdapter
|
||||
import java.net.URLDecoder
|
||||
import java.util.*
|
||||
|
@ -54,12 +54,6 @@ class ConversationActivity: ComposeView.SendActivity() {
|
|||
*/
|
||||
private val conversation get() = NornConversation.getConversation(_conversationId!!, this)
|
||||
|
||||
override fun onNewIntent(intent: Intent?) {
|
||||
super.onNewIntent(intent)
|
||||
this.intent = intent
|
||||
this.initialize()
|
||||
}
|
||||
|
||||
override fun initialize() {
|
||||
// lorsque l'utilisateur lance la conversation par l'application Contacts
|
||||
if (this.intent.action != null) {
|
||||
|
@ -241,6 +235,7 @@ class ConversationActivity: ComposeView.SendActivity() {
|
|||
}
|
||||
|
||||
override fun onResume() {
|
||||
DismissableActivity.dismiss()
|
||||
super.onResume()
|
||||
// ne plus montrer les notifications concernant la conversation actuelle lorsque l'activité
|
||||
// est au premier plan
|
||||
|
|
|
@ -7,10 +7,10 @@ import android.widget.CompoundButton
|
|||
import android.widget.Switch
|
||||
import kotlinx.android.synthetic.main.activity_settings.*
|
||||
import kotlinx.android.synthetic.main.notifalert_layout.*
|
||||
import xyz.johnny.norntalk.ui_components.BaseActivity
|
||||
import xyz.johnny.norntalk.ui_components.DismissableActivity
|
||||
|
||||
|
||||
class SettingsActivity : BaseActivity(), CompoundButton.OnCheckedChangeListener{
|
||||
class SettingsActivity : DismissableActivity(), CompoundButton.OnCheckedChangeListener{
|
||||
|
||||
override val layout = R.layout.activity_settings
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ class ComposeView: View {
|
|||
* Classe abstraite pour les activités incluant une [ComposeView] pour envoyer le message
|
||||
* lorsque l'utilisateur appuie sur le bouton envoyer
|
||||
*/
|
||||
abstract class SendActivity : BaseActivity() {
|
||||
abstract class SendActivity : DismissableActivity() {
|
||||
|
||||
/**
|
||||
* Envoyer le message et vider le champs de texte
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
package xyz.johnny.norntalk.ui_components
|
||||
|
||||
/**
|
||||
* Activité qui seront supprimées du Backstack lorsqu'une conversation est ouverte
|
||||
*/
|
||||
abstract class DismissableActivity : BaseActivity() {
|
||||
|
||||
companion object {
|
||||
|
||||
private val dismissables = ArrayList<DismissableActivity>()
|
||||
|
||||
fun dismiss() {
|
||||
for (d in dismissables)
|
||||
d.finish()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
dismissables.add(this)
|
||||
this.finish()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
dismissables.remove(this)
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue