package com.telerik.app.activities;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import com.telerik.app.R;
import com.telerik.app.model.ImageKind;
import com.telerik.app.tasks.BitmapDownloadTask;
import com.telerik.everlive.sdk.core.result.RequestResult;
import com.telerik.everlive.sdk.core.result.RequestResultCallbackAction;
import com.telerik.app.model.BaseViewModel;
import com.telerik.app.model.MyUser;
import com.telerik.app.model.Post;
public class CreateNewPostActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create_new_post);
final ImageView userPicture = (ImageView) findViewById(R.id.cna_userPicture);
final TextView userName = (TextView) findViewById(R.id.cna_userDisplayName);
final MyUser[] loggedUser = {BaseViewModel.getInstance().getLoggedUser()};
if (loggedUser[0] == null) {
BaseViewModel.EverliveAPP.workWith().
users(MyUser.class).
getMe().
executeAsync(new RequestResultCallbackAction<MyUser>() {
@Override
public void invoke(RequestResult<MyUser> requestResult) {
if (requestResult.getSuccess()) {
loggedUser[0] = requestResult.getValue();
BaseViewModel.getInstance().setLoggedUser(loggedUser[0]);
loadUserInfo(userPicture, loggedUser[0], userName);
}
}
});
} else {
loadUserInfo(userPicture, loggedUser[0], userName);
}
ActionBar actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setBackgroundDrawable(new ColorDrawable(Color.argb(255, 52, 73, 94)));
}
private void loadUserInfo(ImageView userPicture, final MyUser user, final TextView userName) {
BitmapDownloadTask task = new BitmapDownloadTask(this, userPicture, ImageKind.User);
task.execute(user.getPictureId() != null ? user.getPictureId().toString() : null);
userName.post(new Runnable() {
@Override
public void run() {
userName.setText(user.getDisplayName());
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.create_new_post, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_post) {
Post post = new Post();
post.setUserId(BaseViewModel.getInstance().getLoggedUser().getId());
post.setText(((EditText) findViewById(R.id.cna_activityText)).getText().toString());
BaseViewModel.EverliveAPP.workWith().data(Post.class).create(post).executeAsync(new RequestResultCallbackAction() {
@Override
public void invoke(RequestResult requestResult) {
if (requestResult.getSuccess()) {
Intent i = new Intent(CreateNewPostActivity.this, ListActivity.class);
startActivity(i);
}
}
});
return true;
}
return super.onOptionsItemSelected(item);
}
}