Backup of Home Fragment Java Code after lottie file and smart buy xml change
package Fragment;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Dialog;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentSender;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.graphics.Rect;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Looper;
import android.telephony.PhoneNumberUtils;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.core.app.ActivityCompat;
import androidx.core.widget.NestedScrollView;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.LinearSmoothScroller;
import androidx.recyclerview.widget.RecyclerView;
import com.android.volley.NoConnectionError;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.TimeoutError;
import com.android.volley.VolleyError;
import com.android.volley.VolleyLog;
import com.android.volley.toolbox.JsonArrayRequest;
import com.cooltechworks.views.shimmer.ShimmerRecyclerView;
import com.daimajia.slider.library.SliderLayout;
import com.daimajia.slider.library.SliderTypes.BaseSliderView;
import com.google.android.gms.common.api.ResolvableApiException;
import com.google.android.gms.location.FusedLocationProviderClient;
import com.google.android.gms.location.LocationCallback;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationResult;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.location.LocationSettingsRequest;
import com.google.android.gms.location.LocationSettingsResponse;
import com.google.android.gms.location.SettingsClient;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import Adapter.Deal_OfDay_Adapter;
import Adapter.Home_Icon_Adapter;
import Adapter.Home_adapter;
import Adapter.Top_Selling_Adapter;
import Config.BaseURL;
import Model.Category_model;
import Model.Deal_Of_Day_model;
import Model.Home_Icon_model;
import Model.Top_Selling_model;
import gogroccer.tcc.AppController;
import gogroccer.tcc.CustomSlider;
import gogroccer.tcc.MainActivity;
import gogroccer.tcc.ProductActivity;
import gogroccer.tcc.R;
import gogroccer.tcc.SearchActivity;
import spencerstudios.com.fab_toast.FabToast;
import util.ConnectivityReceiver;
import util.CustomVolleyJsonRequest;
import util.RecyclerTouchListener;
import static android.content.Context.LOCATION_SERVICE;
public class Home_fragment extends Fragment implements OnMapReadyCallback {
private static final String TAG = Home_fragment.class.getSimpleName();
private SliderLayout imgSlider, banner_slider, featuredslider;
private RecyclerView rv_items2, rv_top_selling, rv_deal_of_day, rv_headre_icons;
private List<Category_model> category_modelList = new ArrayList<>();
private Home_adapter adapter;
private boolean isSubcat = false;
LinearLayout Search_layout, Top_selling_layout2;
String getid;
String getcat_title;
NestedScrollView scrollView;
SharedPreferences sharedpreferences;
private Dialog loadingDialog;
private ShimmerRecyclerView rv_items;
private List<String> cat_menu_id = new ArrayList<>();
private List<String> sub_cteg_title = new ArrayList<>();
//Home Icons
private Home_Icon_Adapter menu_adapter;
private List<Home_Icon_model> menu_models = new ArrayList<>();
private Dialog dialog;
//Deal Of Day
private Deal_OfDay_Adapter deal_ofDay_adapter;
private List<Deal_Of_Day_model> deal_of_day_models = new ArrayList<>();
LinearLayout Deal_Linear_layout, Deal_Frame_layout1;
FrameLayout Deal_Frame_layout;
//
//Top Selling Products
private Top_Selling_Adapter top_selling_adapter;
private List<Top_Selling_model> top_selling_models = new ArrayList<>();
private ImageView iv_Call, iv_Whatspp, iv_reviews, iv_share_via;
private TextView timer;
Button View_all_deals, View_all_TopSell;
private ImageView Top_Selling_Poster, Deal_Of_Day_poster;
View view;
// for location
FusedLocationProviderClient fusedLocationProviderClient;
private boolean isGPSEnabled = false;
private LocationManager locationManager;
Location currentLocation;
private static final int REQUEST_CODE = 44;
public TextView tvCurrent, tv_langitude, tv_latitude, tv_fulladdress;
public static double latitude = 0.00, longitude = 0.00;
public static Address address1;
public static SupportMapFragment mapFragment;
public static OnMapReadyCallback mapReadyCallback;
public Home_fragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_home, container, false);
setHasOptionsMenu(true);
((MainActivity) requireActivity()).setTitle(getResources().getString(R.string.app_name));
// getActivity().setTitle(getResources().getString(R.string.app_name));
Objects.requireNonNull(((MainActivity) requireActivity()).getSupportActionBar()).setIcon(R.drawable.app_bar_icon);
((MainActivity) requireActivity()).updateHeader();
showloadingDialog(getActivity());
// ((MainActivity) getActivity()).setTitle("");
view.setFocusableInTouchMode(true);
view.requestFocus();
view.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {
// ((MainActivity) getActivity()).finish();
exit_app_dailog();
return true;
}
return false;
}
});
//Check Internet Connection
if (ConnectivityReceiver.isConnected()) {
makeGetSliderRequest();
makeGetBannerSliderRequest();
makeGetCategoryRequest();
makeGetFeaturedSlider();
// make_menu_items();
// make_deal_of_the_day();
make_top_selling();
} else {
showInternetErrorDialog(getActivity(), "run all");
}
//for location
tv_langitude = view.findViewById(R.id.langitude_tv);
tv_latitude = view.findViewById(R.id.latitude_tv);
tv_fulladdress = view.findViewById(R.id.full_address_tv);
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(requireActivity());
// getLocation();
// displayLocationSettingsRequest(getActivity());
/* testing expandable list view */
LinearLayout gotocartegorypage = view.findViewById(R.id.shop_by_Category_title);
gotocartegorypage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Fragment fm = new ExpandListviewFragment();
FragmentManager fragmentManager = requireActivity().getSupportFragmentManager();
fragmentManager.beginTransaction()
.setCustomAnimations(R.animator.fade_in, R.animator.fade_out)
.replace(R.id.contentPanel, fm)
.addToBackStack(null).commit();
}
});
// todo: expandable listview code end here....
// IntentFilter intentFilter = new IntentFilter(ConnectivityReceiver.NETWORK_AVAILABLE_ACTION);
// LocalBroadcastManager.getInstance(getActivity()).registerReceiver(new BroadcastReceiver() {
// @Override
// public void onReceive(Context context, Intent intent) {
// boolean isNetworkAvailable = intent.getBooleanExtra(IS_NETWORK_AVAILABLE, false);
// String networkStatus = isNetworkAvailable ? "connected" : "disconnected";
//
// Snackbar.make(getActivity().findViewById(android.R.id.content), "Network Status: " + networkStatus, Snackbar.LENGTH_LONG).show();
// }
// }, intentFilter);
// send_email();
View_all_deals = view.findViewById(R.id.view_all_deals);
View_all_TopSell = view.findViewById(R.id.view_all_topselling);
// deal product seting off
Deal_Frame_layout = view.findViewById(R.id.deal_frame_layout);
Deal_Frame_layout1 = view.findViewById(R.id.deal_frame_layout1);
//
//Top Selling Poster
Top_Selling_Poster = view.findViewById(R.id.top_selling_imageview);
//Deal Of Day Poster
Deal_Of_Day_poster = view.findViewById(R.id.deal_of_day_imageview);
//Scroll View
scrollView = view.findViewById(R.id.scroll_view);
scrollView.setSmoothScrollingEnabled(true);
/* /Search bar */
Search_layout = view.findViewById(R.id.search_layout);
Search_layout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Fragment fm = new Search_fragment();
// FragmentManager fragmentManager = getSupportFragmentManager()();
// fragmentManager.beginTransaction()
// .replace(R.id.contentPanel, fm)
// // .setCustomAnimations(R.animator.slide_from_right,R.anim.slide_out_from_left)
// .addToBackStack(null).commit();
Intent intent = new Intent(getActivity(), SearchActivity.class);
startActivity(intent);
}
});
/* code end here */
//Slider
imgSlider = view.findViewById(R.id.home_img_slider);
banner_slider = view.findViewById(R.id.relative_banner);
featuredslider = view.findViewById(R.id.featured_img_slider);
//Catogary Icons
rv_items = view.findViewById(R.id.rv_home); //todo:change 5june
rv_items.showShimmerAdapter();
// rv_items2=view.findViewById(R.id.rv_home);
GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 3);
rv_items.setLayoutManager(gridLayoutManager);
gridLayoutManager.isAutoMeasureEnabled();
rv_items.setItemAnimator(new DefaultItemAnimator());
rv_items.setNestedScrollingEnabled(false);
//DealOf the Day
rv_deal_of_day = view.findViewById(R.id.rv_deal);
// GridLayoutManager gridLayoutManager1 = new GridLayoutManager(getActivity(), 2);
LinearLayoutManager deallinearLayoutManager = new LinearLayoutManager(getActivity()) {
@Override
public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) {
LinearSmoothScroller smoothScroller = new LinearSmoothScroller(requireActivity()) {
private static final float SPEED = 2000f;// Change this value (default=25f)
@Override
protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
return SPEED / displayMetrics.densityDpi;
}
};
smoothScroller.setTargetPosition(position);
startSmoothScroll(smoothScroller);
}
};
deallinearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
rv_deal_of_day.setLayoutManager(deallinearLayoutManager);
rv_deal_of_day.setItemAnimator(new DefaultItemAnimator());
rv_deal_of_day.setNestedScrollingEnabled(true);
// rv_deal_of_day.addItemDecoration(new GridSpacingItemDecoration(2, dpToPx(1), true));
//
//Top Selling Products todo:diabale by napcafe for new top selling view
rv_top_selling = view.findViewById(R.id.top_selling_recycler);
// GridLayoutManager gridLayoutManager2 = new GridLayoutManager(getActivity(), 2);
LinearLayoutManager gridLayoutManager2 = new LinearLayoutManager(getActivity()) {
@Override
public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) {
LinearSmoothScroller smoothScroller = new LinearSmoothScroller(requireActivity()) {
private static final float SPEED = 2000f;// Change this value (default=25f)
@Override
protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
return SPEED / displayMetrics.densityDpi;
}
};
smoothScroller.setTargetPosition(position);
startSmoothScroll(smoothScroller);
}
}; // for horizontal scrolling
gridLayoutManager2.setOrientation(LinearLayoutManager.HORIZONTAL); // for horizontal scrolling
rv_top_selling.setLayoutManager(gridLayoutManager2);
rv_top_selling.setItemAnimator(new DefaultItemAnimator());
rv_top_selling.setNestedScrollingEnabled(false);
rv_top_selling.addItemDecoration(new GridSpacingItemDecoration(2, dpToPx(), true));
// Top_selling_layout = view.findViewById(R.id.top_selling_layoutView); // todo:disable for unworked after viewpager
//make_menu_items Icons
rv_headre_icons = view.findViewById(R.id.collapsing_recycler);
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()) {
@Override
public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) {
LinearSmoothScroller smoothScroller = new LinearSmoothScroller(requireActivity()) {
private static final float SPEED = 2000f;// Change this value (default=25f)
@Override
protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
return SPEED / displayMetrics.densityDpi;
}
};
smoothScroller.setTargetPosition(position);
startSmoothScroll(smoothScroller);
}
};
layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
rv_headre_icons.setLayoutManager(layoutManager);
rv_headre_icons.setHasFixedSize(true);
rv_headre_icons.setItemViewCacheSize(10);
rv_headre_icons.setDrawingCacheEnabled(true);
rv_headre_icons.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW);
//Call And Whatsapp
iv_Call = view.findViewById(R.id.iv_call);
iv_Whatspp = view.findViewById(R.id.iv_whatsapp);
iv_reviews = view.findViewById(R.id.reviews);
iv_share_via = view.findViewById(R.id.share_via);
iv_Call.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isPermissionGranted()) {
call_action();
}
}
});
iv_Whatspp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
chat_action();
}
});
iv_reviews.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
reviewOnApp();
}
});
iv_share_via.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
shareApp();
}
});
//* Recycler View Shop By Catogary
rv_items.addOnItemTouchListener(new RecyclerTouchListener(getActivity(), rv_items, new RecyclerTouchListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
getid = category_modelList.get(position).getId();
getcat_title = category_modelList.get(position).getTitle();
Intent i = new Intent(getActivity(), ProductActivity.class);
i.putExtra("cat_id", getid);
i.putExtra("cat_title", getcat_title);
startActivity(i);
}
@Override
public void onLongItemClick(View view, int position) {
}
}));
// /*/Recycler View Menu Products
// rv_headre_icons.addOnItemTouchListener(new RecyclerTouchListener(getActivity(), rv_headre_icons, new RecyclerTouchListener.OnItemClickListener() {
// @Override
// public void onItemClick(View view, int position) {
// getid = menu_models.get(position).getId();
// Bundle args = new Bundle();
// Fragment fm = new Product_fragment();
// args.putString("cat_id", getid);
// fm.setArguments(args);
// FragmentManager fragmentManager = getSupportFragmentManager()();
// fragmentManager.beginTransaction()
// .setCustomAnimations(R.animator.fade_in, R.animator.fade_out)
// .replace(R.id.contentPanel, fm)
// .addToBackStack(null).commit();
// }
//
// @Override
// public void onLongItemClick(View view, int position) {
// }
// }));
// */
//
//
//Recycler View Deal Of Day //**
rv_deal_of_day.addOnItemTouchListener(new RecyclerTouchListener(getActivity(), rv_deal_of_day, new RecyclerTouchListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
getid = deal_of_day_models.get(position).getId();
// Bundle args = new Bundle();
Fragment fm = new ProductRecyclerFragment();
// args.putString("cat_deal", "2");
// fm.setArguments(args);
// FragmentManager fragmentManager = getFragmentManager();
// fragmentManager.beginTransaction()
// .setCustomAnimations(R.animator.fade_in, R.animator.fade_out)
// .replace(R.id.contentPanel, fm)
// .addToBackStack(null).commit();
Intent i = new Intent(getActivity(), ProductActivity.class);
i.putExtra("cat_deal", "2");
startActivity(i);
}
@Override
public void onLongItemClick(View view, int position) {
}
}));
View_all_deals.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Bundle args = new Bundle();
// Fragment fm = new ProductRecyclerFragment();
// args.putString("cat_deal", "2");
// fm.setArguments(args);
// FragmentManager fragmentManager = getFragmentManager();
// fragmentManager.beginTransaction()
// .setCustomAnimations(R.animator.fade_in, R.animator.fade_out)
// .replace(R.id.contentPanel, fm)
// .addToBackStack(null).commit();
Intent i = new Intent(getActivity(), ProductActivity.class);
i.putExtra("cat_deal", "2");
startActivity(i);
}
});
///
//
// //REcyclerview Top Selling
rv_top_selling.addOnItemTouchListener(new RecyclerTouchListener(getActivity(), rv_top_selling, new RecyclerTouchListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
getid = top_selling_models.get(position).getProduct_id();
// Bundle args = new Bundle();
// Fragment fm = new Product_fragment();
// args.putString("cat_top_selling", "");
// fm.setArguments(args);
// FragmentManager fragmentManager = getSupportFragmentManager()();
// fragmentManager.beginTransaction()
// .setCustomAnimations(R.animator.fade_in, R.animator.fade_out)
// .replace(R.id.contentPanel, fm)
// .addToBackStack(null).commit();
Intent i = new Intent(getActivity(), ProductActivity.class);
i.putExtra("top_deal", "2");
startActivity(i);
}
@Override
public void onLongItemClick(View view, int position) {
}
}));
View_all_TopSell.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Bundle args = new Bundle();
// Fragment fm = new Product_fragment();
// args.putString("cat_top_selling", "2");
// fm.setArguments(args);
// FragmentManager fragmentManager = getSupportFragmentManager()();
// fragmentManager.beginTransaction()
// .setCustomAnimations(R.animator.fade_in, R.animator.fade_out)
// .replace(R.id.contentPanel, fm)
// .addToBackStack(null).commit();
Intent i = new Intent(getActivity(), ProductActivity.class);
i.putExtra("top_deal", "2");
startActivity(i);
}
});
// */
/* todo: diable for unworked after viewpager
Top_selling_layout.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
// Bundle args = new Bundle();
// Fragment fm = new Product_fragment();
// args.putString("cat_top_selling", "Top Selling Product");
// fm.setArguments(args);
// FragmentManager fragmentManager = getSupportFragmentManager()();
// fragmentManager.beginTransaction()
// .setCustomAnimations(R.animator.slide_from_right, R.animator.slide_out_from_left, R.animator.slide_from_right, R.animator.slide_out_from_left)
//// .setCustomAnimations(R.animator.fade_in, R.animator.fade_out)
// .replace(R.id.contentPanel, fm) //todo: change if want to use prodcut activity working
// .addToBackStack(null).commit();
Intent i = new Intent(getActivity(), ProductActivity.class);
i.putExtra("cat_top_selling","Top Selling Product");
startActivity(i);
}
});
*/
return view;
// on-create method over here
}
private void getLocation() {
//check permission
if (Build.VERSION.SDK_INT >= 23) {
if (requireContext().checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
//when permission granted check for gps is enabled
LocationManager locationManager = (LocationManager) requireActivity().getSystemService(LOCATION_SERVICE);
locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);// Toast.makeText(getActivity(), "GPS is Enabled in your devide", Toast.LENGTH_SHORT).show();
/*
new AlertDialog.Builder(getActivity())
.setTitle(getActivity().getResources().getString(R.string.location_permission))
.setMessage(getActivity().getResources().getString(R.string.location_permission_message))
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialogInterface, int i) {
//Prompt the user once explanation has been shown
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 0);
Intent callGPSSettingIntent = new Intent(
android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(callGPSSettingIntent);
}
})
.create().show();
*/
//
fusedLocationProviderClient.getLastLocation().addOnCompleteListener(new OnCompleteListener<Location>() {
@Override
public void onComplete(@NonNull Task<Location> task) {
final Location location = task.getResult();
if (location != null) {
try {
if (Geocoder.isPresent()) {
Geocoder geocoder = new Geocoder(getActivity(), Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
// tv_latitude.setText(Html.fromHtml("<font color='#6200ee'> <b>Latitude : </b><br></font>"
// + addresses.get(0).getLatitude()));
// tv_langitude.setText(Html.fromHtml("<font color='#6200ee'> <b>Longitude : </b><br></font>"
// + addresses.get(0).getLongitude()));
// tv_fulladdress.setText(Html.fromHtml("<font color='#6200ee'> <b>Address : </b><br></font>"
// + addresses.get(0).getAddressLine(0)));
latitude = location.getLatitude();
longitude = location.getLongitude();
Log.d("lati", "lat : " + addresses.get(0).getLatitude() + " " + "lan: " + addresses.get(0).getLongitude());
Log.d("free", "cart :" + addresses.get(0).getLatitude());
} else {
tv_fulladdress.setText(R.string.adnf);
}
} catch (IOException e) {
e.printStackTrace();
}
} else {
LocationRequest locationRequest = new LocationRequest()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(4000)
.setFastestInterval(2000)
.setNumUpdates(2);
LocationCallback locationCallback = new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
// super.onLocationResult(locationResult);
Location location1 = locationResult.getLastLocation();
tv_latitude.setText(String.valueOf(location1.getLatitude()));
tv_langitude.setText(String.valueOf(location1.getLongitude()));
if (Geocoder.isPresent()) {
Geocoder geocoder = new Geocoder(requireActivity(), Locale.getDefault());
List<Address> addresses = null;
try {
addresses = geocoder.getFromLocation(location1.getLatitude(), location1.getLongitude(), 1);
} catch (IOException e) {
e.printStackTrace();
}
// tv_fulladdress.setText(Html.fromHtml("<font color='#6200ee'> <b>Address : </b><br></font>"
// + addresses.get(0).getAddressLine(0)));
assert addresses != null;
Log.d("lati", "lat : " + addresses.get(0).getLatitude() + " " + "lan: " + addresses.get(0).getLongitude());
Log.d("free", "cart :" + addresses.get(0).getLatitude());
} else {
tv_fulladdress.setText(R.string.adnf);
}
}
};
if (ActivityCompat.checkSelfPermission(requireActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(requireActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
fusedLocationProviderClient.requestLocationUpdates(locationRequest, locationCallback, Looper.myLooper());
// Toast.makeText(getActivity(), "Address not found", Toast.LENGTH_SHORT).show();
}
}
});
} else {
//when persmission denied
ActivityCompat.requestPermissions(requireActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_CODE);
}
} else {
fusedLocationProviderClient.getLastLocation().addOnCompleteListener(new OnCompleteListener<Location>() {
@Override
public void onComplete(@NonNull Task<Location> task) {
Location location = task.getResult();
if (location != null) {
try {
Geocoder geocoder = new Geocoder(getActivity(), Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
}
}
private void makeGetSliderRequest() {
JsonArrayRequest req = new JsonArrayRequest(BaseURL.GET_SLIDER_URL,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d(TAG, response.toString());
try {
ArrayList<HashMap<String, String>> listarray = new ArrayList<>();
for (int i = 0; i < response.length(); i++) {
JSONObject jsonObject = (JSONObject) response.get(i);
HashMap<String, String> url_maps = new HashMap<>();
url_maps.put("slider_title", jsonObject.getString("slider_title"));
url_maps.put("sub_cat", jsonObject.getString("sub_cat"));
url_maps.put("slider_image", BaseURL.IMG_SLIDER_URL + jsonObject.getString("slider_image"));
listarray.add(url_maps);
}
for (HashMap<String, String> name : listarray) {
CustomSlider textSliderView = new CustomSlider(getActivity());
textSliderView.description(name.get("")).image(name.get("slider_image")).setScaleType(BaseSliderView.ScaleType.Fit);
textSliderView.bundle(new Bundle());
textSliderView.getBundle().putString("extra", name.get("slider_title"));
textSliderView.getBundle().putString("extra", name.get("sub_cat"));
imgSlider.addSlider(textSliderView);
final String sub_cat = (String) textSliderView.getBundle().get("extra");
if (!sub_cat.contentEquals("0")) {
textSliderView.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
@Override
public void onSliderClick(BaseSliderView slider) {
// Toast.makeText(getActivity(), "" + sub_cat, Toast.LENGTH_SHORT).show();
/* todo: change if product activity not working *
Bundle args = new Bundle();
Fragment fm = new Product_fragment();
args.putString("id", sub_cat);
fm.setArguments(args);
FragmentManager fragmentManager = getSupportFragmentManager()();
fragmentManager.beginTransaction()
.setCustomAnimations(R.animator.slide_from_right, R.animator.slide_out_from_left, R.animator.slide_from_right, R.animator.slide_out_from_left)
.replace(R.id.contentPanel, fm)
.addToBackStack(null).commit();
*/
/* todo: change if want product activity working */
Intent i = new Intent(getActivity(), ProductActivity.class);
i.putExtra("id", sub_cat);
startActivity(i);
}
});
}
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getActivity(),
"Error: " + e.getMessage(),
Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
// Toast.makeText(getActivity(), getResources().getString(R.string.connection_time_out), Toast.LENGTH_SHORT).show();
showInternetErrorDialog(getActivity(), "run slider"); //created for retry on net connection -by napcafe
}
}
});
AppController.getInstance().addToRequestQueue(req);
}
private void makeGetBannerSliderRequest() {
JsonArrayRequest req = new JsonArrayRequest(BaseURL.GET_BANNER_URL,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d(TAG, response.toString());
try {
ArrayList<HashMap<String, String>> listarray = new ArrayList<>();
for (int i = 0; i < response.length(); i++) {
JSONObject jsonObject = (JSONObject) response.get(i);
HashMap<String, String> url_maps = new HashMap<>();
url_maps.put("slider_title", jsonObject.getString("slider_title"));
url_maps.put("sub_cat", jsonObject.getString("sub_cat"));
url_maps.put("slider_image", BaseURL.IMG_SLIDER_URL + jsonObject.getString("slider_image"));
listarray.add(url_maps);
}
for (HashMap<String, String> name : listarray) {
CustomSlider textSliderView = new CustomSlider(getActivity());
textSliderView.description(name.get("")).image(name.get("slider_image")).setScaleType(BaseSliderView.ScaleType.Fit);
textSliderView.bundle(new Bundle());
textSliderView.getBundle().putString("extra", name.get("slider_title"));
textSliderView.getBundle().putString("extra", name.get("sub_cat"));
banner_slider.addSlider(textSliderView);
final String sub_cat = (String) textSliderView.getBundle().get("extra");
if (!sub_cat.contentEquals("0")) {
textSliderView.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
@Override
public void onSliderClick(BaseSliderView slider) {
// Toast.makeText(getActivity(), "" + sub_cat, Toast.LENGTH_SHORT).show();
/* todo: change if product activity not working *
Bundle args = new Bundle();
Fragment fm = new Product_fragment();
args.putString("id", sub_cat);
fm.setArguments(args);
FragmentManager fragmentManager = getSupportFragmentManager()();
fragmentManager.beginTransaction()
.setCustomAnimations(R.animator.slide_from_right, R.animator.slide_out_from_left, R.animator.slide_from_right, R.animator.slide_out_from_left)
.replace(R.id.contentPanel, fm)
.addToBackStack(null).commit();
*/
/* todo: change if want product activity working */
Intent i = new Intent(getActivity(), ProductActivity.class);
i.putExtra("id", sub_cat);
startActivity(i);
}
});
}
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getActivity(), "Error: " + e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
// Toast.makeText(getActivity(), getResources().getString(R.string.connection_time_out), Toast.LENGTH_SHORT).show();
showInternetErrorDialog(getActivity(), "run bannerSlider"); //created for retry on net connection -by napcafe
}
}
});
AppController.getInstance().addToRequestQueue(req);
}
private void makeGetFeaturedSlider() {
JsonArrayRequest req = new JsonArrayRequest(BaseURL.GET_FEAATURED_SLIDER_URL,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d(TAG, response.toString());
try {
ArrayList<HashMap<String, String>> listarray = new ArrayList<>();
for (int i = 0; i < response.length(); i++) {
JSONObject jsonObject = (JSONObject) response.get(i);
HashMap<String, String> url_maps = new HashMap<>();
url_maps.put("slider_title", jsonObject.getString("slider_title"));
url_maps.put("sub_cat", jsonObject.getString("sub_cat"));
url_maps.put("slider_image", BaseURL.IMG_SLIDER_URL + jsonObject.getString("slider_image"));
listarray.add(url_maps);
}
for (HashMap<String, String> name : listarray) {
CustomSlider textSliderView = new CustomSlider(getActivity());
textSliderView.description(name.get("")).image(name.get("slider_image")).setScaleType(BaseSliderView.ScaleType.Fit);
textSliderView.bundle(new Bundle());
// textSliderView.getBundle().putString("extra", name.get("slider_title"));
textSliderView.getBundle().putString("extra", name.get("sub_cat"));
featuredslider.addSlider(textSliderView);
final String sub_cat = (String) textSliderView.getBundle().get("extra");
if (!sub_cat.contentEquals("0")) {
textSliderView.setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() {
@Override
public void onSliderClick(BaseSliderView slider) {
// Toast.makeText(getActivity(), "" + sub_cat, Toast.LENGTH_SHORT).show();
/* todo: change if want product activity working */
Intent i = new Intent(getActivity(), ProductActivity.class);
i.putExtra("id", sub_cat);
startActivity(i);
}
});
}
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getActivity(), "Error: " + e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
// Toast.makeText(getActivity(), getResources().getString(R.string.connection_time_out), Toast.LENGTH_SHORT).show();
showInternetErrorDialog(getActivity(), "run featuredSlider"); //created for retry on net connection -by napcafe
}
}
});
AppController.getInstance().addToRequestQueue(req);
}
private void makeGetCategoryRequest() {
loadingDialog.show();
String tag_json_obj = "json_category_req";
isSubcat = false;
Map<String, String> params = new HashMap<>();
params.put("parent", "");
isSubcat = true;
/* if (parent_id != null && parent_id != "") {
}*/
CustomVolleyJsonRequest jsonObjReq = new CustomVolleyJsonRequest(Request.Method.POST,
BaseURL.GET_CATEGORY_URL, params, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
try {
if (response != null && response.length() > 0) {
Boolean status = response.getBoolean("responce");
if (status) {
Gson gson = new Gson();
Type listType = new TypeToken<List<Category_model>>() {
}.getType();
category_modelList = gson.fromJson(response.getString("data"), listType);
adapter = new Home_adapter(category_modelList);
loadingDialog.dismiss();
rv_items.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
// Toast.makeText(getActivity(), getResources().getString(R.string.connection_time_out), Toast.LENGTH_SHORT).show();
loadingDialog.dismiss();
showInternetErrorDialog(getActivity(), "run category");
}
}
});
// Adding request to request queue
AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);
}
// deaal code trying
private void make_deal_of_the_day() {
String tag_json_obj = "json_category_req";
isSubcat = false;
Map<String, String> params = new HashMap<>();
params.put("parent", "");
isSubcat = true;
// if (parent_id != null && parent_id != "") { }
CustomVolleyJsonRequest jsonObjReq = new CustomVolleyJsonRequest(Request.Method.GET,
BaseURL.GET_DEAL_OF_DAY_PRODUCTS, params, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
try {
if (response != null && response.length() > 0) {
Boolean status = response.getBoolean("responce");
Gson gson = new Gson();
if (status) {
Type listType = new TypeToken<List<Deal_Of_Day_model>>() {
}.getType();
deal_of_day_models = gson.fromJson(response.getString("Deal_of_the_day"), listType);
deal_ofDay_adapter = new Deal_OfDay_Adapter(deal_of_day_models, getActivity());
rv_deal_of_day.setAdapter(deal_ofDay_adapter);
deal_ofDay_adapter.notifyDataSetChanged();
if (getActivity() != null) {
if (deal_of_day_models.isEmpty()) {
// Toast.makeText(getActivity(), "No Deal For Day", Toast.LENGTH_SHORT).show();
rv_deal_of_day.setVisibility(View.GONE);
Deal_Frame_layout.setVisibility(View.GONE);
Deal_Frame_layout1.setVisibility(View.GONE);
}
}
} else {
Toast.makeText(getActivity(), "No Response", Toast.LENGTH_SHORT).show();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
Toast.makeText(getActivity(), getResources().getString(R.string.connection_time_out), Toast.LENGTH_SHORT).show();
}
}
});
// Adding request to request queue
AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);
}
//deal code end here
private void make_top_selling() {
String tag_json_obj = "json_category_req";
isSubcat = false;
Map<String, String> params = new HashMap<>();
params.put("parent", "");
isSubcat = true;
/* if (parent_id != null && parent_id != "") {
}*/
CustomVolleyJsonRequest jsonObjReq = new CustomVolleyJsonRequest(Request.Method.POST,
BaseURL.GET_TOP_SELLING_PRODUCTS, params, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
try {
if (response != null && response.length() > 0) {
boolean status = response.getBoolean("responce");
if (status) {
Gson gson = new Gson();
Type listType = new TypeToken<List<Top_Selling_model>>() {
}.getType();
top_selling_models = gson.fromJson(response.getString("top_selling_product"), listType);
top_selling_adapter = new Top_Selling_Adapter(top_selling_models);
rv_top_selling.setAdapter(top_selling_adapter);
top_selling_adapter.notifyDataSetChanged();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
Toast.makeText(getActivity(), getResources().getString(R.string.connection_time_out), Toast.LENGTH_SHORT).show();
}
}
});
// Adding request to request queue
AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);
}
private void make_menu_items() {
String tag_json_obj = "json_category_req";
isSubcat = false;
Map<String, String> params = new HashMap<>();
params.put("parent", "");
isSubcat = true;
/* if (parent_id != null && parent_id != "") {
}*/
CustomVolleyJsonRequest jsonObjReq = new CustomVolleyJsonRequest(Request.Method.POST,
BaseURL.GET_CATEGORY_URL, params, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d(TAG, response.toString());
try {
if (response != null && response.length() > 0) {
boolean status = response.getBoolean("responce");
if (status) {
Gson gson = new Gson();
Type listType = new TypeToken<List<Home_Icon_model>>() {
}.getType();
menu_models = gson.fromJson(response.getString("data"), listType);
menu_adapter = new Home_Icon_Adapter(menu_models);
rv_headre_icons.setAdapter(menu_adapter);
menu_adapter.notifyDataSetChanged();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
Toast.makeText(getActivity(), getResources().getString(R.string.connection_time_out), Toast.LENGTH_SHORT).show();
}
}
});
// Adding request to request queue
AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);
}
// private void fetchLocation() {
// if (ActivityCompat.checkSelfPermission(
// getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(
// getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_CODE);
// return;
// }
// Task<Location> task = fusedLocationProviderClient.getLastLocation();
// task.addOnSuccessListener(new OnSuccessListener<Location>() {
// @Override
// public void onSuccess(Location location) {
// if (location != null) {
// try {
// Geocoder geocoder = new Geocoder(getActivity(), Locale.getDefault());
// List<Address> addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
// tv_latitude.setText(Html.fromHtml("<font color='#6200ee'> <b>Latitude : </b><br></font>"
// + addresses.get(0).getLatitude()));
// tv_langitude.setText(Html.fromHtml("<font color='#6200ee'> <b>Longitude : </b><br></font>"
// + addresses.get(0).getLongitude()));
// tv_fulladdress.setText(Html.fromHtml("<font color='#6200ee'> <b>Address : </b><br></font>"
// + addresses.get(0).getAddressLine(0)));
// Log.d("lati","lat : "+addresses.get(0).getLatitude()+" " +"lan: " +addresses.get(0).getLongitude());
//
// } catch (IOException e) {
// e.printStackTrace();
// }
// currentLocation = location;
// Toast.makeText(getActivity(), currentLocation.getLatitude() + "" + currentLocation.getLongitude(), Toast.LENGTH_SHORT).show();
// SupportMapFragment supportMapFragment = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map);
//// SupportMapFragment supportMapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);
//
// assert supportMapFragment != null;
//// supportMapFragment.getMapAsync(this);
// }
// }
// });
// }
@Override
public void onMapReady(GoogleMap googleMap) {
LatLng latLng = new LatLng(currentLocation.getLatitude(), currentLocation.getLongitude());
MarkerOptions markerOptions = new MarkerOptions().position(latLng).title("I am here!");
googleMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 5));
googleMap.addMarker(markerOptions);
}
public static class GridSpacingItemDecoration extends RecyclerView.ItemDecoration {
private final int spanCount;
private final int spacing;
private final boolean includeEdge;
public GridSpacingItemDecoration(int spanCount, int spacing, boolean includeEdge) {
this.spanCount = spanCount;
this.spacing = spacing;
this.includeEdge = includeEdge;
}
//Defining retrofit api service
@Override
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, RecyclerView parent, @NonNull RecyclerView.State state) {
int position = parent.getChildAdapterPosition(view); // item position
int column = position % spanCount; // item column
if (includeEdge) {
outRect.left = spacing - column * spacing / spanCount; // spacing - column * ((1f / spanCount) * spacing)
outRect.right = (column + 1) * spacing / spanCount; // (column + 1) * ((1f / spanCount) * spacing)
if (position < spanCount) { // top edge
outRect.top = spacing;
}
outRect.bottom = spacing; // item bottom
} else {
outRect.left = column * spacing / spanCount; // column * ((1f / spanCount) * spacing)
outRect.right = spacing - (column + 1) * spacing / spanCount; // spacing - (column + 1) * ((1f / spanCount) * spacing)
if (position >= spanCount) {
outRect.top = spacing; // item top
}
}
}
}
private int dpToPx() {
Resources r = getResources();
return Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, r.getDisplayMetrics()));
}
public void reviewOnApp() {
Uri uri = Uri.parse("market://details?id=" + requireActivity().getPackageName());
Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
goToMarket.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY |
Intent.FLAG_ACTIVITY_NEW_DOCUMENT |
Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
try {
startActivity(goToMarket);
} catch (ActivityNotFoundException e) {
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("http://play.google.com/store/apps/details?id=" + requireActivity().getPackageName())));
}
}
public void shareApp() {
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, String.format("I found best Grocery app , Check it out . http://play.google.com/store/apps/details?id=%s APP", requireActivity().getPackageName()));
sendIntent.setType("text/plain");
startActivity(sendIntent);
}
public boolean isPermissionGranted() {
if (Build.VERSION.SDK_INT >= 23) {
if (requireContext().checkSelfPermission(android.Manifest.permission.CALL_PHONE)
== PackageManager.PERMISSION_GRANTED) {
Log.v("TAG", "Permission is granted");
return true;
} else {
Log.v("TAG", "Permission is revoked");
ActivityCompat.requestPermissions(requireActivity(), new String[]{Manifest.permission.CALL_PHONE}, 1);
return false;
}
} else { //permission is automatically granted on sdk<23 upon installation
Log.v("TAG", "Permission is granted");
return true;
}
}
public void call_action() {
//created -by napcafe
// dialog before call -napcafe
AlertDialog.Builder alertDialog = new AlertDialog.Builder(requireActivity());
alertDialog.setMessage(getResources().getString(R.string.call_msg));
alertDialog.setTitle("Customer Care");
alertDialog.setIcon(R.drawable.call_answer);
alertDialog.setNegativeButton(getResources().getString(R.string.cancle), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
alertDialog.setPositiveButton(getResources().getString(R.string.call), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// on ok call
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:" + getResources().getString(R.string.helpline_no)));
startActivity(callIntent);
dialogInterface.dismiss();
}
});
alertDialog.show();
}
public void chat_action() {
// dialog before call -napcafe
AlertDialog.Builder alertDialog = new AlertDialog.Builder(requireActivity());
alertDialog.setMessage(getResources().getString(R.string.call_msg));
alertDialog.setTitle("Chat With Us");
alertDialog.setIcon(R.drawable.mywhatsapp);
alertDialog.setNegativeButton(getResources().getString(R.string.cancle), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
alertDialog.setPositiveButton(getResources().getString(R.string.start_chat), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// on ok whatsUp chat
String smsNumber = getResources().getString(R.string.whats_up_no);
Intent sendIntent = new Intent("android.intent.action.MAIN");
sendIntent.setComponent(new ComponentName("com.whatsapp", "com.whatsapp.Conversation"));
sendIntent.putExtra("jid", PhoneNumberUtils.stripSeparators(smsNumber) + "@s.whatsapp.net");//phone number without "+" prefix
if (appInstalledOrNot(requireActivity())) {
startActivity(sendIntent);
dialogInterface.dismiss();
} else {
FabToast.makeText(getActivity(), "What'sApp not Installed", FabToast.LENGTH_LONG, FabToast.WARNING, FabToast.POSITION_CENTER).show();
}
}
});
alertDialog.show();
}
private boolean appInstalledOrNot(Context context) {
PackageManager pm = context.getPackageManager();
boolean app_installed;
try {
pm.getPackageInfo("com.whatsapp", PackageManager.GET_ACTIVITIES);
app_installed = true;
} catch (PackageManager.NameNotFoundException e) {
app_installed = false;
}
return app_installed;
}
private void showInternetErrorDialog(Context context, final String method) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);
alertDialog.setMessage("Your Internet is very slow or not connected. Check your Internet Connection and try again.");
alertDialog.setTitle("No Internet");
alertDialog.setCancelable(false);
alertDialog.setIcon(R.drawable.no_internet);
alertDialog.setPositiveButton(getResources().getString(R.string.retry_net), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// on ok call
// if (NetworkConnection.connectionChecking(getApplicationContext())) {
// if (isInternetAvailable(getApplicationContext())){
if (method.contentEquals("run slider")) {
makeGetSliderRequest();
} else if (method.contentEquals("run category")) {
makeGetCategoryRequest();
} else if (method.contentEquals("run featuredSlider")) {
makeGetFeaturedSlider();
} else if (method.contentEquals("run bannerSlider")) {
makeGetBannerSliderRequest();
} else if (method.contentEquals("run all")) {
makeGetSliderRequest();
makeGetCategoryRequest();
makeGetFeaturedSlider();
makeGetBannerSliderRequest();
}
dialogInterface.dismiss();
// }else {
// Toast.makeText(getApplicationContext(),"Retry",Toast.LENGTH_LONG).show();
// }
}
});
alertDialog.show();
}
///check for app installed or no -by napcafe
@SuppressLint("UseCompatLoadingForDrawables")
public void exit_app_dailog() {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(requireActivity());
alertDialog.setMessage("Are you sure want to exit ?");
alertDialog.setTitle("Exit");
alertDialog.setIcon(getResources().getDrawable(R.drawable.exit));
alertDialog.setNegativeButton(getResources().getString(R.string.cancle), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
alertDialog.setPositiveButton(getResources().getString(R.string.yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
// on ok call
// getActivity().finish();
requireActivity().finishAffinity();
dialogInterface.dismiss();
}
});
alertDialog.show();
}
@Override
public void onDestroy() {
super.onDestroy();
// internetStateChecker.stop();
}
@Override
public void onResume() {
super.onResume();
createLocationRequest();
// if (ConnectivityReceiver.isConnected()) {
//
// make_deal_of_the_day();
// make_top_selling();
//
//// displayLocationSettingsRequest(getActivity());
// createLocationRequest();
//
// } else {
// showInternetErrorDialog(getActivity(), "run all");
// }
}
private void showloadingDialog(Context context) {
//////////// loading dialog
loadingDialog = new Dialog(context);
loadingDialog.setContentView(R.layout.loading_progress_dialog);
loadingDialog.setCancelable(false);
loadingDialog.getWindow().setBackgroundDrawableResource(R.drawable.back_border);
loadingDialog.getWindow().setLayout(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
// loadingDialog.show();
// Handler handler = new Handler();
// handler.postDelayed(new Runnable() {
// @Override
// public void run() {
// loadingDialog.dismiss();
// }
// },time);
//////////// loading dialog
}
// private void fetchLocation() {
// if (ActivityCompat.checkSelfPermission(
// getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(
// getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_CODE);
// return;
// }
// Task<Location> task = fusedLocationProviderClient.getLastLocation();
// task.addOnSuccessListener(new OnSuccessListener<Location>() {
// @Override
// public void onSuccess(Location location) {
// if (location != null) {
// currentLocation = location;
// Toast.makeText(getActivity(), currentLocation.getLatitude() + "" + currentLocation.getLongitude(), Toast.LENGTH_SHORT).show();
//// SupportMapFragment supportMapFragment = (SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.myMap);
// SupportMapFragment supportMapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map);
// assert supportMapFragment != null;
// supportMapFragment.getMapAsync(this);
// }
// }
// });
// }
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// displayLocationSettingsRequest(getActivity());
createLocationRequest();
}
} else {
requireActivity().finish();
}
}
// private void displayLocationSettingsRequest(Context context) {
// GoogleApiClient googleApiClient = new GoogleApiClient.Builder(context)
// .addApi(LocationServices.API).build();
// googleApiClient.connect();
//
// LocationRequest locationRequest = LocationRequest.create();
// locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
// locationRequest.setInterval(10000);
// locationRequest.setFastestInterval(10000 / 2);
//
// LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder().addLocationRequest(locationRequest);
// builder.setAlwaysShow(true);
//
// PendingResult<LocationSettingsResult> result = LocationServices.SettingsApi.checkLocationSettings(googleApiClient, builder.build());
// result.setResultCallback(new ResultCallback<LocationSettingsResult>() {
// @Override
// public void onResult(@NonNull LocationSettingsResult result) {
// final Status status = result.getStatus();
// switch (status.getStatusCode()) {
// case LocationSettingsStatusCodes.SUCCESS:
// Log.i(TAG, "All location settings are satisfied.");
// getLocation();
// break;
//
// case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
// Log.i(TAG, "Location settings are not satisfied. Show the user a dialog to upgrade location settings ");
//
// try {
// // Show the dialog by calling startResolutionForResult(), and check the result
// // in onActivityResult().
// status.startResolutionForResult(getActivity(), 16);
// } catch (IntentSender.SendIntentException e) {
// Log.i(TAG, "PendingIntent unable to execute request.");
// }
// break;
// case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
// Log.i(TAG, "Location settings are inadequate, and cannot be fixed here. Dialog not created.");
// break;
// }
// }
// });
// }
protected void createLocationRequest() {
LocationRequest mLocationRequest = LocationRequest.create();
mLocationRequest.setInterval(10000);
mLocationRequest.setFastestInterval(5000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
.addLocationRequest(mLocationRequest);
SettingsClient client = LocationServices.getSettingsClient(requireActivity());
Task<LocationSettingsResponse> task = client.checkLocationSettings(builder.build());
task.addOnSuccessListener(requireActivity(), new OnSuccessListener<LocationSettingsResponse>() {
@Override
public void onSuccess(LocationSettingsResponse locationSettingsResponse) {
getLocation();
// All location settings are satisfied. The client can initialize
// location requests here.
// Toast.makeText(requireActivity(), "Permission Granted for Location", Toast.LENGTH_SHORT).show();
// ...
}
});
task.addOnFailureListener(requireActivity(), new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Toast.makeText(requireActivity(), "No Permission for Location", Toast.LENGTH_SHORT).show();
if (e instanceof ResolvableApiException) {
// Location settings are not satisfied, but this can be fixed
// by showing the user a dialog.
try {
// Show the dialog by calling startResolutionForResult(),
// and check the result in onActivityResult().
ResolvableApiException resolvable = (ResolvableApiException) e;
resolvable.startResolutionForResult(requireActivity(),
111);
} catch (IntentSender.SendIntentException sendEx) {
// Ignore the error.
}
}
}
});
}
}
No comments:
Post a Comment