Когда увидел ChatActivity.java на 30 тысяч строк кода, стало понятно, что это не то.
Ни в одной парадигме не написано, что нельзя делать класс на 30 тысяч строк. Если по парадигме ему надо быть таким - значит он будет таким, и все.
Мой посыл в том, что парадигмы там могут быть, и это нормально, и критерий 30к строк никак с ними не связан