use of com.microsoft.live.LiveOperation in project LiveSDK-for-Android by liveservices.
the class ViewProfileActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.view_profile);
mNameTextView = (TextView) findViewById(R.id.nameTextView);
final LiveSdkSampleApplication app = (LiveSdkSampleApplication) getApplication();
findViewById(R.id.signOutButton).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
LiveAuthClient authClient = app.getAuthClient();
authClient.logout(new LiveAuthListener() {
@Override
public void onAuthError(LiveAuthException exception, Object userState) {
showToast(exception.getMessage());
}
@Override
public void onAuthComplete(LiveStatus status, LiveConnectSession session, Object userState) {
app.setSession(null);
app.setConnectClient(null);
getParent().finish();
}
});
}
});
final LiveConnectClient connectClient = app.getConnectClient();
connectClient.getAsync("me", new LiveOperationListener() {
@Override
public void onError(LiveOperationException exception, LiveOperation operation) {
showToast(exception.getMessage());
}
@Override
public void onComplete(LiveOperation operation) {
JSONObject result = operation.getResult();
if (result.has(JsonKeys.ERROR)) {
JSONObject error = result.optJSONObject(JsonKeys.ERROR);
String code = error.optString(JsonKeys.CODE);
String message = error.optString(JsonKeys.MESSAGE);
showToast(code + ": " + message);
} else {
User user = new User(result);
mNameTextView.setText("Hello, " + user.getName() + "!");
}
}
});
connectClient.getAsync("me/picture", new LiveOperationListener() {
@Override
public void onError(LiveOperationException exception, LiveOperation operation) {
showToast(exception.getMessage());
}
@Override
public void onComplete(LiveOperation operation) {
JSONObject result = operation.getResult();
if (result.has(JsonKeys.ERROR)) {
JSONObject error = result.optJSONObject(JsonKeys.ERROR);
String code = error.optString(JsonKeys.CODE);
String message = error.optString(JsonKeys.MESSAGE);
showToast(code + ": " + message);
return;
}
String location = result.optString(JsonKeys.LOCATION);
connectClient.downloadAsync(location, new LiveDownloadOperationListener() {
@Override
public void onDownloadProgress(int totalBytes, int bytesRemaining, LiveDownloadOperation operation) {
}
@Override
public void onDownloadFailed(LiveOperationException exception, LiveDownloadOperation operation) {
showToast(exception.getMessage());
}
@Override
public void onDownloadCompleted(LiveDownloadOperation operation) {
DownloadProfilePictureAsyncTask task = new DownloadProfilePictureAsyncTask();
task.execute(operation);
}
});
}
});
}
Aggregations