summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2011-11-22 15:49:21 +0300
committerAndrew Dolgov <[email protected]>2011-11-22 15:49:21 +0300
commit2c12a4b67761ac74f0acb4590d21ce9b5c42cecb (patch)
tree17f59e11023a2fec281f00a3adedfcdcee1a06c4 /src
parentd9d778c56503cf65dbbd13079890412621d551c8 (diff)
more cleanup, initial async apirequest stuff
Diffstat (limited to 'src')
-rw-r--r--src/org/fox/ttrss/ApiRequest.java59
-rw-r--r--src/org/fox/ttrss/MainActivity.java30
2 files changed, 84 insertions, 5 deletions
diff --git a/src/org/fox/ttrss/ApiRequest.java b/src/org/fox/ttrss/ApiRequest.java
index 4a88b48e..5e06d682 100644
--- a/src/org/fox/ttrss/ApiRequest.java
+++ b/src/org/fox/ttrss/ApiRequest.java
@@ -10,6 +10,7 @@ import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
+import android.os.AsyncTask;
import android.util.Log;
import com.google.gson.Gson;
@@ -17,10 +18,62 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-public class ApiRequest {
+public class ApiRequest extends AsyncTask<HashMap<String,String>, Integer, JsonElement> {
private final String TAG = this.getClass().getSimpleName();
- protected String m_sessionId;
+ protected static final int STATUS_LOGIN_FAILED = 0;
+ protected static final int STATUS_OK = 1;
+ protected static final int STATUS_API_DISABLED = 2;
+ protected static final int STATUS_OTHER_ERROR = 3;
+
+ private String m_api;
+
+ protected void setApi(String api) {
+ m_api = api;
+ }
+
+ @Override
+ protected JsonElement doInBackground(HashMap<String, String>... params) {
+
+ Gson gson = new Gson();
+
+ String requestStr = gson.toJson(new HashMap<String,String>(params[0]));
+
+ Log.d(TAG, ">>> (" + requestStr + ") " + m_api);
+
+ DefaultHttpClient client = new DefaultHttpClient();
+ HttpPost httpPost = new HttpPost(m_api + "/api/");
+
+ try {
+ httpPost.setEntity(new StringEntity(requestStr, "utf-8"));
+ HttpResponse execute = client.execute(httpPost);
+
+ InputStream content = execute.getEntity().getContent();
+
+ BufferedReader buffer = new BufferedReader(
+ new InputStreamReader(content));
+
+ String s = "";
+ String response = "";
+
+ while ((s = buffer.readLine()) != null) {
+ response += s;
+ }
+
+ Log.d(TAG, "<<< " + response);
+
+ JsonParser parser = new JsonParser();
+
+ return parser.parse(response);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+
+ /* protected String m_sessionId;
protected String m_apiEndpoint;
protected String m_login;
protected String m_password;
@@ -173,5 +226,5 @@ public class ApiRequest {
}
return null;
- }
+ } */
}
diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java
index 1525a439..03937ac2 100644
--- a/src/org/fox/ttrss/MainActivity.java
+++ b/src/org/fox/ttrss/MainActivity.java
@@ -72,12 +72,37 @@ public class MainActivity extends Activity {
}
setContentView(R.layout.main);
-
- ViewFlipper vf = (ViewFlipper) findViewById(R.id.main_flipper);
+
+ ApiRequest ar = new ApiRequest();
+ ar.setApi(m_prefs.getString("ttrss_url", null));
+
+ HashMap<String,String> loginMap = new HashMap<String,String>() {
+ {
+ put("op", "login");
+ put("user", m_prefs.getString("login", null));
+ put("password", m_prefs.getString("password", null));
+ }
+ };
+
+ ar.execute(loginMap);
+
+ /* ViewFlipper vf = (ViewFlipper) findViewById(R.id.main_flipper);
if (vf != null) {
vf.showNext();
}
+
+ HeadlinesFragment hf = new HeadlinesFragment();
+ FeedsFragment ff = new FeedsFragment();
+ ArticleFragment af = new ArticleFragment();
+
+ FragmentTransaction ft = getFragmentManager().beginTransaction();
+ ft.add(R.id.main, ff);
+ ft.add(R.id.main, hf);
+ ft.add(R.id.main, af);
+ ft.hide(hf);
+ ft.hide(af);
+ ft.commit(); */
}
@Override
@@ -123,4 +148,5 @@ public class MainActivity extends Activity {
return super.onOptionsItemSelected(item);
}
}
+
} \ No newline at end of file