package com.pinthecloud.athere.activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.Toast;
import com.pinthecloud.athere.R;
import com.pinthecloud.athere.fragment.ChupaChatFragment;
import com.pinthecloud.athere.helper.MessageHelper;
import com.pinthecloud.athere.helper.UserHelper;
import com.pinthecloud.athere.interfaces.AhEntityCallback;
import com.pinthecloud.athere.model.AhMessage;
import com.pinthecloud.athere.model.AhUser;
public class ChupaChatActivity extends AhActivity {
private ProgressBar progressBar;
private ChupaChatFragment fragment;
private MessageHelper messageHelper;
private UserHelper userHelper;
private AhUser user;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_frame);
userHelper = app.getUserHelper();
user = userHelper.getMyUserInfo();
findComponent();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragment = new ChupaChatFragment();
fragmentTransaction.add(R.id.activity_container, fragment);
fragmentTransaction.commit();
setMessageHandler();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.chupa_chat, menu);
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
MenuItem menuItem = menu.findItem(R.id.chupa_chat_menu_notification);
if(user.isChupaEnable()){
menuItem.setIcon(R.drawable.actionbar_red_chupa_alarm_on_btn);
}else{
menuItem.setIcon(R.drawable.actionbar_red_chupa_alarm_off_btn);
}
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
break;
case R.id.chupa_chat_menu_notification:
// Handle chupa alarm
progressBar.setVisibility(View.VISIBLE);
progressBar.bringToFront();
if(user.isChupaEnable()){
user.setChupaEnable(false);
}else{
user.setChupaEnable(true);
}
userHelper.updateUserAsync(fragment, user, new AhEntityCallback<AhUser>() {
@Override
public void onCompleted(AhUser entity) {
progressBar.setVisibility(View.GONE);
userHelper.setMyChupaEnable(entity.isChupaEnable());
user = userHelper.getMyUserInfo();
invalidateOptionsMenu();
}
});
break;
}
return true;
}
private void findComponent(){
progressBar = (ProgressBar) findViewById(R.id.activity_progress_bar);
messageHelper = app.getMessageHelper();
}
private void setMessageHandler(){
messageHelper.setMessageHandler(this, new AhEntityCallback<AhMessage>() {
@Override
public void onCompleted(AhMessage message) {
if (message.getType().equals(AhMessage.TYPE.FORCED_LOGOUT.toString())) {
String text = getResources().getString(R.string.forced_logout_title);
Toast toast = Toast.makeText(thisActivity, text, Toast.LENGTH_LONG);
toast.show();
Intent intent = new Intent(ChupaChatActivity.this, SquareListActivity.class);
startActivity(intent);
finish();
return;
}
messageHelper.triggerMessageEvent(fragment, message);
}
});
}
}