Здравствуйте. Реализовываю авторизацию в android приложении через twitter, большая часть кода досталась от предыдущего разработчика.
private final TwitterAuthClient twitterAuthClient== new TwitterAuthClient();;
private final AtomicReference<SocialLoginResult> reference= new AtomicReference<>();
private final TwitterAuthCallback twitterAuthCallback = new TwitterAuthCallback();
@Override
public void startLogin(@NonNull Object startActivityForResultObject) {
if (startActivityForResultObject instanceof Fragment || startActivityForResultObject instanceof Activity) {
reference.set(null);
if (startActivityForResultObject instanceof Fragment) {
Fragment fragment = (Fragment) startActivityForResultObject;
twitterAuthClient.authorize(new Activity() {
@Override
public void startActivityForResult(@RequiresPermission Intent intent, int requestCode) {
fragment.startActivityForResult(intent, requestCode);
}
@Override
public PackageManager getPackageManager() {
return fragment.getContext().getPackageManager();
}
}, twitterAuthCallback);
} else {
twitterAuthClient.authorize((Activity) startActivityForResultObject, twitterAuthCallback);
}
} else {
throw new IllegalArgumentException("Can't startActivityForResult on this object " + startActivityForResultObject);
}
}
При выполнении startLogin в строке return fragment.getContext().getPackageManager(); вываливается ошибка:
"java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference"
Прошу знающих людей подсказать как устранить данную ошибку и/или скинуть ссылку на статью об авторизации в android приложении через twitter.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости