diff options
Diffstat (limited to 'src/de/danoeh/antennapod/util')
32 files changed, 178 insertions, 235 deletions
diff --git a/src/de/danoeh/antennapod/util/BitmapDecoder.java b/src/de/danoeh/antennapod/util/BitmapDecoder.java index e9423c3f7..5296d675a 100644 --- a/src/de/danoeh/antennapod/util/BitmapDecoder.java +++ b/src/de/danoeh/antennapod/util/BitmapDecoder.java @@ -1,15 +1,14 @@ package de.danoeh.antennapod.util; -import java.io.InputStream; - -import org.apache.commons.io.IOUtils; - import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Rect; import android.util.Log; -import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.asynctask.ImageLoader; +import org.apache.commons.io.IOUtils; + +import java.io.InputStream; public class BitmapDecoder { private static final String TAG = "BitmapDecoder"; @@ -33,7 +32,7 @@ public class BitmapDecoder { int srcHeight = options.outHeight; int length = Math.max(srcWidth, srcHeight); int sampleSize = calculateSampleSize(preferredLength, length); - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Using samplesize " + sampleSize); options.inJustDecodeBounds = false; options.inSampleSize = sampleSize; diff --git a/src/de/danoeh/antennapod/util/ChapterUtils.java b/src/de/danoeh/antennapod/util/ChapterUtils.java index 521bfebea..9e1c50674 100644 --- a/src/de/danoeh/antennapod/util/ChapterUtils.java +++ b/src/de/danoeh/antennapod/util/ChapterUtils.java @@ -1,20 +1,7 @@ package de.danoeh.antennapod.util; -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.Collections; -import java.util.List; - -import org.apache.commons.io.IOUtils; - import android.util.Log; -import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.feed.Chapter; import de.danoeh.antennapod.util.comparator.ChapterStartTimeComparator; import de.danoeh.antennapod.util.id3reader.ChapterReader; @@ -22,6 +9,13 @@ import de.danoeh.antennapod.util.id3reader.ID3ReaderException; import de.danoeh.antennapod.util.playback.Playable; import de.danoeh.antennapod.util.vorbiscommentreader.VorbisCommentChapterReader; import de.danoeh.antennapod.util.vorbiscommentreader.VorbisCommentReaderException; +import org.apache.commons.io.IOUtils; + +import java.io.*; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Collections; +import java.util.List; /** Utility class for getting chapter data from media files. */ public class ChapterUtils { @@ -36,7 +30,7 @@ public class ChapterUtils { */ public static void readID3ChaptersFromPlayableStreamUrl(Playable p) { if (p != null && p.getStreamUrl() != null) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Reading id3 chapters from item " + p.getEpisodeTitle()); InputStream in = null; try { @@ -87,7 +81,7 @@ public class ChapterUtils { */ public static void readID3ChaptersFromPlayableFileUrl(Playable p) { if (p != null && p.localFileAvailable() && p.getLocalMediaUrl() != null) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Reading id3 chapters from item " + p.getEpisodeTitle()); File source = new File(p.getLocalMediaUrl()); if (source.exists()) { @@ -170,7 +164,7 @@ public class ChapterUtils { private static void readOggChaptersFromInputStream(Playable p, InputStream input) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Trying to read chapters from item with title " + p.getEpisodeTitle()); @@ -243,14 +237,14 @@ public class ChapterUtils { } public static void loadChaptersFromStreamUrl(Playable media) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Starting chapterLoader thread"); ChapterUtils.readID3ChaptersFromPlayableStreamUrl(media); if (media.getChapters() == null) { ChapterUtils.readOggChaptersFromPlayableStreamUrl(media); } - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "ChapterLoaderThread has finished"); } diff --git a/src/de/danoeh/antennapod/util/ConnectionTester.java b/src/de/danoeh/antennapod/util/ConnectionTester.java deleted file mode 100644 index 5d940d9e1..000000000 --- a/src/de/danoeh/antennapod/util/ConnectionTester.java +++ /dev/null @@ -1,78 +0,0 @@ -package de.danoeh.antennapod.util; - -import java.io.IOException; -import java.net.HttpURLConnection; -import java.net.MalformedURLException; -import java.net.URL; - -import android.os.Handler; -import android.util.Log; -import de.danoeh.antennapod.AppConfig; - -/** Tests a connection before downloading something. */ -public class ConnectionTester implements Runnable { - private static final String TAG = "ConnectionTester"; - private String strUrl; - private Callback callback; - private DownloadError reason; - - private Handler handler; - - public ConnectionTester(String url, Callback callback) { - super(); - this.strUrl = url; - this.callback = callback; - this.handler = new Handler(); - } - - @Override - public void run() { - if (AppConfig.DEBUG) - Log.d(TAG, "Testing connection"); - try { - URL url = new URL(strUrl); - HttpURLConnection con = (HttpURLConnection) url.openConnection(); - con.connect(); - handler.post(new Runnable() { - @Override - public void run() { - callback.onConnectionSuccessful(); - } - }); if (AppConfig.DEBUG) - Log.d(TAG, "Connection seems to work"); - } catch (MalformedURLException e) { - e.printStackTrace(); - reason = DownloadError.ERROR_CONNECTION_ERROR; - if (AppConfig.DEBUG) - Log.d(TAG, "Connection failed"); - handler.post(new Runnable() { - @Override - public void run() { - callback.onConnectionFailure(reason); - } - }); - } catch (IOException e) { - e.printStackTrace(); - reason = DownloadError.ERROR_CONNECTION_ERROR; - if (AppConfig.DEBUG) - Log.d(TAG, "Connection failed"); - handler.post(new Runnable() { - @Override - public void run() { - callback.onConnectionFailure(reason); - } - }); - } - } - - public static abstract class Callback { - public abstract void onConnectionSuccessful(); - - public abstract void onConnectionFailure(DownloadError reason); - } - - public DownloadError getReason() { - return reason; - } - -} diff --git a/src/de/danoeh/antennapod/util/DownloadError.java b/src/de/danoeh/antennapod/util/DownloadError.java index f7a5c23fe..1a64991a6 100644 --- a/src/de/danoeh/antennapod/util/DownloadError.java +++ b/src/de/danoeh/antennapod/util/DownloadError.java @@ -18,7 +18,8 @@ public enum DownloadError { ERROR_NOT_ENOUGH_SPACE(10, R.string.download_error_insufficient_space), ERROR_UNKNOWN_HOST(11, R.string.download_error_unknown_host), ERROR_REQUEST_ERROR(12, R.string.download_error_request_error), - ERROR_DB_ACCESS_ERROR(13, R.string.download_error_db_access); + ERROR_DB_ACCESS_ERROR(13, R.string.download_error_db_access), + ERROR_UNAUTHORIZED(14, R.string.download_error_unauthorized); private final int code; private final int resId; diff --git a/src/de/danoeh/antennapod/util/EpisodeFilter.java b/src/de/danoeh/antennapod/util/EpisodeFilter.java index ee627b161..115913bca 100644 --- a/src/de/danoeh/antennapod/util/EpisodeFilter.java +++ b/src/de/danoeh/antennapod/util/EpisodeFilter.java @@ -1,10 +1,10 @@ package de.danoeh.antennapod.util; +import de.danoeh.antennapod.feed.FeedItem; + import java.util.ArrayList; import java.util.List; -import de.danoeh.antennapod.feed.FeedItem; - public class EpisodeFilter { private EpisodeFilter() { diff --git a/src/de/danoeh/antennapod/util/FeedtitleComparator.java b/src/de/danoeh/antennapod/util/FeedtitleComparator.java index e334268b1..112b6678d 100644 --- a/src/de/danoeh/antennapod/util/FeedtitleComparator.java +++ b/src/de/danoeh/antennapod/util/FeedtitleComparator.java @@ -1,9 +1,9 @@ package de.danoeh.antennapod.util; -import java.util.Comparator; - import de.danoeh.antennapod.feed.Feed; +import java.util.Comparator; + /** Compares the title of two feeds for sorting. */ public class FeedtitleComparator implements Comparator<Feed> { diff --git a/src/de/danoeh/antennapod/util/NetworkUtils.java b/src/de/danoeh/antennapod/util/NetworkUtils.java index 278f7ad7a..0c8065e94 100644 --- a/src/de/danoeh/antennapod/util/NetworkUtils.java +++ b/src/de/danoeh/antennapod/util/NetworkUtils.java @@ -1,17 +1,17 @@ package de.danoeh.antennapod.util; -import java.util.Arrays; -import java.util.List; - import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.util.Log; -import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.preferences.UserPreferences; +import java.util.Arrays; +import java.util.List; + public class NetworkUtils { private static final String TAG = "NetworkUtils"; @@ -31,11 +31,11 @@ public class NetworkUtils { NetworkInfo networkInfo = cm.getActiveNetworkInfo(); if (networkInfo != null) { if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Device is connected to Wi-Fi"); if (networkInfo.isConnected()) { if (!UserPreferences.isEnableAutodownloadWifiFilter()) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Auto-dl filter is disabled"); return true; } else { @@ -47,7 +47,7 @@ public class NetworkUtils { .getAutodownloadSelectedNetworks()); if (selectedNetworks.contains(Integer.toString(wifiInfo .getNetworkId()))) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Current network is on the selected networks list"); return true; @@ -56,7 +56,7 @@ public class NetworkUtils { } } } - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Network for auto-dl is not available"); return false; } diff --git a/src/de/danoeh/antennapod/util/ShownotesProvider.java b/src/de/danoeh/antennapod/util/ShownotesProvider.java index d273e0b8f..8345ca34d 100644 --- a/src/de/danoeh/antennapod/util/ShownotesProvider.java +++ b/src/de/danoeh/antennapod/util/ShownotesProvider.java @@ -1,7 +1,6 @@ package de.danoeh.antennapod.util; import java.util.concurrent.Callable; -import java.util.concurrent.FutureTask; /** * Created by daniel on 04.08.13. diff --git a/src/de/danoeh/antennapod/util/StorageUtils.java b/src/de/danoeh/antennapod/util/StorageUtils.java index 52a12f6a6..ff0bde280 100644 --- a/src/de/danoeh/antennapod/util/StorageUtils.java +++ b/src/de/danoeh/antennapod/util/StorageUtils.java @@ -1,18 +1,18 @@ package de.danoeh.antennapod.util; -import java.io.File; - import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Build; import android.os.StatFs; import android.util.Log; -import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.activity.StorageErrorActivity; import de.danoeh.antennapod.preferences.UserPreferences; +import java.io.File; + /** Utility functions for handling storage errors */ public class StorageUtils { private static final String TAG = "StorageUtils"; @@ -22,7 +22,7 @@ public class StorageUtils { if (dir != null) { return dir.exists() && dir.canRead() && dir.canWrite(); } else { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Storage not available: data folder is null"); return false; } diff --git a/src/de/danoeh/antennapod/util/URIUtil.java b/src/de/danoeh/antennapod/util/URIUtil.java new file mode 100644 index 000000000..5af40d591 --- /dev/null +++ b/src/de/danoeh/antennapod/util/URIUtil.java @@ -0,0 +1,35 @@ +package de.danoeh.antennapod.util; + +import android.util.Log; +import de.danoeh.antennapod.BuildConfig; + +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; + +/** + * Utility methods for dealing with URL encoding. + */ +public class URIUtil { + private static final String TAG = "URIUtil"; + + private URIUtil() {} + + public static URI getURIFromRequestUrl(String source) { + // try without encoding the URI + try { + return new URI(source); + } catch (URISyntaxException e) { + if (BuildConfig.DEBUG) Log.d(TAG, "Source is not encoded, encoding now"); + } + try { + URL url = new URL(source); + return new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(), url.getRef()); + } catch (MalformedURLException e) { + throw new IllegalArgumentException(e); + } catch (URISyntaxException e) { + throw new IllegalArgumentException(e); + } + } +} diff --git a/src/de/danoeh/antennapod/util/URLChecker.java b/src/de/danoeh/antennapod/util/URLChecker.java index 13668d4a9..a3c675899 100644 --- a/src/de/danoeh/antennapod/util/URLChecker.java +++ b/src/de/danoeh/antennapod/util/URLChecker.java @@ -1,7 +1,7 @@ package de.danoeh.antennapod.util; import android.util.Log; -import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.BuildConfig; /** Provides methods for checking and editing a URL.*/ public final class URLChecker { @@ -20,10 +20,10 @@ public final class URLChecker { public static String prepareURL(String url) { StringBuilder builder = new StringBuilder(); if (url.startsWith("feed://")) { - if (AppConfig.DEBUG) Log.d(TAG, "Replacing feed:// with http://"); + if (BuildConfig.DEBUG) Log.d(TAG, "Replacing feed:// with http://"); url = url.replace("feed://", "http://"); } else if (!(url.startsWith("http://") || url.startsWith("https://"))) { - if (AppConfig.DEBUG) Log.d(TAG, "Adding http:// at the beginning of the URL"); + if (BuildConfig.DEBUG) Log.d(TAG, "Adding http:// at the beginning of the URL"); builder.append("http://"); } builder.append(url); diff --git a/src/de/danoeh/antennapod/util/UndoBarController.java b/src/de/danoeh/antennapod/util/UndoBarController.java index a0240e7ce..332cc22e0 100644 --- a/src/de/danoeh/antennapod/util/UndoBarController.java +++ b/src/de/danoeh/antennapod/util/UndoBarController.java @@ -26,10 +26,10 @@ import com.nineoldandroids.animation.Animator; import com.nineoldandroids.animation.AnimatorListenerAdapter; import com.nineoldandroids.view.ViewHelper; import com.nineoldandroids.view.ViewPropertyAnimator; -import static com.nineoldandroids.view.ViewPropertyAnimator.animate; - import de.danoeh.antennapod.R; +import static com.nineoldandroids.view.ViewPropertyAnimator.animate; + public class UndoBarController { private View mBarView; private TextView mMessageView; diff --git a/src/de/danoeh/antennapod/util/comparator/ChapterStartTimeComparator.java b/src/de/danoeh/antennapod/util/comparator/ChapterStartTimeComparator.java index 7cc6fa458..bfc2fd057 100644 --- a/src/de/danoeh/antennapod/util/comparator/ChapterStartTimeComparator.java +++ b/src/de/danoeh/antennapod/util/comparator/ChapterStartTimeComparator.java @@ -1,9 +1,9 @@ package de.danoeh.antennapod.util.comparator; -import java.util.Comparator; - import de.danoeh.antennapod.feed.Chapter; +import java.util.Comparator; + public class ChapterStartTimeComparator implements Comparator<Chapter> { @Override diff --git a/src/de/danoeh/antennapod/util/comparator/DownloadStatusComparator.java b/src/de/danoeh/antennapod/util/comparator/DownloadStatusComparator.java index d0561252f..14b8f1194 100644 --- a/src/de/danoeh/antennapod/util/comparator/DownloadStatusComparator.java +++ b/src/de/danoeh/antennapod/util/comparator/DownloadStatusComparator.java @@ -1,8 +1,8 @@ package de.danoeh.antennapod.util.comparator; -import java.util.Comparator; +import de.danoeh.antennapod.service.download.DownloadStatus; -import de.danoeh.antennapod.service.download.*; +import java.util.Comparator; /** Compares the completion date of two Downloadstatus objects. */ public class DownloadStatusComparator implements Comparator<DownloadStatus> { diff --git a/src/de/danoeh/antennapod/util/comparator/FeedItemPubdateComparator.java b/src/de/danoeh/antennapod/util/comparator/FeedItemPubdateComparator.java index c95c0833c..f92c23d05 100644 --- a/src/de/danoeh/antennapod/util/comparator/FeedItemPubdateComparator.java +++ b/src/de/danoeh/antennapod/util/comparator/FeedItemPubdateComparator.java @@ -1,9 +1,9 @@ package de.danoeh.antennapod.util.comparator; -import java.util.Comparator; - import de.danoeh.antennapod.feed.FeedItem; +import java.util.Comparator; + /** Compares the pubDate of two FeedItems for sorting*/ public class FeedItemPubdateComparator implements Comparator<FeedItem> { diff --git a/src/de/danoeh/antennapod/util/comparator/PlaybackCompletionDateComparator.java b/src/de/danoeh/antennapod/util/comparator/PlaybackCompletionDateComparator.java index 434a5a956..0147e0cdc 100644 --- a/src/de/danoeh/antennapod/util/comparator/PlaybackCompletionDateComparator.java +++ b/src/de/danoeh/antennapod/util/comparator/PlaybackCompletionDateComparator.java @@ -1,9 +1,9 @@ package de.danoeh.antennapod.util.comparator; -import java.util.Comparator; - import de.danoeh.antennapod.feed.FeedItem; +import java.util.Comparator; + public class PlaybackCompletionDateComparator implements Comparator<FeedItem> { public int compare(FeedItem lhs, FeedItem rhs) { diff --git a/src/de/danoeh/antennapod/util/comparator/SearchResultValueComparator.java b/src/de/danoeh/antennapod/util/comparator/SearchResultValueComparator.java index ab7d47673..02b084a01 100644 --- a/src/de/danoeh/antennapod/util/comparator/SearchResultValueComparator.java +++ b/src/de/danoeh/antennapod/util/comparator/SearchResultValueComparator.java @@ -1,9 +1,9 @@ package de.danoeh.antennapod.util.comparator; -import java.util.Comparator; - import de.danoeh.antennapod.feed.SearchResult; +import java.util.Comparator; + public class SearchResultValueComparator implements Comparator<SearchResult> { @Override diff --git a/src/de/danoeh/antennapod/util/flattr/FlattrServiceCreator.java b/src/de/danoeh/antennapod/util/flattr/FlattrServiceCreator.java index b7e77e158..eda83b7aa 100644 --- a/src/de/danoeh/antennapod/util/flattr/FlattrServiceCreator.java +++ b/src/de/danoeh/antennapod/util/flattr/FlattrServiceCreator.java @@ -1,12 +1,11 @@ package de.danoeh.antennapod.util.flattr; +import android.util.Log; +import de.danoeh.antennapod.BuildConfig; import org.shredzone.flattr4j.FlattrFactory; import org.shredzone.flattr4j.FlattrService; import org.shredzone.flattr4j.oauth.AccessToken; -import android.util.Log; -import de.danoeh.antennapod.AppConfig; - /** Ensures that only one instance of the FlattrService class exists at a time */ public class FlattrServiceCreator { @@ -19,7 +18,7 @@ public class FlattrServiceCreator { } public static void deleteFlattrService() { - if (AppConfig.DEBUG) Log.d(TAG, "Deleting service instance"); + if (BuildConfig.DEBUG) Log.d(TAG, "Deleting service instance"); flattrService = null; } } diff --git a/src/de/danoeh/antennapod/util/flattr/FlattrThing.java b/src/de/danoeh/antennapod/util/flattr/FlattrThing.java index 872132517..f17ef1d83 100644 --- a/src/de/danoeh/antennapod/util/flattr/FlattrThing.java +++ b/src/de/danoeh/antennapod/util/flattr/FlattrThing.java @@ -1,7 +1,5 @@ package de.danoeh.antennapod.util.flattr; -import de.danoeh.antennapod.util.flattr.FlattrStatus; - public interface FlattrThing { public String getTitle(); public String getPaymentLink(); diff --git a/src/de/danoeh/antennapod/util/flattr/FlattrUtils.java b/src/de/danoeh/antennapod/util/flattr/FlattrUtils.java index 423e98891..9809f69a3 100644 --- a/src/de/danoeh/antennapod/util/flattr/FlattrUtils.java +++ b/src/de/danoeh/antennapod/util/flattr/FlattrUtils.java @@ -1,21 +1,5 @@ package de.danoeh.antennapod.util.flattr; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.EnumSet; -import java.util.List; -import java.util.ListIterator; -import java.util.TimeZone; - -import org.shredzone.flattr4j.FlattrService; -import org.shredzone.flattr4j.exception.FlattrException; -import org.shredzone.flattr4j.model.Flattr; -import org.shredzone.flattr4j.model.Thing; -import org.shredzone.flattr4j.oauth.AccessToken; -import org.shredzone.flattr4j.oauth.AndroidAuthenticator; -import org.shredzone.flattr4j.oauth.Scope; - import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; @@ -25,12 +9,21 @@ import android.content.SharedPreferences; import android.net.Uri; import android.preference.PreferenceManager; import android.util.Log; -import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; import de.danoeh.antennapod.activity.FlattrAuthActivity; import de.danoeh.antennapod.asynctask.FlattrTokenFetcher; import de.danoeh.antennapod.storage.DBWriter; +import org.shredzone.flattr4j.FlattrService; +import org.shredzone.flattr4j.exception.FlattrException; +import org.shredzone.flattr4j.model.Flattr; +import org.shredzone.flattr4j.model.Thing; +import org.shredzone.flattr4j.oauth.AccessToken; +import org.shredzone.flattr4j.oauth.AndroidAuthenticator; +import org.shredzone.flattr4j.oauth.Scope; + +import java.util.*; /** Utility methods for doing something with flattr. */ @@ -63,17 +56,17 @@ public class FlattrUtils { private static AccessToken retrieveToken() { if (cachedToken == null) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Retrieving access token"); String token = PreferenceManager.getDefaultSharedPreferences( PodcastApp.getInstance()) .getString(PREF_ACCESS_TOKEN, null); if (token != null) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Found access token. Caching."); cachedToken = new AccessToken(token); } else { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "No access token found"); return null; } @@ -87,7 +80,7 @@ public class FlattrUtils { } public static void storeToken(AccessToken token) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Storing token"); SharedPreferences.Editor editor = PreferenceManager .getDefaultSharedPreferences(PodcastApp.getInstance()).edit(); @@ -101,7 +94,7 @@ public class FlattrUtils { } public static void deleteToken() { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Deleting flattr token"); storeToken(null); } @@ -159,7 +152,7 @@ public class FlattrUtils { } } - if (AppConfig.DEBUG) { + if (BuildConfig.DEBUG) { Log.d(TAG, "Got my flattrs list of length " + Integer.toString(myFlattrs.size()) + " comparison date" + firstOfMonthDate); for (Flattr fl: myFlattrs) { @@ -181,7 +174,7 @@ public class FlattrUtils { } public static void revokeAccessToken(Context context) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Revoking access token"); deleteToken(); FlattrServiceCreator.deleteFlattrService(); @@ -206,7 +199,7 @@ public class FlattrUtils { } public static void showNoTokenDialog(final Context context, final String url) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Creating showNoTokenDialog"); AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle(R.string.no_flattr_token_title); diff --git a/src/de/danoeh/antennapod/util/id3reader/ChapterReader.java b/src/de/danoeh/antennapod/util/id3reader/ChapterReader.java index f897f886c..257635129 100644 --- a/src/de/danoeh/antennapod/util/id3reader/ChapterReader.java +++ b/src/de/danoeh/antennapod/util/id3reader/ChapterReader.java @@ -1,19 +1,18 @@ package de.danoeh.antennapod.util.id3reader; -import java.io.IOException; -import java.io.InputStream; -import java.net.URLDecoder; -import java.util.ArrayList; -import java.util.List; - import android.util.Log; - -import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.feed.Chapter; import de.danoeh.antennapod.feed.ID3Chapter; import de.danoeh.antennapod.util.id3reader.model.FrameHeader; import de.danoeh.antennapod.util.id3reader.model.TagHeader; +import java.io.IOException; +import java.io.InputStream; +import java.net.URLDecoder; +import java.util.ArrayList; +import java.util.List; + public class ChapterReader extends ID3Reader { private static final String TAG = "ID3ChapterReader"; @@ -39,7 +38,7 @@ public class ChapterReader extends ID3Reader { if (currentChapter != null) { if (!hasId3Chapter(currentChapter)) { chapters.add(currentChapter); - if (AppConfig.DEBUG) Log.d(TAG, "Found chapter: " + currentChapter); + if (BuildConfig.DEBUG) Log.d(TAG, "Found chapter: " + currentChapter); currentChapter = null; } } @@ -58,7 +57,7 @@ public class ChapterReader extends ID3Reader { readString(title, input, header.getSize()); currentChapter .setTitle(title.toString()); - if (AppConfig.DEBUG) Log.d(TAG, "Found title: " + currentChapter.getTitle()); + if (BuildConfig.DEBUG) Log.d(TAG, "Found title: " + currentChapter.getTitle()); return ID3Reader.ACTION_DONT_SKIP; } @@ -72,7 +71,7 @@ public class ChapterReader extends ID3Reader { currentChapter.setLink(decodedLink); - if (AppConfig.DEBUG) Log.d(TAG, "Found link: " + currentChapter.getLink()); + if (BuildConfig.DEBUG) Log.d(TAG, "Found link: " + currentChapter.getLink()); return ID3Reader.ACTION_DONT_SKIP; } } else if (header.getId().equals("APIC")) { diff --git a/src/de/danoeh/antennapod/util/id3reader/ID3Reader.java b/src/de/danoeh/antennapod/util/id3reader/ID3Reader.java index 92f817363..252d64107 100644 --- a/src/de/danoeh/antennapod/util/id3reader/ID3Reader.java +++ b/src/de/danoeh/antennapod/util/id3reader/ID3Reader.java @@ -1,15 +1,14 @@ package de.danoeh.antennapod.util.id3reader; +import de.danoeh.antennapod.util.id3reader.model.FrameHeader; +import de.danoeh.antennapod.util.id3reader.model.TagHeader; +import org.apache.commons.io.IOUtils; + import java.io.IOException; import java.io.InputStream; import java.nio.ByteBuffer; import java.nio.charset.Charset; -import org.apache.commons.io.IOUtils; - -import de.danoeh.antennapod.util.id3reader.model.FrameHeader; -import de.danoeh.antennapod.util.id3reader.model.TagHeader; - /** * Reads the ID3 Tag of a given file. In order to use this class, you should * create a subclass of it and overwrite the onStart* - or onEnd* - methods. diff --git a/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java b/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java index 615c1c93e..6733430da 100644 --- a/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java +++ b/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java @@ -3,7 +3,7 @@ package de.danoeh.antennapod.util.menuhandler; import android.content.Context; import android.content.Intent; import android.net.Uri; -import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.R; import de.danoeh.antennapod.feed.FeedItem; import de.danoeh.antennapod.service.playback.PlaybackService; @@ -95,7 +95,7 @@ public class FeedItemMenuHandler { mi.setItemVisibility(R.id.share_link_item, false); } - if (!AppConfig.DEBUG + if (!BuildConfig.DEBUG || !(state == FeedItem.State.IN_PROGRESS || state == FeedItem.State.READ)) { mi.setItemVisibility(R.id.mark_unread_item, false); } diff --git a/src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java b/src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java index 537335618..ae8b3ac1e 100644 --- a/src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java +++ b/src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java @@ -4,18 +4,12 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.util.Log; - import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; - -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; - -import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.R; import de.danoeh.antennapod.activity.FeedInfoActivity; -import de.danoeh.antennapod.asynctask.FlattrClickWorker; import de.danoeh.antennapod.feed.Feed; import de.danoeh.antennapod.service.download.DownloadService; import de.danoeh.antennapod.storage.DBTasks; @@ -23,7 +17,6 @@ import de.danoeh.antennapod.storage.DBWriter; import de.danoeh.antennapod.storage.DownloadRequestException; import de.danoeh.antennapod.storage.DownloadRequester; import de.danoeh.antennapod.util.ShareUtils; -import de.danoeh.antennapod.util.flattr.FlattrStatus; /** Handles interactions with the FeedItemMenu. */ public class FeedMenuHandler { @@ -39,7 +32,7 @@ public class FeedMenuHandler { return true; } - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Preparing options menu"); menu.findItem(R.id.mark_all_read_item).setVisible( selectedFeed.hasNewItems(true)); diff --git a/src/de/danoeh/antennapod/util/playback/AudioPlayer.java b/src/de/danoeh/antennapod/util/playback/AudioPlayer.java index 0945303e4..bd49b0d18 100644 --- a/src/de/danoeh/antennapod/util/playback/AudioPlayer.java +++ b/src/de/danoeh/antennapod/util/playback/AudioPlayer.java @@ -3,7 +3,6 @@ package de.danoeh.antennapod.util.playback; import android.content.Context; import android.util.Log; import android.view.SurfaceHolder; - import com.aocate.media.MediaPlayer; public class AudioPlayer extends MediaPlayer implements IPlayer { diff --git a/src/de/danoeh/antennapod/util/playback/ExternalMedia.java b/src/de/danoeh/antennapod/util/playback/ExternalMedia.java index e937ee437..390498cea 100644 --- a/src/de/danoeh/antennapod/util/playback/ExternalMedia.java +++ b/src/de/danoeh/antennapod/util/playback/ExternalMedia.java @@ -1,9 +1,5 @@ package de.danoeh.antennapod.util.playback; -import java.io.InputStream; -import java.util.List; -import java.util.concurrent.Callable; - import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.media.MediaMetadataRetriever; @@ -13,6 +9,10 @@ import de.danoeh.antennapod.feed.Chapter; import de.danoeh.antennapod.feed.MediaType; import de.danoeh.antennapod.util.ChapterUtils; +import java.io.InputStream; +import java.util.List; +import java.util.concurrent.Callable; + /** Represents a media file that is stored on the local storage device. */ public class ExternalMedia implements Playable { diff --git a/src/de/danoeh/antennapod/util/playback/IPlayer.java b/src/de/danoeh/antennapod/util/playback/IPlayer.java index 8c1cf4ef4..99f53fb52 100644 --- a/src/de/danoeh/antennapod/util/playback/IPlayer.java +++ b/src/de/danoeh/antennapod/util/playback/IPlayer.java @@ -1,9 +1,9 @@ package de.danoeh.antennapod.util.playback; -import java.io.IOException; - import android.view.SurfaceHolder; +import java.io.IOException; + public interface IPlayer { boolean canSetPitch(); diff --git a/src/de/danoeh/antennapod/util/playback/Playable.java b/src/de/danoeh/antennapod/util/playback/Playable.java index 98d5fbb36..8eefb0be5 100644 --- a/src/de/danoeh/antennapod/util/playback/Playable.java +++ b/src/de/danoeh/antennapod/util/playback/Playable.java @@ -1,15 +1,6 @@ package de.danoeh.antennapod.util.playback; -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.util.List; -import java.util.concurrent.FutureTask; - import android.content.Context; -import de.danoeh.antennapod.storage.DBReader; -import de.danoeh.antennapod.util.ShownotesProvider; -import org.apache.commons.io.IOUtils; - import android.content.SharedPreferences; import android.media.MediaMetadataRetriever; import android.os.Parcelable; @@ -18,6 +9,13 @@ import de.danoeh.antennapod.asynctask.ImageLoader; import de.danoeh.antennapod.feed.Chapter; import de.danoeh.antennapod.feed.FeedMedia; import de.danoeh.antennapod.feed.MediaType; +import de.danoeh.antennapod.storage.DBReader; +import de.danoeh.antennapod.util.ShownotesProvider; +import org.apache.commons.io.IOUtils; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.util.List; /** * Interface for objects that can be played by the PlaybackService. diff --git a/src/de/danoeh/antennapod/util/playback/PlaybackController.java b/src/de/danoeh/antennapod/util/playback/PlaybackController.java index 0781800aa..1992fce2c 100644 --- a/src/de/danoeh/antennapod/util/playback/PlaybackController.java +++ b/src/de/danoeh/antennapod/util/playback/PlaybackController.java @@ -15,7 +15,7 @@ import android.view.View.OnClickListener; import android.widget.ImageButton; import android.widget.SeekBar; import android.widget.TextView; -import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.R; import de.danoeh.antennapod.feed.Chapter; import de.danoeh.antennapod.feed.FeedMedia; @@ -114,7 +114,7 @@ public abstract class PlaybackController { * example in the activity's onStop() method. */ public void release() { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Releasing PlaybackController"); try { @@ -160,7 +160,7 @@ public abstract class PlaybackController { * as the arguments of the launch intent. */ private void bindToService() { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Trying to connect to service"); AsyncTask<Void, Void, Intent> intentLoader = new AsyncTask<Void, Void, Intent>() { @Override @@ -173,7 +173,7 @@ public abstract class PlaybackController { boolean bound = false; if (!PlaybackService.started) { if (serviceIntent != null) { - if (AppConfig.DEBUG) Log.d(TAG, "Calling start service"); + if (BuildConfig.DEBUG) Log.d(TAG, "Calling start service"); activity.startService(serviceIntent); bound = activity.bindService(serviceIntent, mConnection, 0); } else { @@ -182,13 +182,13 @@ public abstract class PlaybackController { handleStatus(); } } else { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "PlaybackService is running, trying to connect without start command."); bound = activity.bindService(new Intent(activity, PlaybackService.class), mConnection, 0); } - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Result for service binding: " + bound); } }; @@ -200,7 +200,7 @@ public abstract class PlaybackController { * played media or null if no last played media could be found. */ private Intent getPlayLastPlayedMediaIntent() { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Trying to restore last played media"); SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(activity.getApplicationContext()); @@ -229,7 +229,7 @@ public abstract class PlaybackController { return serviceIntent; } } - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "No last played media found"); return null; } @@ -242,7 +242,7 @@ public abstract class PlaybackController { || (positionObserverFuture != null && positionObserverFuture .isDone()) || positionObserverFuture == null) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Setting up position observer"); positionObserver = new MediaPositionObserver(); positionObserverFuture = schedExecutor.scheduleWithFixedDelay( @@ -255,7 +255,7 @@ public abstract class PlaybackController { private void cancelPositionObserver() { if (positionObserverFuture != null) { boolean result = positionObserverFuture.cancel(true); - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "PositionObserver cancelled. Result: " + result); } } @@ -268,7 +268,7 @@ public abstract class PlaybackController { .getService(); if (!released) { queryService(); - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Connection to Service established"); } else { Log.i(TAG, "Connection to playback service has been established, but controller has already been released"); @@ -278,7 +278,7 @@ public abstract class PlaybackController { @Override public void onServiceDisconnected(ComponentName name) { playbackService = null; - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Disconnected from Service"); } @@ -287,7 +287,7 @@ public abstract class PlaybackController { protected BroadcastReceiver statusUpdate = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Received statusUpdate Intent."); if (isConnectedToPlaybackService()) { PlaybackServiceMediaPlayer.PSMPInfo info = playbackService.getPSMPInfo(); @@ -345,7 +345,7 @@ public abstract class PlaybackController { } } else { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Bad arguments. Won't handle intent"); } } else { @@ -422,12 +422,16 @@ public abstract class PlaybackController { checkMediaInfoLoaded(); cancelPositionObserver(); updatePlayButtonAppearance(playResource, playText); + if (PlaybackService.getCurrentMediaType() == MediaType.VIDEO) { + setScreenOn(false); + } break; case PLAYING: clearStatusMsg(); checkMediaInfoLoaded(); if (PlaybackService.getCurrentMediaType() == MediaType.VIDEO) { onAwaitingVideoSurface(); + setScreenOn(true); } setupPositionObserver(); updatePlayButtonAppearance(pauseResource, pauseText); @@ -487,7 +491,7 @@ public abstract class PlaybackController { * information has to be refreshed */ void queryService() { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Querying service info"); if (playbackService != null) { status = playbackService.getStatus(); @@ -551,6 +555,16 @@ public abstract class PlaybackController { } } + /** + * Should be implemented by classes that show a video. The default implementation + * does nothing + * + * @param enable True if the screen should be kept on, false otherwise + */ + protected void setScreenOn(boolean enable) { + + } + public OnClickListener newOnPlayButtonClickListener() { return new OnClickListener() { @Override diff --git a/src/de/danoeh/antennapod/util/vorbiscommentreader/OggInputStream.java b/src/de/danoeh/antennapod/util/vorbiscommentreader/OggInputStream.java index c11125abf..767034ed2 100644 --- a/src/de/danoeh/antennapod/util/vorbiscommentreader/OggInputStream.java +++ b/src/de/danoeh/antennapod/util/vorbiscommentreader/OggInputStream.java @@ -1,10 +1,11 @@ package de.danoeh.antennapod.util.vorbiscommentreader; + +import org.apache.commons.io.IOUtils; + import java.io.IOException; import java.io.InputStream; import java.util.Arrays; -import org.apache.commons.io.IOUtils; - public class OggInputStream extends InputStream { private InputStream input; diff --git a/src/de/danoeh/antennapod/util/vorbiscommentreader/VorbisCommentChapterReader.java b/src/de/danoeh/antennapod/util/vorbiscommentreader/VorbisCommentChapterReader.java index c78977652..b2f149ddd 100644 --- a/src/de/danoeh/antennapod/util/vorbiscommentreader/VorbisCommentChapterReader.java +++ b/src/de/danoeh/antennapod/util/vorbiscommentreader/VorbisCommentChapterReader.java @@ -1,13 +1,13 @@ package de.danoeh.antennapod.util.vorbiscommentreader; -import java.util.ArrayList; -import java.util.List; - import android.util.Log; -import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.feed.Chapter; import de.danoeh.antennapod.feed.VorbisCommentChapter; +import java.util.ArrayList; +import java.util.List; + public class VorbisCommentChapterReader extends VorbisCommentReader { private static final String TAG = "VorbisCommentChapterReader"; @@ -39,7 +39,7 @@ public class VorbisCommentChapterReader extends VorbisCommentReader { @Override public void onContentVectorValue(String key, String value) throws VorbisCommentReaderException { - if (AppConfig.DEBUG) + if (BuildConfig.DEBUG) Log.d(TAG, "Key: " + key + ", value: " + value); String attribute = VorbisCommentChapter.getAttributeTypeFromKey(key); int id = VorbisCommentChapter.getIDFromKey(key); diff --git a/src/de/danoeh/antennapod/util/vorbiscommentreader/VorbisCommentReader.java b/src/de/danoeh/antennapod/util/vorbiscommentreader/VorbisCommentReader.java index 06a3911ab..718a4f30f 100644 --- a/src/de/danoeh/antennapod/util/vorbiscommentreader/VorbisCommentReader.java +++ b/src/de/danoeh/antennapod/util/vorbiscommentreader/VorbisCommentReader.java @@ -1,5 +1,8 @@ package de.danoeh.antennapod.util.vorbiscommentreader; +import org.apache.commons.io.EndianUtils; +import org.apache.commons.io.IOUtils; + import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; @@ -7,9 +10,6 @@ import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.util.Arrays; -import org.apache.commons.io.EndianUtils; -import org.apache.commons.io.IOUtils; - public abstract class VorbisCommentReader { /** Length of first page in an ogg file in bytes. */ |