public class NotuleMenuFragment extends Fragment {
+ private static String DEFAULT_ZIP_CODE = "34000";
// private static final String NOTULE_URL = "https://amies.adullact.org/nodejs/1.0.0/notules/client/%s/%s";
private static final String NOTULE_URL_PC = "https://amies.adullact.org/nodejs/1.0.0/notules/postalCode/%s";
private static final String ZIP_CODE_URL = "https://amies.adullact.org/nodejs/1.0.0/notules/cp/%s/%s";
private NotuleMenuAdapter mNotuleMenuAdapter;
private ArrayList<Notule> mNotuleList;
private TextInputEditText mZipCodeEditText;
- private long mLat = -1;
- private long mLon = -1;
// <editor-fold desc="LifeCycle">
- @Override public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- mLat = getActivity().getIntent().getLongExtra(MainActivity.ARGUMENT_LOCATION_LAT, -1);
- mLon = getActivity().getIntent().getLongExtra(MainActivity.ARGUMENT_LOCATION_LON, -1);
- }
-
@Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View content = inflater.inflate(R.layout.notule_menu, null);
@Override public void onResume() {
super.onResume();
- requestNotules(true, false);
+ requestNotules(true);
}
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) {
// </editor-fold desc="LifeCycle">
- private void requestNotules(boolean firstLaunch, boolean forceDefault) {
+ private void requestNotules(boolean firstLaunch) {
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(getActivity());
String url;
if (!TextUtils.isEmpty(mZipCodeEditText.getText()))
url = String.format(NOTULE_URL_PC, mZipCodeEditText.getText());
- else if ((location != null) && !forceDefault) {
+ else if (location != null) {
refreshZipCode();
return; // FIXME : bad GeoLoc request, we have to request zipCode, then send a ZipCode request
}
- else if (firstLaunch)
- url = String.format(NOTULE_URL_PC, "34000");
+ else if (firstLaunch) {
+ url = String.format(NOTULE_URL_PC, DEFAULT_ZIP_CODE);
+ mZipCodeEditText.setText(DEFAULT_ZIP_CODE);
+ Toast.makeText(getActivity(), "Position par défault : Montpellier", Toast.LENGTH_SHORT).show();
+ }
else
url = String.format(NOTULE_URL_PC, "-1");
}
private void displayFormFragmentForNotule(@NonNull Notule notule, @NonNull String collectivityId) {
- ((NotuleMenuFragmentListener) getActivity()).onFormSelected(notule, collectivityId, mLat, mLon);
+ ((NotuleMenuFragmentListener) getActivity()).onFormSelected(notule, collectivityId);
}
private void onZipCodeSearchClicked() {
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mZipCodeEditText.getWindowToken(), 0);
- requestNotules(false, false);
+ requestNotules(false);
}
@SuppressLint("SetTextI18n") private void refreshZipCode() {
JsonObject baseObject = new JsonParser().parse(response).getAsJsonObject();
if (!baseObject.has("postcode")) {
- requestNotules(false, true);
+ mZipCodeEditText.setText(DEFAULT_ZIP_CODE);
+ requestNotules(false);
Toast.makeText(getActivity(), "Position par défault : Montpellier", Toast.LENGTH_SHORT).show();
return;
}
String zipCodes = baseObject.get("postcode").getAsString();
mZipCodeEditText.setText(zipCodes.substring(0, 5));
-
+ requestNotules(false);
Toast.makeText(getActivity(), "Position géolocalisée", Toast.LENGTH_SHORT).show();
- requestNotules(false, false);
}
}, new Response.ErrorListener() {
@Override public void onErrorResponse(VolleyError error) {
- requestNotules(false, true);
+ mZipCodeEditText.setText(DEFAULT_ZIP_CODE);
+ requestNotules(false);
Toast.makeText(getActivity(), "Position par défault : Montpellier", Toast.LENGTH_SHORT).show();
}
});
public interface NotuleMenuFragmentListener {
- void onFormSelected(@NonNull Notule notule, @NonNull String collectivityId, long lat, long lon);
+ void onFormSelected(@NonNull Notule notule, @NonNull String collectivityId);
}
// </editor-fold desc="Interface">