Sliding menu Vbllp 2020

app link : vvbl
https://drive.google.com/open?id=1IinFioFHiF0gr7w-dJS9LNMGdxyALfA-

Steembo : https://drive.google.com/open?id=1oT3KxDhfGkwD5ex-6ZIEVOeqlJKrP9S-

CocoRico : https://drive.google.com/drive/folders/1NdRZyEgWJHh56LyKjuPLRQ2nwuOt9U0D?usp=sharing


https://androidschoole.blogspot.com/


package com.vaidyabuilders.channelpartner.slidingmenu;

import android.annotation.SuppressLint;
import android.app.Dialog;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.design.internal.NavigationMenuView;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;

import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import com.vaidyabuilders.channelpartner.ActivityFragment;
import com.vaidyabuilders.channelpartner.R;
import com.vaidyabuilders.channelpartner.helper.Helper;
import com.vaidyabuilders.channelpartner.login.LoginActivity;
import com.vaidyabuilders.channelpartner.utils.ApplicationSession;
import com.vaidyabuilders.channelpartner.utils.Constants;
import com.vaidyabuilders.channelpartner.utils.CustomAlertDialogue;

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class SlidingMenuActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {

    private static final String TAG = "[SlidingMenuActivity]: ";

    private Context context = SlidingMenuActivity.this;
    private Toolbar toolbar;
    private int position = Constants.VALUE_NOT_PROVIDED;

    private FrameLayout frame_container;
    private NavigationView navigationView;
    private View actionBarCustomView, navHeaderView;
    private LayoutInflater inflater = null;

    private ActionBar actionBar;
    private ActionBarDrawerToggle actionBarDrawerToggle;
    private DrawerLayout mDrawerLayout;
    private TextView tv_title, tv_todays_date;
    private CharSequence mTitle;
    private Calendar calendar;
    private TextView tv_logged_in_user_name;
    private static final int TIME_DELAY = 2000;
    private static long back_pressed = 0;
    private String fullName = "";
    private FirebaseAuth firebaseAuth;

    @Override    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        Log.i(TAG, "onSaveInstanceState(Bundle) called for outState : " + outState);
        try {
            outState.putCharSequence("title", mTitle);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.i(TAG, "onCreate() called ");

        try {

            ApplicationSession.setToPreference(Constants.Preferences.PREF_IS_APP_RUNNING, true);

            firebaseAuth = FirebaseAuth.getInstance();
            Log.i(TAG, "onCreate(), firebaseAuth : " + firebaseAuth);

            fullName = (String) ApplicationSession.getFromPreference(Constants.Preferences.PREF_USER_NAME, ApplicationSession.FieldType.STRING);
            Log.i(TAG, "onCreate(), fullName : " + fullName);

            setContentView(R.layout.sliding_menu_activity_layout);

            inflater = LayoutInflater.from(this);

            position = getIntent().getIntExtra(Constants.Intent.INTENT_MENU_INDEX, 0);
            Log.i(TAG, "onCreate(), position : " + position);

            calendar = Calendar.getInstance();

            initData();

            initActionBar();
            initActionBarCustomFeedBackView();
            initDrawer();
            disableNavigationViewScrollbars(navigationView);

            getFireBaseRealtimeDBRecords();

            if (savedInstanceState == null) {
                // on first time display view for first nav item                Log.i(TAG, "onCreate(), savedInstanceState is null");
                int itemId = R.id.nav_home;

                onNavigationItemSelected(navigationView.getMenu().findItem(itemId));

            } else {
                Log.i(TAG, "onCreate(), savedInstanceState : " + savedInstanceState);

                setTitleAndIcon(savedInstanceState.getCharSequence("title"), 0);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    // for hiding scrollbar in menu    private void disableNavigationViewScrollbars(NavigationView navigationView) {
        try {
            if (navigationView != null) {
                NavigationMenuView navigationMenuView = (NavigationMenuView) navigationView.getChildAt(0);
                if (navigationMenuView != null) {
                    navigationMenuView.setVerticalScrollBarEnabled(false);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void initData() {
        Log.i(TAG, "initData() called ");

        try {
            toolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);
            actionBar = getSupportActionBar();

            frame_container = (FrameLayout) findViewById(R.id.frame);
            navigationView = (NavigationView) findViewById(R.id.nav_view);
            navigationView.setNavigationItemSelectedListener(this);
            mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

            navHeaderView = navigationView.getHeaderView(0);
            tv_logged_in_user_name = (TextView) navHeaderView.findViewById(R.id.tv_logged_in_user_name);
            tv_logged_in_user_name.setText(fullName);

            tv_todays_date = (TextView) navHeaderView.findViewById(R.id.tv_todays_date);

            String daySuffix = Helper.getDayOfMonthSuffix(calendar.get(Calendar.DAY_OF_MONTH));
            String dispalyDate = Helper.parceDate(calendar, new SimpleDateFormat("dd'" + daySuffix + "' MMMM, yyyy"));
            tv_todays_date.setText(dispalyDate);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void initActionBar() {
        Log.i(TAG, "initActionBar() called ");
        try {
            actionBar.setDisplayHomeAsUpEnabled(true);
            actionBar.setHomeButtonEnabled(true);
            actionBar.setDisplayShowCustomEnabled(true);
            actionBar.setDisplayShowTitleEnabled(false);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void initDrawer() {
        Log.i(TAG, "initDrawer() called ");

        try {
            actionBarDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close) {
                @Override                public void onDrawerOpened(View drawerView) {
                    super.onDrawerOpened(drawerView);

                    tv_title.setText(context.getResources().getString(R.string.app_name));

                    // selected item color removed                    //navigationView.getMenu().getItem(position).setChecked(false);                    //Log.i(TAG, "initDrawer() called position" + position) ;
                    //actionBar.setCustomView(null);                    // calling onPrepareOptionsMenu() to hide action bar icons                    invalidateOptionsMenu();

                }

                @Override                public void onDrawerClosed(View drawerView) {
                    super.onDrawerClosed(drawerView);

                    // selected item color removed                    //navigationView.getMenu().getItem(position).setChecked(false);                    //Log.i(TAG, "initDrawer() called position aa " + position) ;
                    tv_title.setText(mTitle);
                    //actionBar.setIcon(mIcon);
                    ActionBar.LayoutParams layout = new ActionBar.LayoutParams(ActionBar.LayoutParams.FILL_PARENT, ActionBar.LayoutParams.FILL_PARENT);
                    actionBar.setCustomView(actionBarCustomView, layout);

                    // calling onPrepareOptionsMenu() to show action bar icons                    invalidateOptionsMenu();

                }

                @Override                public void onDrawerSlide(View drawerView, float slideOffset) {
                    super.onDrawerSlide(drawerView, slideOffset);
                    //toolbar.setAlpha(1 - slideOffset / 2);                }
            };
            mDrawerLayout.setDrawerListener(actionBarDrawerToggle);
            mDrawerLayout.post(new Runnable() {
                @Override                public void run() {
                    actionBarDrawerToggle.syncState();
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void setTitleAndIcon(CharSequence title, int resId) {
        try {
            mTitle = title;
            actionBar.setTitle("");
            tv_title.setText(mTitle);

            ActionBar.LayoutParams layout = new ActionBar.LayoutParams(ActionBar.LayoutParams.FILL_PARENT, ActionBar.LayoutParams.FILL_PARENT);
            actionBar.setCustomView(actionBarCustomView, layout);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /*     * update selected item and title, then close the drawer     */    private void updateDrawer() {
        Log.i(TAG, "updateDrawer() called ");

        try {
            setTitleAndIcon(mTitle, 0);
            mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
            mDrawerLayout.closeDrawer(GravityCompat.START);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @SuppressLint("ResourceType")
    @Override    public boolean onKeyDown(int code, KeyEvent e) {
        Log.i(TAG, "onKeyDown() called");

        if (code == KeyEvent.KEYCODE_BACK) {
            Log.i(TAG, "onKeyDown(), KeyEvent.KEYCODE_BACK");
            Log.i(TAG, "onKeyDown(), position : " + position);

            // selected item color removed            //navigationView.getMenu().getItem(position).setChecked(false);            //Log.i(TAG, "initDrawer() called position ads" + position) ;
            if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
                mDrawerLayout.closeDrawers();
                //  navigationView.getMenu().getItem(position).setChecked(false);
            } else if (position == Constants.SlidingMenuAdminIndex.HOME_INDEX) {
                Log.i(TAG, "onKeyDown(), R.id.nav_home");
                SlidingMenuActivity.this.finish();
            } else {
                displayView(R.id.nav_home);
                navigationView.setCheckedItem(R.id.nav_home);
                //navigationView.setCheckedItem(context.getResources().getColor(R.color.white));                //  navigationView.getMenu().getItem(0).setChecked(false);
                Log.i(TAG, "onKeyDown(), else");

                int fragments = getFragmentManager().getBackStackEntryCount();
                Log.i(TAG, "onKeyDown(), fragments : " + fragments);
                if (fragments > 0) {
                    super.onBackPressed();
                } else {
                    Log.i(TAG, "onKeyDown(), back_pressed : " + back_pressed);
                    if (back_pressed + TIME_DELAY > System.currentTimeMillis()) {
                        super.onBackPressed();
                    } else {
                    }
                    back_pressed = System.currentTimeMillis();
                }
            }
            return true;
        } else {
            return super.onKeyDown(code, e);
        }

    }

    @Override    protected void onDestroy() {
        super.onDestroy();
        Log.i(TAG, "onDestroy() called");
        try {
            ApplicationSession.setToPreference(Constants.Preferences.PREF_IS_APP_RUNNING, false);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @SuppressWarnings("StatementWithEmptyBody")
    @Override    public boolean onNavigationItemSelected(MenuItem item) {

        Log.i(TAG, "onNavigationItemSelected() Called ");

        try {
            // Handle navigation view item clicks here.
            mTitle = item.getTitle();

            if (item.isChecked()) {
                item.setChecked(false);
            } else {
                item.setChecked(true);
            }

            int id = item.getItemId();

            if (id == R.id.nav_logout) {
                logout();
            } else if (id == R.id.nav_web_site) {
                openWebsite();
            } else {
                displayView(item.getItemId());
                item.setChecked(true);
            }

            mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
            mDrawerLayout.closeDrawer(GravityCompat.START);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return true;
    }


    private void displayView(int itemId) {
        Log.i(TAG, "displayView() Called ");

        try {
            //creating fragment object            Fragment fragment = null;
            //initializing the fragment object which is selected
            //initializing the fragment object which is selected            if (itemId == R.id.nav_home) {
                position = Constants.SlidingMenuAdminIndex.HOME_INDEX;
                mTitle = context.getResources().getString(R.string.home);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.HOME_INDEX);
            } else if (itemId == R.id.nav_gallery) {
                position = Constants.SlidingMenuAdminIndex.GALLERY_INDEX;
                mTitle = context.getResources().getString(R.string.gallery);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.GALLERY_INDEX);
            } else if (itemId == R.id.nav_flat_map) {
                position = Constants.SlidingMenuAdminIndex.FLAT_MAP_INDEX;
                mTitle = context.getResources().getString(R.string.flat_map);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.FLAT_MAP_INDEX);
            } else if (itemId == R.id.nav_flat_rate) {
                position = Constants.SlidingMenuAdminIndex.FLAT_RATE_INDEX;
                mTitle = context.getResources().getString(R.string.flat_rate);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.FLAT_RATE_INDEX);
            } else if (itemId == R.id.nav_rent_and_loan_comparision) {
                position = Constants.SlidingMenuAdminIndex.RENT_AND_LOAN_COMPARISION_INDEX;
                mTitle = context.getResources().getString(R.string.rent_and_loan_comparision);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.RENT_AND_LOAN_COMPARISION_INDEX);
            } else if (itemId == R.id.nav_emi_calculation) {
                position = Constants.SlidingMenuAdminIndex.EMICALCULATE_INDEX;
                mTitle = context.getResources().getString(R.string.emi_calculation);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.EMICALCULATE_INDEX);
            } else if (itemId == R.id.nav_distance) {
                position = Constants.SlidingMenuAdminIndex.MAP_DISTANCE_INDEX;
                mTitle = context.getResources().getString(R.string.distance);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.MAP_DISTANCE_INDEX);
            } else if (itemId == R.id.nav_map_location) {
                position = Constants.SlidingMenuAdminIndex.MAP_LOCATION_INDEX;
                mTitle = context.getResources().getString(R.string.map_location);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.MAP_LOCATION_INDEX);
            }else if (itemId == R.id.nav_booking_policy) {
                position = Constants.SlidingMenuAdminIndex.BOOKING_POLICY_INDEX;
                mTitle = context.getResources().getString(R.string.booking_policy);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.BOOKING_POLICY_INDEX);
            }  else if (itemId == R.id.nav_cancellation_policy) {
                position = Constants.SlidingMenuAdminIndex.CANCELLATION_POLICY_INDEX;
                mTitle = context.getResources().getString(R.string.cancellation_policy);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.CANCELLATION_POLICY_INDEX);
            } else if (itemId == R.id.nav_tmc) {
                position = Constants.SlidingMenuAdminIndex.TUMS_AND_CONDITION_INDEX;
                mTitle = context.getResources().getString(R.string.tmc);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.TUMS_AND_CONDITION_INDEX);
            }else if (itemId == R.id.nav_user_rocord) {
                position = Constants.SlidingMenuAdminIndex.USERRECORD_INDEX;
                mTitle = context.getResources().getString(R.string.user_rocord);
                fragment = new ActivityFragment(Constants.SlidingMenuAdminIndex.USERRECORD_INDEX);
            } else {
                fragment = new Fragment();
            }

            if (fragment != null) {
                frame_container.removeAllViews();
                FragmentManager fragmentManager = getFragmentManager();
                fragmentManager.beginTransaction().replace(R.id.frame, fragment).commit();
                //fragmentManager.beginTransaction().replace(R.id.frame, fragment).commitAllowingStateLoss();
                updateDrawer();
            } else {
                // error in creating fragment                Log.e(TAG, "displayView(), Error in creating fragment");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    private void initActionBarCustomFeedBackView() {
        Log.i(TAG, "initActionBarCustomView() called ");
        try {

            actionBarCustomView = inflater.inflate(R.layout.action_bar_custom_view, null);
            tv_title = (TextView) actionBarCustomView.findViewById(R.id.tv_title);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    private void openWebsite() {
        Log.i(TAG, "openWebsite() called ");
        try {

            updateDrawer();
            displayView(R.id.nav_home);
            navigationView.setCheckedItem(R.id.nav_home);
            // navigationView.setItemTextColor(ColorStateList.valueOf(context.getResources().getColor(R.color.white)));
            String url = Constants.WEBSITE_LINK;
            Intent i = new Intent(Intent.ACTION_VIEW);
            i.setData(Uri.parse(url));
            startActivity(i);

            // selected item color removed            // navigationView.getMenu().getItem(position).setChecked(false);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void logout() {
        Log.i(TAG, "logout() called ");
        try {
            if (Helper.isNetworkAvailable(this)) {

                CustomAlertDialogue.showAlert(context,
                        getResources().getString(R.string.really),
                        getResources().getString(R.string.are_you_sure_you_want_to_logout),
                        null,
                        getResources().getString(R.string.no),
                        getResources().getString(R.string.yes),
                        btnCancelClickListener,
                        btnLogoutClickListener, false);

            } else {
                Helper.showCustomToast(
                        getResources().getString(R.string.no_network_available),
                        getResources().getDrawable(R.drawable.no_network),
                        SlidingMenuActivity.this);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    View.OnClickListener btnCancelClickListener = new View.OnClickListener() {

        @Override        public void onClick(View v) {
            Dialog d = (Dialog) v.getTag();
            d.dismiss();
            updateDrawer();
            displayView(R.id.nav_home);
            navigationView.setCheckedItem(R.id.nav_home);
        }
    };

    View.OnClickListener btnLogoutClickListener = new View.OnClickListener() {

        @Override        public void onClick(View v) {
            Log.i(TAG, "btnLogoutClickListener, onClick() called ");
            try {

                Dialog d = (Dialog) v.getTag();
                d.dismiss();
                updateDrawer();

                try {
                    Log.i(TAG, "btnLogoutClickListener, onClick(), firebaseAuth : " + firebaseAuth);
                    firebaseAuth.signOut();
                } catch (Exception e) {
                    e.printStackTrace();
                }

                ApplicationSession.clearAllPreferences();
                ApplicationSession.clearPreference("");

                Intent intent = new Intent(SlidingMenuActivity.this, LoginActivity.class);
                SlidingMenuActivity.this.startActivity(intent);
                SlidingMenuActivity.this.finish();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    };

    private void getFireBaseRealtimeDBRecords() {
        Log.i(TAG, "getFireBaseRealtimeDBRecords() called ");
        try {

            DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
            DatabaseReference usersRef = rootRef.child("VaidyaBuildersChannelPartner");

            ValueEventListener eventListener = new ValueEventListener() {
                private Integer A, B, C, D, E;

                @Override                public void onDataChange(DataSnapshot dataSnapshot) {

                    Log.i(TAG, "onDataChange(DataSnapshot), called for dataSnapshot : " + dataSnapshot);

                    try {

                        String key = dataSnapshot.getKey();

                        Log.i(TAG, "getFireBaseRealtimeDBRecords(), called key : " + key);

                        try {
                            Constants.BANK_LOAN_PERCENTAGE = dataSnapshot.child("BANK_LOAN_PERCENTAGE").getValue(Integer.class);

                            Constants.EMI_AMOUNT_WITHOUT_LOAN.EMI_AMOUNT_1BHK = dataSnapshot.child("EMI_AMOUNT_WITHOUTLOAN").child("RATE_1BHK").getValue(Integer.class);
                            Constants.EMI_AMOUNT_WITHOUT_LOAN.EMI_AMOUNT_2BHK = dataSnapshot.child("EMI_AMOUNT_WITHOUTLOAN").child("RATE_2BHK").getValue(Integer.class);

                            Constants.FlatRates1BHK.REGULAR = dataSnapshot.child("FlatRates1BHK").child("REGULAR").getValue(Integer.class);
                            Constants.FlatRates1BHK.REGULAR_PLUS = dataSnapshot.child("FlatRates1BHK").child("REGULAR_PLUS").getValue(Integer.class);
                            Constants.FlatRates1BHK.RIVER = dataSnapshot.child("FlatRates1BHK").child("RIVER").getValue(Integer.class);
                            Constants.FlatRates1BHK.RIVER_PLUS = dataSnapshot.child("FlatRates1BHK").child("RIVER_PLUS").getValue(Integer.class);

                            Constants.FlatRates2BHK.GARDEN = dataSnapshot.child("FlatRates2BHK").child("GARDEN").getValue(Integer.class);
                            Constants.FlatRates2BHK.REGULAR = dataSnapshot.child("FlatRates2BHK").child("REGULAR").getValue(Integer.class);

                            Constants.FloorRising.FLAT_1BHK = dataSnapshot.child("FloorRising").child("FLAT_1BHK").getValue(Integer.class);
                            Constants.FloorRising.FLAT_2BHK = dataSnapshot.child("FloorRising").child("FLAT_2BHK").getValue(Integer.class);

                            Constants.InitialDownPayment.FLAT_1BHK = dataSnapshot.child("INITIAL_DOWNPAYMENT").child("FOR_1BHK").getValue(Integer.class);
                            Constants.InitialDownPayment.FLAT_2BHK = dataSnapshot.child("INITIAL_DOWNPAYMENT").child("FOR_2BHK").getValue(Integer.class);

                            Constants.RentLoanComparision.BLOCK_VALUE_1BHK = dataSnapshot.child("RENT_LOAN_COMPARISION").child("BlockValue(1BHK)").getValue(Integer.class);
                            Constants.RentLoanComparision.BLOCK_VALUE_2BHK = dataSnapshot.child("RENT_LOAN_COMPARISION").child("BlockValue(2BHK)").getValue(Integer.class);
                            Constants.RentLoanComparision.SUBSIDY_CONFIRM_CENTRAL = dataSnapshot.child("RENT_LOAN_COMPARISION").child("Subsidy_Confirm(Central)").getValue(Integer.class);
                            Constants.RentLoanComparision.SUBSIDY_UNDER_CONSIDERATION_STATE = dataSnapshot.child("RENT_LOAN_COMPARISION").child("Subsidy_Under_Consideration(State)").getValue(Integer.class);

                            Constants.TOKEN = dataSnapshot.child("TOKEN").getValue(Integer.class);

                        } catch (Exception e) {
                            e.printStackTrace();
                        }

                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.BANK_LOAN_PERCENTAGE  : " + Constants.BANK_LOAN_PERCENTAGE);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.EMI_AMOUNT_WITHOUT_LOAN.EMI_AMOUNT_1BHK : " + Constants.EMI_AMOUNT_WITHOUT_LOAN.EMI_AMOUNT_1BHK);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.EMI_AMOUNT_WITHOUT_LOAN.EMI_AMOUNT_2BHK : " + Constants.EMI_AMOUNT_WITHOUT_LOAN.EMI_AMOUNT_2BHK);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.FlatRates1BHK.REGULAR_PLUS " + Constants.FlatRates1BHK.REGULAR_PLUS);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.FlatRates1BHK.REGULAR : " + Constants.FlatRates1BHK.REGULAR);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.FlatRates1BHK.RIVER : " + Constants.FlatRates1BHK.RIVER);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.FlatRates1BHK.RIVER : " + Constants.FlatRates1BHK.RIVER_PLUS);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.FlatRates2BHK.GARDEN : " + Constants.FlatRates2BHK.GARDEN);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.FlatRates2BHK.REGULAR : " + Constants.FlatRates2BHK.REGULAR);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.FloorRising.FLAT_1BHK : " + Constants.FloorRising.FLAT_1BHK);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.FloorRising.FLAT_2BHK : " + Constants.FloorRising.FLAT_2BHK);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.InitialDownPayment.FLAT_1BHK : " + Constants.InitialDownPayment.FLAT_1BHK);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.InitialDownPayment.FLAT_2BHK : " + Constants.InitialDownPayment.FLAT_2BHK);

                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.RentLoanComparision.BLOCK_VALUE_1BHK : " + Constants.RentLoanComparision.BLOCK_VALUE_1BHK);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.RentLoanComparision.BLOCK_VALUE_2BHK : " + Constants.RentLoanComparision.BLOCK_VALUE_2BHK);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.RentLoanComparision.SUBSIDY_CONFIRM_CENTRAL : " + Constants.RentLoanComparision.SUBSIDY_CONFIRM_CENTRAL);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.RentLoanComparision.SUBSIDY_UNDER_CONSIDERATION_STATE : " + Constants.RentLoanComparision.SUBSIDY_UNDER_CONSIDERATION_STATE);
                        // Log.i(TAG, "getFireBaseRealtimeDBRecords(),  Constants.RentLoanComparision.BALANCE_AMOUNT_BANK_FINANCE_AMOUNT " + Constants.RentLoanComparision.BALANCE_AMOUNT_BANK_FINANCE_AMOUNT);
                        Log.i(TAG, "getFireBaseRealtimeDBRecords()  Constants.TOKEN : " + Constants.TOKEN);

                    } catch (Exception e) {
                        e.printStackTrace();

                    }
                }

                @Override                public void onCancelled(DatabaseError databaseError) {
                }
            };
            usersRef.addListenerForSingleValueEvent(eventListener);


        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}



Constants ===================
package com.vaidyabuilders.channelpartner.utils;

public class Constants {

    // Web services response Code    public class ServiceCode {
        public static final int SERVICE_STATUS = 0;
    }

    public class Preferences {
        public static final String PREF_LOGIN_DONE = "login_done";
        public static final String PREF_USER_NAME = "ic_username";
        public static final String PREF_IS_APP_RUNNING = "is_app_running";
    }

    public static final int VALUE_NOT_PROVIDED = -1;

    public class Intent {
        public static final String INTENT_MENU_INDEX = "menu_index";
    }

    public class SlidingMenuAdminIndex {
        public static final int HOME_INDEX = 0;
        public static final int GALLERY_INDEX = 1;
        public static final int FLAT_MAP_INDEX = 2;
        public static final int FLAT_RATE_INDEX = 3;
        public static final int RENT_AND_LOAN_COMPARISION_INDEX = 4;
        public static final int EMICALCULATE_INDEX = 5;
        public static final int MAP_DISTANCE_INDEX = 6;
        public static final int MAP_LOCATION_INDEX = 7;
        public static final int BOOKING_POLICY_INDEX = 8;
        public static final int CANCELLATION_POLICY_INDEX = 9;
        public static final int TUMS_AND_CONDITION_INDEX = 10;
        public static final int USERRECORD_INDEX = 11;
        public static final int WEBSITE_INDEX = 12;
        public static final int LOGOUT_INDEX = 13;

    }

    public static class FloorSelection {
        public  static final String GROUND_FLOOR = "Ground Floor";
        public static final String FIRST_FLOOR = "1st Floor";
        public static final String SECOND_FLOOR = "2nd Floor";
        public static final String THIRD_FLOOR = "3rd Floor";
        public static final String FOURTH_FLOOR = "4th Floor";
        public static final String FIFTH_FLOOR = "5th Floor";
        public static final String SIXTH_FLOOR = "6h Floor";
        public static final String SEVENTH_FLOOR = "7th Floor";
    }

    public static class AppreciationOption {
        public static final int FIRST_OPTION = 100;
        public static final int SECOND_OPTION = 699900;
        public static final int THIRD_OPTION = 1099900;
    }

    public static class FloorRising {
        public static int FLAT_1BHK = 5000;
        public static int FLAT_2BHK = 8000;
    }

    public static class InitialDownPayment {
        public static int FLAT_1BHK = 100000;
        public static int FLAT_2BHK = 150000;
    }

    public static class FlatRates1BHK {
        public static int REGULAR = 699900;
        public static int REGULAR_PLUS = 704900;
        public static int RIVER = 714900;
        public static int RIVER_PLUS = 719900;
    }

    public static class FlatRates2BHK {
        public static int REGULAR = 1099900;
        public static int GARDEN = 1115900;
    }

    public static class RentLoanComparision {
        public static int BLOCK_VALUE_1BHK = 699900;
        public static int BLOCK_VALUE_2BHK = 1099900;

        public static int DOWN_PAYMENT_1BHK = 104985;
        public static int DOWN_PAYMENT_2BHK = 164985;

        public static int SUBSIDY_CONFIRM_CENTRAL = 150000;
        public static int SUBSIDY_UNDER_CONSIDERATION_STATE = 150000;

        public static int LOAN_TENURE_IN_YEARS = 20;
        public static double RATE_OF_INTEREST_PER_ANUM = 12;

        public static int RENT_VALUE_1BHK_PER_MONTH = 5000;
        public static int RENT_VALUE_2BHK_PER_MONTH = 7500;

        public static int RENT_INCREASE_PER_YEAR_IN_PERCENT = 10;

    }

    public static class InvesmentOptionValues {
        public static int BANK_FD_ID = 1;
        public static int PRIVATE_FINANCE_FD_ID = 2;
        public static int SIP_MUTUAL_FUND_ID = 3;
        public static int REAL_ESTATE_ID = 4;

        public static int BANK_FD_IN_PERCENT = 8;
        public static int PRIVATE_FINANCE_FD_IN_PERCENT = 10;
        public static int SIP_MUTUAL_FUND_IN_PERCENT = 12;
        public static int REAL_ESTATE_IN_PERCENT = 14;
    }

    public static int BANK_LOAN_PERCENTAGE = 85;
    public static int TOKEN = 10000;
    public static int DOWNPAYMENT_1BHK = 69000;
    public static int DOWNPAYMENT_2BHK = 109000;

    public static class EMI_AMOUNT_WITHOUT_LOAN {
        public static int EMI_AMOUNT_1BHK = 23000;
        public static int EMI_AMOUNT_2BHK = 36500;
        public static int EMI_TENURE_MONTHS = 24;
    }

    public static class Firebase {
        public static String TOPIC = "VaidyaBuildersChannelPartner";
    }

    public static class Discover {
        public static boolean currentLocationEnabled = false;
        public static final int DEFAULT_DISTANCE_IN_KMS = 200;
    }

    //public final static String WEBSITE_LINK = "www.vaidyabuilders.com";    public final static String WEBSITE_LINK = "http://www.iskseo.com/project/vaidyabuilders/html/";

    //latitude longitude    // The minimum distance to change Updates in meters    public static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
    // The minimum time between updates in milliseconds    public static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute
    public final static String ALERT_TITLE = "VaidyaBuildersChannelPartner";

    public class ACRA {
        public static final String CRASH_REPORT_EMAIL_ID = EMAIL.MAIL_ID;
    }

    // for sending email    public class EMAIL{
        public static final String MAIL_ID = "rahul.h.vaidya@gmail.com; panaliyasunil5525@gmail.com";
        public static final String CHOOSE_EMAIL_CLIENT_TITLE = "Choose an Email client:";
    }
}


Gradel file 


dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'    implementation 'com.android.support.constraint:constraint-layout:1.1.3'    implementation 'com.android.support:support-v4:28.0.0'    implementation 'com.android.support:design:28.0.0'    testImplementation 'junit:junit:4.12'    androidTestImplementation 'com.android.support.test:runner:1.0.2'    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:cardview-v7:28.0.0'    implementation 'com.android.support:recyclerview-v7:28.0.0'





<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/drawer_layout"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:fitsSystemWindows="true"    tools:openDrawer="start">

    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="vertical">

        <android.support.design.widget.AppBarLayout            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:theme="@style/AppTheme.AppBarOverlay">

            <android.support.v7.widget.Toolbar                android:id="@+id/toolbar"                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:background="?attr/colorPrimary"                app:popupTheme="@style/AppTheme.PopupOverlay" />

        </android.support.design.widget.AppBarLayout>

        <FrameLayout            android:id="@+id/frame"            android:layout_width="match_parent"            android:layout_height="0dp"            android:layout_weight="1" />

    </LinearLayout>

    <android.support.design.widget.NavigationView        android:id="@+id/nav_view"        android:layout_width="wrap_content"        android:layout_height="match_parent"        android:layout_gravity="start"        android:fitsSystemWindows="true"        app:headerLayout="@layout/nav_header_sliding_menu"        app:itemIconTint="@color/black"        app:itemTextColor="@color/black"        android:clickable="true"        app:menu="@menu/sliding_menu_activity_layout_drawer" />

</android.support.v4.widget.DrawerLayout>




nav_header_sliding_menu.xml=====================

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:gravity="center_vertical"    android:orientation="vertical"    android:padding="10dp"    android:theme="@style/ThemeOverlay.AppCompat.Dark">

    <LinearLayout        android:layout_width="240dp"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:gravity="center_vertical"        android:maxHeight="180dp"        android:orientation="vertical"        android:padding="10dp">

        <ImageView            android:layout_width="match_parent"            android:layout_height="match_parent"            android:src="@drawable/seperate_vb" />

        <TextView            android:id="@+id/tv_logged_in_user_name"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginTop="20dp"            android:gravity="center"            android:paddingLeft="5dp"            android:paddingRight="5dp"            android:text="Welcome User !"            android:textAppearance="@style/Base.TextAppearance.AppCompat.Large"            android:textColor="@color/black"            android:textStyle="bold"            android:textSize="17dp" />

        <TextView            android:id="@+id/tv_todays_date"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:gravity="center"            android:layout_marginTop="@dimen/padding_5dp"            android:paddingLeft="5dp"            android:paddingRight="5dp"            android:text="22/06/17"            android:textAppearance="@style/Base.TextAppearance.AppCompat.Large"            android:textColor="@color/black"            android:textSize="13dp" />

    </LinearLayout>

</LinearLayout>




sliding_menu_activity_layout_drawer.xml================

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    tools:showIn="navigation_view">

  <group      android:id="@+id/nav_open_account_group"      android:checkableBehavior="single"      android:visible="true">

    <item        android:id="@+id/nav_home"        android:checked="true"        android:icon="@drawable/ic_home"        android:title="@string/home" />

    <View        android:layout_width="fill_parent"        android:layout_height="50dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_nav_gallery"      android:checkableBehavior="single"      android:visible="true">

    <item        android:id="@+id/nav_gallery"        android:icon="@drawable/ic_gallary"        android:title="@string/gallery" />

    <View        android:layout_width="fill_parent"        android:layout_height="50dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_flat_map_group"      android:checkableBehavior="single"      android:visible="true">

    <item        android:id="@+id/nav_flat_map"        android:icon="@drawable/flat_map"        android:title="@string/flat_map" />

    <View        android:layout_width="fill_parent"        android:layout_height="50dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_flat_rate_group"      android:checkableBehavior="single">

    <item        android:id="@+id/nav_flat_rate"        android:icon="@drawable/ic_rates"        android:iconTint="@color/black"        android:title="@string/flat_rate" />

    <View        android:layout_width="fill_parent"        android:layout_height="2dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_booking_group"      android:checkableBehavior="single">

    <item        android:id="@+id/nav_rent_and_loan_comparision"        android:icon="@drawable/rant_loan"        android:iconTint="@color/black"        android:title="@string/rent_and_loan_comparision" />

    <View        android:layout_width="fill_parent"        android:layout_height="2dp"        android:background="@color/black" />

  </group>


  <group      android:id="@+id/nav_emi_calculation_group"      android:checkableBehavior="single">
    <item        android:id="@+id/nav_emi_calculation"        android:icon="@drawable/ic_calculate"        android:title="@string/emi_calculation" />

    <View        android:layout_width="fill_parent"        android:layout_height="2dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_distance_group"      android:checkableBehavior="single">

    <item        android:id="@+id/nav_distance"        android:icon="@drawable/ic_distance"        android:iconTint="@color/black"        android:title="@string/distance_loc" />

    <View        android:layout_width="fill_parent"        android:layout_height="2dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_map_location_group"      android:checkableBehavior="single">

    <item        android:id="@+id/nav_map_location"        android:icon="@drawable/ic_location"        android:title="@string/map_location" />

    <View        android:layout_width="fill_parent"        android:layout_height="2dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_booking_policy_group"      android:checkableBehavior="single">

    <item        android:id="@+id/nav_booking_policy"        android:icon="@drawable/policy"        android:title="@string/booking_policy" />

    <View        android:layout_width="fill_parent"        android:layout_height="2dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_cancellation_policy_group"      android:checkableBehavior="single"      android:visible="false">

    <item        android:id="@+id/nav_cancellation_policy"        android:icon="@drawable/cancellation_policy"        android:title="@string/cancellation_policy" />

    <View        android:layout_width="fill_parent"        android:layout_height="2dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_tmc_group"      android:checkableBehavior="single">

    <item        android:id="@+id/nav_tmc"        android:icon="@drawable/ic_tmc"        android:title="@string/tmc" />

    <View        android:layout_width="fill_parent"        android:layout_height="2dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_web_site_group"      android:checkableBehavior="single"      android:visible="false">

    <item        android:id="@+id/nav_web_site"        android:icon="@drawable/web_visit"        android:title="@string/official_web_site" />

    <View        android:layout_width="fill_parent"        android:layout_height="2dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_logout_group"      android:checkableBehavior="single">

    <item        android:id="@+id/nav_logout"        android:checked="true"        android:icon="@drawable/ic_logout"        android:title="@string/logout" />
    <View        android:layout_width="fill_parent"        android:layout_height="2dp"        android:background="@color/black" />

  </group>

  <group      android:id="@+id/nav_stock_signals_group3"      android:checkableBehavior="single">

    <item        android:id="@+id/nav_user_rocord"        android:icon="@drawable/ic_menu_manage"        android:title="@string/user_rocord"        android:visible="false" />

    <View        android:layout_width="fill_parent"        android:layout_height="2dp"        android:background="@color/black" />

  </group>

</menu>


Comments

Popular posts from this blog

retrofil gjstatus lanuage

form object

Login Preference in android create class