/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.Menu;
import android.view.MenuItem;
import com.galaxy.meetup.client.android.R;
import com.galaxy.meetup.client.android.ShakeDetector;
import com.galaxy.meetup.client.android.analytics.OzViews;
import com.galaxy.meetup.client.android.content.EsAccount;
import com.galaxy.meetup.client.android.ui.fragments.EditPostFragment;
import com.galaxy.meetup.client.android.ui.fragments.EsFragmentActivity;
/**
*
* @author sihai
*
*/
public class EditPostActivity extends EsFragmentActivity implements
OnClickListener {
private EditPostFragment mEditPostFragment;
private boolean mShakeDetectorWasRunning;
public EditPostActivity()
{
}
protected final EsAccount getAccount()
{
return (EsAccount)getIntent().getParcelableExtra("account");
}
public final OzViews getViewForLogging()
{
return OzViews.ACTIVITY;
}
public final void invalidateMenu()
{
createTitlebarButtons(R.menu.edit_comment_menu);
}
public final void onAttachFragment(Fragment fragment)
{
super.onAttachFragment(fragment);
if(fragment instanceof EditPostFragment)
mEditPostFragment = (EditPostFragment)fragment;
}
public void onBackPressed()
{
mEditPostFragment.onDiscard();
}
public void onClick(DialogInterface dialoginterface, int i)
{
if(-1 == i) {
setResult(0);
finish();
}
dialoginterface.dismiss();
return;
}
public void onCreate(Bundle bundle)
{
super.onCreate(bundle);
setContentView(R.layout.edit_post_activity);
showTitlebar(true);
setTitlebarTitle(getString(R.string.edit_post));
createTitlebarButtons(R.menu.edit_post_menu);
ShakeDetector shakedetector = ShakeDetector.getInstance(getApplicationContext());
if(shakedetector != null)
mShakeDetectorWasRunning = shakedetector.stop();
}
public Dialog onCreateDialog(int i, Bundle bundle) {
Dialog dialog = null;
// TODO id ?
if(297895 == i) {
dialog = new ProgressDialog(this);
((ProgressDialog) (dialog)).setProgressStyle(0);
((ProgressDialog) (dialog)).setMessage(getString(R.string.post_operation_pending));
((ProgressDialog) (dialog)).setCancelable(false);
} else if(901235 == i) {
android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(this);
builder.setMessage(R.string.edit_post_cancel_prompt);
builder.setPositiveButton(R.string.yes, this);
builder.setNegativeButton(R.string.no, this);
builder.setCancelable(true);
dialog = builder.create();
}
return dialog;
}
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.edit_post_menu, menu);
return true;
}
protected void onDestroy()
{
super.onDestroy();
if(mShakeDetectorWasRunning)
{
ShakeDetector shakedetector = ShakeDetector.getInstance(getApplicationContext());
if(shakedetector != null)
shakedetector.start();
}
}
public boolean onOptionsItemSelected(MenuItem menuitem)
{
boolean flag = true;
int i = menuitem.getItemId();
if(i == 0x102002c)
mEditPostFragment.onDiscard();
else
if(i == R.id.menu_post)
mEditPostFragment.onPost();
else
if(i == R.id.menu_discard)
mEditPostFragment.onDiscard();
else
flag = false;
return flag;
}
public boolean onPrepareOptionsMenu(Menu menu)
{
menu.findItem(R.id.menu_post).setVisible(false);
return true;
}
protected final void onPrepareTitlebarButtons(Menu menu)
{
int i = 0;
while(i < menu.size())
{
MenuItem menuitem = menu.getItem(i);
boolean flag;
if(menuitem.getItemId() == R.id.menu_post)
flag = true;
else
flag = false;
menuitem.setVisible(flag);
i++;
}
}
protected final void onTitlebarLabelClick()
{
if(mEditPostFragment != null)
mEditPostFragment.onDiscard();
}
}