yoesuv

Untitled

Feb 23rd, 2021
818
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package tubankab.diskominfo.taprose.menu.home.view;
  2.  
  3. import android.Manifest;
  4. import android.app.Activity;
  5. import android.content.Context;
  6. import android.content.Intent;
  7. import android.content.pm.PackageManager;
  8. import android.graphics.Bitmap;
  9. import android.graphics.Canvas;
  10. import android.graphics.Color;
  11. import android.graphics.PorterDuff;
  12. import android.graphics.drawable.Drawable;
  13. import android.location.Criteria;
  14. import android.location.Location;
  15. import android.location.LocationManager;
  16. import android.os.Build;
  17. import android.os.Bundle;
  18. import android.util.Log;
  19. import android.view.LayoutInflater;
  20. import android.view.Menu;
  21. import android.view.MenuInflater;
  22. import android.view.MenuItem;
  23. import android.view.View;
  24. import android.view.ViewGroup;
  25. import android.view.WindowManager;
  26. import android.widget.ImageView;
  27. import android.widget.TextView;
  28.  
  29. import androidx.annotation.Nullable;
  30. import androidx.core.app.ActivityCompat;
  31. import androidx.core.content.ContextCompat;
  32. import androidx.core.graphics.drawable.RoundedBitmapDrawable;
  33. import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
  34.  
  35. import com.anupcowkur.reservoir.Reservoir;
  36. import com.anupcowkur.reservoir.ReservoirGetCallback;
  37. import com.anupcowkur.reservoir.ReservoirPutCallback;
  38. import com.bumptech.glide.Glide;
  39. import com.bumptech.glide.request.animation.GlideAnimation;
  40. import com.bumptech.glide.request.target.BitmapImageViewTarget;
  41. import com.bumptech.glide.request.target.SimpleTarget;
  42. import com.google.android.gms.maps.CameraUpdateFactory;
  43. import com.google.android.gms.maps.GoogleMap;
  44. import com.google.android.gms.maps.OnMapReadyCallback;
  45. import com.google.android.gms.maps.SupportMapFragment;
  46. import com.google.android.gms.maps.model.BitmapDescriptorFactory;
  47. import com.google.android.gms.maps.model.CameraPosition;
  48. import com.google.android.gms.maps.model.LatLng;
  49. import com.google.android.gms.maps.model.Marker;
  50. import com.google.android.gms.maps.model.MarkerOptions;
  51. import com.google.android.material.bottomsheet.BottomSheetDialog;
  52.  
  53. import java.util.ArrayList;
  54. import java.util.Arrays;
  55. import java.util.Calendar;
  56. import java.util.HashSet;
  57. import java.util.List;
  58. import java.util.Set;
  59.  
  60. import tubankab.diskominfo.taprose.R;
  61. import tubankab.diskominfo.taprose.data.Constant;
  62. import tubankab.diskominfo.taprose.data.Profile;
  63. import tubankab.diskominfo.taprose.data.Settings;
  64. import tubankab.diskominfo.taprose.helper.ActivityHelper;
  65. import tubankab.diskominfo.taprose.helper.ActivityUtilHelper;
  66. import tubankab.diskominfo.taprose.helper.ForegroundRelativeLayout;
  67. import tubankab.diskominfo.taprose.menu.home.model.ListMapAduanModel;
  68. import tubankab.diskominfo.taprose.network.repositories.HomeRepository;
  69.  
  70. /**
  71.  *  Created by yusuf on 3/8/17.
  72.  */
  73.  
  74. public class FragmentMapsLaporan extends SupportMapFragment implements OnMapReadyCallback, GoogleMap.OnMarkerClickListener {
  75.  
  76.     private static final String RESERVOIR_MAPS_KEY = "reservoir_maps_key";
  77.     private static final int REQUEST_LOCATION_CODE = 21;
  78.  
  79.     private Activity activity;
  80.     private Marker marker;
  81.     private List<Marker> listMarker = new ArrayList<>();
  82.  
  83.     private View mCustomMarkerView;
  84.     private ImageView mMarkerImageView;
  85.     private LayoutInflater inflater;
  86.     private HomeRepository api;
  87.  
  88.     private boolean isAttached;
  89.  
  90.     BottomSheetDialog dialogDescription;
  91.     ForegroundRelativeLayout dialogDescriptionLayout;
  92.     ImageView dialogDescriptionImgView;
  93.     TextView dialogDescriptionStatus;
  94.     TextView dialogDescriptionName;
  95.     TextView dialogDescriptionTitle;
  96.     TextView dialogDescriptionDescript;
  97.     TextView dialogDescriptionLike;
  98.     TextView dialogDescriptionComment;
  99.     TextView dialogDescriptionFeedback;
  100.     TextView dialogDescriptionTime;
  101.  
  102.     @Override
  103.     public View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle bundle) {
  104.         return super.onCreateView(layoutInflater, viewGroup, bundle);
  105.     }
  106.  
  107.     @Override
  108.     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
  109.         super.onViewCreated(view, savedInstanceState);
  110.         this.activity = getActivity();
  111.         this.api = new HomeRepository(activity);
  112.         inflater = ((LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE));
  113.  
  114.         mCustomMarkerView = inflater.inflate(R.layout.item_maps_aduan, null);
  115.         mMarkerImageView = mCustomMarkerView.findViewById(R.id.ivHomeItemMapsAduan);
  116.         setupDescription();
  117.  
  118.         setHasOptionsMenu(true);
  119.         getMapAsync(this);
  120.     }
  121.  
  122.     @Override
  123.     public void onMapReady(GoogleMap googleMap) {
  124.         googleMap.getUiSettings().setCompassEnabled(true);
  125.         googleMap.getUiSettings().setZoomControlsEnabled(true);
  126.  
  127.         if (requestLocation()) {
  128.             //show user location
  129.             if (ActivityUtilHelper.isLocationEnabled(getContext())) {
  130.                 googleMap.setMyLocationEnabled(true);
  131.                 LocationManager locationManager = (LocationManager) getContext().getSystemService(Context.LOCATION_SERVICE);
  132.                 Criteria criteria = new Criteria();
  133.                 String bestProvider = locationManager.getBestProvider(criteria, true);
  134.                 if (ContextCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
  135.                         && ContextCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
  136.                     // TODO: Consider calling
  137.                     //    Activity#requestPermissions
  138.                     // here to request the missing permissions, and then overriding
  139.                     //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
  140.                     //                                          int[] grantResults)
  141.                     // to handle the case where the user grants the permission. See the documentation
  142.                     // for Activity#requestPermissions for more details.
  143.                     return;
  144.                 }
  145.                 Location location = locationManager.getLastKnownLocation(bestProvider);
  146.                 if(location!=null){
  147.                     CameraPosition cameraPosition = new CameraPosition.Builder()
  148.                             .target(new LatLng(location.getLatitude(), location.getLongitude()))
  149.                             .zoom(15f)
  150.                             .build();
  151.                     googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
  152.                 }else{
  153.                     googleMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(-7.041284, 112.064566)));
  154.                     googleMap.animateCamera(CameraUpdateFactory.zoomTo(9f));
  155.                 }
  156.             }else{
  157.                 googleMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(-7.041284, 112.064566)));
  158.                 googleMap.animateCamera(CameraUpdateFactory.zoomTo(9f));
  159.                 ActivityHelper.displayToast(getActivity(), getActivity().getResources().getString(R.string.all_msg_request_akses_lokasi), Constant.TOAST_WARNING);
  160.             }
  161.         }
  162.  
  163.         /*
  164.  
  165.         googleMap.moveCamera(CameraUpdateFactory.newLatLng(new LatLng(-6.894959, 112.065155)));
  166.         googleMap.animateCamera(CameraUpdateFactory.zoomTo(10));*/
  167.  
  168.         googleMap.setOnMarkerClickListener(this);
  169.  
  170.         //start request data onMap Ready
  171.         requestData(googleMap);
  172.         loadLocalDataV2(googleMap);
  173.     }
  174.  
  175.     @Override
  176.     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
  177.         super.onCreateOptionsMenu(menu, inflater);
  178.         inflater.inflate(R.menu.menu_lap_maps, menu);
  179.     }
  180.  
  181.     @Override
  182.     public void onAttach(Activity activity) {
  183.         super.onAttach(activity);
  184.         isAttached = true;
  185.     }
  186.  
  187.     @Override
  188.     public void onDetach() {
  189.         super.onDetach();
  190.         isAttached = false;
  191.     }
  192.  
  193.     @Override
  194.     public boolean onOptionsItemSelected(MenuItem item) {
  195.         if(item.getItemId()==R.id.menuHomeMapsCategory){
  196.             Intent i = new Intent(getContext(), MainActivityMapsCategory.class);
  197.             startActivityForResult(i, Constant.MAP_CATEGORY_REQUEST);
  198.         }
  199.         return super.onOptionsItemSelected(item);
  200.     }
  201.  
  202.     @Override
  203.     public void onActivityResult(int requestCode, int resultCode, Intent data) {
  204.         Log.d(Constant.TAG_DEBUG,"fragment maps laporan on activity result");
  205.         super.onActivityResult(requestCode, resultCode, data);
  206.         if (requestCode == Constant.MAP_CATEGORY_REQUEST) {
  207.             if (data != null) {
  208.                 for (Marker mk : listMarker) {
  209.                     mk.setVisible(true);
  210.                 }
  211.                 Set<String> setListAduanId = new HashSet<>();
  212.                 if(data.getStringArrayListExtra("val").size()>0) {
  213.                     int[] arrayAduanID = new int[data.getStringArrayListExtra("val").size()];
  214.                     for (int i = 0; i < data.getStringArrayListExtra("val").size(); i++) {
  215.                         arrayAduanID[i] = Integer.parseInt(data.getStringArrayListExtra("val").get(i));
  216.                         setListAduanId.add(data.getStringArrayListExtra("val").get(i));
  217.                     }
  218.  
  219.                     Settings.saveListCategoryAduanId(setListAduanId);
  220.                     Log.d(Constant.TAG_DEBUG,"id category laporan : "+ Arrays.toString(arrayAduanID));
  221.  
  222.                     for(Marker mk:listMarker){
  223.                         mk.setVisible(false);
  224.                         TagObject tag = (TagObject) mk.getTag();
  225.                         for(int i:arrayAduanID){
  226.                             if(i==tag.categoryAduanId){
  227.                                 mk.setVisible(true);
  228.                             }
  229.                         }
  230.                     }
  231.                 }
  232.  
  233.             }
  234.         }
  235.     }
  236.  
  237.     @Override
  238.     public void onDestroyView() {
  239.         super.onDestroyView();
  240.         Settings.deleteListCategoryAduanId();
  241.         Settings.saveIsFromMapsLaporanCategory(false);
  242.     }
  243.  
  244.  
  245.     /**
  246.      * request data from server
  247.      * @param googleMap google map
  248.      */
  249.     private void requestData(final GoogleMap googleMap){
  250.  
  251.         Calendar cal = Calendar.getInstance();
  252.         int month = cal.get(Calendar.MONTH)+1 ;
  253.  
  254.         api.getListMapAduan(Profile.getToken(), Profile.getSocialId(), month, (context, object, status, statusCode) -> {
  255.             if (status) {
  256.                 ListMapAduanModel model = (ListMapAduanModel) object;
  257.                 if (model.lastUpdate != null) {
  258.                     if (!model.lastUpdate.equals(Settings.getLastUpdateMapAduan())) {
  259.                         //update localdata
  260.                         Settings.saveLastUpdateMapAduan(model.lastUpdate);
  261.                         Reservoir.putAsync(RESERVOIR_MAPS_KEY, model, new ReservoirPutCallback() {
  262.                             @Override
  263.                             public void onSuccess() {
  264.                                 loadLocalDataV2(googleMap);
  265.                             }
  266.  
  267.                             @Override
  268.                             public void onFailure(Exception e) {
  269.                                 Log.e(Constant.TAG_ERROR, "failed write object " + e.getMessage());
  270.                             }
  271.                         });
  272.                     }
  273.                 }
  274.             } else {
  275.                 ActivityHelper.displayToast(context, context.getResources().getString(R.string.all_msg_load_map_aduan_failed), Constant.TOAST_ERROR);
  276.             }
  277.         });
  278.     }
  279.  
  280.     /**
  281.      * load local data
  282.      * @param googleMap googleMap
  283.      */
  284.     public void loadLocalDataV2(final GoogleMap googleMap){
  285.         Reservoir.getAsync(RESERVOIR_MAPS_KEY, ListMapAduanModel.class, new ReservoirGetCallback<ListMapAduanModel>() {
  286.             @Override
  287.             public void onSuccess(ListMapAduanModel listMapAduanModel) {
  288.                 if(listMapAduanModel.data.size()>0) {
  289.                     for (int i = 0; i < listMapAduanModel.data.size(); i++) {
  290.  
  291. //                        JIKA TIDAK MEMILIKI TITIK LOKASI (LAT,LONG) , MAKA TIDAK DIMUNCULKAN DI PETA
  292.                         if(listMapAduanModel.data.get(i).lat != null &&  listMapAduanModel.data.get(i).lon != null) {
  293.                             int categoryID = 0;
  294.                             if(listMapAduanModel.data.get(i).aduanCategoryId != null){
  295.                                 categoryID = listMapAduanModel.data.get(i).aduanCategoryId;
  296.                             }else{
  297.                                 categoryID = listMapAduanModel.data.get(i).category.id;
  298.                             }
  299.                             addCustomMarker(googleMap, listMapAduanModel.data.get(i).id,
  300.                                     categoryID,
  301.                                     listMapAduanModel.data.get(i).category.iconMarker,
  302.                                     listMapAduanModel.data.get(i).lat,
  303.                                     listMapAduanModel.data.get(i).lon);
  304.                         }
  305.                     }
  306.                 }
  307.             }
  308.  
  309.             @Override
  310.             public void onFailure(Exception e) {
  311.                 Log.e(Constant.TAG_ERROR, "loadLocalDataV2 # get object failed "+e.getMessage());
  312.             }
  313.         });
  314.     }
  315.  
  316.     private void addCustomMarker(final GoogleMap googleMap, final int id, final int categoryId, final String picture, final float longitude, final float latitiude){
  317.         if(googleMap!=null) {
  318.             if(isAttached) {
  319.                 Glide.with(activity).
  320.                         load(picture)
  321.                         .asBitmap()
  322.                         .fitCenter()
  323.                         .into(new SimpleTarget<Bitmap>() {
  324.                             @Override
  325.                             public void onResourceReady(Bitmap bitmap, GlideAnimation<? super Bitmap> glideAnimation) {
  326.                                 MarkerOptions markerOpt = new MarkerOptions()
  327.                                         .position(new LatLng(longitude, latitiude))
  328.                                         .icon(BitmapDescriptorFactory.fromBitmap(getMarkerBitmapFromView(mCustomMarkerView, bitmap)));
  329.                                 marker = googleMap.addMarker(markerOpt);
  330.                                 TagObject tagObject = new TagObject(id, categoryId);
  331.                                 marker.setTag(tagObject);
  332.                                 listMarker.add(marker);
  333.                             }
  334.                         });
  335.             }
  336.  
  337.         }
  338.     }
  339.  
  340.  
  341.     private Bitmap getMarkerBitmapFromView(View view, Bitmap bitmap) {
  342.  
  343.         mMarkerImageView.setImageBitmap(bitmap);
  344.         view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
  345.         view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
  346.         view.buildDrawingCache();
  347.         Bitmap returnedBitmap = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(),
  348.                 Bitmap.Config.ARGB_8888);
  349.         Canvas canvas = new Canvas(returnedBitmap);
  350.         canvas.drawColor(Color.WHITE, PorterDuff.Mode.SRC_IN);
  351.         Drawable drawable = view.getBackground();
  352.         if (drawable != null)
  353.             drawable.draw(canvas);
  354.         view.draw(canvas);
  355.         return returnedBitmap;
  356.     }
  357.  
  358.     @Override
  359.     public boolean onMarkerClick(Marker marker) {
  360.         final TagObject tag = (TagObject) marker.getTag();
  361.         Reservoir.getAsync(RESERVOIR_MAPS_KEY, ListMapAduanModel.class, new ReservoirGetCallback<ListMapAduanModel>() {
  362.             @Override
  363.             public void onSuccess(ListMapAduanModel listMapAduanModel) {
  364.                 for(int i=0;i<listMapAduanModel.data.size();i++){
  365.                     if(listMapAduanModel.data.get(i).id==tag.aduanId){
  366.                         showDescription(listMapAduanModel.data.get(i));
  367.                         break;
  368.                     }
  369.                 }
  370.             }
  371.  
  372.             @Override
  373.             public void onFailure(Exception e) {
  374.                 Log.e(Constant.TAG_ERROR,"marker click error "+e.getMessage());
  375.             }
  376.         });
  377.         return false;
  378.     }
  379.  
  380.     private void setupDescription(){
  381.         dialogDescription = new BottomSheetDialog(activity);
  382.         View v = inflater.inflate(R.layout.view_aduan_location, null);
  383.         dialogDescription.setContentView(v);
  384.  
  385.         dialogDescriptionLayout = v.findViewById(R.id.layoutAduan);
  386.         dialogDescriptionImgView = v.findViewById(R.id.ivHomeViewAduanProfile);
  387.         dialogDescriptionStatus = v.findViewById(R.id.tvHomeViewAduanStatus);
  388.         dialogDescriptionName = v.findViewById(R.id.tvHomeViewAduanName);
  389.         dialogDescriptionTitle = v.findViewById(R.id.tvHomeViewAduanTitle);
  390.         dialogDescriptionDescript = v.findViewById(R.id.tvHomeViewAduanDescription);
  391.         dialogDescriptionLike = v.findViewById(R.id.tvHomeViewAduanLike);
  392.         dialogDescriptionComment = v.findViewById(R.id.tvHomeViewAduanComment);
  393.         dialogDescriptionFeedback = v.findViewById(R.id.tvHomeViewAduanFeedback);
  394.         dialogDescriptionTime = v.findViewById(R.id.tvHomeViewAduanTime);
  395.     }
  396.  
  397.     private void showDescription(final ListMapAduanModel.Datum dataAduan){
  398.         if (!dialogDescription.isShowing()){
  399.  
  400.             dialogDescriptionLayout.setOnClickListener(view -> {
  401.                 Intent i = new Intent(activity, MainMasyarakatDetail.class);
  402.                 i.putExtra(MainMasyarakatDetail.FROM_MAPS, true);
  403.                 i.putExtra(MainMasyarakatDetail.ID_ADUAN, dataAduan.id);
  404.                 //other data
  405.                 i.putExtra(MainMasyarakatDetail.USER_ID, dataAduan.createdBy.id);
  406.                 i.putExtra(MainMasyarakatDetail.TITLE, dataAduan.title);
  407.                 i.putExtra(MainMasyarakatDetail.PICTURE, dataAduan.picture);
  408.                 i.putExtra(MainMasyarakatDetail.LOCATION, dataAduan.location);
  409.                 i.putExtra(MainMasyarakatDetail.DESCRIPTION, dataAduan.description);
  410.                 i.putExtra(MainMasyarakatDetail.LIKE, dataAduan.totalLikes);
  411.                 i.putExtra(MainMasyarakatDetail.COMMENT, dataAduan.totalComments);
  412.                 i.putExtra(MainMasyarakatDetail.FEEDBACK, dataAduan.totalFeedback);
  413.                 i.putExtra(MainMasyarakatDetail.STATUS, dataAduan.status);
  414.                 i.putExtra(MainMasyarakatDetail.NAME_PERSON, dataAduan.createdBy.fullname);
  415.                 i.putExtra(MainMasyarakatDetail.IMG_PERSON, dataAduan.createdBy.picture);
  416.                 i.putExtra(MainMasyarakatDetail.CATEGORY, dataAduan.category.name);
  417.                 i.putExtra(MainMasyarakatDetail.IC_CATEGORY, dataAduan.category.icon);
  418.                 i.putExtra(MainMasyarakatDetail.CREATED_AT, dataAduan.createdAt);
  419.                 i.putExtra(MainMasyarakatDetail.NAME_CATEGORY, dataAduan.category.name);
  420.                 i.putExtra(MainMasyarakatDetail.IS_HIDDEN, dataAduan.isHidden);
  421.  
  422.                 activity.startActivity(i);
  423.             });
  424.  
  425.             Glide.with(dialogDescriptionImgView.getContext())
  426.                     .load(dataAduan.createdBy.picture).asBitmap().centerCrop()
  427.                     .placeholder(R.drawable.no_image_profile)
  428.                     .error(R.drawable.no_image_profile)
  429.                     .into(new BitmapImageViewTarget(dialogDescriptionImgView) {
  430.                         @Override
  431.                         protected void setResource(Bitmap resource) {
  432.                             //super.setResource(resource);
  433.                             RoundedBitmapDrawable circleImg =
  434.                                     RoundedBitmapDrawableFactory.create(dialogDescriptionImgView.getContext().getResources(), resource);
  435.                             circleImg.setCircular(true);
  436.                             dialogDescriptionImgView.setImageDrawable(circleImg);
  437.                         }
  438.                     });
  439.  
  440.             setStatus(dialogDescriptionStatus, String.valueOf(dataAduan.status));
  441.             dialogDescriptionName.setText(dataAduan.createdBy.fullname);
  442.             dialogDescriptionTitle.setText(dataAduan.title);
  443.             dialogDescriptionDescript.setText(dataAduan.description);
  444.             dialogDescriptionLike.setText(String.valueOf(dataAduan.totalLikes));
  445.             dialogDescriptionComment.setText(String.valueOf(dataAduan.totalComments));
  446.             dialogDescriptionFeedback.setText(String.valueOf(dataAduan.totalFeedback));
  447.  
  448.             String time = "";
  449.             time = ActivityHelper.getTimeHuman(dataAduan.createdAt);
  450.             dialogDescriptionTime.setText(time);
  451.  
  452.             dialogDescription.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
  453.             dialogDescription.show();
  454.         }
  455.     }
  456.  
  457.     private class TagObject{
  458.  
  459.         public int aduanId;
  460.         public int categoryAduanId;
  461.  
  462.         TagObject(int aduanId, int categoryAduanId){
  463.             this.aduanId = aduanId;
  464.             this.categoryAduanId = categoryAduanId;
  465.         }
  466.     }
  467.  
  468.     private void setStatus(TextView textView, String status){
  469.         if(status.toLowerCase().equals("menunggu")){
  470.             textView.setBackground(ContextCompat.getDrawable(activity, R.drawable.bg_laporan_status_red));
  471.         }else if(status.toLowerCase().equals("proses")){
  472.             textView.setBackground(ContextCompat.getDrawable(activity, R.drawable.bg_laporan_status_yellow));
  473.         }else{
  474.             textView.setBackground(ContextCompat.getDrawable(activity, R.drawable.bg_laporan_status_green));
  475.         }
  476.         textView.setText(status);
  477.     }
  478.  
  479.     private boolean requestLocation(){
  480.         if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){
  481.             if(getActivity().checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){
  482.                 if(ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION)){
  483.                     ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_LOCATION_CODE);
  484.                     return false;
  485.                 }else{
  486.                     ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_LOCATION_CODE);
  487.                     return false;
  488.                 }
  489.             }else{
  490.                 return true;
  491.             }
  492.         }else{
  493.             return true;
  494.         }
  495.     }
  496. }
  497.  
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×