enlever les activités à enlever du backstack

This commit is contained in:
odrling 2018-03-07 13:31:08 +01:00
parent bb14296c26
commit 48ac044e66
5 changed files with 35 additions and 11 deletions

View file

@ -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" />

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)
}
}