i
1) пермишин просто отсутствует:
объясняем пользователю почему он нужен (диалогом с кнопкой ок) и при нажатии ок показывает андроидовский пермишин диалогом. Здесь всё ок.
2) пользователь нажал больше не спрашивать:
объясняем пользователю почему пермишен нужен (диалогом с кнопками перейти в настройки и продолжить) и при нажатии на кнопку с настройками переходим в настройки. Здесь тоже всё ок.
3) пользователь выбрал only this time, вышел из приложения, обратно зашел в приложение:
Ожидаемый результат: показывам запрос на пермишн еще раз.
Фактический результат: из-за
shouldShowPermissionRational
мы думаем, что пользователь нажал больше не спрашивать и показываем ему диалог из пункта 2