Files
my_yuyin/TUIKit/TUIContact/CommonUI/TUIContactConfig.m
2025-09-22 18:48:29 +08:00

80 lines
2.6 KiB
Objective-C

//
// TUIContactConfig.m
// TUIContact
//
// Created by Tencent on 2024/9/23.
// Copyright © 2024 Tencent. All rights reserved.
//
#import "TUIContactConfig.h"
@interface TUIContactConfig()
@property (nonatomic, assign) BOOL hideContactAlias;
@property (nonatomic, assign) BOOL hideContactMuteAndPinItems;
@property (nonatomic, assign) BOOL hideContactBackgroundItem;
@property (nonatomic, assign) BOOL hideContactBlock;
@property (nonatomic, assign) BOOL hideContactClearChatHistory;
@property (nonatomic, assign) BOOL hideContactDelete;
@property (nonatomic, assign) BOOL hideContactAddFriend;
@end
@implementation TUIContactConfig
+ (TUIContactConfig *)sharedConfig {
static dispatch_once_t onceToken;
static TUIContactConfig *config;
dispatch_once(&onceToken, ^{
config = [[TUIContactConfig alloc] init];
});
return config;
}
- (instancetype)init {
self = [super init];
if (self) {
self.hideContactAlias = NO;
self.hideContactMuteAndPinItems = NO;
self.hideContactBackgroundItem = NO;
self.hideContactBlock = NO;
self.hideContactClearChatHistory = NO;
self.hideContactDelete = NO;
self.hideContactAddFriend = NO;
}
return self;
}
- (void)hideItemsInContactConfig:(TUIContactConfigItem)items {
self.hideContactAlias = items & TUIContactConfigItem_Alias;
self.hideContactMuteAndPinItems = items & TUIContactConfigItem_MuteAndPin;
self.hideContactBackgroundItem = items & TUIContactConfigItem_Background;
self.hideContactBlock = items & TUIContactConfigItem_Block;
self.hideContactClearChatHistory = items & TUIContactConfigItem_ClearChatHistory;
self.hideContactDelete = items & TUIContactConfigItem_Delete;
self.hideContactAddFriend = items & TUIContactConfigItem_AddFriend;
}
- (BOOL)isItemHiddenInContactConfig:(TUIContactConfigItem)item {
if (item & TUIContactConfigItem_Alias) {
return self.hideContactAlias;
} else if (item & TUIContactConfigItem_MuteAndPin) {
return self.hideContactMuteAndPinItems;
} else if (item & TUIContactConfigItem_Background) {
return self.hideContactBackgroundItem;
} else if (item & TUIContactConfigItem_Block) {
return self.hideContactBlock;
} else if (item & TUIContactConfigItem_ClearChatHistory) {
return self.hideContactClearChatHistory;
} else if (item & TUIContactConfigItem_Delete) {
return self.hideContactDelete;
} else if (item & TUIContactConfigItem_AddFriend) {
return self.hideContactAddFriend;
} else {
return NO;
}
}
@end