Skip to content

Instantly share code, notes, and snippets.

Delete branch:

git branch -d(-D) branch_name // flag -D means force delete

git push origin -d branch_name

Rebase

git rebase -i HEAD~N, where N is the number of commit you want to squash

pick commit_1 squash commit_2…N-1

Поворот экрана

  1. Проверять обработку поворота экрана, вращая сам эмулятор, вместо вращения экрана (бонус: прописать portrait mode в манифесте, забыть про это, тестировать поворот экрана)

Точка входа в приложение

  1. Завести singleton класс, забыть прописать android:name в манифесте, не понимать, почему приложение не собирается

Фрагменты и их аргументы

  1. Передать аргумент в конструктор фрагмента, удивляться, почему выскакивает ошибка coudld not find a sutable constructor for fragment X 4. Disclamer: фрагменты так устроены, что им нужен пустой конструктор, и нужно либо ручками прописывать пустой конструктор, либо, что лучше, использовать bundlе/safe args, если есть необходимость передавать данные

Танцы с бубном вокруг эмулятора

  1. Сделать Gradle -> app -> Tasks -> install -> uninstallAll, потом запускать приложение обычным способом и удивляться, с чего это оно перестало собираться
@llama-0
llama-0 / .kt
Created November 13, 2020 15:18
/* a working example of Network Connectivity check for a small project without any modern architecture pattern used */
private var broadcastReceiver: BroadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val notConnected = intent.getBooleanExtra(ConnectivityManager
.EXTRA_NO_CONNECTIVITY, false)
if (notConnected) {
showErrorLayout()
} else {
retryRequest()