package com.charlesmadere.android.classygames.settings;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.MenuItem;
import com.charlesmadere.android.classygames.BaseActivity;
import com.charlesmadere.android.classygames.R;
import com.charlesmadere.android.classygames.gcm.GCMManager;
import com.charlesmadere.android.classygames.server.ServerApi;
import com.charlesmadere.android.classygames.server.ServerApiRegister;
public final class RegisterForNotificationsActivity extends BaseActivity
{
private ServerApiRegister serverApiTask;
@Override
protected void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState, R.string.register_for_notifications, true);
setContentView(R.layout.register_for_notifications_activity);
final Button register = (Button) findViewById(R.id.register_for_notifications_activity_register);
register.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(final View v)
{
register();
}
});
}
@Override
public void onBackPressed()
{
cancelRunningAnyAsyncTask();
super.onBackPressed();
}
@Override
protected void onDestroy()
{
cancelRunningAnyAsyncTask();
super.onDestroy();
}
@Override
public boolean onOptionsItemSelected(final MenuItem item)
{
switch (item.getItemId())
{
case android.R.id.home:
onBackPressed();
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
}
private void cancelRunningAnyAsyncTask()
{
if (serverApiTask != null)
{
serverApiTask.cancel();
}
}
private void register()
{
final SherlockActivity activity = this;
if (GCMManager.checkGooglePlayServices(activity, true) && serverApiTask == null)
{
serverApiTask = new ServerApiRegister(this, new ServerApi.Listeners()
{
@Override
public void onCancel()
{
finish();
}
@Override
public void onComplete(final String serverResponse)
{
Toast.makeText(activity, R.string.registration_complete, Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onDismiss()
{}
});
serverApiTask.execute(false);
}
}
}