package com.avoscloud.beijing.push.demo.keepalive;
import java.util.LinkedList;
import java.util.List;
import com.avos.avoscloud.AVException;
import com.avos.avoscloud.AVInstallation;
import com.avos.avoscloud.AVOSCloud;
import com.avos.avoscloud.AVObject;
import com.avos.avoscloud.AVQuery;
import com.avos.avoscloud.AVUtils;
import com.avos.avoscloud.FindCallback;
import com.avos.avoscloud.LogUtil;
import com.avos.avoscloud.Session;
import com.avos.avoscloud.SessionManager;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements View.OnClickListener {
private EditText nameInput;
private Button joinButton;
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
joinButton = (Button) findViewById(R.id.button);
joinButton.setOnClickListener(this);
nameInput = (EditText) findViewById(R.id.editText);
String predefinedName =
PreferenceManager.getDefaultSharedPreferences(this).getString("username", null);
if (predefinedName != null) {
nameInput.setText(predefinedName);
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
@Override
public void onClick(View v) {
String name = nameInput.getText().toString();
if (name == null || name.trim().isEmpty()) {
nameInput.setError("");
return;
}
SharedPreferences spr = PreferenceManager.getDefaultSharedPreferences(this);
spr.edit().putString("username", name).commit();
AVInstallation currentInstallation = AVInstallation.getCurrentInstallation();
currentInstallation.put("name", name);
currentInstallation.saveInBackground();
// Intent intent = new Intent(this, HeartBeatActivity.class);
// startActivity(intent);
final String selfId = AVInstallation.getCurrentInstallation().getInstallationId();
List<String> peerIds = new LinkedList<String>();
Session session = SessionManager.getInstance(selfId);
session.setSignatureFactory(new KeepAliveSignatureFactory(AVOSCloud.applicationId, selfId));
session.open(selfId, peerIds);
}
}