package com.ttstd.dialer.db.app;

import android.content.ComponentName;
import androidx.room.TypeConverter;

public class ComponentNameConverter {

    @TypeConverter
    public static String fromComponentName(ComponentName componentName) {
        // 如果 componentName 为 null，则返回 null
        if (componentName == null) {
            return null;
        }
        // 将 ComponentName 转换为其字符串形式（例如："com.example.app/.MyService"）
        return componentName.flattenToString();
    }

    @TypeConverter
    public static ComponentName toComponentName(String componentNameString) {
        // 如果字符串为 null 或空，则返回 null
        if (componentNameString == null || componentNameString.isEmpty()) {
            return null;
        }
        // 从字符串形式解包为 ComponentName 对象
        return ComponentName.unflattenFromString(componentNameString);
    }
}
