Advertisement
ricky_yulianto

Untitled

Jul 26th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.84 KB | None | 0 0
  1. package codelabs.ambarrukmo.fragment;
  2.  
  3. import android.app.Dialog;
  4. import android.content.Context;
  5. import android.graphics.Color;
  6. import android.graphics.drawable.ColorDrawable;
  7. import android.os.Bundle;
  8. import android.os.Handler;
  9. import android.support.annotation.NonNull;
  10. import android.support.design.widget.Snackbar;
  11. import android.support.v4.app.Fragment;
  12. import android.support.v7.widget.RecyclerView;
  13. import android.view.Gravity;
  14. import android.view.LayoutInflater;
  15. import android.view.View;
  16. import android.view.ViewGroup;
  17. import android.view.Window;
  18. import android.widget.AdapterView;
  19. import android.widget.ImageView;
  20. import android.widget.Spinner;
  21. import android.widget.Toast;
  22. import com.github.chrisbanes.photoview.PhotoView;
  23. import com.squareup.picasso.Picasso;
  24.  
  25. import java.util.ArrayList;
  26. import java.util.List;
  27. import butterknife.BindView;
  28. import butterknife.ButterKnife;
  29. import butterknife.Unbinder;
  30. import codelabs.ambarrukmo.R;
  31. import codelabs.ambarrukmo.adapter.CountryAdapter;
  32. import codelabs.ambarrukmo.adapter.MerchantFloorAdapter;
  33. import codelabs.ambarrukmo.connection.ApiUtils;
  34. import codelabs.ambarrukmo.connection.AppConstant;
  35. import codelabs.ambarrukmo.connection.DataManager;
  36. import codelabs.ambarrukmo.connection.RetrofitInterface;
  37. import codelabs.ambarrukmo.model.GetFloors;
  38. import retrofit2.Call;
  39. import retrofit2.Callback;
  40. import retrofit2.Response;
  41.  
  42.  
  43. public class MapStoreFragment extends Fragment implements View.OnClickListener{
  44.  
  45. @BindView(R.id.btn_info_map)
  46. ImageView btnInfoMap;
  47. @BindView(R.id.img_maps)
  48. PhotoView imgMaps;
  49. @BindView(R.id.spinner)
  50. Spinner spinner;
  51. // @BindView(R.id.spinner)
  52. // MaterialSpinner spinner;
  53.  
  54.  
  55.  
  56. private static final String ARG_TEXT = "param1";
  57. private final Handler handler = new Handler();
  58. private Call<GetFloors> callFloor;
  59. private CountryAdapter mAdapter;
  60. private MerchantFloorAdapter mFloorAdapter;
  61. private List<GetFloors.DATABean> responseData = new ArrayList<>();
  62.  
  63. Unbinder unbinder;
  64. private Toast mToast;
  65. private Context mContext;
  66. Dialog myDialog;
  67.  
  68. public MapStoreFragment(){
  69. //Required empty public constructor
  70. }
  71.  
  72. public static MapStoreFragment newInstance(@NonNull final int pageText) {
  73. MapStoreFragment fragment = new MapStoreFragment();
  74.  
  75. Bundle args = new Bundle();
  76. args.putInt(ARG_TEXT, pageText);
  77. fragment.setArguments(args);
  78.  
  79.  
  80. return fragment;
  81.  
  82. }
  83.  
  84. // @Override
  85. // public void onCreate(Bundle savedInstanceState) {
  86. // super.onCreate(savedInstanceState);
  87. // if (getArguments() !=null) {
  88. // pageText = getArguments().getInt(ARG_TEXT);
  89. // }
  90. // }
  91.  
  92.  
  93. @Override
  94. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  95. Bundle savedInstanceState) {
  96. // Inflate the layout for this fragment
  97. View view = inflater.inflate(R.layout.fragment_map_store, container, false);
  98. unbinder = ButterKnife.bind(this, view);
  99. myDialog = new Dialog(getContext());
  100. initListeners();
  101. initVariables();
  102. callFunctions();
  103.  
  104.  
  105. mAdapter = new CountryAdapter(getContext(), responseData);
  106. spinner.setAdapter(mAdapter);
  107.  
  108.  
  109. spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  110. @Override
  111. public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  112. // CountryItem clickedItem = (CountryItem) parent.getItemAtPosition(position);
  113. // String clickedCountryName = clickedItem.getCountryName();
  114. // Toast.makeText(getContext(), clickedCountryName + " selected", Toast.LENGTH_SHORT).show();
  115. ShowBottomFloor();
  116.  
  117. }
  118.  
  119. @Override
  120. public void onNothingSelected(AdapterView<?> parent) {
  121.  
  122. }
  123. });
  124.  
  125. return view;
  126.  
  127. }
  128.  
  129.  
  130.  
  131. private void initVariables() {
  132.  
  133. }
  134.  
  135. private void initListeners() {
  136. btnInfoMap.setOnClickListener(this);
  137.  
  138. }
  139.  
  140. private void callFunctions() {
  141. loadDataFloor();
  142. }
  143.  
  144.  
  145. private void loadDataFloor() {
  146.  
  147. RetrofitInterface apiService = ApiUtils.getAPIService();
  148. String auth = AppConstant.AuthValue + DataManager.getInstance().getToken();
  149. callFloor = apiService.gettingFloors(auth);
  150. callFloor.enqueue(new Callback<GetFloors>() {
  151. @Override
  152. public void onResponse(@NonNull Call<GetFloors> call,@NonNull Response<GetFloors> data) {
  153. if (data.isSuccessful()) {
  154. GetFloors response = data.body();
  155. if (response != null) {
  156. if (response.getSTATUS() == 200) {
  157. responseData = response.getDATA();
  158. mAdapter.clear();
  159. mAdapter.addAll(data.body().getDATA());
  160. mAdapter.notifyDataSetChanged();
  161.  
  162.  
  163. }
  164. }
  165. }
  166. }
  167.  
  168. @Override
  169. public void onFailure(@NonNull Call<GetFloors> call, @NonNull Throwable t) {
  170.  
  171. }
  172. });
  173. }
  174.  
  175.  
  176. @Override
  177. public void onDestroyView() {
  178. super.onDestroyView();
  179. unbinder.unbind();
  180.  
  181. }
  182.  
  183.  
  184.  
  185. @Override
  186. public void onClick(View view) {
  187. if (view == btnInfoMap){
  188. // PopUpMenuInfo();
  189. ShowDialogInfo();
  190. // }else if (view == edtFloor) {
  191. // ShowBottomFloor();
  192. }
  193.  
  194. }
  195.  
  196. public void showToast(String val) {
  197. if (mToast != null) mToast.cancel();
  198. mToast = Toast.makeText(mContext, val, Toast.LENGTH_SHORT);
  199. mToast.show();
  200. }
  201.  
  202. public void ShowBottomFloor() {
  203. ViewFloorMapFragment bottomSheetFragment = new ViewFloorMapFragment();
  204. bottomSheetFragment.show(getFragmentManager(),bottomSheetFragment.getTag());
  205.  
  206. }
  207.  
  208.  
  209.  
  210. private void ShowDialogInfo() {
  211.  
  212.  
  213. myDialog.setContentView(R.layout.dialog_info_maps);
  214.  
  215. Window window = myDialog.getWindow();
  216. window.setGravity(Gravity.RIGHT);
  217.  
  218.  
  219. ImageView btnClose;
  220. RecyclerView rvMerchant;
  221. btnClose = (ImageView) myDialog.findViewById(R.id.img_close);
  222. rvMerchant = (RecyclerView) myDialog.findViewById(R.id.rv_merchant_floor);
  223.  
  224. btnClose.setOnClickListener(new View.OnClickListener() {
  225. @Override
  226. public void onClick(View v) {
  227. myDialog.dismiss();
  228. }
  229. });
  230.  
  231. // rvMerchant.setAdapter(mAdapterFloor);
  232. myDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
  233. myDialog.show();
  234.  
  235. }
  236.  
  237.  
  238.  
  239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement