Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class HomeFragment extends Fragment {
- public ArrayList<Banner> banners = new ArrayList<>();
- @BindView(R.id.home_topUpButton)
- Button addWallet;
- @BindView(R.id.home_mPayBalance)
- TextView mPayBalance;
- @BindView(R.id.loading)
- ProgressBar loading_pay;
- // @BindView(R.id.promo_taxi)
- //LinearLayout Promo_Taxi;
- //@BindView(R.id.promo_gofood)
- //LinearLayout Promo_Food;
- @BindView(R.id.text_nearme)
- TextView text_nearme;
- @BindView(R.id.slide_viewPager)
- AutoScrollViewPager slideViewPager;
- @BindView(R.id.slide_viewPager_indicator)
- CircleIndicator slideIndicator;
- @BindView(R.id.adView)
- PublisherAdView mPublisherAdView;
- private SnackbarController snackbarController;
- private boolean connectionAvailable;
- private boolean isDataLoaded = false;
- public Realm realm;
- private int successfulCall;
- boolean doubleBackToExitPressedOnce = false;
- @BindView(R.id.recyclerView_main_home)
- RecyclerView recyclerView_explore;
- private static final int REQUEST_PERMISSION_LOCATION = 1;
- @BindView(R.id.nearme_recycler)
- RecyclerView nearmeRecycler;
- private RealmResults<Restoran> restoranRealmResults;
- private FastItemAdapter<FoodItemHome> restoranAdapter;
- private InterstitialAd interstitialAd;
- int counter = 1;
- private String[] name = {
- General.Name_GOCAB, // A
- General.Name_GObike, // B
- General.Name_GOSEND, // C
- General.Name_GOFOOD, // D
- General.Name_GOMART, // E
- General.Name_GOMASSAGE, // F
- General.Name_GOBOX, // G
- General.Name_GOSERVICE,// H
- };
- private Integer[] image = {
- R.drawable.car, // A
- R.drawable.ride, // B
- R.drawable.send, // C
- R.drawable.food, // D
- R.drawable.mart, // E
- R.drawable.massage, // F
- R.drawable.box, // G
- R.drawable.auto, // H
- };
- public MainAdapterHome mainAdapterHome;
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- if (context instanceof SnackbarController) {
- snackbarController = (SnackbarController) context;
- }
- }
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- return inflater.inflate(R.layout.fragment_home, container, false);
- }
- @Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- ButterKnife.bind(this, view);
- connectionAvailable = false;
- loadBannerAd();
- addWallet.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- onTopUpClick();
- }
- });
- /*
- Promo_Taxi.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- onGoCabClick();
- showInterstitialAd();
- }
- });
- Promo_Food.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- onGoFoodClick();
- showInterstitialAd();
- }
- });
- */
- realm = JuangApplication.getInstance(getActivity()).getRealmInstance();
- getImageBanner();
- loadInterstitialAd();
- recyclerView_explore.setHasFixedSize(true);
- LinearLayoutManager layoutManager = new GridLayoutManager(getActivity(), 2);
- recyclerView_explore.setLayoutManager(layoutManager);
- recyclerView_explore.setNestedScrollingEnabled(false);
- recyclerView_explore.setFocusable(false);
- mainAdapterHome = new MainAdapterHome(getActivity(), name, image);
- recyclerView_explore.setAdapter(mainAdapterHome);
- recyclerView_explore.addOnItemTouchListener(new RecyclerTouchListener(getActivity(), recyclerView_explore, new MainAdapterHome.ClickListener() {
- @Override
- public void onClick(View view, int position) {
- navigation(position);
- }
- @Override
- public void onLongClick(View view, int position) {
- }
- }));
- restoranAdapter = new FastItemAdapter<>();
- nearmeRecycler.setLayoutManager(new LinearLayoutManager(getActivity()));
- nearmeRecycler.setNestedScrollingEnabled(true);
- nearmeRecycler.setAdapter(restoranAdapter);
- restoranAdapter.withOnClickListener(new FastAdapter.OnClickListener<FoodItemHome>() {
- @Override
- public boolean onClick(View v, IAdapter<FoodItemHome> adapter, FoodItemHome item, int position) {
- Log.e("BUTTON", "CLICKED");
- Restoran selectedResto = realm.where(Restoran.class).
- equalTo("id", restoranAdapter.getAdapterItem(position).id).findFirst();
- Intent intent = new Intent(getActivity(), FoodMenuActivity.class);
- intent.putExtra(FoodMenuActivity.ID_RESTO, selectedResto.getId());
- intent.putExtra(FoodMenuActivity.NAMA_RESTO, selectedResto.getNamaResto());
- intent.putExtra(FoodMenuActivity.ALAMAT_RESTO, selectedResto.getAlamat());
- intent.putExtra(FoodMenuActivity.DISTANCE_RESTO, selectedResto.getDistance());
- intent.putExtra(FoodMenuActivity.JAM_BUKA, selectedResto.getJamBuka());
- intent.putExtra(FoodMenuActivity.JAM_TUTUP, selectedResto.getJamTutup());
- intent.putExtra(FoodMenuActivity.IS_OPEN, selectedResto.isOpen());
- intent.putExtra(FoodMenuActivity.PICTURE_URL, selectedResto.getFotoResto());
- intent.putExtra(FoodMenuActivity.IS_MITRA, selectedResto.isPartner());
- startActivity(intent);
- return true;
- }
- });
- restoranRealmResults = realm.where(Restoran.class).findAll();
- FoodItemHome restoranItem;
- for (int i = 0; i < restoranRealmResults.size(); i++) {
- restoranItem = new FoodItemHome(getActivity());
- restoranItem.id = restoranRealmResults.get(i).getId();
- restoranItem.namaResto = restoranRealmResults.get(i).getNamaResto();
- restoranItem.alamat = restoranRealmResults.get(i).getAlamat();
- restoranItem.distance = restoranRealmResults.get(i).getDistance();
- restoranItem.jamBuka = restoranRealmResults.get(i).getJamBuka();
- restoranItem.jamTutup = restoranRealmResults.get(i).getJamTutup();
- restoranItem.fotoResto = restoranRealmResults.get(i).getFotoResto();
- restoranItem.isOpen = restoranRealmResults.get(i).isOpen();
- restoranItem.pictureUrl = restoranRealmResults.get(i).getFotoResto();
- restoranItem.isMitra = restoranRealmResults.get(i).isPartner();
- restoranAdapter.add(restoranItem);
- Log.e("RESTO", restoranItem.namaResto + "");
- Log.e("RESTO", restoranItem.alamat + "");
- Log.e("RESTO", restoranItem.jamBuka + "");
- Log.e("RESTO", restoranItem.jamTutup + "");
- Log.e("RESTO", restoranItem.fotoResto + "");
- }
- }
- private void getImageBanner() {
- User loginUser = new User();
- if (JuangApplication.getInstance(getActivity()).getLoginUser() != null) {
- loginUser = JuangApplication.getInstance(getActivity()).getLoginUser();
- } else {
- startActivity(new Intent(getActivity(), SplashActivity.class));
- getActivity().finish();
- }
- UserService userService = ServiceGenerator.createService(UserService.class,
- loginUser.getEmail(), loginUser.getPassword());
- userService.getBanner().enqueue(new Callback<GetBannerResponseJson>() {
- @Override
- public void onResponse(Call<GetBannerResponseJson> call, Response<GetBannerResponseJson> response) {
- if (response.isSuccessful()) {
- banners = response.body().data;
- Log.e("Image", response.body().data.get(0).foto);
- MyPagerAdapter pagerAdapter = new MyPagerAdapter(getChildFragmentManager(), banners);
- slideViewPager.setAdapter(pagerAdapter);
- slideIndicator.setViewPager(slideViewPager);
- slideViewPager.setInterval(General.TIMER_SLIDE);
- slideViewPager.startAutoScroll(General.TIMER_SLIDE);
- }
- }
- @Override
- public void onFailure(Call<GetBannerResponseJson> call, Throwable t) {
- }
- });
- }
- private void navigation(int position) {
- switch (position) {
- case 0:
- onGoCabClick(); // Cab
- showInterstitialAd();
- break;
- case 1:
- onGobikeClick(); // bike
- showInterstitialAd();
- break;
- case 2:
- onGoSendClick();
- showInterstitialAd();
- break;
- case 3:
- onGoFoodClick();
- showInterstitialAd();
- break;
- case 4:
- onGoMartClick();
- showInterstitialAd();
- break;
- case 5:
- onGoMassageClick();
- showInterstitialAd();
- break;
- case 6:
- onGoBoxClick();
- showInterstitialAd();
- break;
- case 7:
- onGoServiceClick();
- showInterstitialAd();
- break;
- case 8:
- featurePro();
- showInterstitialAd();
- break;
- }
- }
- @Override
- public void onResume() {
- super.onResume();
- Realm realm = Realm.getDefaultInstance();
- realm.beginTransaction();
- realm.delete(PesananFood.class);
- realm.commitTransaction();
- successfulCall = 0;
- connectionAvailable = ConnectivityUtils.isConnected(getActivity());
- if (!connectionAvailable) {
- if (snackbarController != null) snackbarController.showSnackbar(
- R.string.text_noInternet, Snackbar.LENGTH_INDEFINITE, R.string.text_close,
- new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- return;
- }
- });
- } else {
- updateMPayBalance();
- loading_pay.setVisibility(View.VISIBLE);
- mPayBalance.setVisibility(View.GONE);
- }
- }
- private void onTopUpClick() {
- Intent intent = new Intent(getActivity(), TopUpActivity.class);
- startActivity(intent);
- showInterstitialAd();
- }
- private void onGobikeClick() {
- Fitur selectedFitur = realm.where(Fitur.class).equalTo("idFitur", 1).findFirst();
- Intent intent = new Intent(getActivity(), GoCabActivity.class);
- intent.putExtra(GoCabActivity.FITUR_KEY, selectedFitur.getIdFitur());
- startActivity(intent);
- }
- private void onGoCabClick() {
- Fitur selectedFitur = realm.where(Fitur.class).equalTo("idFitur", 2).findFirst();
- Intent intent = new Intent(getActivity(), GoCabActivity.class);
- intent.putExtra(GoCabActivity.FITUR_KEY, selectedFitur.getIdFitur());
- startActivity(intent);
- }
- private void onGoFoodClick() {
- Fitur selectedFitur = realm.where(Fitur.class).equalTo("idFitur", 3).findFirst();
- Intent intent = new Intent(getActivity(), FoodActivity.class);
- intent.putExtra(FoodActivity.FITUR_KEY, selectedFitur.getIdFitur());
- startActivity(intent);
- }
- private void onGoServiceClick() {
- new SweetAlertDialog(getActivity(), SweetAlertDialog.SUCCESS_TYPE)
- .setTitleText("Coming Soon!")
- .setContentText("Fitur ini belum tersedia!")
- .show();
- }
- private void onGoMartClick() {
- Fitur selectedFitur = realm.where(Fitur.class).equalTo("idFitur", 4).findFirst();
- Intent intent = new Intent(getActivity(), MartActivity.class);
- intent.putExtra(MartActivity.FITUR_KEY, selectedFitur.getIdFitur());
- startActivity(intent);
- }
- private void onGoSendClick() {
- Fitur selectedFitur = realm.where(Fitur.class).equalTo("idFitur", 5).findFirst();
- Intent intent = new Intent(getActivity(), SendActivity.class);
- intent.putExtra(SendActivity.FITUR_KEY, selectedFitur.getIdFitur());
- startActivity(intent);
- }
- private void onGoMassageClick() {
- new SweetAlertDialog(getActivity(), SweetAlertDialog.SUCCESS_TYPE)
- .setTitleText("Coming Soon!")
- .setContentText("Fitur ini belum tersedia!")
- .show();
- }
- private void onGoBoxClick() {
- new SweetAlertDialog(getActivity(), SweetAlertDialog.SUCCESS_TYPE)
- .setTitleText("Coming Soon!")
- .setContentText("Fitur ini belum tersedia!")
- .show();
- }
- private void updateMPayBalance() {
- User loginUser = JuangApplication.getInstance(getActivity()).getLoginUser();
- UserService userService = ServiceGenerator.createService(
- UserService.class, loginUser.getEmail(), loginUser.getPassword());
- GetSaldoRequestJson param = new GetSaldoRequestJson();
- param.setId(loginUser.getId());
- userService.getSaldo(param).enqueue(new Callback<GetSaldoResponseJson>() {
- @Override
- public void onResponse(Call<GetSaldoResponseJson> call, Response<GetSaldoResponseJson> response) {
- if (response.isSuccessful()) {
- String formattedText = String.format(Locale.US, General.MONEY +" %s.00",
- NumberFormat.getNumberInstance(Locale.US).format(response.body().getData()));
- mPayBalance.setText(formattedText);
- mPayBalance.setVisibility(View.VISIBLE);
- loading_pay.setVisibility(View.GONE);
- successfulCall++;
- if (HomeFragment.this.getActivity() != null) {
- Realm realm = JuangApplication.getInstance(HomeFragment.this.getActivity()).getRealmInstance();
- User loginUser = JuangApplication.getInstance(HomeFragment.this.getActivity()).getLoginUser();
- realm.beginTransaction();
- loginUser.setmPaySaldo(response.body().getData());
- realm.commitTransaction();
- }
- }
- }
- @Override
- public void onFailure(Call<GetSaldoResponseJson> call, Throwable t) {
- }
- });
- }
- public static class MyPagerAdapter extends FragmentPagerAdapter {
- private static int NUM_ITEMS = 5;
- public ArrayList<Banner> banners = new ArrayList<>();
- public MyPagerAdapter(FragmentManager fragmentManager, ArrayList<Banner> banners) {
- super(fragmentManager);
- this.banners = banners;
- }
- @Override
- public int getCount() {
- return banners.size();
- }
- @Override
- public Fragment getItem(int position) {
- return SlideFragment.newInstance(banners.get(position).id, banners.get(position).foto);
- }
- @Override
- public CharSequence getPageTitle(int position) {
- return "Page " + position;
- }
- }
- private void featurePro(){
- String appPackageName = "com.juangjek.customer";
- startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
- }
- private void loadInterstitialAd() {
- if (General.ENABLE_ADMOB_INTERSTITIAL_ADS) {
- interstitialAd = new InterstitialAd(getActivity());
- interstitialAd.setAdUnitId(getResources().getString(R.string.admob_interstitial_unit_id));
- AdRequest adRequest = new AdRequest.Builder().build();
- interstitialAd.loadAd(adRequest);
- interstitialAd.setAdListener(new AdListener() {
- @Override
- public void onAdClosed() {
- interstitialAd.loadAd(new AdRequest.Builder().build());
- }
- });
- }
- }
- private void showInterstitialAd() {
- if (General.ENABLE_ADMOB_INTERSTITIAL_ADS) {
- if (interstitialAd != null && interstitialAd.isLoaded()) {
- if (counter == General.ADMOB_INTERSTITIAL_ADS_INTERVAL) {
- interstitialAd.show();
- counter = 1;
- } else {
- counter++;
- }
- }
- }
- }
- public void loadBannerAd() {
- if (General.ENABLE_ADMOB_BANNER_ADS) {
- PublisherAdRequest adRequest = new PublisherAdRequest.Builder().build();
- mPublisherAdView.loadAd(adRequest);
- mPublisherAdView.setAdListener(new AdListener() {
- @Override
- public void onAdClosed() {
- }
- @Override
- public void onAdFailedToLoad(int error) {
- mPublisherAdView.setVisibility(View.GONE);
- }
- @Override
- public void onAdLeftApplication() {
- }
- @Override
- public void onAdOpened() {
- }
- @Override
- public void onAdLoaded() {
- mPublisherAdView.setVisibility(View.VISIBLE);
- }
- });
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement