Developer, Вообще-то в котлине ФП тоже по желанию. И да, удачи тебе разбираться в чужом говнокоде на питоне без тестов. Потом расскажешь, насколько это сложнее, чем на Котлине.
Джава под андроид - устаревшее говно мамонта. Джава в принципе(не JVM, а язык)- устаревшее говно мамонта, которое пытается в себя затащить новый синтаксический сахар, но получается у него хреново.
Kaktys_DH, окай. Но это не калькулятор. Очевидные вещи про комментарии и функции тебе сказали. Сделай нормальное вычисление выражений типа 1+2*(3 - 4)/5 хотя бы. Это уже будет челлендж, в котором тебе придется напрячь мозг, научиться работать со строками, написать какой-никакой код, поразбираться с алгоритмами. Завязывай с многословностью, твою программу никто никогда не увидит, поэтому достаточно будет, чтобы она ожидала ввод(или принимала его в аргументы main) и печатала результат.
hawkkiller, у тебя мутабельный список. В нем просто поменяй и потом нотифай вызови.
GridView уже никто не пользуется, использовать RecyclerView + GridLayoutManager надо.
Роман Мирр, сгенерировать можно.
Допустим, ты это сделал на клиенте. Как теперь доказать серверу, что сгенерировал твой клиент, а не чужой?
Допустим, ты сгенерировал на сервере в ответ на запрос клиента. Как ты это сделал, если ты ещё не знаешь, что клиент твой, а не чужой?
Проблема курицы и яйца. Поэтому я предложил просто хранить сертификат, которым подписывается запрос, на устройстве, а если нужна хорошая защита - купить её.
Slaviano, да, точно:-( это package private класс, он тебе недоступен. Я проглядел.
У меня нет уверенности, что овчинка стоит выделки при таком раскладе, тем более есть ещё вероятность, что даже если ты всё сделаешь правильно, всё равно не взлетит.
Я бы из интереса попробовал победить.
У тебя есть две опции:
1) " Паттерн" Public Morozov. Заключается в том, чтобы создать у себя пакет com.google.android.material.datepicker, и тогда тебе будет доступен этот класс внутри этого пакета. Например, можно свою реализацию DateSelector'a положить туда.
2) Реализовать DateSelector в рантайме. Для этого надо использовать магию высокого уровня.