У моего приложения есть некоторые события onClick()
, некоторые из которых требуют логина для отправки запроса.Проверьте, чтобы во время входа в систему перед выполнением действий
Как я должен обрабатывать то, что происходит, если кто-то нажимает на то, что требует от них входа в систему для того, чтобы действие произошло?
У меня есть следующий класс Дооснащаемый:
public class RestClient {
private static ApiEndpointInterface apiService;
private static String API_URL = "http://www.website.com/api";
private RestClient() {
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(API_URL)
.setRequestInterceptor(new SessionRequestInterceptor())
.build();
apiService = restAdapter.create(ApiEndpointInterface.class);
}
public static ApiEndpointInterface getApiService() {
return apiService;
}
public class SessionRequestInterceptor implements RequestInterceptor {
@Override
public void intercept(RequestFacade request) {
request.addHeader("Accept", "application/json");
if (PreferenceUtils.isLoggedIn()) {
request.addHeader("Authorization", PreferenceUtils.getTokenId() + ":" + PreferenceUtils.getTokenKey());
}
}
}
}
И это называется в другом месте, как это:
RestClient.getApiService().getUser(new Callback<UserData>() {
@Override
public void success(UserData json, Response response) {
}
@Override
public void failure(RetrofitError retrofitError) {
}
});
Как вы можете видеть, перехватчик добавляет Authorization
заголовок, если они вошли в систему, но следует ли мне запретить делать вызов вообще, если они не вошли в систему? Как мне это реализовать?