Codacy is indicating that I have a DU anomaly ("A recently defined variable is undefined. These anomalies may appear in normal source text.") for the variable stringRequest.
I can't find it, can anyone help me? Thanks.
public static void login(@NonNull final LoginListener callback,
@NonNull final Context context,
@NonNull final JsonObject loginParams) {
final RestApi restApi = RestApi.getInstance(context);
final String loginURL = String.format("%s%s", RestApi.URL, "/api/login");
final StringRequest stringRequest = new StringRequest(POST, loginURL,
new Listener<String>() {
/**
* {@inheritDoc}
*/
@Override
public void onResponse(final String response) {
Log.i(TAG, response);
if (response.contains("Error")) {
if (response.contains("A non-existent user can not login")) {
callback.onLoginPetitionFailure
(context.getString
(R.string.login_non_existing_user_error_message));
}
if (response.contains("A Cancelled user can not login")) {
callback.onLoginPetitionFailure
(context.getString
(R.string.login_canceled_user_error_message));
}
} else {
final Gson gson = new Gson();
final UserResponse userResponse = gson.fromJson(response,
UserResponse.class);
callback.onLoginPetitionSuccess(userResponse.toUser());
}
}
}, new ErrorListener() {
/**
* {@inheritDoc}
*/
@Override
public void onErrorResponse(final VolleyError error) {
Log.i(TAG, "Error while contacting to the server");
callback.onLoginPetitionFailure(context.getString
(R.string.login_server_contacting_error_message));
}
}) {
/**
* {@inheritDoc}
*/
@Override
public byte[] getBody() throws AuthFailureError {
final String stringParams = loginParams.toString();
return stringParams.getBytes();
}
};
restApi.addToRequestQueue(stringRequest);
}