package akilliyazilim.justhoy.fragments;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.Toast;
import com.facebook.Request;
import com.facebook.Response;
import com.facebook.Session;
import com.facebook.SessionState;
import com.facebook.model.GraphUser;
import com.parse.PushService;
import com.romainpiel.shimmer.Shimmer;
import akilliyazilim.justhoy.R;
import akilliyazilim.justhoy.activity.GuideActivity;
import akilliyazilim.justhoy.activity.HoyActivity;
import akilliyazilim.justhoy.model.PersonModel;
import akilliyazilim.justhoy.tasks.AddHoycuTask;
import akilliyazilim.justhoy.utils.ApplicationPreferences;
import akilliyazilim.justhoy.utils.Utils;
import akilliyazilim.justhoy.views.HalvelticaTextView;
import akilliyazilim.justhoy.views.ShimmerExtendedText;
/**
* Created by mertsimsek on 13.08.2014.
*/
@SuppressLint("ValidFragment")
public class GuideFragment extends Fragment implements View.OnClickListener {
int fragment_page;
HalvelticaTextView textview_top;
ImageView icon;
HalvelticaTextView textview_slogan;
ShimmerExtendedText textview_enter;
View seperator;
Shimmer shimmer;
ImageView imageview_next;
public GuideFragment(int fragment_page) {
this.fragment_page = fragment_page;
}
public static GuideFragment newInstance(int fragment_page) {
return new GuideFragment(fragment_page);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.guide_fragment, container, false);
imageview_next = (ImageView) v.findViewById(R.id.imageview_right_arrow);
imageview_next.setOnClickListener(this);
textview_top = (HalvelticaTextView) v.findViewById(R.id.fragment_guide_top_text);
icon = (ImageView) v.findViewById(R.id.icon_hoy);
textview_slogan = (HalvelticaTextView) v.findViewById(R.id.textview_guide_first_bottom_slogan);
textview_enter = (ShimmerExtendedText) v.findViewById(R.id.textview_guide_enter);
seperator = (View) v.findViewById(R.id.seperator);
if (fragment_page == 0) {
textview_top.setTextColor(getResources().getColor(R.color.color_white));
icon.setBackgroundResource(R.drawable.icon_hoy_white);
textview_slogan.setTextColor(getResources().getColor(R.color.color_white));
textview_enter.setVisibility(View.INVISIBLE);
textview_enter.setClickable(false);
imageview_next.setVisibility(View.VISIBLE);
imageview_next.setClickable(true);
seperator.setVisibility(View.INVISIBLE);
} else {
textview_top.setTextColor(getResources().getColor(R.color.color_purple));
icon.setBackgroundResource(R.drawable.icon_hoy_purple);
textview_slogan.setVisibility(View.INVISIBLE);
textview_enter.setTextColor(getResources().getColor(R.color.color_purple));
textview_enter.setVisibility(View.VISIBLE);
textview_enter.setClickable(true);
seperator.setVisibility(View.VISIBLE);
imageview_next.setVisibility(View.INVISIBLE);
imageview_next.setClickable(false);
textview_enter.setOnClickListener(this);
}
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.textview_guide_enter:
if(Utils.checkConnection(getActivity().getApplicationContext()))
{
textview_enter.setClickable(false);
shimmer = new Shimmer();
shimmer.start(textview_enter);
startLoginFacebook();
}
else
Toast.makeText(getActivity().getApplicationContext(),getResources().getString(R.string.toast_internet_error),Toast.LENGTH_SHORT).show();
break;
case R.id.imageview_right_arrow:
if(GuideActivity.viewPager!=null)
GuideActivity.viewPager.setCurrentItem(1);
break;
default:
break;
}
}
public void startLoginFacebook()
{
// start Facebook Login
Session.openActiveSession(getActivity(), true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(final GraphUser user, Response response) {
if (user != null) {
PersonModel p = new PersonModel();
p.setUser_id(user.getId());
PushService.subscribe(getActivity().getApplicationContext(), "hoykanali" + user.getId().toString(), HoyActivity.class);
p.setImage_url("https://graph.facebook.com/" + user.getId() + "/picture?type=large");
p.setName(user.getFirstName());
ApplicationPreferences.getInstance(getActivity().getApplicationContext()).saveMeToPrefs(p);
AddHoycuTask task = new AddHoycuTask(p)
{
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
shimmer.cancel();
Intent i = new Intent(getActivity(), HoyActivity.class);
i.putExtra("id",user.getId());
startActivity(i);
getActivity().finish();
}
};
task.execute();
}
}
}).executeAsync();
}
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(getActivity(), requestCode, resultCode, data);
}
}