diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/Cart.java b/Foodify/app/src/main/java/com/waterbase/foodify/Cart.java index 1d1d68c..59c826c 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/Cart.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/Cart.java @@ -6,6 +6,7 @@ import android.content.DialogInterface; import android.content.pm.PackageManager; import android.location.Location; import android.os.Bundle; +import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.MenuItem; @@ -49,6 +50,10 @@ import com.waterbase.foodify.Remote.APIService; import com.waterbase.foodify.Remote.IGoogleService; import com.waterbase.foodify.ViewHolder.CartAdapter; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + import java.text.NumberFormat; import java.util.ArrayList; import java.util.List; @@ -66,6 +71,8 @@ import retrofit2.Response; public class Cart extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener { + String address = null; + RecyclerView recyclerView; RecyclerView.LayoutManager layoutManager; @@ -230,7 +237,14 @@ public class Cart extends AppCompatActivity implements GoogleApiClient.Connectio //Radio RadioButton rdiShipToAddress = (RadioButton) order_address_comment.findViewById(R.id.rdiShipToAddress); - RadioButton rdiHomeAddress = (RadioButton) order_address_comment.findViewById(R.id.rdiHomeAddress); + RadioButton rdiAddress = (RadioButton) order_address_comment.findViewById(R.id.rdiAdress); + + rdiAddress.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + edtAddress.setText(""); + } + }); //Add event rdiShipToAddress.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @@ -238,7 +252,32 @@ public class Cart extends AppCompatActivity implements GoogleApiClient.Connectio public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked) { if(isChecked){ + mGoogleMapService.getAddressName(String.format("https://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&key=AIzaSyCqmoLlawoQzmwjZI2_Yo_V33An_nNZADs", + mLastLocation.getLatitude(), + mLastLocation.getLongitude())) + .enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + try { + JSONObject jsonObject = new JSONObject(response.body()); + JSONArray resultsArray = jsonObject.getJSONArray("results"); + + JSONObject firstObject = resultsArray.getJSONObject(0); + + address = firstObject.getString("formatted_address"); + edtAddress.setText(address); + } catch (JSONException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + Toast.makeText(Cart.this, "Error to get location: " + t.getMessage(), Toast.LENGTH_SHORT).show(); + Log.i("LOCATION", "" + t.getMessage()); + } + }); } } } @@ -251,6 +290,12 @@ public class Cart extends AppCompatActivity implements GoogleApiClient.Connectio alertDialog.setPositiveButton("Đặt", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { + + if(TextUtils.isEmpty(address)){ + Toast.makeText(Cart.this, "Vui lòng nhập địa chỉ giao hàng!", Toast.LENGTH_SHORT).show(); + return; + } + //Create new Request Request request = new Request( Common.currentUser.getPhone(), @@ -269,6 +314,10 @@ public class Cart extends AppCompatActivity implements GoogleApiClient.Connectio sendNotificationOrder(order_number); + //Delete Cart + new Database(getBaseContext()).cleanCart(); + Toast.makeText(Cart.this, "Đặt hàng thành công!", Toast.LENGTH_SHORT).show(); + finish(); } }); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/Common/Common.java b/Foodify/app/src/main/java/com/waterbase/foodify/Common/Common.java index a8457b9..e27a198 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/Common/Common.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/Common/Common.java @@ -20,7 +20,7 @@ public class Common { } public static IGoogleService getGoogleMapAPI(){ - return RetrofitClient.getGoogleClient(GOOGLE_API_URL).create(IGoogleService.class); + return RetrofitClient.getGoogleApiClient(GOOGLE_API_URL).create(IGoogleService.class); } public static final String DELETE = "Xoá"; @@ -29,11 +29,11 @@ public class Common { public static String convertCodeToStatus(String status) { if(status.equals("0")) - return "Placed"; + return "Đã nhận đơn"; else if(status.equals("1")) - return "On my way"; + return "Đang trên đường"; else - return "Shipped"; + return "Giao thành công"; } public static boolean isConnectedToInternet(Context context) { diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/Home.java b/Foodify/app/src/main/java/com/waterbase/foodify/Home.java index f1ac58c..0726310 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/Home.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/Home.java @@ -60,7 +60,6 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati DatabaseReference category; RecyclerView recyler_menu; - RecyclerView.LayoutManager layoutManager; FirebaseRecyclerAdapter adapter; SwipeRefreshLayout swipeRefreshLayout; diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/Remote/RetrofitClient.java b/Foodify/app/src/main/java/com/waterbase/foodify/Remote/RetrofitClient.java index a2fda3f..7419f4a 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/Remote/RetrofitClient.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/Remote/RetrofitClient.java @@ -2,14 +2,16 @@ package com.waterbase.foodify.Remote; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; public class RetrofitClient { - private static Retrofit retrofit = null; + private static Retrofit retrofit = null; //* + + public static Retrofit getClient(String baseURL){ + + if (retrofit == null){ - public static Retrofit getClient(String baseURL) - { - if(retrofit == null) { retrofit = new Retrofit.Builder() .baseUrl(baseURL) .addConverterFactory(GsonConverterFactory.create()) @@ -18,14 +20,17 @@ public class RetrofitClient { return retrofit; } - public static Retrofit getGoogleClient(String baseURL) - { - if(retrofit == null) { - retrofit = new Retrofit.Builder() + private static Retrofit retrofit2 = null; //* + + public static Retrofit getGoogleApiClient(String baseURL){ + + if (retrofit2 == null){ + + retrofit2 = new Retrofit.Builder() .baseUrl(baseURL) - .addConverterFactory(GsonConverterFactory.create()) + .addConverterFactory(ScalarsConverterFactory.create()) .build(); } - return retrofit; + return retrofit2; } } diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java b/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java index ca32399..ade927c 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java @@ -86,7 +86,7 @@ public class SignIn extends AppCompatActivity { Paper.book().write(Common.PWD_KEY, edtPassword.getText().toString()); } final ProgressDialog mDialog = new ProgressDialog(SignIn.this); - mDialog.setMessage("Please waiting..."); + mDialog.setMessage("Xin vui lòng chờ..."); mDialog.show(); table_user.addListenerForSingleValueEvent(new ValueEventListener() { diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/Welcome.java b/Foodify/app/src/main/java/com/waterbase/foodify/Welcome.java index a3ae824..2b0f393 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/Welcome.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/Welcome.java @@ -95,7 +95,7 @@ public class Welcome extends AppCompatActivity { final DatabaseReference table_user = database.getReference("User"); final ProgressDialog mDialog = new ProgressDialog(Welcome.this); - mDialog.setMessage("Please waiting..."); + mDialog.setMessage("Xin vui lòng chờ..."); mDialog.show(); table_user.addListenerForSingleValueEvent(new ValueEventListener() { diff --git a/Foodify/app/src/main/res/layout/activity_cart.xml b/Foodify/app/src/main/res/layout/activity_cart.xml index 071619e..f900110 100644 --- a/Foodify/app/src/main/res/layout/activity_cart.xml +++ b/Foodify/app/src/main/res/layout/activity_cart.xml @@ -32,7 +32,7 @@ android:layout_height="wrap_content" > - \ No newline at end of file diff --git a/Foodify/app/src/main/res/layout/order_address_comment.xml b/Foodify/app/src/main/res/layout/order_address_comment.xml index acc2323..f2ce134 100644 --- a/Foodify/app/src/main/res/layout/order_address_comment.xml +++ b/Foodify/app/src/main/res/layout/order_address_comment.xml @@ -61,10 +61,11 @@ /> diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Common/Common.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Common/Common.java index 26793c0..c060084 100644 --- a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Common/Common.java +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Common/Common.java @@ -30,11 +30,11 @@ public class Common { public static String coverCodeToStatus(String code){ if(code.equals("0")) - return "Placed"; + return "Đã nhận đơn"; else if(code.equals("1")) - return "On my way"; + return "Đang trên đường"; else - return "Shipped"; + return "Giao thành công"; } public static IGeoCoordinates getGeoCodeService() {