@@ -3,6 +3,7 @@ package com.bitchat.android.ui
33import com.bitchat.android.model.BitchatMessage
44import com.bitchat.android.model.DeliveryStatus
55import java.util.*
6+ import android.util.Log
67
78/* *
89 * Handles private chat functionality including peer management and blocking
@@ -13,6 +14,10 @@ class PrivateChatManager(
1314 private val dataManager : DataManager
1415) {
1516
17+ companion object {
18+ private const val TAG = " PrivateChatManager"
19+ }
20+
1621 // Peer identification mapping
1722 private val peerIDToPublicKeyFingerprint = mutableMapOf<String , String >()
1823
@@ -99,17 +104,39 @@ class PrivateChatManager(
99104 fun toggleFavorite (peerID : String ) {
100105 val fingerprint = peerIDToPublicKeyFingerprint[peerID] ? : return
101106
102- if (dataManager.isFavorite(fingerprint)) {
107+ Log .d(TAG , " toggleFavorite called for peerID: $peerID , fingerprint: $fingerprint " )
108+
109+ val wasFavorite = dataManager.isFavorite(fingerprint)
110+ Log .d(TAG , " Current favorite status: $wasFavorite " )
111+
112+ if (wasFavorite) {
103113 dataManager.removeFavorite(fingerprint)
114+ Log .d(TAG , " Removed from favorites: $fingerprint " )
104115 } else {
105116 dataManager.addFavorite(fingerprint)
117+ Log .d(TAG , " Added to favorites: $fingerprint " )
106118 }
119+
120+ // Update state to trigger UI refresh
107121 state.setFavoritePeers(dataManager.favoritePeers)
122+
123+ Log .d(TAG , " Updated favorite peers state. New favorites: ${dataManager.favoritePeers} " )
124+ Log .d(TAG , " All peer fingerprints: $peerIDToPublicKeyFingerprint " )
108125 }
109126
110127 fun isFavorite (peerID : String ): Boolean {
111128 val fingerprint = peerIDToPublicKeyFingerprint[peerID] ? : return false
112- return dataManager.isFavorite(fingerprint)
129+ val isFav = dataManager.isFavorite(fingerprint)
130+ Log .d(TAG , " isFavorite check: peerID=$peerID , fingerprint=$fingerprint , result=$isFav " )
131+ return isFav
132+ }
133+
134+ fun getPeerFingerprint (peerID : String ): String? {
135+ return peerIDToPublicKeyFingerprint[peerID]
136+ }
137+
138+ fun getPeerFingerprints (): Map <String , String > {
139+ return peerIDToPublicKeyFingerprint.toMap()
113140 }
114141
115142 // MARK: - Block/Unblock Operations
@@ -262,10 +289,6 @@ class PrivateChatManager(
262289
263290 // MARK: - Public Getters
264291
265- fun getPeerFingerprint (peerID : String ): String? {
266- return peerIDToPublicKeyFingerprint[peerID]
267- }
268-
269292 fun getAllPeerFingerprints (): Map <String , String > {
270293 return peerIDToPublicKeyFingerprint.toMap()
271294 }
0 commit comments