diff options
| author | Andrew Dolgov <noreply@fakecake.org> | 2014-10-17 00:06:56 +0400 |
|---|---|---|
| committer | Andrew Dolgov <noreply@fakecake.org> | 2014-10-17 00:06:56 +0400 |
| commit | 97cc96839d31b6cce59ec29a6681c6fe802552ee (patch) | |
| tree | 9f3b8df270095bc65c10cd7208d05b3dad4794b9 /src/org/fox/ttrss/share | |
| parent | 5775c0d56b7c856b508bb34e478eef53c2460624 (diff) | |
initial
Diffstat (limited to 'src/org/fox/ttrss/share')
| -rw-r--r-- | src/org/fox/ttrss/share/CommonActivity.java | 57 | ||||
| -rw-r--r-- | src/org/fox/ttrss/share/CommonShareActivity.java | 136 | ||||
| -rw-r--r-- | src/org/fox/ttrss/share/ShareActivity.java | 146 | ||||
| -rw-r--r-- | src/org/fox/ttrss/share/SubscribeActivity.java | 321 |
4 files changed, 0 insertions, 660 deletions
diff --git a/src/org/fox/ttrss/share/CommonActivity.java b/src/org/fox/ttrss/share/CommonActivity.java deleted file mode 100644 index 63458532..00000000 --- a/src/org/fox/ttrss/share/CommonActivity.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.fox.ttrss.share; - -import android.app.Activity; -import android.os.Bundle; -import android.util.Log; -import android.view.Display; -import android.widget.Toast; - -public class CommonActivity extends Activity { - private final String TAG = this.getClass().getSimpleName(); - - private boolean m_smallScreenMode = true; - private boolean m_compatMode = false; - - protected void setSmallScreen(boolean smallScreen) { - Log.d(TAG, "m_smallScreenMode=" + smallScreen); - m_smallScreenMode = smallScreen; - } - - public void toast(int msgId) { - Toast toast = Toast.makeText(CommonActivity.this, msgId, Toast.LENGTH_SHORT); - toast.show(); - } - - public void toast(String msg) { - Toast toast = Toast.makeText(CommonActivity.this, msg, Toast.LENGTH_SHORT); - toast.show(); - } - - @Override - public void onCreate(Bundle savedInstanceState) { - m_compatMode = android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB; - - Log.d(TAG, "m_compatMode=" + m_compatMode); - - super.onCreate(savedInstanceState); - } - - public boolean isSmallScreen() { - return m_smallScreenMode; - } - - public boolean isCompatMode() { - return m_compatMode; - } - - public boolean isPortrait() { - Display display = getWindowManager().getDefaultDisplay(); - - int width = display.getWidth(); - int height = display.getHeight(); - - return width < height; - } - - -} diff --git a/src/org/fox/ttrss/share/CommonShareActivity.java b/src/org/fox/ttrss/share/CommonShareActivity.java deleted file mode 100644 index 165d38f7..00000000 --- a/src/org/fox/ttrss/share/CommonShareActivity.java +++ /dev/null @@ -1,136 +0,0 @@ -package org.fox.ttrss.share; - -import java.util.HashMap; - -import org.fox.ttrss.ApiRequest; -import org.fox.ttrss.PreferencesActivity; -import org.fox.ttrss.R; -import org.fox.ttrss.util.SimpleLoginManager; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; - -import android.app.AlertDialog; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.content.SharedPreferences; -import android.os.Bundle; -import android.preference.PreferenceManager; -import android.util.Log; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; - - -public abstract class CommonShareActivity extends CommonActivity { - protected SharedPreferences m_prefs; - protected String m_sessionId; - protected int m_apiLevel = 0; - - private final String TAG = this.getClass().getSimpleName(); - - @Override - public void onCreate(Bundle savedInstanceState) { - m_prefs = PreferenceManager - .getDefaultSharedPreferences(getApplicationContext()); - - super.onCreate(savedInstanceState); - - if (savedInstanceState != null) { - m_sessionId = savedInstanceState.getString("sessionId"); - m_apiLevel = savedInstanceState.getInt("apiLevel"); - } - } - - @Override - public void onSaveInstanceState(Bundle out) { - super.onSaveInstanceState(out); - - out.putString("sessionId", m_sessionId); - out.putInt("apiLevel", m_apiLevel); - } - - protected abstract void onLoggedIn(int requestId); - - protected abstract void onLoggingIn(int requestId); - - public void login(int requestId) { - - if (m_prefs.getString("ttrss_url", "").trim().length() == 0) { - - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setMessage(R.string.dialog_need_configure_prompt) - .setCancelable(false) - .setPositiveButton(R.string.dialog_open_preferences, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - // launch preferences - - Intent intent = new Intent(CommonShareActivity.this, - PreferencesActivity.class); - startActivityForResult(intent, 0); - } - }) - .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - - } else { - - SimpleLoginManager loginManager = new SimpleLoginManager() { - - @Override - protected void onLoginSuccess(int requestId, String sessionId, int apiLevel) { - m_sessionId = sessionId; - m_apiLevel = apiLevel; - - CommonShareActivity.this.onLoggedIn(requestId); - } - - @Override - protected void onLoginFailed(int requestId, ApiRequest ar) { - toast(ar.getErrorMessage()); - setProgressBarIndeterminateVisibility(false); - } - - @Override - protected void onLoggingIn(int requestId) { - CommonShareActivity.this.onLoggingIn(requestId); - } - }; - - String login = m_prefs.getString("login", "").trim(); - String password = m_prefs.getString("password", "").trim(); - - loginManager.logIn(this, requestId, login, password); - } - } - - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case R.id.preferences: - Intent intent = new Intent(CommonShareActivity.this, - PreferencesActivity.class); - startActivityForResult(intent, 0); - return true; - default: - Log.d(TAG, - "onOptionsItemSelected, unhandled id=" + item.getItemId()); - return super.onOptionsItemSelected(item); - } - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.share_menu, menu); - return true; - } - - - -} diff --git a/src/org/fox/ttrss/share/ShareActivity.java b/src/org/fox/ttrss/share/ShareActivity.java deleted file mode 100644 index dff48502..00000000 --- a/src/org/fox/ttrss/share/ShareActivity.java +++ /dev/null @@ -1,146 +0,0 @@ -package org.fox.ttrss.share; - -import java.util.HashMap; - -import org.fox.ttrss.ApiRequest; -import org.fox.ttrss.R; - -import android.content.Intent; -import android.os.Bundle; -import android.view.View; -import android.view.Window; -import android.widget.Button; -import android.widget.EditText; - -import com.google.gson.JsonElement; - -public class ShareActivity extends CommonShareActivity { - private final String TAG = this.getClass().getSimpleName(); - - private Button m_button; - - @Override - public void onCreate(Bundle savedInstanceState) { - //setTheme(R.style.DarkTheme); - - super.onCreate(savedInstanceState); - - requestWindowFeature(Window.FEATURE_LEFT_ICON); - - Intent intent = getIntent(); - - String urlValue = intent.getStringExtra(Intent.EXTRA_TEXT); - String titleValue = intent.getStringExtra(Intent.EXTRA_SUBJECT); - String contentValue = ""; - - if (savedInstanceState != null) { - urlValue = savedInstanceState.getString("url"); - titleValue = savedInstanceState.getString("title"); - contentValue = savedInstanceState.getString("content"); - } - - setContentView(R.layout.share); - - getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.icon); - - setSmallScreen(false); - - EditText url = (EditText) findViewById(R.id.url); - url.setText(urlValue); - - EditText title = (EditText) findViewById(R.id.title); - title.setText(titleValue); - - EditText content = (EditText) findViewById(R.id.content); - content.setText(contentValue); - - m_button = (Button) findViewById(R.id.share_button); - - m_button.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - login(0); - } - }); - } - - @Override - public void onSaveInstanceState(Bundle out) { - super.onSaveInstanceState(out); - - EditText url = (EditText) findViewById(R.id.url); - - if (url != null) { - out.putString("url", url.getText().toString()); - } - - EditText title = (EditText) findViewById(R.id.title); - - if (title != null) { - out.putString("title", title.getText().toString()); - } - - EditText content = (EditText) findViewById(R.id.content); - - if (content != null) { - out.putString("content", content.getText().toString()); - } - - } - - private void postData() { - m_button.setEnabled(false); - - ApiRequest req = new ApiRequest(getApplicationContext()) { - protected void onPostExecute(JsonElement result) { - setProgressBarIndeterminateVisibility(false); - - if (m_lastError != ApiError.NO_ERROR) { - toast(getErrorMessage()); - } else { - toast(R.string.share_article_posted); - finish(); - } - - m_button.setEnabled(true); - } - }; - - final EditText url = (EditText) findViewById(R.id.url); - final EditText title = (EditText) findViewById(R.id.title); - final EditText content = (EditText) findViewById(R.id.content); - - if (url != null && title != null && content != null) { - HashMap<String, String> map = new HashMap<String, String>() { - { - put("sid", m_sessionId); - put("op", "shareToPublished"); - put("title", title.getText().toString()); - put("url", url.getText().toString()); - put("content", content.getText().toString()); - } - }; - - setProgressBarIndeterminateVisibility(true); - - req.execute(map); - } - } - - - @Override - public void onLoggingIn(int requestId) { - m_button.setEnabled(false); - } - - @Override - protected void onLoggedIn(int requestId) { - m_button.setEnabled(true); - - if (m_apiLevel < 4) { - toast(R.string.api_too_low); - } else { - postData(); - } - } -} diff --git a/src/org/fox/ttrss/share/SubscribeActivity.java b/src/org/fox/ttrss/share/SubscribeActivity.java deleted file mode 100644 index bd7e964f..00000000 --- a/src/org/fox/ttrss/share/SubscribeActivity.java +++ /dev/null @@ -1,321 +0,0 @@ -package org.fox.ttrss.share; - -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; - -import org.fox.ttrss.ApiRequest; -import org.fox.ttrss.R; -import org.fox.ttrss.types.FeedCategory; -import org.fox.ttrss.types.FeedCategoryList; - -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.util.Log; -import android.view.View; -import android.view.Window; -import android.widget.ArrayAdapter; -import android.widget.Button; -import android.widget.EditText; -import android.widget.Spinner; - -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.reflect.TypeToken; - -public class SubscribeActivity extends CommonShareActivity { - private final String TAG = this.getClass().getSimpleName(); - - private Button m_postButton; - private Button m_catButton; - private CatListAdapter m_adapter; - private FeedCategoryList m_cats = new FeedCategoryList(); - - private static final int REQ_CATS = 1; - private static final int REQ_POST = 2; - - class CatTitleComparator implements Comparator<FeedCategory> { - - @Override - public int compare(FeedCategory a, FeedCategory b) { - if (a.id >= 0 && b.id >= 0) - return a.title.compareTo(b.title); - else - return a.id - b.id; - } - - } - - public void sortCats() { - Comparator<FeedCategory> cmp = new CatTitleComparator(); - - Collections.sort(m_cats, cmp); - try { - m_adapter.notifyDataSetChanged(); - } catch (NullPointerException e) { - // adapter missing - } - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - requestWindowFeature(Window.FEATURE_LEFT_ICON); - - String urlValue = getIntent().getDataString(); - - if (urlValue == null) - urlValue = getIntent().getStringExtra(Intent.EXTRA_TEXT); - - if (savedInstanceState != null) { - urlValue = savedInstanceState.getString("url"); - - ArrayList<FeedCategory> list = savedInstanceState.getParcelableArrayList("cats"); - - for (FeedCategory c : list) - m_cats.add(c); - } - - setContentView(R.layout.subscribe); - - getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.icon); - - setSmallScreen(false); - - Spinner catList = (Spinner) findViewById(R.id.category_spinner); - - if (m_cats.size() == 0) m_cats.add(new FeedCategory(0, "Uncategorized", 0)); - - m_adapter = new CatListAdapter(this, android.R.layout.simple_spinner_dropdown_item, m_cats); - catList.setAdapter(m_adapter); - - EditText feedUrl = (EditText) findViewById(R.id.feed_url); - feedUrl.setText(urlValue); - - m_postButton = (Button) findViewById(R.id.subscribe_button); - - m_postButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - login(REQ_POST); - } - }); - - m_catButton = (Button) findViewById(R.id.cats_button); - - m_catButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - login(REQ_CATS); - } - }); - - login(REQ_CATS); - } - - @Override - public void onSaveInstanceState(Bundle out) { - super.onSaveInstanceState(out); - - EditText url = (EditText) findViewById(R.id.url); - - if (url != null) { - out.putString("url", url.getText().toString()); - } - - out.putParcelableArrayList("cats", m_cats); - - } - - private void subscribeToFeed() { - m_postButton.setEnabled(false); - - ApiRequest req = new ApiRequest(getApplicationContext()) { - protected void onPostExecute(JsonElement result) { - setProgressBarIndeterminateVisibility(false); - - if (m_lastError != ApiError.NO_ERROR) { - toast(getErrorMessage()); - } else { - try { - int rc = -1; - - try { - rc = result.getAsJsonObject().get("status").getAsJsonObject().get("code").getAsInt(); - } catch (Exception e) { - e.printStackTrace(); - } - - switch (rc) { - case -1: - toast(R.string.error_api_unknown); - //finish(); - break; - case 0: - toast(R.string.error_feed_already_exists_); - //finish(); - break; - case 1: - toast(R.string.subscribed_to_feed); - finish(); - break; - case 2: - toast(R.string.error_invalid_url); - break; - case 3: - toast(R.string.error_url_is_an_html_page_no_feeds_found); - break; - case 4: - toast(R.string.error_url_contains_multiple_feeds); - break; - case 5: - toast(R.string.error_could_not_download_url); - break; - } - - } catch (Exception e) { - toast(R.string.error_while_subscribing); - e.printStackTrace(); - } - } - - m_postButton.setEnabled(true); - } - }; - - Spinner catSpinner = (Spinner) findViewById(R.id.category_spinner); - - final FeedCategory cat = (FeedCategory) m_adapter.getCategory(catSpinner.getSelectedItemPosition()); - final EditText feedUrl = (EditText) findViewById(R.id.feed_url); - - if (feedUrl != null ) { - HashMap<String, String> map = new HashMap<String, String>() { - { - put("sid", m_sessionId); - put("op", "subscribeToFeed"); - put("feed_url", feedUrl.getText().toString()); - - if (cat != null) { - put("category_id", String.valueOf(cat.id)); - } - } - }; - - setProgressBarIndeterminateVisibility(true); - - req.execute(map); - } - } - - @Override - public void onLoggingIn(int requestId) { - switch (requestId) { - case REQ_CATS: - m_catButton.setEnabled(false); - break; - case REQ_POST: - m_postButton.setEnabled(false); - break; - } - } - - private void updateCats() { - ApiRequest req = new ApiRequest(getApplicationContext()) { - protected void onPostExecute(JsonElement result) { - setProgressBarIndeterminateVisibility(false); - - if (m_lastError != ApiError.NO_ERROR) { - toast(getErrorMessage()); - } else { - JsonArray content = result.getAsJsonArray(); - - if (content != null) { - Type listType = new TypeToken<List<FeedCategory>>() {}.getType(); - final List<FeedCategory> cats = new Gson().fromJson(content, listType); - - m_cats.clear(); - - for (FeedCategory c : cats) { - if (c.id > 0) - m_cats.add(c); - } - - sortCats(); - - m_cats.add(0, new FeedCategory(0, "Uncategorized", 0)); - - m_adapter.notifyDataSetChanged(); - - toast(R.string.category_list_updated); - } - } - - m_catButton.setEnabled(true); - } - }; - - HashMap<String, String> map = new HashMap<String, String>() { - { - put("sid", m_sessionId); - put("op", "getCategories"); - } - }; - - setProgressBarIndeterminateVisibility(true); - - req.execute(map); - } - - @Override - protected void onLoggedIn(int requestId) { - switch (requestId) { - case REQ_CATS: - updateCats(); - break; - case REQ_POST: - m_postButton.setEnabled(true); - if (m_apiLevel < 5) { - toast(R.string.api_too_low); - } else { - subscribeToFeed(); - } - break; - } - } - - private class CatListAdapter extends ArrayAdapter<String> { - private List<FeedCategory> m_items; - - public CatListAdapter(Context context, int resource, - List<FeedCategory> items) { - super(context, resource); - - m_items = items; - } - - @Override - public String getItem(int item) { - return m_items.get(item).title; - } - - public FeedCategory getCategory(int item) { - try { - return m_items.get(item); - } catch (ArrayIndexOutOfBoundsException e) { - return null; - } - } - - @Override - public int getCount() { - return m_items.size(); - } - } - -} |