Skip to content

Commit feb2054

Browse files
atm1504mariobehling
authored andcommitted
fix: Correct the code to move to login page (#2048)
* Correct the code to move to login page * Applied correct format of code * Spotless check * LoginLogout Module implemented in SkillsDetails Fragment Applied loginLogout presenter in signup activity Refactored Settings and Skills Activity * Spotless check * Activity changed to context * Context type changed * Var changed to val * Renamed function * Suggested changes * CIRCLECI check applied * Signup changes reverted * Circle ci applied
1 parent 31c347e commit feb2054

File tree

9 files changed

+52
-16
lines changed

9 files changed

+52
-16
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.fossasia.susi.ai.login
2+
3+
import android.content.Context
4+
import org.fossasia.susi.ai.data.UtilModel
5+
import org.fossasia.susi.ai.data.db.DatabaseRepository
6+
import org.fossasia.susi.ai.data.db.contract.IDatabaseRepository
7+
import org.fossasia.susi.ai.login.contract.ILoginLogoutModulePresenter
8+
import org.fossasia.susi.ai.skills.settings.contract.ISettingsView
9+
10+
class LoginLogoutModulePresenter(context: Context) : ILoginLogoutModulePresenter {
11+
12+
private val utilModel: UtilModel = UtilModel(context)
13+
private val databaseRepository: IDatabaseRepository = DatabaseRepository()
14+
private val settingView: ISettingsView? = null
15+
16+
override fun logout() {
17+
utilModel.clearToken()
18+
utilModel.clearPrefs()
19+
utilModel.saveAnonymity(false)
20+
databaseRepository.deleteAllMessages()
21+
settingView?.startLoginActivity()
22+
}
23+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package org.fossasia.susi.ai.login.contract
2+
3+
interface ILoginLogoutModulePresenter {
4+
fun logout()
5+
}

app/src/main/java/org/fossasia/susi/ai/signup/SignUpPresenter.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,6 @@ class SignUpPresenter(signUpActivity: SignUpActivity) : ISignUpPresenter, ISignU
144144
databaseRepository.deleteAllMessages()
145145
settingView?.startLoginActivity()
146146
}
147-
148147
override fun requestPassword(email: String, url: String, isPersonalServerChecked: Boolean) {
149148
if (email.isEmpty()) {
150149
signUpView?.invalidCredentials(true, Constant.EMAIL)

app/src/main/java/org/fossasia/susi/ai/skills/SkillsActivity.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import org.fossasia.susi.ai.chat.ChatActivity
1717
import org.fossasia.susi.ai.helper.Constant
1818
import org.fossasia.susi.ai.helper.Utils.hideSoftKeyboard
1919
import org.fossasia.susi.ai.login.LoginActivity
20+
import org.fossasia.susi.ai.login.LoginLogoutModulePresenter
21+
import org.fossasia.susi.ai.login.contract.ILoginLogoutModulePresenter
2022
import org.fossasia.susi.ai.rest.responses.susi.SkillData
2123
import org.fossasia.susi.ai.signup.SignUpActivity
2224
import org.fossasia.susi.ai.skills.groupwiseskills.GroupWiseSkillsFragment
@@ -50,13 +52,15 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback {
5052
private var text: String = ""
5153
private var group: String = ""
5254
private lateinit var settingsPresenter: ISettingsPresenter
55+
private lateinit var loginLogoutModulePresenter: ILoginLogoutModulePresenter
5356

5457
override fun onCreate(savedInstanceState: Bundle?) {
5558
super.onCreate(savedInstanceState)
5659
overridePendingTransition(R.anim.trans_left_in, R.anim.trans_left_out)
5760
setContentView(R.layout.activity_skills)
5861

5962
settingsPresenter = SettingsPresenter(this)
63+
loginLogoutModulePresenter = LoginLogoutModulePresenter(this)
6064
val skillFragment = SkillListingFragment()
6165
val privacyFragment = PrivacyFragment()
6266
val bundle = intent.extras
@@ -145,7 +149,7 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback {
145149
if (!settingsPresenter.getAnonymity()) {
146150
val builder = AlertDialog.Builder(this)
147151
builder.setMessage(R.string.logout_confirmation).setCancelable(false).setPositiveButton(R.string.action_log_out) { _, _ ->
148-
settingsPresenter.loginLogout()
152+
loginLogoutModulePresenter.logout()
149153
val intent = Intent(this, LoginActivity::class.java)
150154
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK
151155
startActivity(intent)
@@ -155,7 +159,7 @@ class SkillsActivity : AppCompatActivity(), SkillFragmentCallback {
155159
alert.setTitle(getString(R.string.logout))
156160
alert.show()
157161
} else {
158-
settingsPresenter.loginLogout()
162+
loginLogoutModulePresenter.logout()
159163
val intent = Intent(this, LoginActivity::class.java)
160164
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK
161165
startActivity(intent)

app/src/main/java/org/fossasia/susi/ai/skills/settings/ChatSettingsFragment.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ import org.fossasia.susi.ai.skills.settings.contract.ISettingsView
3232
import timber.log.Timber
3333
import java.util.Locale
3434
import android.content.ActivityNotFoundException
35+
import org.fossasia.susi.ai.login.LoginLogoutModulePresenter
36+
import org.fossasia.susi.ai.login.contract.ILoginLogoutModulePresenter
3537
import org.fossasia.susi.ai.skills.help.HelpFragment
3638
import org.fossasia.susi.ai.skills.privacy.PrivacyFragment
3739

@@ -47,6 +49,7 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView {
4749
private val TAG_HELP_FRAGMENT = "HelpFragment"
4850
private val TAG_PRIVACY_FRAGMENT = "PrivacyFragment"
4951
private lateinit var settingsPresenter: ISettingsPresenter
52+
private lateinit var loginLogoutModulePresenter: ILoginLogoutModulePresenter
5053

5154
private lateinit var rate: Preference
5255
lateinit var server: Preference
@@ -84,6 +87,7 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView {
8487
if (thisActivity is SkillsActivity) thisActivity.title = getString(R.string.action_settings)
8588
settingsPresenter = SettingsPresenter(activity as SkillsActivity)
8689
settingsPresenter.onAttach(this)
90+
loginLogoutModulePresenter = LoginLogoutModulePresenter(requireContext())
8791

8892
setHasOptionsMenu(true)
8993

@@ -192,14 +196,14 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView {
192196
if (!settingsPresenter.getAnonymity()) {
193197
val builder = AlertDialog.Builder(requireContext())
194198
builder.setMessage(R.string.logout_confirmation).setCancelable(false).setPositiveButton(R.string.action_log_out) { _, _ ->
195-
settingsPresenter.loginLogout()
199+
loginLogoutModulePresenter.logout()
196200
}.setNegativeButton(R.string.cancel) { dialog, _ -> dialog.cancel() }
197201

198202
val alert = builder.create()
199203
alert.setTitle(getString(R.string.logout))
200204
alert.show()
201205
} else {
202-
settingsPresenter.loginLogout()
206+
loginLogoutModulePresenter.logout()
203207
}
204208
true
205209
}
@@ -215,7 +219,7 @@ class ChatSettingsFragment : PreferenceFragmentCompat(), ISettingsView {
215219
}
216220

217221
displayEmail.setOnPreferenceClickListener {
218-
settingsPresenter.loginLogout()
222+
loginLogoutModulePresenter.logout()
219223
true
220224
}
221225

app/src/main/java/org/fossasia/susi/ai/skills/settings/SettingsPresenter.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,6 @@ class SettingsPresenter(skillsActivity: SkillsActivity) :
5959
}
6060
}
6161

62-
override fun loginLogout() {
63-
utilModel.clearToken()
64-
utilModel.clearPrefs()
65-
utilModel.saveAnonymity(false)
66-
databaseRepository.deleteAllMessages()
67-
settingView?.startLoginActivity()
68-
}
69-
7062
override fun resetPassword(password: String, newPassword: String, conPassword: String) {
7163
if (password.isEmpty()) {
7264
settingView?.invalidCredentials(true, Constant.PASSWORD)

app/src/main/java/org/fossasia/susi/ai/skills/settings/contract/ISettingsPresenter.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ interface ISettingsPresenter {
1616

1717
fun onDetach()
1818

19-
fun loginLogout()
20-
2119
fun resetPassword(password: String, newPassword: String, conPassword: String)
2220

2321
fun checkForPassword(password: String, what: String)

app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsFragment.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ import org.fossasia.susi.ai.dataclasses.ReportSkillQuery
3434
import org.fossasia.susi.ai.helper.PrefManager
3535
import org.fossasia.susi.ai.helper.Utils
3636
import org.fossasia.susi.ai.login.LoginActivity
37+
import org.fossasia.susi.ai.login.LoginLogoutModulePresenter
38+
import org.fossasia.susi.ai.login.contract.ILoginLogoutModulePresenter
3739
import org.fossasia.susi.ai.rest.responses.susi.GetSkillFeedbackResponse
3840
import org.fossasia.susi.ai.rest.responses.susi.SkillData
3941
import org.fossasia.susi.ai.rest.responses.susi.Stars
@@ -45,6 +47,7 @@ import org.fossasia.susi.ai.skills.skilldetails.contract.ISkillDetailsView
4547
class SkillDetailsFragment : Fragment(), ISkillDetailsView {
4648

4749
private lateinit var skillDetailsPresenter: ISkillDetailsPresenter
50+
private lateinit var loginLogoutModulePresenter: ILoginLogoutModulePresenter
4851

4952
private lateinit var skillData: SkillData
5053
private lateinit var skillGroup: String
@@ -72,6 +75,7 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView {
7275

7376
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
7477
skillDetailsPresenter = SkillDetailsPresenter(this)
78+
loginLogoutModulePresenter = LoginLogoutModulePresenter(requireContext())
7579
skillDetailsPresenter.onAttach(this)
7680
skillData = arguments?.getParcelable(
7781
SKILL_KEY) as SkillData
@@ -499,7 +503,9 @@ class SkillDetailsFragment : Fragment(), ISkillDetailsView {
499503
} else {
500504
tvAnonymousPostFeedback.visibility = View.VISIBLE
501505
tvAnonymousPostFeedback.setOnClickListener {
506+
loginLogoutModulePresenter.logout()
502507
val intentToLogin = Intent(context, LoginActivity::class.java)
508+
intentToLogin.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK
503509
startActivity(intentToLogin)
504510
}
505511
}

app/src/main/java/org/fossasia/susi/ai/skills/skilldetails/SkillDetailsPresenter.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import org.fossasia.susi.ai.R
44
import org.fossasia.susi.ai.data.contract.ISkillDetailsModel
55
import org.fossasia.susi.ai.data.SkillDetailsModel
66
import org.fossasia.susi.ai.data.UtilModel
7+
import org.fossasia.susi.ai.data.db.DatabaseRepository
8+
import org.fossasia.susi.ai.data.db.contract.IDatabaseRepository
79
import org.fossasia.susi.ai.dataclasses.FetchFeedbackQuery
810
import org.fossasia.susi.ai.dataclasses.PostFeedback
911
import org.fossasia.susi.ai.dataclasses.ReportSkillQuery
@@ -13,6 +15,7 @@ import org.fossasia.susi.ai.rest.responses.susi.PostSkillFeedbackResponse
1315
import org.fossasia.susi.ai.rest.responses.susi.GetSkillFeedbackResponse
1416
import org.fossasia.susi.ai.rest.responses.susi.ReportSkillResponse
1517
import org.fossasia.susi.ai.rest.responses.susi.GetRatingByUserResponse
18+
import org.fossasia.susi.ai.skills.settings.contract.ISettingsView
1619
import org.fossasia.susi.ai.skills.skilldetails.contract.ISkillDetailsPresenter
1720
import org.fossasia.susi.ai.skills.skilldetails.contract.ISkillDetailsView
1821
import retrofit2.Response
@@ -33,6 +36,8 @@ class SkillDetailsPresenter(skillDetailsFragment: SkillDetailsFragment) : ISkill
3336
private var skillDetailsModel: SkillDetailsModel = SkillDetailsModel()
3437
private var skillDetailsView: ISkillDetailsView? = null
3538
private val utilModel: UtilModel = UtilModel(skillDetailsFragment.requireContext())
39+
private var databaseRepository: IDatabaseRepository = DatabaseRepository()
40+
private var settingView: ISettingsView? = null
3641

3742
override fun onAttach(skillDetailsView: ISkillDetailsView) {
3843
this.skillDetailsView = skillDetailsView

0 commit comments

Comments
 (0)