/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.activity;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.text.TextUtils;
import android.view.View;
import android.widget.ProgressBar;
import com.galaxy.meetup.client.android.R;
import com.galaxy.meetup.client.android.analytics.EsAnalytics;
import com.galaxy.meetup.client.android.analytics.OzActions;
import com.galaxy.meetup.client.android.analytics.OzViews;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.content.EsAccountsData;
import com.galaxy.meetup.client.android.network.ApiaryApiInfo;
import com.galaxy.meetup.client.android.ui.fragments.EsFragmentActivity;
import com.galaxy.meetup.client.android.ui.fragments.PlusOneFragment;
import com.galaxy.meetup.client.util.PlatformContractUtils;
import com.galaxy.meetup.client.util.Property;
/**
*
* @author sihai
*
*/
public class PlusOneActivity extends EsFragmentActivity implements
OnClickListener {
private EsAccount mAccount;
private ApiaryApiInfo mApiInfo;
private PlusOneFragment mFragment;
private boolean mInsert;
public PlusOneActivity()
{
}
private void recordErrorAndFinish()
{
EsAccount esaccount = mAccount;
PlatformContractUtils.getCallingPackageAnalytics(mApiInfo);
EsAnalytics.recordEvent(this, esaccount, getAnalyticsInfo(), OzActions.PLATFORM_ERROR_PLUSONE);
finish();
}
private void recordExitedAction()
{
if(mInsert)
recordUserAction(OzActions.PLATFORM_PLUSONE_CONFIRMED);
else
recordUserAction(OzActions.PLATFORM_UNDO_PLUSONE_CANCELED);
}
protected final EsAccount getAccount()
{
return mAccount;
}
public final OzViews getViewForLogging()
{
return OzViews.PLUSONE;
}
public void onAttachedToWindow()
{
super.onAttachedToWindow();
ProgressBar progressbar = (ProgressBar)findViewById(R.id.progress_spinner);
mFragment.setProgressBar(progressbar);
}
public void onBackPressed()
{
recordExitedAction();
super.onBackPressed();
}
public void onClick(DialogInterface dialoginterface, int i) {
if(-3 == i) {
setResult(0);
finish();
}
}
protected void onCreate(Bundle bundle)
{
super.onCreate(bundle);
setContentView(R.layout.plus_one_activity);
showTitlebar(false);
setTitlebarTitle(getString(R.string.app_name));
Intent intent = getIntent();
Bundle bundle1 = new Bundle();
mAccount = EsAccountsData.getActiveAccount(this);
if(!SignOnActivity.finishIfNoAccount(this, mAccount))
{
bundle1.putParcelable("PlusOneFragment#mAccount", mAccount);
String s = getCallingPackage();
boolean flag = intent.getBooleanExtra("from_signup", false);
String s1 = intent.getStringExtra("calling_package");
String s2 = Property.PLUS_CLIENTID.get();
String s3 = getPackageName();
android.content.pm.PackageManager packagemanager = getPackageManager();
String s4 = PlatformContractUtils.getCertificate(s1, packagemanager);
String s5 = PlatformContractUtils.getCertificate(s3, packagemanager);
String s6 = intent.getStringExtra("com.google.circles.platform.intent.extra.APIKEY");
String s7 = intent.getStringExtra("com.google.circles.platform.intent.extra.CLIENTID");
String s8 = intent.getStringExtra("com.google.circles.platform.intent.extra.APIVERSION");
mApiInfo = new ApiaryApiInfo(null, s2, s3, s5, s8, new ApiaryApiInfo(s6, s7, s1, s4, s8));
if(bundle == null)
{
PlatformContractUtils.getCallingPackageAnalytics(mApiInfo);
recordUserAction(getAnalyticsInfo(), OzActions.PLATFORM_CLICKED_PLUSONE);
}
if(!flag || !getPackageName().equals(s) || TextUtils.isEmpty(s1))
{
recordErrorAndFinish();
} else
{
ApiaryApiInfo apiaryapiinfo = mApiInfo.getSourceInfo();
if(apiaryapiinfo == null || TextUtils.isEmpty(apiaryapiinfo.getApiKey()) || TextUtils.isEmpty(apiaryapiinfo.getCertificate()) || TextUtils.isEmpty(apiaryapiinfo.getClientId()) || TextUtils.isEmpty(apiaryapiinfo.getSdkVersion()) || TextUtils.isEmpty(apiaryapiinfo.getPackageName()))
{
recordErrorAndFinish();
} else
{
bundle1.putSerializable("PlusOneFragment#mApiaryApiInfo", mApiInfo);
String s9 = intent.getStringExtra("com.google.circles.platform.intent.extra.TOKEN");
String s10 = intent.getStringExtra("com.google.circles.platform.intent.extra.ENTITY");
String s11 = intent.getStringExtra("com.google.circles.platform.intent.extra.ACTION");
if(TextUtils.isEmpty(s9) || TextUtils.isEmpty(s10) || TextUtils.isEmpty(s11))
{
recordErrorAndFinish();
} else
{
boolean flag1;
if(!"delete".equals(s11))
flag1 = true;
else
flag1 = false;
mInsert = flag1;
bundle1.putString("PlusOneFragment#mToken", s9);
bundle1.putString("PlusOneFragment#mUrl", s10);
bundle1.putBoolean("PlusOneFragment#mInsert", mInsert);
mFragment = (PlusOneFragment)getSupportFragmentManager().findFragmentByTag("PlusOneActivity#Fragment");
if(mFragment == null)
{
mFragment = new PlusOneFragment();
mFragment.setArguments(bundle1);
FragmentTransaction fragmenttransaction = getSupportFragmentManager().beginTransaction();
fragmenttransaction.add(R.id.plusone_container, mFragment, "PlusOneActivity#Fragment");
fragmenttransaction.commit();
}
findViewById(R.id.frame_container).setOnClickListener(new android.view.View.OnClickListener() {
public final void onClick(View view)
{
recordExitedAction();
PlusOneActivity plusoneactivity = PlusOneActivity.this;
byte byte0;
if(mInsert)
byte0 = -1;
else
byte0 = 0;
plusoneactivity.setResult(byte0);
finish();
}
});
findViewById(R.id.plusone_container).setOnClickListener(new android.view.View.OnClickListener() {
public final void onClick(View view)
{
}
});
}
}
}
}
}
public Dialog onCreateDialog(int i, Bundle bundle) {
if(1 == i) {
android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(this);
builder.setMessage(R.string.plusone_post_error).setNeutralButton(0x104000a, this).setCancelable(false);
return builder.create();
}
return null;
}
protected void onResume()
{
super.onResume();
if(!SignOnActivity.finishIfNoAccount(this, mAccount));
}
protected final void showTitlebar(boolean flag, boolean flag1)
{
super.showTitlebar(flag, flag1);
findViewById(R.id.title_layout).setPadding(getResources().getDimensionPixelOffset(R.dimen.plus_one_title_padding_left), 0, 0, 0);
}
}