package com.ttstd.dialer.filter;

import android.text.InputFilter;
import android.text.Spanned;

/**
 * 过滤输入中的空格（包括普通空格和全角空格）
 */
public class NoSpaceInputFilter implements InputFilter {
    @Override
    public CharSequence filter(CharSequence source, int start, int end,
                               Spanned dest, int dstart, int dend) {
        // 遍历输入的字符序列，过滤掉所有空格
        StringBuilder filtered = new StringBuilder();
        for (int i = start; i < end; i++) {
            char c = source.charAt(i);
            // 过滤普通空格（ASCII 32）和全角空格（Unicode 12288）
            if (c != ' ' && c != '\u3000') {
                filtered.append(c);
            }
        }
        // 如果过滤后的结果与原输入不同，返回过滤后的内容；否则返回原内容（允许输入）
        return filtered.length() == (end - start) ? null : filtered;
    }
}
