/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.content.Loader;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;
import com.galaxy.meetup.client.android.Intents;
import com.galaxy.meetup.client.android.R;
import com.galaxy.meetup.client.android.content.AudienceData;
import com.galaxy.meetup.client.android.content.EsCursorLoader;
import com.galaxy.meetup.client.android.content.EsPeopleData;
import com.galaxy.meetup.client.android.content.PersonData;
/**
*
* @author sihai
*
*/
public class ProfileActionGatewayActivity extends EsProfileGatewayActivity
implements android.support.v4.app.LoaderManager.LoaderCallbacks {
private static final String PROJECTION[] = {
"sourceid", "data5", "display_name"
};
public ProfileActionGatewayActivity()
{
}
private AudienceData createAudience()
{
String s;
String s1;
String s2;
s = null;
s1 = mPersonId;
s2 = mPersonName;
if(s1.startsWith("e:")) {
s1 = s1.substring(2);
} else if(s1.startsWith("p:")) {
} else {
s = EsPeopleData.extractGaiaId(s1);
}
return new AudienceData(new PersonData(s, s2, s1));
}
protected void onCreate(Bundle bundle)
{
super.onCreate(bundle);
if(!isFinishing())
{
Uri uri = getIntent().getData();
if(uri == null)
{
finish();
} else
{
Bundle bundle1 = new Bundle();
bundle1.putParcelable("data_uri", uri);
getSupportLoaderManager().initLoader(0, bundle1, this);
}
}
}
public final Loader onCreateLoader(int i, Bundle bundle)
{
return new EsCursorLoader(this, (Uri)bundle.getParcelable("data_uri"), PROJECTION, null, null, null);
}
public final void onLoadFinished(Loader loader, Object obj)
{
Cursor cursor = (Cursor)obj;
if(!mRedirected)
{
mRedirected = true;
if(cursor == null || !cursor.moveToFirst())
{
Toast.makeText(this, R.string.profile_does_not_exist, 0).show();
finish();
} else
{
mPersonId = cursor.getString(0);
if(TextUtils.isEmpty(mPersonId))
{
Toast.makeText(this, R.string.profile_does_not_exist, 0).show();
finish();
} else
if(!mPersonId.startsWith("g:") && !mPersonId.startsWith("e:") && !mPersonId.startsWith("p:"))
{
Log.e("ProfileActionGatewayActivity", (new StringBuilder("Unrecognized aggregate ID format: ")).append(mPersonId).toString());
Toast.makeText(this, R.string.profile_does_not_exist, 0).show();
finish();
} else
{
String s = cursor.getString(1);
mPersonName = cursor.getString(2);
if("conversation".equals(s))
{
Intent intent2 = Intents.getNewConversationActivityIntent(this, mAccount, createAudience());
intent2.addFlags(0x2000000);
startActivity(intent2);
finish();
} else
if("hangout".equals(s))
{
Intent intent1 = Intents.getNewHangoutActivityIntent(this, mAccount, true, createAudience());
intent1.addFlags(0x2000000);
startActivity(intent1);
finish();
} else
if("addtocircle".equals(s))
{
showCirclePicker();
} else
{
Intent intent = Intents.getProfileActivityIntent(this, mAccount, mPersonId, null);
intent.addFlags(0x2000000);
startActivity(intent);
finish();
}
}
}
}
}
public final void onLoaderReset(Loader loader)
{
}
}