|  |  | @ -17,6 +17,9 @@ class LokiAPIDatabase(context: Context, helper: SQLCipherOpenHelper) : Database( | 
			
		
	
		
		
			
				
					
					|  |  |  |     private val userPublicKey get() = TextSecurePreferences.getLocalNumber(context) |  |  |  |     private val userPublicKey get() = TextSecurePreferences.getLocalNumber(context) | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     companion object { |  |  |  |     companion object { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         // Shared | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         private val publicKey = "public_key" | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         private val timestamp = "timestamp" | 
			
		
	
		
		
			
				
					
					|  |  |  |         // Snode pool cache |  |  |  |         // Snode pool cache | 
			
		
	
		
		
			
				
					
					|  |  |  |         private val snodePoolCache = "loki_snode_pool_cache" |  |  |  |         private val snodePoolCache = "loki_snode_pool_cache" | 
			
		
	
		
		
			
				
					
					|  |  |  |         private val dummyKey = "dummy_key" |  |  |  |         private val dummyKey = "dummy_key" | 
			
		
	
	
		
		
			
				
					|  |  | @ -72,22 +75,16 @@ class LokiAPIDatabase(context: Context, helper: SQLCipherOpenHelper) : Database( | 
			
		
	
		
		
			
				
					
					|  |  |  |         @JvmStatic val createUserCountCacheCommand = "CREATE TABLE $userCountCache ($publicChatID STRING PRIMARY KEY, $userCount INTEGER DEFAULT 0);" |  |  |  |         @JvmStatic val createUserCountCacheCommand = "CREATE TABLE $userCountCache ($publicChatID STRING PRIMARY KEY, $userCount INTEGER DEFAULT 0);" | 
			
		
	
		
		
			
				
					
					|  |  |  |         // Session request sent timestamp cache |  |  |  |         // Session request sent timestamp cache | 
			
		
	
		
		
			
				
					
					|  |  |  |         private val sessionRequestSentTimestampCache = "session_request_sent_timestamp_cache" |  |  |  |         private val sessionRequestSentTimestampCache = "session_request_sent_timestamp_cache" | 
			
		
	
		
		
			
				
					
					|  |  |  |         private val sessionRequestSentPublicKey = "public_key" |  |  |  |         @JvmStatic val createSessionRequestSentTimestampCacheCommand = "CREATE TABLE $sessionRequestSentTimestampCache ($publicKey STRING PRIMARY KEY, $timestamp INTEGER DEFAULT 0);" | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         private val sessionRequestSentTimestamp = "timestamp" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         @JvmStatic val createSessionRequestSentTimestampCacheCommand = "CREATE TABLE $sessionRequestSentTimestampCache ($sessionRequestSentPublicKey STRING PRIMARY KEY, $sessionRequestSentTimestamp INTEGER DEFAULT 0);" |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         // Session request processed timestamp cache |  |  |  |         // Session request processed timestamp cache | 
			
		
	
		
		
			
				
					
					|  |  |  |         private val sessionRequestProcessedTimestampCache = "session_request_processed_timestamp_cache" |  |  |  |         private val sessionRequestProcessedTimestampCache = "session_request_processed_timestamp_cache" | 
			
		
	
		
		
			
				
					
					|  |  |  |         private val sessionRequestProcessedPublicKey = "public_key" |  |  |  |         @JvmStatic val createSessionRequestProcessedTimestampCacheCommand = "CREATE TABLE $sessionRequestProcessedTimestampCache ($publicKey STRING PRIMARY KEY, $timestamp INTEGER DEFAULT 0);" | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         private val sessionRequestProcessedTimestamp = "timestamp" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         @JvmStatic val createSessionRequestProcessedTimestampCacheCommand = "CREATE TABLE $sessionRequestProcessedTimestampCache ($sessionRequestProcessedPublicKey STRING PRIMARY KEY, $sessionRequestProcessedTimestamp INTEGER DEFAULT 0);" |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         // region Deprecated |  |  |  |         // region Deprecated | 
			
		
	
		
		
			
				
					
					|  |  |  |         private val sessionRequestTimestampCache = "session_request_timestamp_cache" |  |  |  |         private val sessionRequestTimestampCache = "session_request_timestamp_cache" | 
			
		
	
		
		
			
				
					
					|  |  |  |         private val sessionRequestPublicKey = "public_key" |  |  |  |         @JvmStatic val createSessionRequestTimestampCacheCommand = "CREATE TABLE $sessionRequestTimestampCache ($publicKey STRING PRIMARY KEY, $timestamp INTEGER DEFAULT 0);" | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         private val timestamp = "timestamp" |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         @JvmStatic val createSessionRequestTimestampCacheCommand = "CREATE TABLE $sessionRequestTimestampCache ($sessionRequestPublicKey STRING PRIMARY KEY, $timestamp INTEGER DEFAULT 0);" |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         // endregion |  |  |  |         // endregion | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -339,28 +336,28 @@ class LokiAPIDatabase(context: Context, helper: SQLCipherOpenHelper) : Database( | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     override fun getSessionRequestSentTimestamp(publicKey: String): Long? { |  |  |  |     override fun getSessionRequestSentTimestamp(publicKey: String): Long? { | 
			
		
	
		
		
			
				
					
					|  |  |  |         val database = databaseHelper.readableDatabase |  |  |  |         val database = databaseHelper.readableDatabase | 
			
		
	
		
		
			
				
					
					|  |  |  |         return database.get(sessionRequestSentTimestampCache, "${LokiAPIDatabase.sessionRequestSentPublicKey} = ?", wrap(publicKey)) { cursor -> |  |  |  |         return database.get(sessionRequestSentTimestampCache, "${LokiAPIDatabase.publicKey} = ?", wrap(publicKey)) { cursor -> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             cursor.getInt(LokiAPIDatabase.sessionRequestSentTimestamp) |  |  |  |             cursor.getInt(LokiAPIDatabase.timestamp) | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         }?.toLong() |  |  |  |         }?.toLong() | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     override fun setSessionRequestSentTimestamp(publicKey: String, timestamp: Long) { |  |  |  |     override fun setSessionRequestSentTimestamp(publicKey: String, timestamp: Long) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         val database = databaseHelper.writableDatabase |  |  |  |         val database = databaseHelper.writableDatabase | 
			
		
	
		
		
			
				
					
					|  |  |  |         val row = wrap(mapOf(LokiAPIDatabase.sessionRequestSentPublicKey to publicKey, LokiAPIDatabase.sessionRequestSentTimestamp to timestamp.toString())) |  |  |  |         val row = wrap(mapOf(LokiAPIDatabase.publicKey to publicKey, LokiAPIDatabase.timestamp to timestamp.toString())) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         database.insertOrUpdate(sessionRequestSentTimestampCache, row, "${LokiAPIDatabase.sessionRequestSentPublicKey} = ?", wrap(publicKey)) |  |  |  |         database.insertOrUpdate(sessionRequestSentTimestampCache, row, "${LokiAPIDatabase.publicKey} = ?", wrap(publicKey)) | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     override fun getSessionRequestProcessedTimestamp(publicKey: String): Long? { |  |  |  |     override fun getSessionRequestProcessedTimestamp(publicKey: String): Long? { | 
			
		
	
		
		
			
				
					
					|  |  |  |         val database = databaseHelper.readableDatabase |  |  |  |         val database = databaseHelper.readableDatabase | 
			
		
	
		
		
			
				
					
					|  |  |  |         return database.get(sessionRequestProcessedTimestampCache, "${LokiAPIDatabase.sessionRequestProcessedPublicKey} = ?", wrap(publicKey)) { cursor -> |  |  |  |         return database.get(sessionRequestProcessedTimestampCache, "${LokiAPIDatabase.publicKey} = ?", wrap(publicKey)) { cursor -> | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             cursor.getInt(LokiAPIDatabase.sessionRequestProcessedTimestamp) |  |  |  |             cursor.getInt(LokiAPIDatabase.timestamp) | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         }?.toLong() |  |  |  |         }?.toLong() | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     override fun setSessionRequestProcessedTimestamp(publicKey: String, timestamp: Long) { |  |  |  |     override fun setSessionRequestProcessedTimestamp(publicKey: String, timestamp: Long) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         val database = databaseHelper.writableDatabase |  |  |  |         val database = databaseHelper.writableDatabase | 
			
		
	
		
		
			
				
					
					|  |  |  |         val row = wrap(mapOf(LokiAPIDatabase.sessionRequestProcessedPublicKey to publicKey, LokiAPIDatabase.sessionRequestProcessedTimestamp to timestamp.toString())) |  |  |  |         val row = wrap(mapOf(LokiAPIDatabase.publicKey to publicKey, LokiAPIDatabase.timestamp to timestamp.toString())) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         database.insertOrUpdate(sessionRequestProcessedTimestampCache, row, "${LokiAPIDatabase.sessionRequestProcessedPublicKey} = ?", wrap(publicKey)) |  |  |  |         database.insertOrUpdate(sessionRequestProcessedTimestampCache, row, "${LokiAPIDatabase.publicKey} = ?", wrap(publicKey)) | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |