diff --git a/app/src/main/java/com/example/bondoman/services/receivers/ExpiryBroadcastReceiver.kt b/app/src/main/java/com/example/bondoman/services/receivers/ExpiryBroadcastReceiver.kt index ba96f994db77dc0b492d7ecb3fb7e1c9efc00980..888044541beec61d115f0a162b4da593260dab96 100644 --- a/app/src/main/java/com/example/bondoman/services/receivers/ExpiryBroadcastReceiver.kt +++ b/app/src/main/java/com/example/bondoman/services/receivers/ExpiryBroadcastReceiver.kt @@ -13,6 +13,8 @@ class ExpiryBroadcastReceiver : BroadcastReceiver() { ) { if (intent?.action == "com.example.bondoman.services.LOGOUT_TIMEOUT") { PreferencesManager.remove(context!!, "token", true) + PreferencesManager.remove(context, "nim", true) + PreferencesManager.remove(context, "email", true) val newIntent = Intent(context, LoginActivity::class.java) newIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK diff --git a/app/src/main/java/com/example/bondoman/views/activities/LoginActivity.kt b/app/src/main/java/com/example/bondoman/views/activities/LoginActivity.kt index c97cfdd9c397ae9a734e7c75621e55bdb6a8805d..75a502611950817f5691f5252ea7735836d1e1ee 100644 --- a/app/src/main/java/com/example/bondoman/views/activities/LoginActivity.kt +++ b/app/src/main/java/com/example/bondoman/views/activities/LoginActivity.kt @@ -86,7 +86,11 @@ class LoginActivity : AppCompatActivity() { } else { startTimerService(expiryDuration) + val nim = email.substringBefore("@") + PreferencesManager.putString(this, "token", response.token ?: "", true) + PreferencesManager.putString(this, "nim", nim, true) + PreferencesManager.putString(this, "email", email, true) val intent = Intent(this, MainActivity::class.java) startActivity(intent) finish() @@ -116,6 +120,8 @@ class LoginActivity : AppCompatActivity() { if (response.error != null) { Log.e("LoginActivity", response.error) PreferencesManager.remove(this, "token", true) + PreferencesManager.remove(this, "nim", true) + PreferencesManager.remove(this, "email", true) viewModel.resetTokenResponse() return@Observer } @@ -124,6 +130,8 @@ class LoginActivity : AppCompatActivity() { if (response.exp != null && response.exp < currentTime) { Log.i("LoginActivity", "Token expired") PreferencesManager.remove(this, "token", true) + PreferencesManager.remove(this, "nim", true) + PreferencesManager.remove(this, "email", true) viewModel.resetTokenResponse() return@Observer } diff --git a/app/src/main/java/com/example/bondoman/views/activities/MainActivity.kt b/app/src/main/java/com/example/bondoman/views/activities/MainActivity.kt index 6ca9f085178da159187feaf6589740833c4e818d..fd7aef20c526ce7a23c67c34c5193c772dc41b30 100644 --- a/app/src/main/java/com/example/bondoman/views/activities/MainActivity.kt +++ b/app/src/main/java/com/example/bondoman/views/activities/MainActivity.kt @@ -26,6 +26,7 @@ import androidx.navigation.fragment.NavHostFragment import androidx.navigation.ui.setupWithNavController import com.example.bondoman.MainApplication import com.example.bondoman.R +import com.example.bondoman.data.utils.PreferencesManager import com.example.bondoman.data.viewmodels.transaction.TransactionViewModel import com.example.bondoman.data.viewmodels.transaction.TransactionViewModelFactory import com.example.bondoman.databinding.ActivityMainBinding @@ -179,6 +180,14 @@ class MainActivity : AppCompatActivity(), ParentActivityService { ).show() } + override fun getEmail(): String { + return PreferencesManager.getString(this, "email") ?: "" + } + + override fun getNIM(): String { + return PreferencesManager.getString(this, "nim") ?: "" + } + private fun initializeComponents() { mainLayout = binding.main backButton = binding.backButton diff --git a/app/src/main/java/com/example/bondoman/views/fragments/SettingsFragment.kt b/app/src/main/java/com/example/bondoman/views/fragments/SettingsFragment.kt index 18e8110840c4fdd626c607a146243fd8913cf48a..501c6ff5100f29651518145a62e437df07c62838 100644 --- a/app/src/main/java/com/example/bondoman/views/fragments/SettingsFragment.kt +++ b/app/src/main/java/com/example/bondoman/views/fragments/SettingsFragment.kt @@ -151,6 +151,8 @@ class SettingsFragment : Fragment() { private fun onLogoutButtonClick() { PreferencesManager.remove(requireActivity(), "token", true) + PreferencesManager.remove(requireActivity(), "nim", true) + PreferencesManager.remove(requireActivity(), "email", true) val serviceIntent = Intent(requireActivity(), ExpiryService::class.java) requireActivity().stopService(serviceIntent) diff --git a/app/src/main/java/com/example/bondoman/views/utils/interfaces/ParentActivityService.kt b/app/src/main/java/com/example/bondoman/views/utils/interfaces/ParentActivityService.kt index 20bff281444ffcc9f06baa29121e3c168d11ac5c..aa12d3d66111fd886e1933ecadfcb87ffde29353 100644 --- a/app/src/main/java/com/example/bondoman/views/utils/interfaces/ParentActivityService.kt +++ b/app/src/main/java/com/example/bondoman/views/utils/interfaces/ParentActivityService.kt @@ -49,4 +49,8 @@ interface ParentActivityService { message: String, duration: Int, ) + + fun getEmail(): String + + fun getNIM(): String }