vladimirrim / TelSC

Telegram stickers creator
3 stars 0 forks source link

TelegramManager.java#L97 #28

Closed marat-rkh closed 6 years ago

marat-rkh commented 6 years ago

https://github.com/vladimirrim/TelSC/blob/1c0bb7a3445996208267b0216ae8fca416741471/app/src/main/java/ru/spbau/mit/telsc/telegramManager/TelegramManager.java#L97

Это поле используется в методах sendCode и auth. Первый устанавливает значение, второй его использует. Однако, нет никакой гарантии, что первый будет вызван перед вторым, а второй никак не проверяет, имеет ли phoneHash какое-то осмысленное значение. А его дефолтное значение, которое будет использовано в auth если забыть вызвать sendCode -- это null.

Наличие глобального состояния усложняет работу с кодом и если его можно избежать, лучше это сделать. В вашем случае этого не сложно достичь, так как указанные выше метод вызываются в одном месте.

vladimirrim commented 6 years ago

Изменил в менеджере, но теперь в самом активити нужно это поле из-за внутреннего класса async task.