Subversion Repositories SmartDukaan

Rev

Rev 22833 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.saholic.profittill.main;


import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;

import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.Tracker;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.plus.Plus;
import com.saholic.profittill.R;
import com.saholic.profittill.Utils.CustomPageAdapter;
import com.viewpagerindicator.CirclePageIndicator;

/**
 * A simple {@link Fragment} subclass.
 */
public class HowItWorks  extends android.app.Fragment implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {
    SharedPreferences userData;
    SharedPreferences apiData;
    SharedPreferences.Editor userDataEditor;
    SharedPreferences.Editor apiSettingsEditor;
    CirclePageIndicator mIndicator;
    Button textDealsView;
    ViewPager vpPager;
    Button skipHowItWorks;
    public GoogleApiClient mGoogleApiClient;
    String type1;

    public HowItWorks() {

    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        final View rootView = inflater.inflate(R.layout.fragment_how_it_works, container, false);
        getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
        userData = getActivity().getSharedPreferences("User_Data", Context.MODE_PRIVATE);
        apiData = getActivity().getSharedPreferences("API_Data", Context.MODE_PRIVATE);
        userDataEditor = userData.edit();
        apiSettingsEditor = apiData.edit();
        textDealsView = (Button)rootView.findViewById(R.id.howitwokstodeals);
        skipHowItWorks = (Button) rootView.findViewById(R.id.skipHowItWorks);
        type1 = userData.getString("type", null);
        if (type1 != null && type1.equalsIgnoreCase("google")) {
            mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
                    .addConnectionCallbacks(this)
                    .addOnConnectionFailedListener(this).addApi(Plus.API)
                    .addScope(Plus.SCOPE_PLUS_LOGIN).build();
            mGoogleApiClient.connect();
        }
        Tracker t = ((GoogleAnalyticsTracker) getActivity().getApplicationContext()).getTracker(
                GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
        t.setScreenName("Tutorials Screen");
        t.send(new HitBuilders.ScreenViewBuilder().build());
        /*final int[] flag = new int[] {R.drawable.mypreferencesnew,R.drawable.dealstutorial1, R.drawable.cashback,
                R.drawable.mypreferencestutorial, R.drawable.searchtutorial};*/

        final int[] flag = new int[] {R.drawable.applogo_screen,R.drawable.register,R.drawable.screen_activation, R.drawable.offer_screen, R.drawable.sd_deals, R.drawable.payment_option, R.drawable.description};

        final String[] rank = new String[] { "1", "2", "3", "4","5","6","7"};
        /*String[] openingText = new String[] { "First, Tell Us What You Like","We recommend, You profit","Get Cashback every time you shop", "Get deals that you are looking for", "Compare prices from all the big stores" };
        String[] middleText = new String[] { "Start by listing your favorite brands, your price range, & get better, targeted deals","We search the whole internet to find the best deals on mobiles and other products only for you", "Redeem your cashback every week. Get the money in your Saholic Wallet and use that on Mobile and DTH recharges.", "You can easily set up your preferences for the category, brand and price range that you are interested in", "You have a single screen to look at prices from Flipkart, Amazon, Snapdeal and more!"};*/
        vpPager = (ViewPager)rootView.findViewById(R.id.pager);
        CustomPageAdapter adapter = new CustomPageAdapter(getActivity(),rank,flag);
        vpPager.setAdapter(adapter);
        mIndicator = (CirclePageIndicator)rootView.findViewById(R.id.indicator);
        mIndicator.setViewPager(vpPager);

        final float density = getResources().getDisplayMetrics().density;

        mIndicator.setFillColor(getResources().getColor(R.color.app_red));
        mIndicator.setStrokeColor(getResources().getColor(R.color.Black));
        mIndicator.setStrokeWidth(1);
        mIndicator.setRadius(6 * density);

        vpPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                /*mIndicator.setViewPager(vpPager);*/
                mIndicator.onPageScrolled(position,0,0);
                if(position==(flag.length-1)){
                    textDealsView.setVisibility(View.VISIBLE);
                    skipHowItWorks.setVisibility(View.GONE);
                }
                else{
                    textDealsView.setVisibility(View.GONE);
                    skipHowItWorks.setVisibility(View.VISIBLE);
                }
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });

        skipHowItWorks.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            vpPager.setCurrentItem(vpPager.getCurrentItem()+1, true);
            }
        });
        textDealsView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try{
                    if (mGoogleApiClient.isConnected()) {
                        Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);
                        mGoogleApiClient.disconnect();
                        mGoogleApiClient.connect();
                        userDataEditor.clear().commit();
                        startActivity(new Intent(getActivity(),LoginActivity.class));
                    }
                    else{
                        if(!mGoogleApiClient.isConnected()){
                            userDataEditor.clear().commit();
                            startActivity(new Intent(getActivity(), LoginActivity.class));
                        }

                    }
                }catch (Exception e){
                    userDataEditor.clear().commit();
                    startActivity(new Intent(getActivity(), LoginActivity.class));
                }

            }
        });

        return rootView;

    }
    @Override
    public void onResume() {
        super.onResume();
        getView().setFocusableInTouchMode(true);
        getView().requestFocus();
        getView().setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {

                if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK){
                   return true;
                }
                return false;
            }
        });
    }
    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
    }

    @Override
    public void onConnected(@Nullable Bundle bundle) {

    }

    @Override
    public void onConnectionSuspended(int i) {

    }

    @Override
    public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {

    }
}