Skip to content
This repository was archived by the owner on Jun 7, 2020. It is now read-only.

Commit 171d81e

Browse files
authored
Merge pull request #2334 from HusseinElFeky/language-change-fix
[FIX] Fixes issues and memory leaks after changing language
2 parents e54415c + 32f78ac commit 171d81e

5 files changed

Lines changed: 12 additions & 4 deletions

File tree

app/src/main/java/chat/rocket/android/directory/presentation/DirectoryPresenter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ class DirectoryPresenter @Inject constructor(
136136
}
137137
}
138138

139-
fun tiDirectMessage(username: String, name: String) {
139+
fun toDirectMessage(username: String, name: String) {
140140
launchUI(strategy) {
141141
try {
142142
view.showLoading()

app/src/main/java/chat/rocket/android/directory/ui/DirectoryFragment.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ class DirectoryFragment : Fragment(), DirectoryView {
4949
presenter.toChannel(channelId, channelName)
5050
}
5151
override fun onUserSelected(username: String, name: String) {
52-
presenter.tiDirectMessage(username, name)
52+
presenter.toDirectMessage(username, name)
5353
}
5454
override fun onGlobalUserSelected(username: String, name: String) {
55-
presenter.tiDirectMessage(username, name)
55+
presenter.toDirectMessage(username, name)
5656
}
5757
})
5858
private val hashtagDrawable by lazy {

app/src/main/java/chat/rocket/android/main/presentation/MainNavigator.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package chat.rocket.android.main.presentation
22

3+
import android.content.Intent
34
import chat.rocket.android.R
45
import chat.rocket.android.authentication.ui.newServerIntent
56
import chat.rocket.android.chatroom.ui.chatRoomIntent
@@ -100,4 +101,9 @@ class MainNavigator(internal val activity: MainActivity) {
100101
fun toServerScreen() {
101102
activity.startActivity(activity.newServerIntent())
102103
}
104+
105+
fun recreateActivity() {
106+
activity.startActivity(Intent(activity, MainActivity::class.java))
107+
activity.finish()
108+
}
103109
}

app/src/main/java/chat/rocket/android/settings/presentation/SettingsPresenter.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,4 +148,6 @@ class SettingsPresenter @Inject constructor(
148148

149149
fun toLicense(licenseUrl: String, licenseTitle: String) =
150150
navigator.toLicense(licenseUrl, licenseTitle)
151+
152+
fun recreateActivity() = navigator.recreateActivity()
151153
}

app/src/main/java/chat/rocket/android/settings/ui/SettingsFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ class SettingsFragment : Fragment(), SettingsView, AppLanguageView {
132132

133133
override fun updateLanguage(language: String, country: String?) {
134134
presenter.saveLocale(language, country)
135-
activity?.recreate()
135+
presenter.recreateActivity()
136136
}
137137

138138
override fun invalidateToken(token: String) = invalidateFirebaseToken(token)

0 commit comments

Comments
 (0)