Com a aplicação da persistência local do Firebase, é possível que no primeiro uso o cidadão tente preencher alguma entrada sem nenhuma categoria (seja porque o app não teve condições de baixar do Firebase, seja porque nenhuma foi criada a tempo).
Nos meus testes, ao tentar cadastrar uma despesa sem categoria selecionada enquanto offline, provoquei um NullPointerException por conta da falta de categorias dentro do spinner:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.filipewilliam.salarium, PID: 6678
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
at com.filipewilliam.salarium.fragments.GasteiFragment.criarGasto(GasteiFragment.java:139)
at com.filipewilliam.salarium.fragments.GasteiFragment$4.onClick(GasteiFragment.java:120)
at android.view.View.performClick(View.java:7333)
at android.widget.TextView.performClick(TextView.java:14160)
at android.view.View.performClickInternal(View.java:7299)
at android.view.View.access$3200(View.java:846)
at android.view.View$PerformClick.run(View.java:27773)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:6990)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
Imagino que isso possa ser contornado usando um tratamento de exceção que não chame o método de cadastro casospinnerCategoriaGasto.getSelectedItem().toString().isEmpty() retorne true.
Com a aplicação da persistência local do Firebase, é possível que no primeiro uso o cidadão tente preencher alguma entrada sem nenhuma categoria (seja porque o app não teve condições de baixar do Firebase, seja porque nenhuma foi criada a tempo).
Nos meus testes, ao tentar cadastrar uma despesa sem categoria selecionada enquanto offline, provoquei um NullPointerException por conta da falta de categorias dentro do spinner:
Imagino que isso possa ser contornado usando um tratamento de exceção que não chame o método de cadastro caso
spinnerCategoriaGasto.getSelectedItem().toString().isEmpty()
retornetrue
.