summaryrefslogtreecommitdiff
path: root/src/de/podfetcher/activity
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-07-09 19:52:47 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2012-07-09 19:52:47 +0200
commitd1c73645c4829f6e2f33e355ef9120887944b3de (patch)
treeae9c1dd873fde48fd66ce72980d806d9b5c05d15 /src/de/podfetcher/activity
parentf73c4020055f5eaab121ca1959c2cd8dda54ccf0 (diff)
downloadAntennaPod-d1c73645c4829f6e2f33e355ef9120887944b3de.zip
Added error activity if no external storage is available
Diffstat (limited to 'src/de/podfetcher/activity')
-rw-r--r--src/de/podfetcher/activity/AddFeedActivity.java9
-rw-r--r--src/de/podfetcher/activity/FeedItemlistActivity.java32
-rw-r--r--src/de/podfetcher/activity/ItemviewActivity.java12
-rw-r--r--src/de/podfetcher/activity/MediaplayerActivity.java3
-rw-r--r--src/de/podfetcher/activity/PodfetcherActivity.java3
-rw-r--r--src/de/podfetcher/activity/StorageErrorActivity.java51
6 files changed, 98 insertions, 12 deletions
diff --git a/src/de/podfetcher/activity/AddFeedActivity.java b/src/de/podfetcher/activity/AddFeedActivity.java
index 83fb073d0..994a8f102 100644
--- a/src/de/podfetcher/activity/AddFeedActivity.java
+++ b/src/de/podfetcher/activity/AddFeedActivity.java
@@ -20,6 +20,7 @@ import de.podfetcher.feed.FeedManager;
import de.podfetcher.storage.DownloadRequester;
import de.podfetcher.util.ConnectionTester;
import de.podfetcher.util.DownloadError;
+import de.podfetcher.util.StorageUtils;
import de.podfetcher.util.URLChecker;
import de.podfetcher.service.DownloadService;
@@ -52,6 +53,7 @@ public class AddFeedActivity extends SherlockActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ StorageUtils.checkStorageAvailability(this);
setContentView(R.layout.addfeed);
requester = DownloadRequester.getInstance();
@@ -97,6 +99,13 @@ public class AddFeedActivity extends SherlockActivity {
}
@Override
+ protected void onResume() {
+ super.onResume();
+ StorageUtils.checkStorageAvailability(this);
+
+ }
+
+ @Override
protected void onStop() {
super.onStop();
Log.d(TAG, "Stopping Activity");
diff --git a/src/de/podfetcher/activity/FeedItemlistActivity.java b/src/de/podfetcher/activity/FeedItemlistActivity.java
index e4642eb46..e6e673ac6 100644
--- a/src/de/podfetcher/activity/FeedItemlistActivity.java
+++ b/src/de/podfetcher/activity/FeedItemlistActivity.java
@@ -1,6 +1,5 @@
package de.podfetcher.activity;
-
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
@@ -21,6 +20,7 @@ import de.podfetcher.feed.FeedManager;
import de.podfetcher.fragment.ItemlistFragment;
import de.podfetcher.fragment.FeedlistFragment;
import de.podfetcher.util.FeedMenuHandler;
+import de.podfetcher.util.StorageUtils;
/** Displays a List of FeedItems */
public class FeedItemlistActivity extends SherlockFragmentActivity {
@@ -35,30 +35,40 @@ public class FeedItemlistActivity extends SherlockFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ StorageUtils.checkStorageAvailability(this);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setContentView(R.layout.feeditemlist_activity);
-
+
manager = FeedManager.getInstance();
- long feedId = getIntent().getLongExtra(FeedlistFragment.EXTRA_SELECTED_FEED, -1);
- if(feedId == -1) Log.e(TAG, "Received invalid feed selection.");
+ long feedId = getIntent().getLongExtra(
+ FeedlistFragment.EXTRA_SELECTED_FEED, -1);
+ if (feedId == -1)
+ Log.e(TAG, "Received invalid feed selection.");
feed = manager.getFeed(feedId);
setTitle(feed.getTitle());
-
+
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fT = fragmentManager.beginTransaction();
-
+
filf = ItemlistFragment.newInstance(feed.getId());
fT.add(R.id.feeditemlistFragment, filf);
fT.commit();
-
+
}
-
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ StorageUtils.checkStorageAvailability(this);
+ }
+
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- return FeedMenuHandler.onCreateOptionsMenu(new MenuInflater(this), menu);
+ return FeedMenuHandler
+ .onCreateOptionsMenu(new MenuInflater(this), menu);
}
@Override
@@ -71,7 +81,7 @@ public class FeedItemlistActivity extends SherlockFragmentActivity {
if (FeedMenuHandler.onOptionsItemClicked(this, item, feed)) {
filf.getListAdapter().notifyDataSetChanged();
} else {
- switch(item.getItemId()) {
+ switch (item.getItemId()) {
case R.id.remove_item:
FeedRemover remover = new FeedRemover(this) {
@Override
@@ -88,5 +98,5 @@ public class FeedItemlistActivity extends SherlockFragmentActivity {
}
return true;
}
-
+
}
diff --git a/src/de/podfetcher/activity/ItemviewActivity.java b/src/de/podfetcher/activity/ItemviewActivity.java
index 72c3fecae..f98196a46 100644
--- a/src/de/podfetcher/activity/ItemviewActivity.java
+++ b/src/de/podfetcher/activity/ItemviewActivity.java
@@ -24,6 +24,7 @@ import de.podfetcher.fragment.FeedlistFragment;
import de.podfetcher.fragment.ItemDescriptionFragment;
import de.podfetcher.fragment.ItemlistFragment;
import de.podfetcher.util.FeedItemMenuHandler;
+import de.podfetcher.util.StorageUtils;
/** Displays a single FeedItem and provides various actions */
public class ItemviewActivity extends SherlockFragmentActivity {
@@ -39,6 +40,7 @@ public class ItemviewActivity extends SherlockFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ StorageUtils.checkStorageAvailability(this);
manager = FeedManager.getInstance();
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
extractFeeditem();
@@ -46,6 +48,13 @@ public class ItemviewActivity extends SherlockFragmentActivity {
}
@Override
+ protected void onResume() {
+ super.onResume();
+ StorageUtils.checkStorageAvailability(this);
+
+ }
+
+ @Override
public void onStop() {
super.onStop();
Log.d(TAG, "Stopping Activity");
@@ -81,7 +90,8 @@ public class ItemviewActivity extends SherlockFragmentActivity {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
- ItemDescriptionFragment fragment = ItemDescriptionFragment.newInstance(item);
+ ItemDescriptionFragment fragment = ItemDescriptionFragment
+ .newInstance(item);
fragmentTransaction.add(R.id.description_fragment, fragment);
fragmentTransaction.commit();
}
diff --git a/src/de/podfetcher/activity/MediaplayerActivity.java b/src/de/podfetcher/activity/MediaplayerActivity.java
index de8028d6f..0afbce1c9 100644
--- a/src/de/podfetcher/activity/MediaplayerActivity.java
+++ b/src/de/podfetcher/activity/MediaplayerActivity.java
@@ -54,6 +54,7 @@ import de.podfetcher.service.PlayerStatus;
import de.podfetcher.util.Converter;
import de.podfetcher.util.DownloadError;
import de.podfetcher.util.MediaPlayerError;
+import de.podfetcher.util.StorageUtils;
public class MediaplayerActivity extends SherlockFragmentActivity implements
SurfaceHolder.Callback {
@@ -131,6 +132,7 @@ public class MediaplayerActivity extends SherlockFragmentActivity implements
protected void onResume() {
super.onResume();
Log.d(TAG, "Resuming Activity");
+ StorageUtils.checkStorageAvailability(this);
bindToService();
}
@@ -170,6 +172,7 @@ public class MediaplayerActivity extends SherlockFragmentActivity implements
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG, "Creating Activity");
+ StorageUtils.checkStorageAvailability(this);
orientation = getResources().getConfiguration().orientation;
manager = FeedManager.getInstance();
diff --git a/src/de/podfetcher/activity/PodfetcherActivity.java b/src/de/podfetcher/activity/PodfetcherActivity.java
index 4a7bad7e3..7db9b2e5d 100644
--- a/src/de/podfetcher/activity/PodfetcherActivity.java
+++ b/src/de/podfetcher/activity/PodfetcherActivity.java
@@ -34,6 +34,7 @@ import de.podfetcher.fragment.QueueFragment;
import de.podfetcher.fragment.UnreadItemlistFragment;
import de.podfetcher.service.DownloadService;
import de.podfetcher.storage.DownloadRequester;
+import de.podfetcher.util.StorageUtils;
public class PodfetcherActivity extends SherlockFragmentActivity {
private static final String TAG = "PodfetcherActivity";
@@ -46,6 +47,7 @@ public class PodfetcherActivity extends SherlockFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ StorageUtils.checkStorageAvailability(this);
manager = FeedManager.getInstance();
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.main);
@@ -69,6 +71,7 @@ public class PodfetcherActivity extends SherlockFragmentActivity {
@Override
protected void onResume() {
super.onResume();
+ StorageUtils.checkStorageAvailability(this);
updateProgressBarVisibility();
IntentFilter filter = new IntentFilter();
filter.addAction(DownloadService.ACTION_DOWNLOAD_HANDLED);
diff --git a/src/de/podfetcher/activity/StorageErrorActivity.java b/src/de/podfetcher/activity/StorageErrorActivity.java
new file mode 100644
index 000000000..830f03902
--- /dev/null
+++ b/src/de/podfetcher/activity/StorageErrorActivity.java
@@ -0,0 +1,51 @@
+package de.podfetcher.activity;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Bundle;
+import android.util.Log;
+
+import com.actionbarsherlock.app.SherlockActivity;
+
+import de.podfetcher.R;
+
+public class StorageErrorActivity extends SherlockActivity {
+ private static final String TAG = "StorageErrorActivity";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.storage_error);
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ unregisterReceiver(mediaUpdate);
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ registerReceiver(mediaUpdate, new IntentFilter(Intent.ACTION_MEDIA_MOUNTED));
+ }
+
+ private BroadcastReceiver mediaUpdate = new BroadcastReceiver() {
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (intent.getAction().equals(Intent.ACTION_MEDIA_MOUNTED)) {
+ if (intent.getBooleanExtra("read-only", true)) {
+ Log.d(TAG, "Media was mounted; Finishing activity");
+ finish();
+ } else {
+ Log.d(TAG, "Media seemed to have been mounted read only");
+ }
+ }
+ }
+
+ };
+
+}