apply theming to user mentions

Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
sowjanyakch 2025-03-19 10:52:51 +01:00
parent 2b29685d7b
commit 0a107c455f
No known key found for this signature in database
GPG Key ID: F7AA2A8B65B50220
4 changed files with 29 additions and 11 deletions

View File

@ -48,6 +48,7 @@ import io.reactivex.SingleObserver
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable import io.reactivex.disposables.Disposable
import io.reactivex.schedulers.Schedulers import io.reactivex.schedulers.Schedulers
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import javax.inject.Inject import javax.inject.Inject
@ -60,6 +61,7 @@ class MainActivity : BaseActivity(), ActionBarProvider {
@Inject @Inject
lateinit var userManager: UserManager lateinit var userManager: UserManager
private var job: Job? = null
@Inject @Inject
lateinit var userGroupsOrCirclesRepository: UserGroupsCirclesRepository lateinit var userGroupsOrCirclesRepository: UserGroupsCirclesRepository
@ -92,6 +94,11 @@ class MainActivity : BaseActivity(), ActionBarProvider {
handleIntent(intent) handleIntent(intent)
job = lifecycleScope.launch {
val initialized = userGroupsOrCirclesRepository.initialize()
Log.d("MainActivity", "$initialized")
}
onBackPressedDispatcher.addCallback(this, onBackPressedCallback) onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
} }
@ -144,6 +151,11 @@ class MainActivity : BaseActivity(), ActionBarProvider {
super.onStop() super.onStop()
} }
override fun onDestroy() {
super.onDestroy()
job?.cancel()
}
private fun openConversationList() { private fun openConversationList() {
val intent = Intent(this, ConversationsListActivity::class.java) val intent = Intent(this, ConversationsListActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
@ -152,10 +164,7 @@ class MainActivity : BaseActivity(), ActionBarProvider {
} }
private fun handleActionFromContact(intent: Intent) { private fun handleActionFromContact(intent: Intent) {
lifecycleScope.launch {
val initialized = userGroupsOrCirclesRepository.initialize()
Log.d("MainActivity", "$initialized")
}
if (intent.action == Intent.ACTION_VIEW && intent.data != null) { if (intent.action == Intent.ACTION_VIEW && intent.data != null) {
val cursor = contentResolver.query(intent.data!!, null, null, null, null) val cursor = contentResolver.query(intent.data!!, null, null, null, null)

View File

@ -193,8 +193,8 @@ class RepositoryModule {
fun provideUserGroupsCirclesRepository( fun provideUserGroupsCirclesRepository(
userCirclesOrGroupsDao: UserCirclesOrGroupsDao, userCirclesOrGroupsDao: UserCirclesOrGroupsDao,
ncApiCoroutines: NcApiCoroutines, ncApiCoroutines: NcApiCoroutines,
userProvider: CurrentUserProviderNew currentUserProvider: CurrentUserProviderNew
): UserGroupsCirclesRepository { ): UserGroupsCirclesRepository {
return UserGroupsCirclesRepository(userCirclesOrGroupsDao, ncApiCoroutines, userProvider) return UserGroupsCirclesRepository(userCirclesOrGroupsDao, ncApiCoroutines, currentUserProvider)
} }
} }

View File

@ -18,7 +18,7 @@ import com.nextcloud.talk.data.database.model.UserGroupsEntity
interface UserCirclesOrGroupsDao { interface UserCirclesOrGroupsDao {
@Query("SELECT groups FROM user_groups") @Query("SELECT groups FROM user_groups")
fun getUserGroups(): List<UserGroupsEntity> fun getUserGroups():List<UserGroupsEntity>
@Insert(onConflict = OnConflictStrategy.REPLACE) @Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun insertUserGroups(groups:List<UserGroupsEntity>) suspend fun insertUserGroups(groups:List<UserGroupsEntity>)
@ -29,4 +29,10 @@ interface UserCirclesOrGroupsDao {
@Insert(onConflict = OnConflictStrategy.REPLACE) @Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun insertUserCircles(circles: List<UserCirclesEntity>) suspend fun insertUserCircles(circles: List<UserCirclesEntity>)
@Query("DELETE FROM user_groups")
suspend fun deleteAllUserGroups()
@Query("DELETE FROM user_circles")
suspend fun deleteAllUserCircles()
} }

View File

@ -30,6 +30,7 @@ class UserGroupsCirclesRepository @Inject constructor(
coroutineScope { coroutineScope {
launch { launch {
userCirclesOrGroupsDao.deleteAllUserGroups()
val response = ncApiCoroutines.getUserGroups( val response = ncApiCoroutines.getUserGroups(
credentials, credentials,
ApiUtils.getUrlForUserGroups( ApiUtils.getUrlForUserGroups(
@ -38,7 +39,7 @@ class UserGroupsCirclesRepository @Inject constructor(
) )
) )
val groups = response.ocs?.data?.groups?: emptyList() val groups = response.ocs?.data?.groups?: emptyList()
Log.d("UserDataRepo","$groups")
userCirclesOrGroupsDao.insertUserGroups( userCirclesOrGroupsDao.insertUserGroups(
groups.map{ groups.map{
UserGroupsEntity(it) UserGroupsEntity(it)
@ -47,12 +48,13 @@ class UserGroupsCirclesRepository @Inject constructor(
} }
launch { launch {
userCirclesOrGroupsDao.deleteAllUserCircles()
val response = ncApiCoroutines.getUserCircles( val response = ncApiCoroutines.getUserCircles(
credentials, credentials,
ApiUtils.getUrlForUserCircles(user.baseUrl!!) ApiUtils.getUrlForUserCircles(user.baseUrl!!)
) )
val circles = response.ocs?.data?.map { it.displayName!! }?: emptyList() val circles = response.ocs?.data?.map { it.displayName!! }?: emptyList()
Log.d("UserDataRepo","$circles")
userCirclesOrGroupsDao.insertUserCircles( userCirclesOrGroupsDao.insertUserCircles(
circles.map{ circles.map{
UserCirclesEntity(it) UserCirclesEntity(it)
@ -66,13 +68,14 @@ class UserGroupsCirclesRepository @Inject constructor(
Log.e("UserDataRepo", "Error initializing user data", e) Log.e("UserDataRepo", "Error initializing user data", e)
return@withContext false return@withContext false
} }
} }
fun getUserGroups(): List<UserGroupsEntity> { fun getUserGroups(): List<UserGroupsEntity> {
return userCirclesOrGroupsDao.getUserGroups() return userCirclesOrGroupsDao.getUserGroups()
} }
fun getUserCircles(): List<UserCirclesEntity> { fun getUserCircles(): List<UserCirclesEntity>{
return userCirclesOrGroupsDao.getUserCircles() return userCirclesOrGroupsDao.getUserCircles()
} }
} }