/**
*
* @author Rachit Mishra
* @licence The MIT License (MIT) Copyright (c) <2013> <Rachit Mishra>
*
*/
package in.ceeq.commons;
import in.ceeq.R;
import in.ceeq.home.HomeActivity;
import in.ceeq.splash.SplashActivity;
import android.app.Activity;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
public class GooglePlusActivity extends Activity {
private int caller;
private static final int CONNECTION_FAILURE_REQUEST = 9013;
public static final String FROM = "from";
public static final int SPLASH = 0;
public static final int HOME = 1;
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
setContentView(R.layout.activity_play);
caller = getIntent().getIntExtra(FROM, 0);
if (servicesConnected()) {
returnFrom(caller);
}
}
public void returnFrom(int caller) {
switch (caller) {
case SPLASH:
startActivity(new Intent(this, SplashActivity.class));
this.finish();
break;
case HOME:
startActivity(new Intent(this, HomeActivity.class));
this.finish();
break;
}
}
public static class ErrorDialogFragment extends DialogFragment {
private Dialog errorDialog;
public ErrorDialogFragment() {
super();
errorDialog = null;
}
public void setDialog(Dialog dialog) {
errorDialog = dialog;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return errorDialog;
}
@Override
public void onCancel(DialogInterface dialog) {
this.getActivity().finish();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case CONNECTION_FAILURE_REQUEST:
switch (resultCode) {
case Activity.RESULT_OK:
switch (caller) {
case 0:
startActivity(new Intent(this, SplashActivity.class));
break;
case 1:
startActivity(new Intent(this, HomeActivity.class));
break;
}
break;
case CONNECTION_FAILURE_REQUEST:
switch (resultCode) {
case Activity.RESULT_OK:
}
break;
}
}
}
public boolean servicesConnected() {
int resultCode = GooglePlayServicesUtil
.isGooglePlayServicesAvailable(this);
if (ConnectionResult.SUCCESS == resultCode) {
return true;
} else {
ConnectionResult cr = new ConnectionResult(resultCode, null);
int errorCode = cr.getErrorCode();
Dialog errorDialog = GooglePlayServicesUtil.getErrorDialog(
errorCode, this, CONNECTION_FAILURE_REQUEST);
if (errorDialog != null) {
ErrorDialogFragment ef = new ErrorDialogFragment();
ef.setDialog(errorDialog);
ef.show(getFragmentManager(), "LocationUpdates");
}
return false;
}
}
}