aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
authorCamil Staps2015-05-23 23:11:26 +0200
committerCamil Staps2015-05-23 23:11:26 +0200
commit9ed69fd52d7ccee0e9f9b82501bd7fd46441e5a6 (patch)
tree4dbe450ca19cb9839fe5fe3f75e44878a92f8381 /app/src/main/java
parentMerge branch 'master' into app (diff)
Cleanup; general Frontend class for displaying user messages
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/org/rssin/android/FilterActivity.java9
-rw-r--r--app/src/main/java/org/rssin/android/FilterSettingsActivity.java20
-rwxr-xr-xapp/src/main/java/org/rssin/android/FiltersActivity.java11
-rw-r--r--app/src/main/java/org/rssin/android/Frontend.java159
-rw-r--r--app/src/main/java/org/rssin/android/InternalStorageProvider.java2
-rw-r--r--app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java2
-rw-r--r--app/src/main/java/org/rssin/android/VolleyFetcher.java3
7 files changed, 174 insertions, 32 deletions
diff --git a/app/src/main/java/org/rssin/android/FilterActivity.java b/app/src/main/java/org/rssin/android/FilterActivity.java
index 5d57977..b1be925 100644
--- a/app/src/main/java/org/rssin/android/FilterActivity.java
+++ b/app/src/main/java/org/rssin/android/FilterActivity.java
@@ -6,7 +6,6 @@ import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.text.Html;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -15,7 +14,6 @@ import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
-import android.widget.Toast;
import com.android.volley.VolleyError;
@@ -41,7 +39,7 @@ public class FilterActivity extends ActionBarActivity {
try {
filtersList = FiltersList.getInstance(this);
} catch (IOException e) {
- Toast.makeText(this, getResources().getString(R.string.error_load_filters), Toast.LENGTH_SHORT).show();
+ Frontend.error(this, R.string.error_load_filters, e);
}
Intent intent = getIntent();
@@ -65,8 +63,7 @@ public class FilterActivity extends ActionBarActivity {
@Override
public void onError(VolleyError error) {
- Toast.makeText(getBaseContext(), getResources().getString(R.string.error_net_load), Toast.LENGTH_SHORT).show();
- Log.e("FA", "VolleyError", error);
+ Frontend.error(getBaseContext(), R.string.error_net_load);
}
});
}
@@ -97,7 +94,7 @@ public class FilterActivity extends ActionBarActivity {
try {
filter.storeFeedSorter(DefaultStorageProvider.getInstance(this));
} catch (Exception e) {
- Toast.makeText(this, getResources().getString(R.string.error_save_feedsorter), Toast.LENGTH_SHORT).show();
+ Frontend.warning(this, R.string.error_save_feedsorter, e);
}
}
diff --git a/app/src/main/java/org/rssin/android/FilterSettingsActivity.java b/app/src/main/java/org/rssin/android/FilterSettingsActivity.java
index 9639731..3de0882 100644
--- a/app/src/main/java/org/rssin/android/FilterSettingsActivity.java
+++ b/app/src/main/java/org/rssin/android/FilterSettingsActivity.java
@@ -10,7 +10,6 @@ import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -19,11 +18,9 @@ import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
-import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
-import android.widget.Toast;
import org.rssin.rssin.Feed;
import org.rssin.rssin.Filter;
@@ -49,7 +46,7 @@ public class FilterSettingsActivity extends ActionBarActivity {
try {
filtersList = FiltersList.getInstance(this);
} catch (IOException e) {
- Toast.makeText(this, getResources().getString(R.string.error_load_filters), Toast.LENGTH_SHORT).show();
+ Frontend.error(this, R.string.error_load_filters, e);
}
Intent intent = getIntent();
@@ -75,7 +72,7 @@ public class FilterSettingsActivity extends ActionBarActivity {
} catch (Exception e) {
filter.getKeywords().add(keyword);
keywordAdapter.notifyDataSetChanged();
- Toast.makeText(getBaseContext(), getResources().getString(R.string.error_save_filters), Toast.LENGTH_SHORT).show();
+ Frontend.error(getBaseContext(), R.string.error_save_filters, e);
return false;
}
}
@@ -105,7 +102,7 @@ public class FilterSettingsActivity extends ActionBarActivity {
filtersList.save();
finish();
} catch (Exception e) {
- Toast.makeText(this, getResources().getString(R.string.error_delete_filter), Toast.LENGTH_SHORT).show();
+ Frontend.error(this, R.string.error_delete_filter, e);
}
return true;
}
@@ -161,7 +158,7 @@ public class FilterSettingsActivity extends ActionBarActivity {
filtersList.save();
setTitle();
} catch (Exception e) {
- Toast.makeText(getBaseContext(), getResources().getString(R.string.error_save_filters), Toast.LENGTH_SHORT).show();
+ Frontend.error(getBaseContext(), R.string.error_save_filters, e);
}
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
@@ -201,8 +198,7 @@ public class FilterSettingsActivity extends ActionBarActivity {
} catch (Exception e) {
filter.getKeywords().remove(k);
keywordAdapter.notifyDataSetChanged();
- Toast.makeText(this, getResources().getString(R.string.error_save_filters), Toast.LENGTH_SHORT).show();
- Log.e("FSA", e.getMessage(), e);
+ Frontend.error(this, R.string.error_save_filters, e);
}
}
@@ -231,7 +227,7 @@ public class FilterSettingsActivity extends ActionBarActivity {
feedAdapter.notifyDataSetChanged();
return true;
} catch (Exception e) {
- Toast.makeText(getActivity(), getResources().getString(R.string.error_save_filters), Toast.LENGTH_SHORT).show();
+ Frontend.error(getActivity(), R.string.error_save_filters, e);
filter.getFeeds().add(feed);
return false;
}
@@ -255,11 +251,11 @@ public class FilterSettingsActivity extends ActionBarActivity {
feedAdapter.notifyDataSetChanged();
editText.setText("");
} catch (Exception e) {
- Toast.makeText(getActivity(), getResources().getString(R.string.error_save_filters), Toast.LENGTH_SHORT).show();
+ Frontend.error(getActivity(), R.string.error_save_filters, e);
filter.getFeeds().remove(feed);
}
} catch (MalformedURLException e) {
- Toast.makeText(getActivity(), getResources().getString(R.string.error_invalid_url), Toast.LENGTH_SHORT).show();
+ Frontend.info(getActivity(), R.string.error_invalid_url, e);
}
}
});
diff --git a/app/src/main/java/org/rssin/android/FiltersActivity.java b/app/src/main/java/org/rssin/android/FiltersActivity.java
index ab7061b..ca9337b 100755
--- a/app/src/main/java/org/rssin/android/FiltersActivity.java
+++ b/app/src/main/java/org/rssin/android/FiltersActivity.java
@@ -8,7 +8,6 @@ import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -20,16 +19,11 @@ import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
-import android.widget.Toast;
-import org.rssin.rssin.Feed;
import org.rssin.rssin.Filter;
-import org.rssin.rssin.Keyword;
import org.rssin.rssin.R;
import java.io.IOException;
-import java.io.InvalidClassException;
-import java.net.MalformedURLException;
import java.util.List;
/**
@@ -58,8 +52,7 @@ public class FiltersActivity extends ActionBarActivity {
try {
filtersList = FiltersList.getInstance(this);
} catch (IOException ex) {
- Toast.makeText(this, "Couldn't load filters.", Toast.LENGTH_SHORT).show();
- Log.e("FILTER", "IOException", ex);
+ Frontend.error(this, R.string.error_load_filters, ex);
finish();
}
@@ -139,7 +132,7 @@ public class FiltersActivity extends ActionBarActivity {
filtersList.save();
openFilterSettings(f);
} catch (Exception e) {
- Toast.makeText(getBaseContext(), getResources().getString(R.string.error_save_filters), Toast.LENGTH_SHORT).show();
+ Frontend.error(getBaseContext(), R.string.error_save_filters, e);
}
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
diff --git a/app/src/main/java/org/rssin/android/Frontend.java b/app/src/main/java/org/rssin/android/Frontend.java
new file mode 100644
index 0000000..8730f25
--- /dev/null
+++ b/app/src/main/java/org/rssin/android/Frontend.java
@@ -0,0 +1,159 @@
+package org.rssin.android;
+
+import android.content.Context;
+import android.util.Log;
+import android.widget.Toast;
+
+/**
+ * Easy way to show messages to the user
+ * @author Camil Staps
+ */
+class Frontend {
+
+ public static final int ERROR_TIMEOUT = 5000;
+ public static final int WARNING_TIMEOUT = 5000;
+ public static final int INFO_TIMEOUT = 5000;
+
+ /**
+ * Show an error
+ * @param context The context to show in
+ * @param message The message
+ * @param e An exception
+ * @param timeout The time the error should be shown, in ms (since we're using Toast, not accurate)
+ */
+ public static void error(Context context, String message, Exception e, int timeout) {
+ Toast.makeText(context, message, timeout > 3000 ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT).show();
+ Log.e("FRONTEND", message, e);
+ }
+
+ /**
+ * Show an error
+ * @see #error(Context, String, Exception, int)
+ * @param context
+ * @param messageId R.string.---
+ * @param e An exception
+ * @param timeout
+ */
+ public static void error(Context context, int messageId, Exception e, int timeout) {
+ error(context, context.getResources().getString(messageId), e, timeout);
+ }
+
+ public static void error(Context context, String message, Exception e) {
+ error(context, message, e, ERROR_TIMEOUT);
+ }
+
+ public static void error(Context context, int messageId, Exception e) {
+ error(context, messageId, e, ERROR_TIMEOUT);
+ }
+
+ public static void error(Context context, String message, int timeout) {
+ error(context, message, null, timeout);
+ }
+
+ public static void error(Context context, int messageId, int timeout) {
+ error(context, messageId, null, timeout);
+ }
+
+ public static void error(Context context, String message) {
+ error(context, message, null, ERROR_TIMEOUT);
+ }
+
+ public static void error(Context context, int messageId) {
+ error(context, messageId, null, ERROR_TIMEOUT);
+ }
+
+ /**
+ * Show a warning
+ * @param context The context to show in
+ * @param message The message
+ * @param e An exception
+ * @param timeout The time the warning should be shown, in ms (since we're using Toast, not accurate)
+ */
+ public static void warning(Context context, String message, Exception e, int timeout) {
+ Toast.makeText(context, message, timeout > 3000 ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT).show();
+ Log.w("FRONTEND", message, e);
+ }
+
+ /**
+ * Show a warning
+ * @see #warning(Context, String, Exception, int)
+ * @param context
+ * @param messageId R.string.---
+ * @param timeout
+ */
+ public static void warning(Context context, int messageId, Exception e, int timeout) {
+ warning(context, context.getResources().getString(messageId), e, timeout);
+ }
+
+ public static void warning(Context context, String message, Exception e) {
+ warning(context, message, e, WARNING_TIMEOUT);
+ }
+
+ public static void warning(Context context, int messageId, Exception e) {
+ warning(context, messageId, e, WARNING_TIMEOUT);
+ }
+
+ public static void warning(Context context, String message, int timeout) {
+ warning(context, message, null, timeout);
+ }
+
+ public static void warning(Context context, int messageId, int timeout) {
+ warning(context, messageId, null, timeout);
+ }
+
+ public static void warning(Context context, String message) {
+ warning(context, message, null, WARNING_TIMEOUT);
+ }
+
+ public static void warning(Context context, int messageId) {
+ warning(context, messageId, null, WARNING_TIMEOUT);
+ }
+
+ /**
+ * Show an info message
+ * @param context The context to show in
+ * @param message The message
+ * @param e An exception
+ * @param timeout The time the info message should be shown, in ms (since we're using Toast, not accurate)
+ */
+ public static void info(Context context, String message, Exception e, int timeout) {
+ Toast.makeText(context, message, timeout > 3000 ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT).show();
+ Log.i("FRONTEND", message, e);
+ }
+
+ /**
+ * Show a warning
+ * @see #info(Context, String, Exception, int)
+ * @param context
+ * @param messageId R.string.---
+ * @param timeout
+ */
+ public static void info(Context context, int messageId, Exception e, int timeout) {
+ info(context, context.getResources().getString(messageId), e, timeout);
+ }
+
+ public static void info(Context context, String message, Exception e) {
+ info(context, message, e, INFO_TIMEOUT);
+ }
+
+ public static void info(Context context, int messageId, Exception e) {
+ info(context, messageId, e, INFO_TIMEOUT);
+ }
+
+ public static void info(Context context, String message, int timeout) {
+ info(context, message, null, timeout);
+ }
+
+ public static void info(Context context, int messageId, int timeout) {
+ info(context, messageId, null, timeout);
+ }
+
+ public static void info(Context context, String message) {
+ info(context, message, null, INFO_TIMEOUT);
+ }
+
+ public static void info(Context context, int messageId) {
+ info(context, messageId, null, INFO_TIMEOUT);
+ }
+
+}
diff --git a/app/src/main/java/org/rssin/android/InternalStorageProvider.java b/app/src/main/java/org/rssin/android/InternalStorageProvider.java
index feff5f0..0868bb6 100644
--- a/app/src/main/java/org/rssin/android/InternalStorageProvider.java
+++ b/app/src/main/java/org/rssin/android/InternalStorageProvider.java
@@ -1,7 +1,6 @@
package org.rssin.android;
import android.content.Context;
-import android.util.Log;
import org.rssin.neurons.FeedSorter;
import org.rssin.rssin.Filter;
@@ -111,7 +110,6 @@ class InternalStorageProvider implements StorageProvider<String, Storable>, Filt
public List<Filter> allFilters() {
List<Filter> filters = new ArrayList<>();
for (String fileName : context.fileList()) {
- Log.d("ISP", "File: " + fileName);
try {
filters.add((Filter) fetchFromFilename(fileName));
} catch (ClassCastException | IOException e) {}
diff --git a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
index fdcbe04..aee7df0 100644
--- a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
+++ b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
@@ -3,7 +3,6 @@ package org.rssin.android;
import android.content.Context;
import android.content.SharedPreferences;
import android.util.Base64;
-import android.util.Log;
import org.rssin.rssin.Filter;
import org.rssin.storage.FilterStorageProvider;
@@ -109,7 +108,6 @@ class SharedPreferencesStorageProvider implements StorageProvider, FilterStorage
try {
return (Filter) fetch(key.toString(), Filter.class);
} catch (Exception e) {
- Log.e("SPSP", "Failed fetching filter", e);
return null;
}
}
diff --git a/app/src/main/java/org/rssin/android/VolleyFetcher.java b/app/src/main/java/org/rssin/android/VolleyFetcher.java
index 8513128..af6895e 100644
--- a/app/src/main/java/org/rssin/android/VolleyFetcher.java
+++ b/app/src/main/java/org/rssin/android/VolleyFetcher.java
@@ -14,7 +14,8 @@ import org.rssin.listener.ErrorListener;
import org.rssin.listener.Listener;
/**
- * Created by camilstaps on 21-5-15.
+ * Fetcher class using Volley
+ * @author Camil Staps
*/
class VolleyFetcher implements Fetcher {