diff --git a/res/layout/feeds_fragment.xml b/res/layout/feeds_fragment.xml index 9b22dce8..09a975ee 100644 --- a/res/layout/feeds_fragment.xml +++ b/res/layout/feeds_fragment.xml @@ -2,14 +2,8 @@ - - - - + android:layout_height="fill_parent"> + + diff --git a/res/layout/headlines_fragment.xml b/res/layout/headlines_fragment.xml index 4be9fe5b..ffcad32c 100644 --- a/res/layout/headlines_fragment.xml +++ b/res/layout/headlines_fragment.xml @@ -2,15 +2,8 @@ - - - - - + android:layout_height="fill_parent" android:id="@+id/headlines_fragment"> + + diff --git a/res/layout/main.xml b/res/layout/main.xml index 65a5be25..86fcf5fa 100644 --- a/res/layout/main.xml +++ b/res/layout/main.xml @@ -8,14 +8,6 @@ - - - - - - - - diff --git a/res/values/strings.xml b/res/values/strings.xml index c24d6911..72aa1cb6 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -24,9 +24,6 @@ Login failed: username or password incorrect. Logged in. No unread feeds. - Offline - Online - Synchronizing... - No articles found. + No unread headlines. Loading, please wait... 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, 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... params) { + + Gson gson = new Gson(); + + String requestStr = gson.toJson(new HashMap(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); + + ApiRequest ar = new ApiRequest(); + ar.setApi(m_prefs.getString("ttrss_url", null)); - ViewFlipper vf = (ViewFlipper) findViewById(R.id.main_flipper); + HashMap loginMap = new HashMap() { + { + 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