diff --git a/.idea/misc.xml b/.idea/misc.xml index cca2cda..7158618 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -37,7 +37,7 @@ - + diff --git a/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java b/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java index c1d6b92..8d549b2 100644 --- a/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java +++ b/app/src/main/java/ch/pizzalink/android/activity/MainActivity.java @@ -1,7 +1,6 @@ package ch.pizzalink.android.activity; import android.content.Intent; -import android.graphics.Color; import android.support.annotation.NonNull; import android.support.design.widget.BottomNavigationView; import android.support.v4.app.FragmentManager; @@ -13,9 +12,7 @@ import android.support.v7.widget.RecyclerView; import android.view.Gravity; import android.view.MenuItem; import android.view.View; -import android.widget.ImageView; import android.widget.TextView; -import android.widget.Toast; import com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx; @@ -28,7 +25,7 @@ import butterknife.ButterKnife; import ch.pizzalink.android.R; import ch.pizzalink.android.adapter.recycler.NavigationMenuRecyclerAdapter; import ch.pizzalink.android.fragment.CartFragment; -import ch.pizzalink.android.fragment.InfoFragment; +import ch.pizzalink.android.fragment.StoreInfoFragment; import ch.pizzalink.android.fragment.HistoryFragment; import ch.pizzalink.android.fragment.MenuFragment; import ch.pizzalink.android.fragment.ProductFragment; @@ -150,10 +147,10 @@ public class MainActivity extends BaseActivity { return true; case R.id.action_info: - if (currentFragmentName.equals(InfoFragment.FRAGMENT_NAME)) + if (currentFragmentName.equals(StoreInfoFragment.FRAGMENT_NAME)) return true; - fragmentManager.beginTransaction().replace(R.id.fragmentContainer, InfoFragment.newInstance()).commit(); - currentFragmentName = InfoFragment.FRAGMENT_NAME; + fragmentManager.beginTransaction().replace(R.id.fragmentContainer, StoreInfoFragment.newInstance()).commit(); + currentFragmentName = StoreInfoFragment.FRAGMENT_NAME; currentCategoryId = -1; return true; } diff --git a/app/src/main/java/ch/pizzalink/android/api/ApiEndPoints.java b/app/src/main/java/ch/pizzalink/android/api/ApiEndPoints.java index 9aa9cd4..1a201ac 100644 --- a/app/src/main/java/ch/pizzalink/android/api/ApiEndPoints.java +++ b/app/src/main/java/ch/pizzalink/android/api/ApiEndPoints.java @@ -28,4 +28,5 @@ public class ApiEndPoints { public static final String API_DELETE_ADDRESS = PREFIX + "deleteAddress" + SUFFIX + "&token="; public static final String API_UPDATE_PROFILE = PREFIX + "updateCustomerInfo" + SUFFIX + "&token="; public static final String API_REMOVE_RPODUCT_FORM_CART = PREFIX + "removeProductFromBasket" + SUFFIX + "&token="; + public static final String API_GET_STORE_INFO = PREFIX + "getStoreInfo" + SUFFIX; } diff --git a/app/src/main/java/ch/pizzalink/android/api/ApiInterface.java b/app/src/main/java/ch/pizzalink/android/api/ApiInterface.java index b7a280e..0177aa1 100644 --- a/app/src/main/java/ch/pizzalink/android/api/ApiInterface.java +++ b/app/src/main/java/ch/pizzalink/android/api/ApiInterface.java @@ -12,6 +12,7 @@ import ch.pizzalink.android.model.PaymentMethodsResponseModel; import ch.pizzalink.android.model.RemoveProductFromCartResponseModel; import ch.pizzalink.android.model.ShippingMethodModel; import ch.pizzalink.android.model.ShippingMethodsResponseModel; +import ch.pizzalink.android.model.StoreInfoModel; import ch.pizzalink.android.model.ZoneModel; import ch.pizzalink.android.model.cart.CartInfoModel; import ch.pizzalink.android.model.CategoryModel; @@ -135,4 +136,8 @@ public interface ApiInterface { Call> removeProductFromCart(@Url String url, @FieldMap HashMap body); + @GET(ApiEndPoints.API_GET_STORE_INFO) + Call> getStoreInfo(); + + } diff --git a/app/src/main/java/ch/pizzalink/android/fragment/InfoFragment.java b/app/src/main/java/ch/pizzalink/android/fragment/InfoFragment.java deleted file mode 100644 index e3fd1aa..0000000 --- a/app/src/main/java/ch/pizzalink/android/fragment/InfoFragment.java +++ /dev/null @@ -1,44 +0,0 @@ -package ch.pizzalink.android.fragment; - -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import butterknife.BindString; -import butterknife.ButterKnife; -import ch.pizzalink.android.R; - -/** - * Created by cimenmus on 18/09/2017. - */ - -public class InfoFragment extends BaseFragment { - - @BindString(R.string.bottom_nav_menu_item_info) String fragmentTitle; - - public static final java.lang.String FRAGMENT_NAME = "infoFragment"; - - public InfoFragment() {} - - public static InfoFragment newInstance() { - return new InfoFragment(); - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_info, container, false); - ButterKnife.bind(this, view); - initViews(); - return view; - } - - private void initViews(){ - setPizzalinkToolbarFields(false, fragmentTitle); - } -} diff --git a/app/src/main/java/ch/pizzalink/android/fragment/StoreInfoFragment.java b/app/src/main/java/ch/pizzalink/android/fragment/StoreInfoFragment.java new file mode 100644 index 0000000..0412dc2 --- /dev/null +++ b/app/src/main/java/ch/pizzalink/android/fragment/StoreInfoFragment.java @@ -0,0 +1,93 @@ +package ch.pizzalink.android.fragment; + +import android.os.Bundle; +import android.text.Html; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.webkit.WebView; +import android.webkit.WebViewClient; + +import butterknife.BindString; +import butterknife.BindView; +import butterknife.ButterKnife; +import ch.pizzalink.android.R; +import ch.pizzalink.android.api.ApiErrorUtils; +import ch.pizzalink.android.api.ApiService; +import ch.pizzalink.android.api.ResponseObject; +import ch.pizzalink.android.helper.DialogHelper; +import ch.pizzalink.android.model.StoreInfoModel; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; + +/** + * Created by cimenmus on 18/09/2017. + */ + +public class StoreInfoFragment extends BaseFragment { + + @BindView(R.id.storeInfoWebView) WebView storeInfoWebView; + + @BindString(R.string.bottom_nav_menu_item_info) String fragmentTitle; + + public static final java.lang.String FRAGMENT_NAME = "infoFragment"; + + public StoreInfoFragment() {} + + public static StoreInfoFragment newInstance() { + return new StoreInfoFragment(); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_store_info, container, false); + ButterKnife.bind(this, view); + initViews(); + getStoreInfo(); + return view; + } + + private void initViews(){ + setPizzalinkToolbarFields(false, ""); + } + + private void getStoreInfo(){ + DialogHelper.showLoadingDialog(); + Call> call = ApiService.apiInterface.getStoreInfo(); + call.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + DialogHelper.hideLoadingDialog(); + if(response.isSuccessful() && + response.body().getData() != null && + response.isSuccessful()){ + initWebView(response.body().getData()); + } + else { + ApiErrorUtils.parseError(response); + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + DialogHelper.hideLoadingDialog(); + DialogHelper.showFailedDialog(); + } + }); + } + + private void initWebView(StoreInfoModel storeInfoModel) { + storeInfoModel.checkNull(); + setPizzalinkToolbarFields(false, storeInfoModel.getTitle()); + storeInfoWebView.getSettings().setJavaScriptEnabled(true); + storeInfoWebView.loadDataWithBaseURL("", storeInfoModel.getContent(), "text/html", "UTF-8", ""); + + } + +} diff --git a/app/src/main/java/ch/pizzalink/android/model/StoreInfoModel.java b/app/src/main/java/ch/pizzalink/android/model/StoreInfoModel.java new file mode 100644 index 0000000..b2c81db --- /dev/null +++ b/app/src/main/java/ch/pizzalink/android/model/StoreInfoModel.java @@ -0,0 +1,38 @@ +package ch.pizzalink.android.model; + +/** + * Created by cimenmus on 26.10.2017. + */ + +public class StoreInfoModel { + + private String title; + private String content; + + public void checkNull(){ + + if(title == null){ + title = ""; + } + + if(content == null){ + content = ""; + } + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } +} diff --git a/app/src/main/res/layout/fragment_info.xml b/app/src/main/res/layout/fragment_info.xml deleted file mode 100644 index ae0f19a..0000000 --- a/app/src/main/res/layout/fragment_info.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_store_info.xml b/app/src/main/res/layout/fragment_store_info.xml new file mode 100644 index 0000000..507c199 --- /dev/null +++ b/app/src/main/res/layout/fragment_store_info.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file