package io.scal.secureshareui.login;
import timber.log.Timber;
import io.scal.secureshareui.controller.SiteController;
import java.io.IOException;
import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
public class ZonkeyLoginActivity extends LockableActivity {
private static final String TAG = "ArchiveLoginActivity";
private final static String ZONKEY_API_AUTHORIZE= "http://storymaker.cc/authorize";
private final static String ZONKEY_API_TOKEN= "http://storymaker.cc/request_token";
private final static String ZONKEY_API_ACCESS= "http://storymaker.cc/request_access";
private final static String app_name = "storymaker-test";
private final static String client_secret = "storymaker-test";
private final static String client_key = "b1e7024a3302a6045cdfb768413fa6ff6e3e405f";
private int mAccessResult = Activity.RESULT_CANCELED;
private String mAccessKey = null;
private String mSecretKey = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
authorize();
}
private void authorize() {
OkHttpClient client = new OkHttpClient();
Request.Builder builder = new Request.Builder()
.url(ZONKEY_API_AUTHORIZE)
.addHeader("client_id", client_key)
.addHeader("response_type", "code")
.addHeader("state", "anything here?");
Request request = builder.build();
HTTPTask httpTask = new HTTPTask(client, request);
httpTask.execute();
}
private void requestToken() {
OkHttpClient client = new OkHttpClient();
Request.Builder builder = new Request.Builder()
.url(ZONKEY_API_TOKEN)
.addHeader("code", "code from authorize()")
.addHeader("grant_type", "")
.addHeader("client_id", "need to get client id")
.addHeader("client_secret", "client secret from authorize()");
Request request = builder.build();
HTTPTask httpTask = new HTTPTask(client, request);
httpTask.execute();
}
private void requestAccess() {
OkHttpClient client = new OkHttpClient();
Request.Builder builder = new Request.Builder()
.url(ZONKEY_API_ACCESS)
.addHeader("accessToken", "token from requestToken()");
Request request = builder.build();
HTTPTask httpTask = new HTTPTask(client, request);
httpTask.execute();
}
private class HTTPTask extends AsyncTask<String, String, String> {
private OkHttpClient client;
private Request request;
private Response response;
public HTTPTask(OkHttpClient client, Request request) {
this.client = client;
this.request = request;
}
@Override
protected String doInBackground(String... params) {
Timber.d("Begin Authentication");
try {
response = client.newCall(request).execute();
Timber.d("response: " + response + ", body: " + response.body().string());
if (!response.isSuccessful()) {
} else {
}
} catch (IOException e) {
try {
Timber.d(response.body().string());
} catch (IOException e1) {
Timber.d("exception: " + e1.getLocalizedMessage() + ", stacktrace: " + e1.getStackTrace());
}
}
return "-1";
}
}
@Override
public void finish() {
Timber.d("finish()");
Intent data = new Intent();
data.putExtra(SiteController.EXTRAS_KEY_USERNAME, mAccessKey);
data.putExtra(SiteController.EXTRAS_KEY_CREDENTIALS, mSecretKey);
setResult(mAccessResult, data);
super.finish();
}
}