added ability to log out
This commit is contained in:
		@@ -3,6 +3,7 @@ package org.foxarmy.barcodescannerforemployees.activities
 | 
			
		||||
import android.app.Activity
 | 
			
		||||
import android.content.DialogInterface
 | 
			
		||||
import android.content.Intent
 | 
			
		||||
import android.content.SharedPreferences
 | 
			
		||||
import android.os.Bundle
 | 
			
		||||
import android.util.Log
 | 
			
		||||
import android.view.Menu
 | 
			
		||||
@@ -43,12 +44,22 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
 | 
			
		||||
    private var actionBarDrawerToggle: ActionBarDrawerToggle? = null
 | 
			
		||||
    private lateinit var ws: WebSocketClient
 | 
			
		||||
 | 
			
		||||
    private lateinit var sharedPreferences: SharedPreferences
 | 
			
		||||
 | 
			
		||||
    override fun onCreate(savedInstanceState: Bundle?) {
 | 
			
		||||
        super.onCreate(savedInstanceState)
 | 
			
		||||
 | 
			
		||||
        binding = ActivityMainBinding.inflate(layoutInflater)
 | 
			
		||||
        setContentView(binding.root)
 | 
			
		||||
 | 
			
		||||
        sharedPreferences = EncryptedSharedPreferences.create(
 | 
			
		||||
            "sensitive",
 | 
			
		||||
            MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC),
 | 
			
		||||
            applicationContext,
 | 
			
		||||
            EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
 | 
			
		||||
            EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        setSupportActionBar(binding.toolbar)
 | 
			
		||||
        setupViewPager(binding.tabViewpager)
 | 
			
		||||
        binding.tabTablayout.setupWithViewPager(binding.tabViewpager)
 | 
			
		||||
@@ -123,15 +134,6 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun synchronize() {
 | 
			
		||||
 | 
			
		||||
        val sharedPreferences = EncryptedSharedPreferences.create(
 | 
			
		||||
            "sensitive",
 | 
			
		||||
            MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC),
 | 
			
		||||
            applicationContext,
 | 
			
		||||
            EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
 | 
			
		||||
            EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        if (sharedPreferences.getString("currentGroup", "offline")!! == "offline") return
 | 
			
		||||
 | 
			
		||||
        val net = Net()
 | 
			
		||||
@@ -346,13 +348,6 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun isOffline(): Boolean {
 | 
			
		||||
        val sharedPreferences = EncryptedSharedPreferences.create(
 | 
			
		||||
            "sensitive",
 | 
			
		||||
            MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC),
 | 
			
		||||
            applicationContext,
 | 
			
		||||
            EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
 | 
			
		||||
            EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
 | 
			
		||||
        )
 | 
			
		||||
        return sharedPreferences.getString("currentGroup", "") == "offline"
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -380,6 +375,15 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
 | 
			
		||||
            R.id.nav_settings -> {
 | 
			
		||||
                intent = Intent(this, SettingsActivity::class.java)
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            R.id.nav_logout -> {
 | 
			
		||||
                sharedPreferences.edit().putString("currentGroup", "").apply()
 | 
			
		||||
                sharedPreferences.edit().putStringSet("groups", emptySet()).apply()
 | 
			
		||||
                sharedPreferences.edit().putString("token", "").apply()
 | 
			
		||||
                sharedPreferences.edit().putString("server", "").apply()
 | 
			
		||||
 | 
			
		||||
                intent = Intent(this, LoginActivity::class.java)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        startActivity(intent)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,4 +12,5 @@
 | 
			
		||||
    <item
 | 
			
		||||
            android:id="@+id/nav_settings"
 | 
			
		||||
            android:title="@string/settings"/>
 | 
			
		||||
    <item android:title="@string/logout" android:id="@+id/nav_logout"/>
 | 
			
		||||
</menu>
 | 
			
		||||
		Reference in New Issue
	
	Block a user