package com.orisider.gdfs.ui.fragment;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import com.github.rtyley.android.sherlock.roboguice.fragment.RoboSherlockFragment;
import com.orisider.gdfs.R;
import com.orisider.gdfs.model.AccessToken;
import com.orisider.gdfs.ui.activity.GetAccountActivity;
import com.orisider.gdfs.util.Constant;
import com.orisider.gdfs.util.SessionStore;
import roboguice.inject.InjectView;
public class MainF extends RoboSherlockFragment implements View.OnClickListener {
@InjectView(R.id.saved_acnt_name)
private TextView savedAcntName;
@InjectView(R.id.set_acnt_btn)
private Button acntBtn;
private AccessToken token;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (token == null) {
token = SessionStore.getAccountAuthToken();
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.f_main, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
updatePanel();
initView();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == Constant.REQ_CODE_ACNT && resultCode == Activity.RESULT_OK) {
token = (AccessToken) data.getSerializableExtra(Constant.BUNDLE_KEY_ACCESS_TOKEN);
updatePanel();
}
}
private void initView() {
acntBtn.setOnClickListener(this);
}
private void updatePanel() {
if (token == null) {
acntBtn.setText(R.string.btn_account_set);
acntBtn.setTag(true);
savedAcntName.setText(R.string.acnt_empty);
} else {
acntBtn.setText(R.string.btn_account_del);
acntBtn.setTag(false);
savedAcntName.setText(token.accountName);
}
}
@Override
public void onClick(View v) {
if (v == acntBtn) {
if (acntBtn.getTag() == Boolean.TRUE) {
startActivityForResult(new Intent(getActivity(), GetAccountActivity.class), Constant.REQ_CODE_ACNT);
} else {
SessionStore.removeAccessToken();
token = null;
updatePanel();
}
}
}
}