From b5ee07e3895e05d01faebf2582895185453b38ce Mon Sep 17 00:00:00 2001
From: Tom Tom
Date: Wed, 22 Jun 2016 14:06:16 +0400
Subject: Fixed rule 'Utility classes should not have public constructors'
---
app/src/main/java/de/danoeh/antennapod/activity/OpmlImportHolder.java | 2 ++
app/src/main/java/de/danoeh/antennapod/config/ClientConfigurator.java | 2 ++
.../java/de/danoeh/antennapod/dialog/GpodnetSetHostnameDialog.java | 3 +++
app/src/main/java/de/danoeh/antennapod/dialog/RatingDialog.java | 2 ++
.../main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java | 3 +++
5 files changed, 12 insertions(+)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportHolder.java b/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportHolder.java
index 7afa270cc..3a1a7be05 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportHolder.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportHolder.java
@@ -14,6 +14,8 @@ import java.util.ArrayList;
*/
public class OpmlImportHolder {
+ private OpmlImportHolder(){}
+
private static ArrayList readElements;
public static ArrayList getReadElements() {
diff --git a/app/src/main/java/de/danoeh/antennapod/config/ClientConfigurator.java b/app/src/main/java/de/danoeh/antennapod/config/ClientConfigurator.java
index 932b9d22f..691eccdd9 100644
--- a/app/src/main/java/de/danoeh/antennapod/config/ClientConfigurator.java
+++ b/app/src/main/java/de/danoeh/antennapod/config/ClientConfigurator.java
@@ -8,6 +8,8 @@ import de.danoeh.antennapod.core.ClientConfig;
*/
public class ClientConfigurator {
+ private ClientConfigurator(){}
+
static {
ClientConfig.USER_AGENT = "AntennaPod/" + BuildConfig.VERSION_NAME;
ClientConfig.applicationCallbacks = new ApplicationCallbacksImpl();
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/GpodnetSetHostnameDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/GpodnetSetHostnameDialog.java
index b50e21d15..b875eaf62 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/GpodnetSetHostnameDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/GpodnetSetHostnameDialog.java
@@ -16,6 +16,9 @@ import de.danoeh.antennapod.core.preferences.GpodnetPreferences;
* Creates a dialog that lets the user change the hostname for the gpodder.net service.
*/
public class GpodnetSetHostnameDialog {
+
+ private GpodnetSetHostnameDialog(){}
+
private static final String TAG = "GpodnetSetHostnameDialog";
public static AlertDialog createDialog(final Context context) {
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/RatingDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/RatingDialog.java
index 64fc1fda4..6b38ecb2e 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/RatingDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/RatingDialog.java
@@ -17,6 +17,8 @@ import de.danoeh.antennapod.R;
public class RatingDialog {
+ private RatingDialog(){}
+
private static final String TAG = RatingDialog.class.getSimpleName();
private static final int AFTER_DAYS = 7;
diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java
index ab7d0e7c6..bd4fe9bcf 100644
--- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java
+++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java
@@ -30,6 +30,9 @@ import de.danoeh.antennapod.core.util.ShareUtils;
* Handles interactions with the FeedItemMenu.
*/
public class FeedMenuHandler {
+
+ private FeedMenuHandler(){ }
+
private static final String TAG = "FeedMenuHandler";
public static boolean onCreateOptionsMenu(MenuInflater inflater, Menu menu) {
--
cgit v1.2.3
From e48cc22252a540b6014788a662f1f885c7a17639 Mon Sep 17 00:00:00 2001
From: Tom Tom
Date: Wed, 22 Jun 2016 21:28:10 +0400
Subject: Fixed rule 'The diamond operator ("<>") should be used'.
---
.../java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
index bc1a40b11..fce50bd1c 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
@@ -99,7 +99,7 @@ public class OpmlFeedChooserActivity extends AppCompatActivity {
}
private List getTitleList() {
- List result = new ArrayList();
+ List result = new ArrayList<>();
if (OpmlImportHolder.getReadElements() != null) {
for (OpmlElement element : OpmlImportHolder.getReadElements()) {
result.add(element.getText());
--
cgit v1.2.3
From 721c3e4d2c3838f9a88c30d8002415254cfe87ee Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Fri, 19 May 2017 19:51:15 +0200
Subject: Changed visibility from gone to invisible
---
.../java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java | 4 ++--
.../main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java | 4 ++--
.../main/java/de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
index 3e8bbc488..f12c8285a 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
@@ -174,7 +174,7 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter
Date: Sat, 21 Oct 2017 18:01:49 +0200
Subject: Refactor
---
.../antennapod/adapter/ChaptersListAdapter.java | 32 ++++++++++------------
1 file changed, 14 insertions(+), 18 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
index d7bebb672..75514abb1 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
@@ -1,6 +1,7 @@
package de.danoeh.antennapod.adapter;
import android.content.Context;
+import android.support.annotation.NonNull;
import android.support.v4.content.ContextCompat;
import android.text.Layout;
import android.text.Selection;
@@ -42,8 +43,9 @@ public class ChaptersListAdapter extends ArrayAdapter {
this.media = media;
}
+ @NonNull
@Override
- public View getView(final int position, View convertView, ViewGroup parent) {
+ public View getView(final int position, View convertView, @NonNull ViewGroup parent) {
Holder holder;
Chapter sc = getItem(position);
@@ -120,7 +122,7 @@ public class ChaptersListAdapter extends ArrayAdapter {
if (link.length != 0) {
if (action == MotionEvent.ACTION_UP) {
link[0].onClick(widget);
- } else if (action == MotionEvent.ACTION_DOWN){
+ } else if (action == MotionEvent.ACTION_DOWN) {
Selection.setSelection(buffer,
buffer.getSpanStart(link[0]),
buffer.getSpanEnd(link[0]));
@@ -139,23 +141,17 @@ public class ChaptersListAdapter extends ArrayAdapter {
callback.onPlayChapterButtonClicked(position);
}
});
+
Chapter current = ChapterUtils.getCurrentChapter(media);
- if (current != null) {
- if (current == sc) {
- int playingBackGroundColor;
- if(UserPreferences.getTheme() == R.style.Theme_AntennaPod_Dark) {
- playingBackGroundColor = ContextCompat.getColor(getContext(), R.color.highlight_dark);
- } else {
- playingBackGroundColor = ContextCompat.getColor(getContext(), R.color.highlight_light);
- }
- holder.view.setBackgroundColor(playingBackGroundColor);
- } else {
- holder.view.setBackgroundColor(ContextCompat.getColor(getContext(), android.R.color.transparent));
- holder.title.setTextColor(defaultTextColor);
- holder.start.setTextColor(defaultTextColor);
- }
+ if (current == sc) {
+ boolean darkTheme = UserPreferences.getTheme() == R.style.Theme_AntennaPod_Dark;
+ int highlight = darkTheme ? R.color.highlight_dark : R.color.highlight_light;
+ int playingBackGroundColor = ContextCompat.getColor(getContext(), highlight);
+ holder.view.setBackgroundColor(playingBackGroundColor);
} else {
- Log.w(TAG, "Could not find out what the current chapter is.");
+ holder.view.setBackgroundColor(ContextCompat.getColor(getContext(), android.R.color.transparent));
+ holder.title.setTextColor(defaultTextColor);
+ holder.start.setTextColor(defaultTextColor);
}
return convertView;
@@ -172,7 +168,7 @@ public class ChaptersListAdapter extends ArrayAdapter {
@Override
public int getCount() {
- if(media == null || media.getChapters() == null) {
+ if (media == null || media.getChapters() == null) {
return 0;
}
// ignore invalid chapters
--
cgit v1.2.3
From 30c7ca5437cf65dc74ebfdd60a44d89da2bfaf79 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sat, 21 Oct 2017 20:52:29 +0200
Subject: Shared element transition of cover
---
.../de/danoeh/antennapod/activity/MediaplayerActivity.java | 12 +++++++++++-
.../antennapod/activity/MediaplayerInfoActivity.java | 9 +++++++++
.../danoeh/antennapod/fragment/ExternalPlayerFragment.java | 14 ++++++++++++--
3 files changed, 32 insertions(+), 3 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index 21a0fa66f..b0cbd355b 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -11,6 +11,7 @@ import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
+import android.support.v4.app.ActivityOptionsCompat;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.Menu;
@@ -368,7 +369,16 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_NEW_TASK);
- startActivity(intent);
+
+ View cover = findViewById(R.id.imgvCover);
+ if (cover != null && Build.VERSION.SDK_INT >= 16) {
+ ActivityOptionsCompat options = ActivityOptionsCompat.
+ makeSceneTransitionAnimation(MediaplayerActivity.this,
+ cover, "coverTransition");
+ startActivity(intent, options.toBundle());
+ } else {
+ startActivity(intent);
+ }
return true;
} else {
if (media != null) {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
index b3cda69d3..cc7d83e0c 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
@@ -6,6 +6,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.Build;
+import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.Snackbar;
@@ -112,6 +113,12 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
EventBus.getDefault().unregister(this);
}
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ supportPostponeEnterTransition();
+ }
+
@Override
protected void onStop() {
super.onStop();
@@ -277,6 +284,8 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
pageIndicator.setViewPager(pager);
loadLastFragment();
pager.onSaveInstanceState();
+
+ navList.post(this::supportStartPostponedEnterTransition);
}
@Override
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
index 1e385728a..ebdb658d5 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
@@ -1,6 +1,9 @@
package de.danoeh.antennapod.fragment;
+import android.content.Intent;
+import android.os.Build;
import android.os.Bundle;
+import android.support.v4.app.ActivityOptionsCompat;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
@@ -56,8 +59,15 @@ public class ExternalPlayerFragment extends Fragment {
Log.d(TAG, "layoutInfo was clicked");
if (controller != null && controller.getMedia() != null) {
- startActivity(PlaybackService.getPlayerActivityIntent(
- getActivity(), controller.getMedia()));
+ Intent intent = PlaybackService.getPlayerActivityIntent(getActivity(), controller.getMedia());
+
+ if (Build.VERSION.SDK_INT >= 16) {
+ ActivityOptionsCompat options = ActivityOptionsCompat.
+ makeSceneTransitionAnimation(getActivity(), imgvCover, "coverTransition");
+ startActivity(intent, options.toBundle());
+ } else {
+ startActivity(intent);
+ }
}
});
return root;
--
cgit v1.2.3
From 2f5e7a28037563982e818445b7882adadfdaa318 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sat, 21 Oct 2017 23:43:28 +0200
Subject: Avoid FileUriExposedException
---
.../java/de/danoeh/antennapod/activity/OpmlImportFromPathActivity.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportFromPathActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportFromPathActivity.java
index eb6b473d2..ed7ab5d34 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportFromPathActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportFromPathActivity.java
@@ -51,11 +51,10 @@ public class OpmlImportFromPathActivity extends OpmlImportBaseActivity {
int nextOption = 1;
String optionLabel = getString(R.string.opml_import_option);
intentPickAction = new Intent(Intent.ACTION_PICK);
- intentPickAction.setData(Uri.parse("file://"));
if(!IntentUtils.isCallable(getApplicationContext(), intentPickAction)) {
intentPickAction.setData(null);
- if(false == IntentUtils.isCallable(getApplicationContext(), intentPickAction)) {
+ if(!IntentUtils.isCallable(getApplicationContext(), intentPickAction)) {
txtvHeaderExplanation1.setVisibility(View.GONE);
txtvExplanation1.setVisibility(View.GONE);
findViewById(R.id.divider1).setVisibility(View.GONE);
--
cgit v1.2.3
From af33e4c37bdad3151013553dbeafc3bc1e8043b0 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sun, 28 May 2017 12:17:53 +0200
Subject: Import/Export activity
---
.../antennapod/activity/ImportExportActivity.java | 183 +++++++++++++++++++++
.../preferences/PreferenceController.java | 8 +
2 files changed, 191 insertions(+)
create mode 100644 app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
new file mode 100644
index 000000000..5cd562d45
--- /dev/null
+++ b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
@@ -0,0 +1,183 @@
+package de.danoeh.antennapod.activity;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.Environment;
+import android.support.v7.app.AlertDialog;
+import android.support.v7.app.AppCompatActivity;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ListView;
+import android.widget.ProgressBar;
+import android.widget.RadioButton;
+import android.widget.TextView;
+import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.adapter.StatisticsListAdapter;
+import de.danoeh.antennapod.core.preferences.UserPreferences;
+import de.danoeh.antennapod.core.storage.DBReader;
+import de.danoeh.antennapod.core.storage.PodDBAdapter;
+import de.danoeh.antennapod.core.util.Converter;
+import rx.Observable;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.channels.FileChannel;
+
+/**
+ * Displays the 'statistics' screen
+ */
+public class ImportExportActivity extends AppCompatActivity {
+ private static final int READ_REQUEST_CODE = 41;
+ private static final int READ_REQUEST_CODE_DOCUMENT = 42;
+
+ private static final String TAG = ImportExportActivity.class.getSimpleName();
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ setTheme(UserPreferences.getTheme());
+ super.onCreate(savedInstanceState);
+ getSupportActionBar().setDisplayShowHomeEnabled(true);
+ setContentView(R.layout.import_export_activity);
+
+
+ //backup();
+ //restore();
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ if (item.getItemId() == android.R.id.home) {
+ finish();
+ return true;
+ } else {
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+ private void restore() {
+ if(Build.VERSION.SDK_INT >= 19) {
+ Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
+ intent.setType("*/*");
+ startActivityForResult(intent, READ_REQUEST_CODE_DOCUMENT);
+ } else {
+ Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
+ intent.setType("*/*");
+ startActivityForResult(Intent.createChooser(intent, "Select a File to import"), READ_REQUEST_CODE);
+ }
+ }
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
+ File currentDB = getDatabasePath(PodDBAdapter.DATABASE_NAME);
+
+ if (requestCode == READ_REQUEST_CODE_DOCUMENT && resultCode == RESULT_OK) {
+ if (resultData != null) {
+ Uri uri = resultData.getData();
+
+ try {
+ InputStream inputStream = getContentResolver().openInputStream(uri);
+ copyInputStreamToFile(inputStream, currentDB);
+ inputStream.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+ } else if(requestCode == READ_REQUEST_CODE && resultCode == RESULT_OK) {
+ if (resultData != null) {
+ Uri uri = resultData.getData();
+ try {
+ File backupDB = new File(getPath(getBaseContext(), uri));
+
+ if (backupDB.exists()) {
+ FileChannel src = new FileInputStream(currentDB).getChannel();
+ FileChannel dst = new FileOutputStream(backupDB).getChannel();
+ dst.transferFrom(src, 0, src.size());
+ src.close();
+ dst.close();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ private void copyInputStreamToFile(InputStream in, File file) {
+ try {
+ OutputStream out = new FileOutputStream(file);
+ byte[] buf = new byte[1024];
+ int len;
+ while((len=in.read(buf))>0){
+ out.write(buf,0,len);
+ }
+ out.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static String getPath(Context context, Uri uri) {
+ if ("content".equalsIgnoreCase(uri.getScheme())) {
+ String[] projection = { "_data" };
+ Cursor cursor = null;
+
+ try {
+ cursor = context.getContentResolver().query(uri, projection, null, null, null);
+ int column_index = cursor.getColumnIndexOrThrow("_data");
+ if (cursor.moveToFirst()) {
+ return cursor.getString(column_index);
+ }
+ } catch (Exception e) {
+ // Eat it
+ }
+ }
+ else if ("file".equalsIgnoreCase(uri.getScheme())) {
+ return uri.getPath();
+ }
+
+ return null;
+ }
+
+ private void backup() {
+ try {
+ File sd = Environment.getExternalStorageDirectory();
+
+ if (sd.canWrite()) {
+ File currentDB = getDatabasePath(PodDBAdapter.DATABASE_NAME);
+ File backupDB = new File(sd, "AntennaPodBackup.db");
+
+ if (currentDB.exists()) {
+ FileChannel src = new FileInputStream(currentDB).getChannel();
+ FileChannel dst = new FileOutputStream(backupDB).getChannel();
+ dst.transferFrom(src, 0, src.size());
+ src.close();
+ dst.close();
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 1ca0d0109..e8c35b9a7 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -39,6 +39,7 @@ import android.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
+import de.danoeh.antennapod.activity.ImportExportActivity;
import org.apache.commons.lang3.ArrayUtils;
import java.io.File;
@@ -95,6 +96,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
private static final String PREF_OPML_EXPORT = "prefOpmlExport";
private static final String PREF_HTML_EXPORT = "prefHtmlExport";
private static final String STATISTICS = "statistics";
+ private static final String IMPORT_EXPORT = "importExport";
private static final String PREF_ABOUT = "prefAbout";
private static final String PREF_CHOOSE_DATA_DIR = "prefChooseDataDir";
private static final String AUTO_DL_PREF_SCREEN = "prefAutoDownloadSettings";
@@ -191,6 +193,12 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
return true;
}
);
+ ui.findPreference(PreferenceController.IMPORT_EXPORT).setOnPreferenceClickListener(
+ preference -> {
+ activity.startActivity(new Intent(activity, ImportExportActivity.class));
+ return true;
+ }
+ );
ui.findPreference(PreferenceController.PREF_OPML_EXPORT).setOnPreferenceClickListener(
preference -> export(new OpmlWriter()));
ui.findPreference(PreferenceController.PREF_HTML_EXPORT).setOnPreferenceClickListener(
--
cgit v1.2.3
From 4cb4a0a0cbb65bc0db58ce24cc665f38a06ee208 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Mon, 16 Oct 2017 00:06:17 +0200
Subject: Supporting export using documents store API
---
.../antennapod/activity/ImportExportActivity.java | 117 ++++++++++++++-------
1 file changed, 79 insertions(+), 38 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
index 5cd562d45..adaf5fe50 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
@@ -2,48 +2,34 @@ package de.danoeh.antennapod.activity;
import android.content.Context;
import android.content.Intent;
-import android.content.SharedPreferences;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
-import android.support.v7.app.AlertDialog;
+import android.os.ParcelFileDescriptor;
+import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuInflater;
import android.view.MenuItem;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ListView;
-import android.widget.ProgressBar;
-import android.widget.RadioButton;
-import android.widget.TextView;
import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.adapter.StatisticsListAdapter;
import de.danoeh.antennapod.core.preferences.UserPreferences;
-import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.PodDBAdapter;
-import de.danoeh.antennapod.core.util.Converter;
-import rx.Observable;
-import rx.Subscription;
-import rx.android.schedulers.AndroidSchedulers;
-import rx.schedulers.Schedulers;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
+import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.channels.FileChannel;
/**
- * Displays the 'statistics' screen
+ * Displays the 'import/export' screen
*/
public class ImportExportActivity extends AppCompatActivity {
- private static final int READ_REQUEST_CODE = 41;
- private static final int READ_REQUEST_CODE_DOCUMENT = 42;
+ private static final int READ_REQUEST_CODE = 42;
+ private static final int READ_REQUEST_CODE_DOCUMENT = 43;
+ private static final int WRITE_REQUEST_CODE_DOCUMENT = 44;
private static final String TAG = ImportExportActivity.class.getSimpleName();
@@ -55,9 +41,8 @@ public class ImportExportActivity extends AppCompatActivity {
getSupportActionBar().setDisplayShowHomeEnabled(true);
setContentView(R.layout.import_export_activity);
-
- //backup();
- //restore();
+ findViewById(R.id.button_export).setOnClickListener(view -> backup());
+ findViewById(R.id.button_import).setOnClickListener(view -> restore());
}
@Override
@@ -83,7 +68,7 @@ public class ImportExportActivity extends AppCompatActivity {
} else {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
- startActivityForResult(Intent.createChooser(intent, "Select a File to import"), READ_REQUEST_CODE);
+ startActivityForResult(Intent.createChooser(intent, getString(R.string.import_select_file)), READ_REQUEST_CODE);
}
}
@@ -104,6 +89,11 @@ public class ImportExportActivity extends AppCompatActivity {
}
}
+ } else if (requestCode == WRITE_REQUEST_CODE_DOCUMENT && resultCode == RESULT_OK) {
+ if (resultData != null) {
+ Uri uri = resultData.getData();
+ writeBackupDocument(uri);
+ }
} else if(requestCode == READ_REQUEST_CODE && resultCode == RESULT_OK) {
if (resultData != null) {
Uri uri = resultData.getData();
@@ -151,6 +141,8 @@ public class ImportExportActivity extends AppCompatActivity {
}
} catch (Exception e) {
// Eat it
+ } finally {
+ cursor.close();
}
}
else if ("file".equalsIgnoreCase(uri.getScheme())) {
@@ -161,23 +153,72 @@ public class ImportExportActivity extends AppCompatActivity {
}
private void backup() {
- try {
- File sd = Environment.getExternalStorageDirectory();
-
- if (sd.canWrite()) {
- File currentDB = getDatabasePath(PodDBAdapter.DATABASE_NAME);
- File backupDB = new File(sd, "AntennaPodBackup.db");
-
- if (currentDB.exists()) {
- FileChannel src = new FileInputStream(currentDB).getChannel();
- FileChannel dst = new FileOutputStream(backupDB).getChannel();
- dst.transferFrom(src, 0, src.size());
- src.close();
- dst.close();
+ if (Build.VERSION.SDK_INT >= 19) {
+ Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT)
+ .addCategory(Intent.CATEGORY_OPENABLE)
+ .setType("application/x-sqlite3")
+ .putExtra(Intent.EXTRA_TITLE, "AntennaPodBackup.db");
+
+ startActivityForResult(intent, WRITE_REQUEST_CODE_DOCUMENT);
+ } else {
+ try {
+ File sd = Environment.getExternalStorageDirectory();
+
+ if (sd.canWrite()) {
+ File backupDB = new File(sd, "AntennaPodBackup.db");
+ writeBackup(new FileOutputStream(backupDB));
+ } else {
+ Snackbar.make(findViewById(R.id.import_export_layout),
+ "Can not write SD", Snackbar.LENGTH_SHORT).show();
}
+ } catch (Exception e) {
+ e.printStackTrace();
+
+ Snackbar.make(findViewById(R.id.import_export_layout), e.getMessage(), Snackbar.LENGTH_SHORT).show();
+ }
+ }
+ }
+
+ void writeBackup(FileOutputStream outFileStream) {
+ try {
+ File currentDB = getDatabasePath(PodDBAdapter.DATABASE_NAME);
+
+ if (currentDB.exists()) {
+ FileChannel src = new FileInputStream(currentDB).getChannel();
+ FileChannel dst = outFileStream.getChannel();
+ dst.transferFrom(src, 0, src.size());
+ src.close();
+ dst.close();
+
+ Snackbar.make(findViewById(R.id.import_export_layout),
+ R.string.export_ok, Snackbar.LENGTH_SHORT).show();
+ } else {
+ Snackbar.make(findViewById(R.id.import_export_layout),
+ "Can not access current database", Snackbar.LENGTH_SHORT).show();
}
} catch (Exception e) {
e.printStackTrace();
+
+ Snackbar.make(findViewById(R.id.import_export_layout), e.getMessage(), Snackbar.LENGTH_SHORT).show();
}
}
+
+ private void writeBackupDocument(Uri uri) {
+ try {
+ ParcelFileDescriptor pfd = getContentResolver().openFileDescriptor(uri, "w");
+ FileOutputStream fileOutputStream = new FileOutputStream(pfd.getFileDescriptor());
+ writeBackup(fileOutputStream);
+ fileOutputStream.close();
+ pfd.close();
+
+ Snackbar.make(findViewById(R.id.import_export_layout),
+ R.string.export_ok, Snackbar.LENGTH_SHORT).show();
+ } catch (IOException e) {
+ e.printStackTrace();
+
+ Snackbar.make(findViewById(R.id.import_export_layout),
+ "Can not write SD", Snackbar.LENGTH_SHORT).show();
+ }
+ }
+
}
--
cgit v1.2.3
From 2e5407370fd9bdcf4646140d6dd9563cbb8cca72 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sat, 21 Oct 2017 20:08:11 +0200
Subject: Showing dialog when import succeeds
---
.../antennapod/activity/ImportExportActivity.java | 54 ++++++++++++----------
1 file changed, 29 insertions(+), 25 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
index adaf5fe50..a0388cb03 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
@@ -1,5 +1,6 @@
package de.danoeh.antennapod.activity;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
@@ -9,6 +10,8 @@ import android.os.Bundle;
import android.os.Environment;
import android.os.ParcelFileDescriptor;
import android.support.design.widget.Snackbar;
+import android.support.v4.content.IntentCompat;
+import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import de.danoeh.antennapod.R;
@@ -74,20 +77,10 @@ public class ImportExportActivity extends AppCompatActivity {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
- File currentDB = getDatabasePath(PodDBAdapter.DATABASE_NAME);
-
if (requestCode == READ_REQUEST_CODE_DOCUMENT && resultCode == RESULT_OK) {
if (resultData != null) {
Uri uri = resultData.getData();
-
- try {
- InputStream inputStream = getContentResolver().openInputStream(uri);
- copyInputStreamToFile(inputStream, currentDB);
- inputStream.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
-
+ writeDatabase(uri);
}
} else if (requestCode == WRITE_REQUEST_CODE_DOCUMENT && resultCode == RESULT_OK) {
if (resultData != null) {
@@ -97,23 +90,34 @@ public class ImportExportActivity extends AppCompatActivity {
} else if(requestCode == READ_REQUEST_CODE && resultCode == RESULT_OK) {
if (resultData != null) {
Uri uri = resultData.getData();
- try {
- File backupDB = new File(getPath(getBaseContext(), uri));
-
- if (backupDB.exists()) {
- FileChannel src = new FileInputStream(currentDB).getChannel();
- FileChannel dst = new FileOutputStream(backupDB).getChannel();
- dst.transferFrom(src, 0, src.size());
- src.close();
- dst.close();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
+ writeDatabase(uri);
}
}
}
+ private void writeDatabase(Uri inputUri) {
+ File currentDB = getDatabasePath(PodDBAdapter.DATABASE_NAME);
+ try {
+ InputStream inputStream = getContentResolver().openInputStream(inputUri);
+ copyInputStreamToFile(inputStream, currentDB);
+ inputStream.close();
+
+ AlertDialog.Builder d = new AlertDialog.Builder(ImportExportActivity.this);
+ d.setMessage(R.string.import_ok);
+ d.setCancelable(false);
+ d.setPositiveButton(android.R.string.ok, (dialogInterface, i) -> {
+ Intent intent = new Intent(getApplicationContext(), SplashActivity.class);
+ ComponentName cn = intent.getComponent();
+ Intent mainIntent = IntentCompat.makeRestartActivityTask(cn);
+ startActivity(mainIntent);
+ });
+ d.show();
+ } catch (Exception e) {
+ e.printStackTrace();
+ Snackbar.make(findViewById(R.id.import_export_layout), e.getMessage(), Snackbar.LENGTH_SHORT).show();
+ }
+ }
+
private void copyInputStreamToFile(InputStream in, File file) {
try {
OutputStream out = new FileOutputStream(file);
@@ -179,7 +183,7 @@ public class ImportExportActivity extends AppCompatActivity {
}
}
- void writeBackup(FileOutputStream outFileStream) {
+ private void writeBackup(FileOutputStream outFileStream) {
try {
File currentDB = getDatabasePath(PodDBAdapter.DATABASE_NAME);
--
cgit v1.2.3
From b665792d2920a1f6116289492d92c739c3706c7b Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sun, 24 Dec 2017 13:11:41 +0100
Subject: Cleanup import/export
---
.../antennapod/activity/ImportExportActivity.java | 166 ++++++++-------------
1 file changed, 62 insertions(+), 104 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
index a0388cb03..862420325 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
@@ -1,9 +1,7 @@
package de.danoeh.antennapod.activity;
import android.content.ComponentName;
-import android.content.Context;
import android.content.Intent;
-import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
@@ -30,12 +28,8 @@ import java.nio.channels.FileChannel;
* Displays the 'import/export' screen
*/
public class ImportExportActivity extends AppCompatActivity {
- private static final int READ_REQUEST_CODE = 42;
- private static final int READ_REQUEST_CODE_DOCUMENT = 43;
- private static final int WRITE_REQUEST_CODE_DOCUMENT = 44;
-
- private static final String TAG = ImportExportActivity.class.getSimpleName();
-
+ private static final int REQUEST_CODE_RESTORE = 43;
+ private static final int REQUEST_CODE_BACKUP_DOCUMENT = 44;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -63,68 +57,83 @@ public class ImportExportActivity extends AppCompatActivity {
}
}
+ private void backup() {
+ if (Build.VERSION.SDK_INT >= 19) {
+ Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT)
+ .addCategory(Intent.CATEGORY_OPENABLE)
+ .setType("application/x-sqlite3")
+ .putExtra(Intent.EXTRA_TITLE, "AntennaPodBackup.db");
+
+ startActivityForResult(intent, REQUEST_CODE_BACKUP_DOCUMENT);
+ } else {
+ try {
+ File sd = Environment.getExternalStorageDirectory();
+ File backupDB = new File(sd, "AntennaPodBackup.db");
+ writeBackupTo(new FileOutputStream(backupDB));
+ } catch (Exception e) {
+ e.printStackTrace();
+ Snackbar.make(findViewById(R.id.import_export_layout), e.getMessage(), Snackbar.LENGTH_SHORT).show();
+ }
+ }
+ }
+
private void restore() {
if(Build.VERSION.SDK_INT >= 19) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.setType("*/*");
- startActivityForResult(intent, READ_REQUEST_CODE_DOCUMENT);
+ startActivityForResult(intent, REQUEST_CODE_RESTORE);
} else {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
- startActivityForResult(Intent.createChooser(intent, getString(R.string.import_select_file)), READ_REQUEST_CODE);
+ startActivityForResult(Intent.createChooser(intent,
+ getString(R.string.import_select_file)), REQUEST_CODE_RESTORE);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
- if (requestCode == READ_REQUEST_CODE_DOCUMENT && resultCode == RESULT_OK) {
- if (resultData != null) {
- Uri uri = resultData.getData();
- writeDatabase(uri);
- }
- } else if (requestCode == WRITE_REQUEST_CODE_DOCUMENT && resultCode == RESULT_OK) {
- if (resultData != null) {
- Uri uri = resultData.getData();
- writeBackupDocument(uri);
- }
- } else if(requestCode == READ_REQUEST_CODE && resultCode == RESULT_OK) {
- if (resultData != null) {
- Uri uri = resultData.getData();
- writeDatabase(uri);
- }
+ if (requestCode == REQUEST_CODE_RESTORE && resultCode == RESULT_OK && resultData != null) {
+ Uri uri = resultData.getData();
+ restoreFrom(uri);
+ } else if (requestCode == REQUEST_CODE_BACKUP_DOCUMENT && resultCode == RESULT_OK && resultData != null) {
+ Uri uri = resultData.getData();
+ backupToDocument(uri);
}
}
- private void writeDatabase(Uri inputUri) {
+ private void restoreFrom(Uri inputUri) {
File currentDB = getDatabasePath(PodDBAdapter.DATABASE_NAME);
try {
InputStream inputStream = getContentResolver().openInputStream(inputUri);
copyInputStreamToFile(inputStream, currentDB);
inputStream.close();
-
- AlertDialog.Builder d = new AlertDialog.Builder(ImportExportActivity.this);
- d.setMessage(R.string.import_ok);
- d.setCancelable(false);
- d.setPositiveButton(android.R.string.ok, (dialogInterface, i) -> {
- Intent intent = new Intent(getApplicationContext(), SplashActivity.class);
- ComponentName cn = intent.getComponent();
- Intent mainIntent = IntentCompat.makeRestartActivityTask(cn);
- startActivity(mainIntent);
- });
- d.show();
+ displayImportSuccessDialog();
} catch (Exception e) {
e.printStackTrace();
Snackbar.make(findViewById(R.id.import_export_layout), e.getMessage(), Snackbar.LENGTH_SHORT).show();
}
}
+ private void displayImportSuccessDialog() {
+ AlertDialog.Builder d = new AlertDialog.Builder(ImportExportActivity.this);
+ d.setMessage(R.string.import_ok);
+ d.setCancelable(false);
+ d.setPositiveButton(android.R.string.ok, (dialogInterface, i) -> {
+ Intent intent = new Intent(getApplicationContext(), SplashActivity.class);
+ ComponentName cn = intent.getComponent();
+ Intent mainIntent = IntentCompat.makeRestartActivityTask(cn);
+ startActivity(mainIntent);
+ });
+ d.show();
+ }
+
private void copyInputStreamToFile(InputStream in, File file) {
try {
OutputStream out = new FileOutputStream(file);
byte[] buf = new byte[1024];
int len;
- while((len=in.read(buf))>0){
- out.write(buf,0,len);
+ while ((len = in.read(buf)) > 0){
+ out.write(buf, 0, len);
}
out.close();
} catch (Exception e) {
@@ -132,58 +141,25 @@ public class ImportExportActivity extends AppCompatActivity {
}
}
- private static String getPath(Context context, Uri uri) {
- if ("content".equalsIgnoreCase(uri.getScheme())) {
- String[] projection = { "_data" };
- Cursor cursor = null;
-
- try {
- cursor = context.getContentResolver().query(uri, projection, null, null, null);
- int column_index = cursor.getColumnIndexOrThrow("_data");
- if (cursor.moveToFirst()) {
- return cursor.getString(column_index);
- }
- } catch (Exception e) {
- // Eat it
- } finally {
- cursor.close();
- }
- }
- else if ("file".equalsIgnoreCase(uri.getScheme())) {
- return uri.getPath();
- }
-
- return null;
- }
-
- private void backup() {
- if (Build.VERSION.SDK_INT >= 19) {
- Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT)
- .addCategory(Intent.CATEGORY_OPENABLE)
- .setType("application/x-sqlite3")
- .putExtra(Intent.EXTRA_TITLE, "AntennaPodBackup.db");
-
- startActivityForResult(intent, WRITE_REQUEST_CODE_DOCUMENT);
- } else {
- try {
- File sd = Environment.getExternalStorageDirectory();
+ private void backupToDocument(Uri uri) {
+ try {
+ ParcelFileDescriptor pfd = getContentResolver().openFileDescriptor(uri, "w");
+ FileOutputStream fileOutputStream = new FileOutputStream(pfd.getFileDescriptor());
+ writeBackupTo(fileOutputStream);
+ fileOutputStream.close();
+ pfd.close();
- if (sd.canWrite()) {
- File backupDB = new File(sd, "AntennaPodBackup.db");
- writeBackup(new FileOutputStream(backupDB));
- } else {
- Snackbar.make(findViewById(R.id.import_export_layout),
- "Can not write SD", Snackbar.LENGTH_SHORT).show();
- }
- } catch (Exception e) {
- e.printStackTrace();
+ Snackbar.make(findViewById(R.id.import_export_layout),
+ R.string.export_ok, Snackbar.LENGTH_SHORT).show();
+ } catch (IOException e) {
+ e.printStackTrace();
- Snackbar.make(findViewById(R.id.import_export_layout), e.getMessage(), Snackbar.LENGTH_SHORT).show();
- }
+ Snackbar.make(findViewById(R.id.import_export_layout),
+ "Can not write SD", Snackbar.LENGTH_SHORT).show();
}
}
- private void writeBackup(FileOutputStream outFileStream) {
+ private void writeBackupTo(FileOutputStream outFileStream) {
try {
File currentDB = getDatabasePath(PodDBAdapter.DATABASE_NAME);
@@ -207,22 +183,4 @@ public class ImportExportActivity extends AppCompatActivity {
}
}
- private void writeBackupDocument(Uri uri) {
- try {
- ParcelFileDescriptor pfd = getContentResolver().openFileDescriptor(uri, "w");
- FileOutputStream fileOutputStream = new FileOutputStream(pfd.getFileDescriptor());
- writeBackup(fileOutputStream);
- fileOutputStream.close();
- pfd.close();
-
- Snackbar.make(findViewById(R.id.import_export_layout),
- R.string.export_ok, Snackbar.LENGTH_SHORT).show();
- } catch (IOException e) {
- e.printStackTrace();
-
- Snackbar.make(findViewById(R.id.import_export_layout),
- "Can not write SD", Snackbar.LENGTH_SHORT).show();
- }
- }
-
}
--
cgit v1.2.3
From 3fd3db6c579c0ab4d5388f4796e552e02443c784 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Mon, 25 Dec 2017 22:42:41 +0100
Subject: Review changes
---
.../java/de/danoeh/antennapod/activity/ImportExportActivity.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
index 862420325..4d36e86de 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
@@ -30,6 +30,7 @@ import java.nio.channels.FileChannel;
public class ImportExportActivity extends AppCompatActivity {
private static final int REQUEST_CODE_RESTORE = 43;
private static final int REQUEST_CODE_BACKUP_DOCUMENT = 44;
+ private static final String EXPORT_FILENAME = "AntennaPodBackup.db";
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -62,13 +63,13 @@ public class ImportExportActivity extends AppCompatActivity {
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT)
.addCategory(Intent.CATEGORY_OPENABLE)
.setType("application/x-sqlite3")
- .putExtra(Intent.EXTRA_TITLE, "AntennaPodBackup.db");
+ .putExtra(Intent.EXTRA_TITLE, EXPORT_FILENAME);
startActivityForResult(intent, REQUEST_CODE_BACKUP_DOCUMENT);
} else {
try {
File sd = Environment.getExternalStorageDirectory();
- File backupDB = new File(sd, "AntennaPodBackup.db");
+ File backupDB = new File(sd, EXPORT_FILENAME);
writeBackupTo(new FileOutputStream(backupDB));
} catch (Exception e) {
e.printStackTrace();
@@ -78,7 +79,7 @@ public class ImportExportActivity extends AppCompatActivity {
}
private void restore() {
- if(Build.VERSION.SDK_INT >= 19) {
+ if (Build.VERSION.SDK_INT >= 19) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.setType("*/*");
startActivityForResult(intent, REQUEST_CODE_RESTORE);
--
cgit v1.2.3
From 2e98119d47dffaadd7bee82e082c80d0f3914841 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sat, 6 Jan 2018 12:33:33 +0100
Subject: Fixed video view
Bug was introduced in #2457, shared element does not exist in video view
---
.../java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
index ebdb658d5..5bb8e0a2d 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
@@ -17,6 +17,7 @@ import android.widget.TextView;
import com.bumptech.glide.Glide;
import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.core.feed.MediaType;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.service.playback.PlaybackService;
import de.danoeh.antennapod.core.util.Converter;
@@ -61,7 +62,7 @@ public class ExternalPlayerFragment extends Fragment {
if (controller != null && controller.getMedia() != null) {
Intent intent = PlaybackService.getPlayerActivityIntent(getActivity(), controller.getMedia());
- if (Build.VERSION.SDK_INT >= 16) {
+ if (Build.VERSION.SDK_INT >= 16 && controller.getMedia().getMediaType() == MediaType.AUDIO) {
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation(getActivity(), imgvCover, "coverTransition");
startActivity(intent, options.toBundle());
--
cgit v1.2.3
From bbbff0bc731c9fd2a92611b889335200dc0f8bc2 Mon Sep 17 00:00:00 2001
From: Dirk Mueller
Date: Sun, 7 Jan 2018 19:25:19 +0100
Subject: Cleanup order/remove unused includes
This is the result of Android Studio's include cleanup
Macro. This removes some no longer used includes, simplifying
the code a bit. The rest is grouping and resorting alphabetically.
---
.../main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java | 1 -
app/src/main/java/de/danoeh/antennapod/adapter/CoverTarget.java | 1 -
.../java/de/danoeh/antennapod/dialog/GpodnetSetHostnameDialog.java | 1 +
app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java | 2 --
.../main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java | 2 --
.../de/danoeh/antennapod/fragment/gpodnet/PodcastTopListFragment.java | 4 ++--
.../java/de/danoeh/antennapod/preferences/PreferenceController.java | 2 --
app/src/main/java/de/danoeh/antennapod/receiver/PlayerWidget.java | 4 ++--
8 files changed, 5 insertions(+), 12 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
index 75514abb1..f55fe72b4 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java
@@ -9,7 +9,6 @@ import android.text.Spannable;
import android.text.Spanned;
import android.text.style.ClickableSpan;
import android.text.util.Linkify;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/CoverTarget.java b/app/src/main/java/de/danoeh/antennapod/adapter/CoverTarget.java
index 538af8c79..ba6e7b25d 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/CoverTarget.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/CoverTarget.java
@@ -1,7 +1,6 @@
package de.danoeh.antennapod.adapter;
import android.graphics.drawable.Drawable;
-import android.net.Uri;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/GpodnetSetHostnameDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/GpodnetSetHostnameDialog.java
index db6b48735..e64f1e08b 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/GpodnetSetHostnameDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/GpodnetSetHostnameDialog.java
@@ -8,6 +8,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.LinearLayout;
+
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.gpoddernet.GpodnetService;
import de.danoeh.antennapod.core.preferences.GpodnetPreferences;
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java
index 7d6a66a54..5bb3f09c3 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java
@@ -1,7 +1,6 @@
package de.danoeh.antennapod.dialog;
import android.content.Context;
-import android.support.design.widget.Snackbar;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
@@ -9,7 +8,6 @@ import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
-import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java
index 183c10f3d..c136eb6ae 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/NewEpisodesFragment.java
@@ -7,8 +7,6 @@ import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.helper.ItemTouchHelper;
import android.util.Log;
import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastTopListFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastTopListFragment.java
index 33a35fa90..4f963756c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastTopListFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastTopListFragment.java
@@ -1,11 +1,11 @@
package de.danoeh.antennapod.fragment.gpodnet;
+import java.util.List;
+
import de.danoeh.antennapod.core.gpoddernet.GpodnetService;
import de.danoeh.antennapod.core.gpoddernet.GpodnetServiceException;
import de.danoeh.antennapod.core.gpoddernet.model.GpodnetPodcast;
-import java.util.List;
-
/**
*
*/
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 1ca0d0109..3b5a68f7f 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -24,7 +24,6 @@ import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;
import android.support.design.widget.Snackbar;
import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
import android.support.v4.content.FileProvider;
import android.support.v7.app.AlertDialog;
import android.text.Editable;
@@ -61,7 +60,6 @@ import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.activity.PreferenceActivityGingerbread;
import de.danoeh.antennapod.activity.StatisticsActivity;
import de.danoeh.antennapod.asynctask.ExportWorker;
-import de.danoeh.antennapod.core.BuildConfig;
import de.danoeh.antennapod.core.export.ExportWriter;
import de.danoeh.antennapod.core.export.html.HtmlWriter;
import de.danoeh.antennapod.core.export.opml.OpmlWriter;
diff --git a/app/src/main/java/de/danoeh/antennapod/receiver/PlayerWidget.java b/app/src/main/java/de/danoeh/antennapod/receiver/PlayerWidget.java
index f0d4014ed..a90f0f706 100644
--- a/app/src/main/java/de/danoeh/antennapod/receiver/PlayerWidget.java
+++ b/app/src/main/java/de/danoeh/antennapod/receiver/PlayerWidget.java
@@ -1,7 +1,5 @@
package de.danoeh.antennapod.receiver;
-import java.util.Arrays;
-
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
@@ -10,6 +8,8 @@ import android.content.SharedPreferences;
import android.text.TextUtils;
import android.util.Log;
+import java.util.Arrays;
+
import de.danoeh.antennapod.core.service.playback.PlaybackService;
import de.danoeh.antennapod.service.PlayerWidgetService;
--
cgit v1.2.3
From bc9bd0bfcf1678655b22239cebadf365b453c72c Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sun, 7 Jan 2018 20:09:28 +0100
Subject: Style changes and logging
---
.../antennapod/activity/ImportExportActivity.java | 46 +++++++++++-----------
1 file changed, 22 insertions(+), 24 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
index 4d36e86de..fdf8b73b2 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
@@ -11,6 +11,7 @@ import android.support.design.widget.Snackbar;
import android.support.v4.content.IntentCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
+import android.util.Log;
import android.view.MenuItem;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.preferences.UserPreferences;
@@ -31,6 +32,7 @@ public class ImportExportActivity extends AppCompatActivity {
private static final int REQUEST_CODE_RESTORE = 43;
private static final int REQUEST_CODE_BACKUP_DOCUMENT = 44;
private static final String EXPORT_FILENAME = "AntennaPodBackup.db";
+ private static final String TAG = ImportExportActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -43,11 +45,6 @@ public class ImportExportActivity extends AppCompatActivity {
findViewById(R.id.button_import).setOnClickListener(view -> restore());
}
- @Override
- public void onResume() {
- super.onResume();
- }
-
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
@@ -71,9 +68,9 @@ public class ImportExportActivity extends AppCompatActivity {
File sd = Environment.getExternalStorageDirectory();
File backupDB = new File(sd, EXPORT_FILENAME);
writeBackupTo(new FileOutputStream(backupDB));
- } catch (Exception e) {
- e.printStackTrace();
- Snackbar.make(findViewById(R.id.import_export_layout), e.getMessage(), Snackbar.LENGTH_SHORT).show();
+ } catch (IOException e) {
+ Log.e(TAG, Log.getStackTraceString(e));
+ Snackbar.make(findViewById(R.id.import_export_layout), e.getLocalizedMessage(), Snackbar.LENGTH_SHORT).show();
}
}
}
@@ -93,10 +90,14 @@ public class ImportExportActivity extends AppCompatActivity {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
- if (requestCode == REQUEST_CODE_RESTORE && resultCode == RESULT_OK && resultData != null) {
+ if (resultCode != RESULT_OK || resultData == null) {
+ return;
+ }
+
+ if (requestCode == REQUEST_CODE_RESTORE) {
Uri uri = resultData.getData();
restoreFrom(uri);
- } else if (requestCode == REQUEST_CODE_BACKUP_DOCUMENT && resultCode == RESULT_OK && resultData != null) {
+ } else if (requestCode == REQUEST_CODE_BACKUP_DOCUMENT) {
Uri uri = resultData.getData();
backupToDocument(uri);
}
@@ -109,9 +110,9 @@ public class ImportExportActivity extends AppCompatActivity {
copyInputStreamToFile(inputStream, currentDB);
inputStream.close();
displayImportSuccessDialog();
- } catch (Exception e) {
- e.printStackTrace();
- Snackbar.make(findViewById(R.id.import_export_layout), e.getMessage(), Snackbar.LENGTH_SHORT).show();
+ } catch (IOException e) {
+ Log.e(TAG, Log.getStackTraceString(e));
+ Snackbar.make(findViewById(R.id.import_export_layout), e.getLocalizedMessage(), Snackbar.LENGTH_SHORT).show();
}
}
@@ -137,8 +138,9 @@ public class ImportExportActivity extends AppCompatActivity {
out.write(buf, 0, len);
}
out.close();
- } catch (Exception e) {
- e.printStackTrace();
+ } catch (IOException e) {
+ Log.e(TAG, Log.getStackTraceString(e));
+ Snackbar.make(findViewById(R.id.import_export_layout), e.getLocalizedMessage(), Snackbar.LENGTH_SHORT).show();
}
}
@@ -153,10 +155,8 @@ public class ImportExportActivity extends AppCompatActivity {
Snackbar.make(findViewById(R.id.import_export_layout),
R.string.export_ok, Snackbar.LENGTH_SHORT).show();
} catch (IOException e) {
- e.printStackTrace();
-
- Snackbar.make(findViewById(R.id.import_export_layout),
- "Can not write SD", Snackbar.LENGTH_SHORT).show();
+ Log.e(TAG, Log.getStackTraceString(e));
+ Snackbar.make(findViewById(R.id.import_export_layout), e.getLocalizedMessage(), Snackbar.LENGTH_SHORT).show();
}
}
@@ -177,11 +177,9 @@ public class ImportExportActivity extends AppCompatActivity {
Snackbar.make(findViewById(R.id.import_export_layout),
"Can not access current database", Snackbar.LENGTH_SHORT).show();
}
- } catch (Exception e) {
- e.printStackTrace();
-
- Snackbar.make(findViewById(R.id.import_export_layout), e.getMessage(), Snackbar.LENGTH_SHORT).show();
+ } catch (IOException e) {
+ Log.e(TAG, Log.getStackTraceString(e));
+ Snackbar.make(findViewById(R.id.import_export_layout), e.getLocalizedMessage(), Snackbar.LENGTH_SHORT).show();
}
}
-
}
--
cgit v1.2.3
From 4c00f764943580e928feb4851d3fdc68594613dc Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sun, 7 Jan 2018 20:14:49 +0100
Subject: Closing correctly
---
.../antennapod/activity/ImportExportActivity.java | 42 +++++++++++++++-------
1 file changed, 30 insertions(+), 12 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
index fdf8b73b2..7e63ae1a6 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
@@ -16,6 +16,7 @@ import android.view.MenuItem;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.PodDBAdapter;
+import org.apache.commons.io.IOUtils;
import java.io.File;
import java.io.FileInputStream;
@@ -105,14 +106,16 @@ public class ImportExportActivity extends AppCompatActivity {
private void restoreFrom(Uri inputUri) {
File currentDB = getDatabasePath(PodDBAdapter.DATABASE_NAME);
+ InputStream inputStream = null;
try {
- InputStream inputStream = getContentResolver().openInputStream(inputUri);
+ inputStream = getContentResolver().openInputStream(inputUri);
copyInputStreamToFile(inputStream, currentDB);
- inputStream.close();
displayImportSuccessDialog();
} catch (IOException e) {
Log.e(TAG, Log.getStackTraceString(e));
Snackbar.make(findViewById(R.id.import_export_layout), e.getLocalizedMessage(), Snackbar.LENGTH_SHORT).show();
+ } finally {
+ IOUtils.closeQuietly(inputStream);
}
}
@@ -130,46 +133,58 @@ public class ImportExportActivity extends AppCompatActivity {
}
private void copyInputStreamToFile(InputStream in, File file) {
+ OutputStream out = null;
try {
- OutputStream out = new FileOutputStream(file);
+ out = new FileOutputStream(file);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0){
out.write(buf, 0, len);
}
- out.close();
} catch (IOException e) {
Log.e(TAG, Log.getStackTraceString(e));
Snackbar.make(findViewById(R.id.import_export_layout), e.getLocalizedMessage(), Snackbar.LENGTH_SHORT).show();
+ } finally {
+ IOUtils.closeQuietly(out);
}
}
private void backupToDocument(Uri uri) {
+ ParcelFileDescriptor pfd = null;
+ FileOutputStream fileOutputStream = null;
try {
- ParcelFileDescriptor pfd = getContentResolver().openFileDescriptor(uri, "w");
- FileOutputStream fileOutputStream = new FileOutputStream(pfd.getFileDescriptor());
+ pfd = getContentResolver().openFileDescriptor(uri, "w");
+ fileOutputStream = new FileOutputStream(pfd.getFileDescriptor());
writeBackupTo(fileOutputStream);
- fileOutputStream.close();
- pfd.close();
Snackbar.make(findViewById(R.id.import_export_layout),
R.string.export_ok, Snackbar.LENGTH_SHORT).show();
} catch (IOException e) {
Log.e(TAG, Log.getStackTraceString(e));
Snackbar.make(findViewById(R.id.import_export_layout), e.getLocalizedMessage(), Snackbar.LENGTH_SHORT).show();
+ } finally {
+ IOUtils.closeQuietly(fileOutputStream);
+
+ if (pfd != null) {
+ try {
+ pfd.close();
+ } catch (IOException e) {
+ Log.d(TAG, "Unable to close ParcelFileDescriptor");
+ }
+ }
}
}
private void writeBackupTo(FileOutputStream outFileStream) {
+ FileChannel src = null;
+ FileChannel dst = null;
try {
File currentDB = getDatabasePath(PodDBAdapter.DATABASE_NAME);
if (currentDB.exists()) {
- FileChannel src = new FileInputStream(currentDB).getChannel();
- FileChannel dst = outFileStream.getChannel();
+ src = new FileInputStream(currentDB).getChannel();
+ dst = outFileStream.getChannel();
dst.transferFrom(src, 0, src.size());
- src.close();
- dst.close();
Snackbar.make(findViewById(R.id.import_export_layout),
R.string.export_ok, Snackbar.LENGTH_SHORT).show();
@@ -180,6 +195,9 @@ public class ImportExportActivity extends AppCompatActivity {
} catch (IOException e) {
Log.e(TAG, Log.getStackTraceString(e));
Snackbar.make(findViewById(R.id.import_export_layout), e.getLocalizedMessage(), Snackbar.LENGTH_SHORT).show();
+ } finally {
+ IOUtils.closeQuietly(src);
+ IOUtils.closeQuietly(dst);
}
}
}
--
cgit v1.2.3
From 12456b52def840fcfdf35e50cf376f2d79d7c8ba Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sun, 7 Jan 2018 20:17:18 +0100
Subject: Using FileUtils.copyInputStreamToFile
---
.../antennapod/activity/ImportExportActivity.java | 21 ++-------------------
1 file changed, 2 insertions(+), 19 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
index 7e63ae1a6..01fcfe83d 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
@@ -16,6 +16,7 @@ import android.view.MenuItem;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.PodDBAdapter;
+import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import java.io.File;
@@ -23,7 +24,6 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
import java.nio.channels.FileChannel;
/**
@@ -109,7 +109,7 @@ public class ImportExportActivity extends AppCompatActivity {
InputStream inputStream = null;
try {
inputStream = getContentResolver().openInputStream(inputUri);
- copyInputStreamToFile(inputStream, currentDB);
+ FileUtils.copyInputStreamToFile(inputStream, currentDB);
displayImportSuccessDialog();
} catch (IOException e) {
Log.e(TAG, Log.getStackTraceString(e));
@@ -132,23 +132,6 @@ public class ImportExportActivity extends AppCompatActivity {
d.show();
}
- private void copyInputStreamToFile(InputStream in, File file) {
- OutputStream out = null;
- try {
- out = new FileOutputStream(file);
- byte[] buf = new byte[1024];
- int len;
- while ((len = in.read(buf)) > 0){
- out.write(buf, 0, len);
- }
- } catch (IOException e) {
- Log.e(TAG, Log.getStackTraceString(e));
- Snackbar.make(findViewById(R.id.import_export_layout), e.getLocalizedMessage(), Snackbar.LENGTH_SHORT).show();
- } finally {
- IOUtils.closeQuietly(out);
- }
- }
-
private void backupToDocument(Uri uri) {
ParcelFileDescriptor pfd = null;
FileOutputStream fileOutputStream = null;
--
cgit v1.2.3
From dc316074e8b5c408c7dc7eff7b16f9ffd8978ac7 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sun, 7 Jan 2018 20:19:29 +0100
Subject: Simplified onActivityResult
---
.../main/java/de/danoeh/antennapod/activity/ImportExportActivity.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
index 01fcfe83d..6a97adcc3 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/ImportExportActivity.java
@@ -94,12 +94,11 @@ public class ImportExportActivity extends AppCompatActivity {
if (resultCode != RESULT_OK || resultData == null) {
return;
}
+ Uri uri = resultData.getData();
if (requestCode == REQUEST_CODE_RESTORE) {
- Uri uri = resultData.getData();
restoreFrom(uri);
} else if (requestCode == REQUEST_CODE_BACKUP_DOCUMENT) {
- Uri uri = resultData.getData();
backupToDocument(uri);
}
}
--
cgit v1.2.3
From 32215ffc2890d8b392838e4ab5c04271390144e4 Mon Sep 17 00:00:00 2001
From: Dirk Mueller
Date: Mon, 8 Jan 2018 11:08:56 +0100
Subject: Set video aspect on initial creation
Previously on first start of a video the aspect ratio
was not correct (annoying on a 18:9 phone as
it doesn't match the usual 16:9 aspect ratio). So extract
the code into a setupVideoAspectRatio() helper
and call it from surfaceCreated as well.
---
.../antennapod/activity/VideoplayerActivity.java | 23 +++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index 8531a7356..fb5c4d273 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -152,16 +152,9 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
protected void onAwaitingVideoSurface() {
+ setupVideoAspectRatio();
if (videoSurfaceCreated && controller != null) {
Log.d(TAG, "Videosurface already created, setting videosurface now");
-
- Pair videoSize = controller.getVideoSize();
- if (videoSize != null && videoSize.first > 0 && videoSize.second > 0) {
- Log.d(TAG, "Width,height of video: " + videoSize.first + ", " + videoSize.second);
- videoview.setVideoSize(videoSize.first, videoSize.second);
- } else {
- Log.e(TAG, "Could not determine video size");
- }
controller.setVideoSurface(videoview.getHolder());
}
}
@@ -199,6 +192,18 @@ public class VideoplayerActivity extends MediaplayerActivity {
videoControlsHider.start();
}
+ private void setupVideoAspectRatio() {
+ if (videoSurfaceCreated && controller != null) {
+ Pair videoSize = controller.getVideoSize();
+ if (videoSize != null && videoSize.first > 0 && videoSize.second > 0) {
+ Log.d(TAG, "Width,height of video: " + videoSize.first + ", " + videoSize.second);
+ videoview.setVideoSize(videoSize.first, videoSize.second);
+ } else {
+ Log.e(TAG, "Could not determine video size");
+ }
+ }
+ }
+
private void toggleVideoControlsVisibility() {
if (videoControlsShowing) {
getSupportActionBar().hide();
@@ -247,7 +252,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
Log.e(TAG, "Couldn't attach surface to mediaplayer - reference to service was null");
}
}
-
+ setupVideoAspectRatio();
}
@Override
--
cgit v1.2.3
From c5d1d5408b1a2f31ad697fb0940148801ee0ee1a Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sun, 24 Dec 2017 11:46:59 +0100
Subject: Added Picure in picture
---
.../antennapod/activity/MediaplayerActivity.java | 9 ++++--
.../antennapod/activity/VideoplayerActivity.java | 35 ++++++++++++++++++++--
2 files changed, 38 insertions(+), 6 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index b0cbd355b..585b6cd85 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -38,6 +38,7 @@ import de.danoeh.antennapod.core.feed.FeedItem;
import de.danoeh.antennapod.core.feed.FeedMedia;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.playback.PlaybackService;
+import de.danoeh.antennapod.core.service.playback.PlayerStatus;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBTasks;
import de.danoeh.antennapod.core.storage.DBWriter;
@@ -225,9 +226,11 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
@Override
protected void onPause() {
- if(controller != null) {
- controller.reinitServiceIfPaused();
- controller.pause();
+ if (Build.VERSION.SDK_INT < 26 || !isInPictureInPictureMode()) {
+ if (controller != null) {
+ controller.reinitServiceIfPaused();
+ controller.pause();
+ }
}
super.onPause();
}
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index fb5c4d273..c7dd6285f 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -9,6 +9,8 @@ import android.os.Handler;
import android.support.v4.view.WindowCompat;
import android.util.Log;
import android.util.Pair;
+import android.view.Menu;
+import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.View;
@@ -96,9 +98,12 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
protected void onPause() {
- videoControlsHider.stop();
- if (controller != null && controller.getStatus() == PlayerStatus.PLAYING) {
- controller.pause();
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N
+ || !isInPictureInPictureMode()) {
+ videoControlsHider.stop();
+ if (controller != null && controller.getStatus() == PlayerStatus.PLAYING) {
+ controller.pause();
+ }
}
super.onPause();
}
@@ -175,6 +180,10 @@ public class VideoplayerActivity extends MediaplayerActivity {
View.OnTouchListener onVideoviewTouched = (v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
+ && isInPictureInPictureMode()) {
+ return true;
+ }
videoControlsHider.stop();
toggleVideoControlsVisibility();
if (videoControlsShowing) {
@@ -349,6 +358,26 @@ public class VideoplayerActivity extends MediaplayerActivity {
}
}
+ @Override
+ public boolean onPrepareOptionsMenu(Menu menu) {
+ super.onPrepareOptionsMenu(menu);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ menu.findItem(R.id.player_go_to_picture_in_picture).setVisible(true);
+ }
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ if (item.getItemId() == R.id.player_go_to_picture_in_picture) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ enterPictureInPictureMode();
+ }
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
private static class VideoControlsHider extends Handler {
private static final int DELAY = 2500;
--
cgit v1.2.3
From bad964508adf6145cc1c788b6540cd114dc5eef1 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sun, 24 Dec 2017 12:53:04 +0100
Subject: Added configChanges
---
.../java/de/danoeh/antennapod/activity/VideoplayerActivity.java | 7 +++++++
1 file changed, 7 insertions(+)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index c7dd6285f..80288af24 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -2,6 +2,7 @@ package de.danoeh.antennapod.activity;
import android.annotation.SuppressLint;
import android.content.Intent;
+import android.content.res.Configuration;
import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.os.Bundle;
@@ -378,6 +379,12 @@ public class VideoplayerActivity extends MediaplayerActivity {
return super.onOptionsItemSelected(item);
}
+ @Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ //TODO
+ }
+
private static class VideoControlsHider extends Handler {
private static final int DELAY = 2500;
--
cgit v1.2.3
From 7e72ff0b0e96cfb009146892c5db20dfa60d63c7 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sat, 6 Jan 2018 13:20:02 +0100
Subject: Fixed scaling of video
---
.../antennapod/activity/VideoplayerActivity.java | 11 ++++++++++-
.../antennapod/view/AspectRatioVideoView.java | 23 ++++++++++++++++++++--
2 files changed, 31 insertions(+), 3 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index 80288af24..bf1cc5b7e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -8,8 +8,10 @@ import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.WindowCompat;
+import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
+import android.util.TypedValue;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
@@ -382,7 +384,14 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
- //TODO
+
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB_MR2) {
+ // This is only relevant for picture in picture
+ DisplayMetrics dm = getResources().getDisplayMetrics();
+ float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, newConfig.screenWidthDp, dm);
+ float py = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, newConfig.screenHeightDp, dm);
+ videoview.setAvailableSize(px, py);
+ }
}
private static class VideoControlsHider extends Handler {
diff --git a/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java b/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java
index f930c912a..138fbff00 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java
@@ -25,6 +25,8 @@ public class AspectRatioVideoView extends VideoView {
private int mVideoWidth;
private int mVideoHeight;
+ private float mAvailableWidth = -1;
+ private float mAvailableHeight = -1;
public AspectRatioVideoView(Context context) {
this(context, null);
@@ -48,8 +50,13 @@ public class AspectRatioVideoView extends VideoView {
return;
}
- float heightRatio = (float) mVideoHeight / (float) getHeight();
- float widthRatio = (float) mVideoWidth / (float) getWidth();
+ if (mAvailableWidth < 0 || mAvailableHeight < 0) {
+ mAvailableWidth = getWidth();
+ mAvailableHeight = getHeight();
+ }
+
+ float heightRatio = (float) mVideoHeight / mAvailableHeight;
+ float widthRatio = (float) mVideoWidth / mAvailableWidth;
int scaledHeight;
int scaledWidth;
@@ -94,4 +101,16 @@ public class AspectRatioVideoView extends VideoView {
invalidate();
}
+ /**
+ * Sets the maximum size that the view might expand to
+ * @param width
+ * @param height
+ */
+ public void setAvailableSize(float width, float height) {
+ mAvailableWidth = width;
+ mAvailableHeight = height;
+ requestLayout();
+ invalidate();
+ }
+
}
--
cgit v1.2.3
From fbb5f28737804d93955771b29d10f76b4fb4128e Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sat, 6 Jan 2018 13:31:26 +0100
Subject: Allow to touch space next to video player
---
.../main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index bf1cc5b7e..f01a63e37 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -144,7 +144,8 @@ public class VideoplayerActivity extends MediaplayerActivity {
videoview = (AspectRatioVideoView) findViewById(R.id.videoview);
progressIndicator = (ProgressBar) findViewById(R.id.progressIndicator);
videoview.getHolder().addCallback(surfaceHolderCallback);
- videoview.setOnTouchListener(onVideoviewTouched);
+ findViewById(R.id.videoframe).setOnTouchListener(onVideoviewTouched);
+ videoOverlay.setOnTouchListener((view, motionEvent) -> true); // To suppress touches directly below the slider
if (Build.VERSION.SDK_INT >= 16) {
videoview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
@@ -181,7 +182,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
progressIndicator.setVisibility(View.INVISIBLE);
}
- View.OnTouchListener onVideoviewTouched = (v, event) -> {
+ private View.OnTouchListener onVideoviewTouched = (v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
&& isInPictureInPictureMode()) {
--
cgit v1.2.3
From d42330bc7e5a5ac8d6087b0306f91718777ed6bc Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sat, 6 Jan 2018 13:35:56 +0100
Subject: Fixed flickering when resizing
---
app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java | 2 --
1 file changed, 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java b/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java
index 138fbff00..e9ec5491c 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java
@@ -109,8 +109,6 @@ public class AspectRatioVideoView extends VideoView {
public void setAvailableSize(float width, float height) {
mAvailableWidth = width;
mAvailableHeight = height;
- requestLayout();
- invalidate();
}
}
--
cgit v1.2.3
From 8ab64d516a3e33a8709c9f9e995691feac80282e Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Tue, 9 Jan 2018 08:57:40 +0100
Subject: Hide controls when entering PiP
---
.../antennapod/activity/VideoplayerActivity.java | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index f01a63e37..4f28a789d 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -331,11 +331,13 @@ public class VideoplayerActivity extends MediaplayerActivity {
}
@SuppressLint("NewApi")
- private void hideVideoControls() {
- final Animation animation = AnimationUtils.loadAnimation(this, R.anim.fade_out);
- if (animation != null) {
- videoOverlay.startAnimation(animation);
- controls.startAnimation(animation);
+ private void hideVideoControls(boolean showAnimation) {
+ if (showAnimation) {
+ final Animation animation = AnimationUtils.loadAnimation(this, R.anim.fade_out);
+ if (animation != null) {
+ videoOverlay.startAnimation(animation);
+ controls.startAnimation(animation);
+ }
}
if (Build.VERSION.SDK_INT >= 14) {
int videoviewFlag = (Build.VERSION.SDK_INT >= 16) ? View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION : 0;
@@ -347,6 +349,10 @@ public class VideoplayerActivity extends MediaplayerActivity {
controls.setVisibility(View.GONE);
}
+ private void hideVideoControls() {
+ hideVideoControls(true);
+ }
+
@Override
protected int getContentViewResourceId() {
return R.layout.videoplayer_activity;
@@ -375,6 +381,8 @@ public class VideoplayerActivity extends MediaplayerActivity {
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.player_go_to_picture_in_picture) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ getSupportActionBar().hide();
+ hideVideoControls(false);
enterPictureInPictureMode();
}
return true;
--
cgit v1.2.3
From fa93fbc16d856bbfce827b3519e3dba5f20352a4 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Tue, 9 Jan 2018 09:00:25 +0100
Subject: Removed v14 compatibility code
---
.../antennapod/activity/VideoplayerActivity.java | 30 ++++++++--------------
1 file changed, 11 insertions(+), 19 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index 4f28a789d..a755a4c2b 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -150,9 +150,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
if (Build.VERSION.SDK_INT >= 16) {
videoview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}
- if (Build.VERSION.SDK_INT >= 14) {
- videoOverlay.setFitsSystemWindows(true);
- }
+ videoOverlay.setFitsSystemWindows(true);
setupVideoControlsToggler();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
@@ -325,9 +323,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
videoOverlay.startAnimation(animation);
controls.startAnimation(animation);
}
- if (Build.VERSION.SDK_INT >= 14) {
- videoview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
- }
+ videoview.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
}
@SuppressLint("NewApi")
@@ -339,12 +335,11 @@ public class VideoplayerActivity extends MediaplayerActivity {
controls.startAnimation(animation);
}
}
- if (Build.VERSION.SDK_INT >= 14) {
- int videoviewFlag = (Build.VERSION.SDK_INT >= 16) ? View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION : 0;
- getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN
- | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | videoviewFlag);
- videoOverlay.setFitsSystemWindows(true);
- }
+ int videoviewFlag = (Build.VERSION.SDK_INT >= 16) ? View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION : 0;
+ getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN
+ | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | videoviewFlag);
+ videoOverlay.setFitsSystemWindows(true);
+
videoOverlay.setVisibility(View.GONE);
controls.setVisibility(View.GONE);
}
@@ -394,13 +389,10 @@ public class VideoplayerActivity extends MediaplayerActivity {
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
- if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB_MR2) {
- // This is only relevant for picture in picture
- DisplayMetrics dm = getResources().getDisplayMetrics();
- float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, newConfig.screenWidthDp, dm);
- float py = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, newConfig.screenHeightDp, dm);
- videoview.setAvailableSize(px, py);
- }
+ DisplayMetrics dm = getResources().getDisplayMetrics();
+ float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, newConfig.screenWidthDp, dm);
+ float py = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, newConfig.screenHeightDp, dm);
+ videoview.setAvailableSize(px, py);
}
private static class VideoControlsHider extends Handler {
--
cgit v1.2.3
From 629ad7e8506c8b36fd8ad27c44ecf9a621d6a5c0 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Tue, 9 Jan 2018 09:18:17 +0100
Subject: Fixed black padding when returning from pip
onConfigurationChanged returned slightly wrong size
---
.../danoeh/antennapod/activity/VideoplayerActivity.java | 15 +++++++++------
.../de/danoeh/antennapod/view/AspectRatioVideoView.java | 1 +
2 files changed, 10 insertions(+), 6 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index a755a4c2b..9a0843f9e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -17,9 +17,11 @@ import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.View;
+import android.view.ViewTreeObserver;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
+import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.SeekBar;
@@ -56,6 +58,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
private LinearLayout videoOverlay;
private AspectRatioVideoView videoview;
private ProgressBar progressIndicator;
+ private FrameLayout videoframe;
@Override
protected void chooseTheme() {
@@ -142,9 +145,10 @@ public class VideoplayerActivity extends MediaplayerActivity {
controls = (LinearLayout) findViewById(R.id.controls);
videoOverlay = (LinearLayout) findViewById(R.id.overlay);
videoview = (AspectRatioVideoView) findViewById(R.id.videoview);
+ videoframe = (FrameLayout) findViewById(R.id.videoframe);
progressIndicator = (ProgressBar) findViewById(R.id.progressIndicator);
videoview.getHolder().addCallback(surfaceHolderCallback);
- findViewById(R.id.videoframe).setOnTouchListener(onVideoviewTouched);
+ videoframe.setOnTouchListener(onVideoviewTouched);
videoOverlay.setOnTouchListener((view, motionEvent) -> true); // To suppress touches directly below the slider
if (Build.VERSION.SDK_INT >= 16) {
@@ -155,6 +159,9 @@ public class VideoplayerActivity extends MediaplayerActivity {
setupVideoControlsToggler();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
+
+ videoframe.getViewTreeObserver().addOnGlobalLayoutListener(() ->
+ videoview.setAvailableSize(videoframe.getWidth(), videoframe.getHeight()));
}
@Override
@@ -388,11 +395,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
-
- DisplayMetrics dm = getResources().getDisplayMetrics();
- float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, newConfig.screenWidthDp, dm);
- float py = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, newConfig.screenHeightDp, dm);
- videoview.setAvailableSize(px, py);
+ videoframe.requestLayout();
}
private static class VideoControlsHider extends Handler {
diff --git a/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java b/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java
index e9ec5491c..e79389fb3 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/AspectRatioVideoView.java
@@ -109,6 +109,7 @@ public class AspectRatioVideoView extends VideoView {
public void setAvailableSize(float width, float height) {
mAvailableWidth = width;
mAvailableHeight = height;
+ requestLayout();
}
}
--
cgit v1.2.3
From 12c0939792160a534b28b9f4fdf0ee7615c90edc Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Tue, 9 Jan 2018 17:33:56 +0100
Subject: Do not open full activity from PiP mode
---
.../java/de/danoeh/antennapod/activity/VideoplayerActivity.java | 7 +++++++
1 file changed, 7 insertions(+)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index 9a0843f9e..203c11e33 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -286,6 +286,13 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
protected void onReloadNotification(int notificationCode) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && isInPictureInPictureMode()) {
+ if (notificationCode == PlaybackService.EXTRA_CODE_AUDIO
+ || notificationCode == PlaybackService.EXTRA_CODE_CAST) {
+ finish();
+ }
+ return;
+ }
if (notificationCode == PlaybackService.EXTRA_CODE_AUDIO) {
Log.d(TAG, "ReloadNotification received, switching to Audioplayer now");
destroyingDueToReload = true;
--
cgit v1.2.3
From 10f50ab264ae81862356b881a761c61562a69250 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Tue, 9 Jan 2018 18:16:30 +0100
Subject: Cleanup
---
.../antennapod/activity/VideoplayerActivity.java | 21 +++++----------------
1 file changed, 5 insertions(+), 16 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index 203c11e33..90b4c72ea 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -2,22 +2,18 @@ package de.danoeh.antennapod.activity;
import android.annotation.SuppressLint;
import android.content.Intent;
-import android.content.res.Configuration;
import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.WindowCompat;
-import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Pair;
-import android.util.TypedValue;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.View;
-import android.view.ViewTreeObserver;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
@@ -25,10 +21,6 @@ import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.SeekBar;
-
-import java.lang.ref.WeakReference;
-import java.util.concurrent.atomic.AtomicBoolean;
-
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.feed.MediaType;
import de.danoeh.antennapod.core.service.playback.PlaybackService;
@@ -37,6 +29,9 @@ import de.danoeh.antennapod.core.util.playback.ExternalMedia;
import de.danoeh.antennapod.core.util.playback.Playable;
import de.danoeh.antennapod.view.AspectRatioVideoView;
+import java.lang.ref.WeakReference;
+import java.util.concurrent.atomic.AtomicBoolean;
+
/**
* Activity for playing video files.
*/
@@ -137,7 +132,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
protected void setupGUI() {
- if(isSetup.getAndSet(true)) {
+ if (isSetup.getAndSet(true)) {
return;
}
super.setupGUI();
@@ -399,12 +394,6 @@ public class VideoplayerActivity extends MediaplayerActivity {
return super.onOptionsItemSelected(item);
}
- @Override
- public void onConfigurationChanged(Configuration newConfig) {
- super.onConfigurationChanged(newConfig);
- videoframe.requestLayout();
- }
-
private static class VideoControlsHider extends Handler {
private static final int DELAY = 2500;
@@ -417,7 +406,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
private final Runnable hideVideoControls = () -> {
VideoplayerActivity vpa = activity.get();
- if(vpa == null) {
+ if (vpa == null) {
return;
}
if (vpa.videoControlsShowing) {
--
cgit v1.2.3
From eaf007ecac75445bc501eb4d9c799ddf9ccf6036 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Tue, 9 Jan 2018 19:59:51 +0100
Subject: Replace ViewHelper
---
.../de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java | 9 ++++-----
.../danoeh/antennapod/adapter/DownloadedEpisodesListAdapter.java | 5 ++---
.../java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java | 8 +++-----
.../java/de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java | 5 ++---
.../java/de/danoeh/antennapod/adapter/SearchlistAdapter.java | 3 +--
5 files changed, 12 insertions(+), 18 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
index f12c8285a..6611cd35a 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
@@ -21,7 +21,6 @@ import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.joanzapata.iconify.Iconify;
-import com.nineoldandroids.view.ViewHelper;
import java.lang.ref.WeakReference;
@@ -129,9 +128,9 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter
Date: Tue, 9 Jan 2018 20:13:14 +0100
Subject: Cleanup executeAsync
---
.../activity/gpoddernet/GpodnetAuthenticationActivity.java | 6 +-----
.../main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java | 7 +------
.../main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java | 7 +------
.../de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java | 6 +-----
.../de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java | 6 +-----
5 files changed, 5 insertions(+), 27 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java
index 8ede947c5..31d0fb1a3 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java
@@ -171,11 +171,7 @@ public class GpodnetAuthenticationActivity extends AppCompatActivity {
return null;
}
};
- if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
- authTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, service);
- } else {
- authTask.execute();
- }
+ authTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, service);
}
});
}
diff --git a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java
index 4449d82c2..fcd5cff00 100644
--- a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java
+++ b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java
@@ -56,13 +56,8 @@ public class OpmlFeedQueuer extends AsyncTask {
return null;
}
- @SuppressLint("NewApi")
public void executeAsync() {
- if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
- executeOnExecutor(THREAD_POOL_EXECUTOR);
- } else {
- execute();
- }
+ executeOnExecutor(THREAD_POOL_EXECUTOR);
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java
index 62ea85811..88bd35b7c 100644
--- a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java
+++ b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java
@@ -93,13 +93,8 @@ public class OpmlImportWorker extends
return exception != null;
}
- @SuppressLint("NewApi")
public void executeAsync() {
- if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
- executeOnExecutor(THREAD_POOL_EXECUTOR);
- } else {
- execute();
- }
+ executeOnExecutor(THREAD_POOL_EXECUTOR);
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java
index 15e9c9943..a54c90862 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java
@@ -160,10 +160,6 @@ public abstract class PodcastListFragment extends Fragment {
}
};
- if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
- loaderTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
- } else {
- loaderTask.execute();
- }
+ loaderTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java
index d2c7f32dd..1e46b1ac5 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/TagListFragment.java
@@ -135,11 +135,7 @@ public class TagListFragment extends ListFragment {
}
}
};
- if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
- loadTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
- } else {
- loadTask.execute();
- }
+ loadTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
}
--
cgit v1.2.3
From 1694432560a7cd24201257461eda1adf3fb0873f Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Tue, 9 Jan 2018 20:19:38 +0100
Subject: Delete PreferenceActivityGingerbread
---
.../antennapod/activity/FlattrAuthActivity.java | 3 +-
.../danoeh/antennapod/activity/MainActivity.java | 3 +-
.../activity/MediaplayerInfoActivity.java | 3 +-
.../activity/PreferenceActivityGingerbread.java | 97 ----------------------
.../preferences/PreferenceController.java | 27 +-----
5 files changed, 7 insertions(+), 126 deletions(-)
delete mode 100644 app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivityGingerbread.java
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FlattrAuthActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FlattrAuthActivity.java
index be1c9f9e6..d9c250b38 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/FlattrAuthActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/FlattrAuthActivity.java
@@ -18,7 +18,6 @@ import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.util.flattr.FlattrUtils;
-import de.danoeh.antennapod.preferences.PreferenceController;
/** Guides the user through the authentication process */
@@ -104,7 +103,7 @@ public class FlattrAuthActivity extends ActionBarActivity {
switch (item.getItemId()) {
case android.R.id.home:
if (authSuccessful) {
- Intent intent = new Intent(this, PreferenceController.getPreferenceActivity());
+ Intent intent = new Intent(this, PreferenceActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
} else {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
index f0fcdca90..9949c01a0 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -64,7 +64,6 @@ import de.danoeh.antennapod.fragment.PlaybackHistoryFragment;
import de.danoeh.antennapod.fragment.QueueFragment;
import de.danoeh.antennapod.fragment.SubscriptionFragment;
import de.danoeh.antennapod.menuhandler.NavDrawerActivity;
-import de.danoeh.antennapod.preferences.PreferenceController;
import de.greenrobot.event.EventBus;
import rx.Observable;
import rx.Subscription;
@@ -173,7 +172,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
findViewById(R.id.nav_settings).setOnClickListener(v -> {
drawerLayout.closeDrawer(navDrawer);
- startActivity(new Intent(MainActivity.this, PreferenceController.getPreferenceActivity()));
+ startActivity(new Intent(MainActivity.this, PreferenceActivity.class));
});
FragmentTransaction transaction = fm.beginTransaction();
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
index cc7d83e0c..3b1427f1b 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
@@ -61,7 +61,6 @@ import de.danoeh.antennapod.fragment.PlaybackHistoryFragment;
import de.danoeh.antennapod.fragment.QueueFragment;
import de.danoeh.antennapod.fragment.SubscriptionFragment;
import de.danoeh.antennapod.menuhandler.NavDrawerActivity;
-import de.danoeh.antennapod.preferences.PreferenceController;
import de.greenrobot.event.EventBus;
import rx.Observable;
import rx.Subscription;
@@ -270,7 +269,7 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
findViewById(R.id.nav_settings).setOnClickListener(v -> {
drawerLayout.closeDrawer(navDrawer);
- startActivity(new Intent(MediaplayerInfoActivity.this, PreferenceController.getPreferenceActivity()));
+ startActivity(new Intent(MediaplayerInfoActivity.this, PreferenceActivity.class));
});
butPlaybackSpeed = (Button) findViewById(R.id.butPlaybackSpeed);
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivityGingerbread.java b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivityGingerbread.java
deleted file mode 100644
index 390bec15c..000000000
--- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivityGingerbread.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package de.danoeh.antennapod.activity;
-
-import android.annotation.SuppressLint;
-import android.app.Activity;
-import android.content.Intent;
-import android.content.res.Resources.Theme;
-import android.os.Bundle;
-import android.preference.Preference;
-import android.preference.PreferenceScreen;
-
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.core.preferences.UserPreferences;
-import de.danoeh.antennapod.preferences.PreferenceController;
-
-/**
- * PreferenceActivity for API 10. In order to change the behavior of the preference UI, see
- * PreferenceController.
- */
-public class PreferenceActivityGingerbread extends android.preference.PreferenceActivity {
- private static final String TAG = "PreferenceActivity";
- private final PreferenceController.PreferenceUI preferenceUI = new PreferenceController.PreferenceUI() {
-
- @SuppressWarnings("deprecation")
- @Override
- public Preference findPreference(CharSequence key) {
- return PreferenceActivityGingerbread.this.findPreference(key);
- }
-
- @Override
- public Activity getActivity() {
- return PreferenceActivityGingerbread.this;
- }
- };
- private PreferenceController preferenceController;
-
- @SuppressLint("NewApi")
- @SuppressWarnings("deprecation")
- @Override
- public void onCreate(Bundle savedInstanceState) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
-
- addPreferencesFromResource(R.xml.preferences);
- preferenceController = new PreferenceController(preferenceUI);
- preferenceController.onCreate();
- }
-
-
- @Override
- protected void onResume() {
- super.onResume();
- preferenceController.onResume();
- }
-
- @Override
- protected void onPause() {
- preferenceController.onPause();
- super.onPause();
- }
-
- @Override
- protected void onStop() {
- preferenceController.onStop();
- super.onStop();
- }
-
- @Override
- protected void onApplyThemeResource(Theme theme, int resid, boolean first) {
- theme.applyStyle(UserPreferences.getTheme(), true);
- }
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- preferenceController.onActivityResult(requestCode, resultCode, data);
- }
-
- @SuppressWarnings("deprecation")
- @Override
- public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
- Preference preference) {
- super.onPreferenceTreeClick(preferenceScreen, preference);
- if (preference != null)
- if (preference instanceof PreferenceScreen)
- if (((PreferenceScreen) preference).getDialog() != null)
- ((PreferenceScreen) preference)
- .getDialog()
- .getWindow()
- .getDecorView()
- .setBackgroundDrawable(
- this.getWindow().getDecorView()
- .getBackground().getConstantState()
- .newDrawable()
- );
- return false;
- }
-}
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 3b5a68f7f..c4e58f652 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -56,8 +56,6 @@ import de.danoeh.antennapod.activity.AboutActivity;
import de.danoeh.antennapod.activity.DirectoryChooserActivity;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.activity.MediaplayerActivity;
-import de.danoeh.antennapod.activity.PreferenceActivity;
-import de.danoeh.antennapod.activity.PreferenceActivityGingerbread;
import de.danoeh.antennapod.activity.StatisticsActivity;
import de.danoeh.antennapod.asynctask.ExportWorker;
import de.danoeh.antennapod.core.export.ExportWriter;
@@ -97,8 +95,8 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
private static final String PREF_CHOOSE_DATA_DIR = "prefChooseDataDir";
private static final String AUTO_DL_PREF_SCREEN = "prefAutoDownloadSettings";
private static final String PREF_PLAYBACK_SPEED_LAUNCHER = "prefPlaybackSpeedLauncher";
- public static final String PREF_PLAYBACK_REWIND_DELTA_LAUNCHER = "prefPlaybackRewindDeltaLauncher";
- public static final String PREF_PLAYBACK_FAST_FORWARD_DELTA_LAUNCHER = "prefPlaybackFastForwardDeltaLauncher";
+ private static final String PREF_PLAYBACK_REWIND_DELTA_LAUNCHER = "prefPlaybackRewindDeltaLauncher";
+ private static final String PREF_PLAYBACK_FAST_FORWARD_DELTA_LAUNCHER = "prefPlaybackFastForwardDeltaLauncher";
private static final String PREF_GPODNET_LOGIN = "pref_gpodnet_authenticate";
private static final String PREF_GPODNET_SETLOGIN_INFORMATION = "pref_gpodnet_setlogin_information";
private static final String PREF_GPODNET_SYNC = "pref_gpodnet_sync";
@@ -132,19 +130,6 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
.registerOnSharedPreferenceChangeListener(this);
}
- /**
- * Returns the preference activity that should be used on this device.
- *
- * @return PreferenceActivity if the API level is greater than 10, PreferenceActivityGingerbread otherwise.
- */
- public static Class extends Activity> getPreferenceActivity() {
- if (Build.VERSION.SDK_INT > 10) {
- return PreferenceActivity.class;
- } else {
- return PreferenceActivityGingerbread.class;
- }
- }
-
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(key.equals(UserPreferences.PREF_SONIC)) {
@@ -230,12 +215,8 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
.setOnPreferenceChangeListener(
(preference, newValue) -> {
Intent i = new Intent(activity, MainActivity.class);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
- i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
- | Intent.FLAG_ACTIVITY_NEW_TASK);
- } else {
- i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- }
+ i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
+ | Intent.FLAG_ACTIVITY_NEW_TASK);
activity.finish();
activity.startActivity(i);
return true;
--
cgit v1.2.3
From 7e0a958f8aa762d86b3dac33d1994898358481ad Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Tue, 9 Jan 2018 20:20:18 +0100
Subject: Use guard clause
---
.../preferences/PreferenceController.java | 104 ++++++++++-----------
1 file changed, 52 insertions(+), 52 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index c4e58f652..1ac9de989 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -767,61 +767,61 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
WifiManager wifiservice = (WifiManager) activity.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
List networks = wifiservice.getConfiguredNetworks();
- if (networks != null) {
- Collections.sort(networks, new Comparator() {
- @Override
- public int compare(WifiConfiguration x, WifiConfiguration y) {
- return x.SSID.compareTo(y.SSID);
+ if (networks == null) {
+ Log.e(TAG, "Couldn't get list of configure Wi-Fi networks");
+ return;
+ }
+ Collections.sort(networks, new Comparator() {
+ @Override
+ public int compare(WifiConfiguration x, WifiConfiguration y) {
+ return x.SSID.compareTo(y.SSID);
+ }
+ });
+ selectedNetworks = new CheckBoxPreference[networks.size()];
+ List prefValues = Arrays.asList(UserPreferences
+ .getAutodownloadSelectedNetworks());
+ PreferenceScreen prefScreen = (PreferenceScreen) ui.findPreference(PreferenceController.AUTO_DL_PREF_SCREEN);
+ Preference.OnPreferenceClickListener clickListener = preference -> {
+ if (preference instanceof CheckBoxPreference) {
+ String key = preference.getKey();
+ List prefValuesList = new ArrayList<>(
+ Arrays.asList(UserPreferences
+ .getAutodownloadSelectedNetworks())
+ );
+ boolean newValue = ((CheckBoxPreference) preference)
+ .isChecked();
+ Log.d(TAG, "Selected network " + key + ". New state: " + newValue);
+
+ int index = prefValuesList.indexOf(key);
+ if (index >= 0 && !newValue) {
+ // remove network
+ prefValuesList.remove(index);
+ } else if (index < 0 && newValue) {
+ prefValuesList.add(key);
}
- });
- selectedNetworks = new CheckBoxPreference[networks.size()];
- List prefValues = Arrays.asList(UserPreferences
- .getAutodownloadSelectedNetworks());
- PreferenceScreen prefScreen = (PreferenceScreen) ui.findPreference(PreferenceController.AUTO_DL_PREF_SCREEN);
- Preference.OnPreferenceClickListener clickListener = preference -> {
- if (preference instanceof CheckBoxPreference) {
- String key = preference.getKey();
- List prefValuesList = new ArrayList<>(
- Arrays.asList(UserPreferences
- .getAutodownloadSelectedNetworks())
- );
- boolean newValue = ((CheckBoxPreference) preference)
- .isChecked();
- Log.d(TAG, "Selected network " + key + ". New state: " + newValue);
-
- int index = prefValuesList.indexOf(key);
- if (index >= 0 && !newValue) {
- // remove network
- prefValuesList.remove(index);
- } else if (index < 0 && newValue) {
- prefValuesList.add(key);
- }
- UserPreferences.setAutodownloadSelectedNetworks(
- prefValuesList.toArray(new String[prefValuesList.size()])
- );
- return true;
- } else {
- return false;
- }
- };
- // create preference for each known network. attach listener and set
- // value
- for (int i = 0; i < networks.size(); i++) {
- WifiConfiguration config = networks.get(i);
-
- CheckBoxPreference pref = new CheckBoxPreference(activity);
- String key = Integer.toString(config.networkId);
- pref.setTitle(config.SSID);
- pref.setKey(key);
- pref.setOnPreferenceClickListener(clickListener);
- pref.setPersistent(false);
- pref.setChecked(prefValues.contains(key));
- selectedNetworks[i] = pref;
- prefScreen.addPreference(pref);
+ UserPreferences.setAutodownloadSelectedNetworks(
+ prefValuesList.toArray(new String[prefValuesList.size()])
+ );
+ return true;
+ } else {
+ return false;
}
- } else {
- Log.e(TAG, "Couldn't get list of configure Wi-Fi networks");
+ };
+ // create preference for each known network. attach listener and set
+ // value
+ for (int i = 0; i < networks.size(); i++) {
+ WifiConfiguration config = networks.get(i);
+
+ CheckBoxPreference pref = new CheckBoxPreference(activity);
+ String key = Integer.toString(config.networkId);
+ pref.setTitle(config.SSID);
+ pref.setKey(key);
+ pref.setOnPreferenceClickListener(clickListener);
+ pref.setPersistent(false);
+ pref.setChecked(prefValues.contains(key));
+ selectedNetworks[i] = pref;
+ prefScreen.addPreference(pref);
}
}
--
cgit v1.2.3
From df131cdd0d3688766298554cffdb6890777c60d5 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Tue, 9 Jan 2018 20:20:32 +0100
Subject: Replace with lambda
---
.../de/danoeh/antennapod/preferences/PreferenceController.java | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 1ac9de989..a7e7e8714 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -771,12 +771,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
Log.e(TAG, "Couldn't get list of configure Wi-Fi networks");
return;
}
- Collections.sort(networks, new Comparator() {
- @Override
- public int compare(WifiConfiguration x, WifiConfiguration y) {
- return x.SSID.compareTo(y.SSID);
- }
- });
+ Collections.sort(networks, (x, y) -> x.SSID.compareTo(y.SSID));
selectedNetworks = new CheckBoxPreference[networks.size()];
List prefValues = Arrays.asList(UserPreferences
.getAutodownloadSelectedNetworks());
--
cgit v1.2.3
From fe8993803d174e03df72bd44e8aef20d49828286 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Tue, 9 Jan 2018 20:21:57 +0100
Subject: Replace lambda with method reference
---
.../java/de/danoeh/antennapod/preferences/PreferenceController.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index a7e7e8714..58c7f39a1 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -494,7 +494,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
alert.setTitle(R.string.export_error_label);
alert.setMessage(error.getMessage());
alert.show();
- }, () -> progressDialog.dismiss());
+ }, progressDialog::dismiss);
return true;
}
--
cgit v1.2.3
From 89366d97d18ac1132fabb6909cd46bcfa7a6e5ae Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Tue, 9 Jan 2018 21:03:30 +0100
Subject: Replace code for SDK version lower than 14
---
.../main/java/de/danoeh/antennapod/PodcastApp.java | 6 ++----
.../danoeh/antennapod/activity/FeedInfoActivity.java | 14 ++++----------
.../antennapod/fragment/ItemDescriptionFragment.java | 20 ++++++--------------
.../de/danoeh/antennapod/fragment/ItemFragment.java | 19 ++++++-------------
.../danoeh/antennapod/fragment/ItemlistFragment.java | 10 ----------
.../antennapod/preferences/PreferenceController.java | 8 ++------
6 files changed, 20 insertions(+), 57 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/PodcastApp.java b/app/src/main/java/de/danoeh/antennapod/PodcastApp.java
index f6a8db5fb..3abf7557a 100644
--- a/app/src/main/java/de/danoeh/antennapod/PodcastApp.java
+++ b/app/src/main/java/de/danoeh/antennapod/PodcastApp.java
@@ -41,10 +41,8 @@ public class PodcastApp extends Application {
.detectLeakedSqlLiteObjects()
.penaltyLog()
.penaltyDropBox();
- if (Build.VERSION.SDK_INT >= 11) {
- builder.detectActivityLeaks();
- builder.detectLeakedClosableObjects();
- }
+ builder.detectActivityLeaks();
+ builder.detectLeakedClosableObjects();
if(Build.VERSION.SDK_INT >= 16) {
builder.detectLeakedRegistrationObjects();
}
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
index 2a58d5104..21951dc0e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
@@ -88,16 +88,10 @@ public class FeedInfoActivity extends AppCompatActivity {
public void onClick(View v) {
if(feed != null && feed.getDownload_url() != null) {
String url = feed.getDownload_url();
- if (android.os.Build.VERSION.SDK_INT >= 11) {
- ClipData clipData = ClipData.newPlainText(url, url);
- android.content.ClipboardManager cm = (android.content.ClipboardManager) FeedInfoActivity.this
- .getSystemService(Context.CLIPBOARD_SERVICE);
- cm.setPrimaryClip(clipData);
- } else {
- android.text.ClipboardManager cm = (android.text.ClipboardManager) FeedInfoActivity.this
- .getSystemService(Context.CLIPBOARD_SERVICE);
- cm.setText(url);
- }
+ ClipData clipData = ClipData.newPlainText(url, url);
+ android.content.ClipboardManager cm = (android.content.ClipboardManager) FeedInfoActivity.this
+ .getSystemService(Context.CLIPBOARD_SERVICE);
+ cm.setPrimaryClip(clipData);
Toast t = Toast.makeText(FeedInfoActivity.this, R.string.copied_url_msg, Toast.LENGTH_SHORT);
t.show();
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
index a0586fe16..f6bdfddda 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
@@ -112,9 +112,7 @@ public class ItemDescriptionFragment extends Fragment implements MediaplayerInfo
Bundle savedInstanceState) {
Log.d(TAG, "Creating view");
webvDescription = new WebView(getActivity().getApplicationContext());
- if (Build.VERSION.SDK_INT >= 11) {
- webvDescription.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
- }
+ webvDescription.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
TypedArray ta = getActivity().getTheme().obtainStyledAttributes(new int[]
{android.R.attr.colorBackground});
int backgroundColor = ta.getColor(0, UserPreferences.getTheme() ==
@@ -238,17 +236,11 @@ public class ItemDescriptionFragment extends Fragment implements MediaplayerInfo
ShareUtils.shareLink(getActivity(), selectedURL);
break;
case R.id.copy_url_item:
- if (android.os.Build.VERSION.SDK_INT >= 11) {
- ClipData clipData = ClipData.newPlainText(selectedURL,
- selectedURL);
- android.content.ClipboardManager cm = (android.content.ClipboardManager) getActivity()
- .getSystemService(Context.CLIPBOARD_SERVICE);
- cm.setPrimaryClip(clipData);
- } else {
- android.text.ClipboardManager cm = (android.text.ClipboardManager) getActivity()
- .getSystemService(Context.CLIPBOARD_SERVICE);
- cm.setText(selectedURL);
- }
+ ClipData clipData = ClipData.newPlainText(selectedURL,
+ selectedURL);
+ android.content.ClipboardManager cm = (android.content.ClipboardManager) getActivity()
+ .getSystemService(Context.CLIPBOARD_SERVICE);
+ cm.setPrimaryClip(clipData);
Toast t = Toast.makeText(getActivity(),
R.string.copied_url_msg, Toast.LENGTH_SHORT);
t.show();
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
index 7939dcb23..da7fc5299 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
@@ -184,8 +184,7 @@ public class ItemFragment extends Fragment implements OnSwipeGesture {
}
webvDescription = (WebView) layout.findViewById(R.id.webvDescription);
if (UserPreferences.getTheme() == R.style.Theme_AntennaPod_Dark) {
- if (Build.VERSION.SDK_INT >= 11
- && Build.VERSION.SDK_INT <= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
+ if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
webvDescription.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
webvDescription.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.black));
@@ -483,17 +482,11 @@ public class ItemFragment extends Fragment implements OnSwipeGesture {
ShareUtils.shareLink(getActivity(), selectedURL);
break;
case R.id.copy_url_item:
- if (android.os.Build.VERSION.SDK_INT >= 11) {
- ClipData clipData = ClipData.newPlainText(selectedURL,
- selectedURL);
- android.content.ClipboardManager cm = (android.content.ClipboardManager) getActivity()
- .getSystemService(Context.CLIPBOARD_SERVICE);
- cm.setPrimaryClip(clipData);
- } else {
- android.text.ClipboardManager cm = (android.text.ClipboardManager) getActivity()
- .getSystemService(Context.CLIPBOARD_SERVICE);
- cm.setText(selectedURL);
- }
+ ClipData clipData = ClipData.newPlainText(selectedURL,
+ selectedURL);
+ android.content.ClipboardManager cm = (android.content.ClipboardManager) getActivity()
+ .getSystemService(Context.CLIPBOARD_SERVICE);
+ cm.setPrimaryClip(clipData);
Toast t = Toast.makeText(getActivity(),
R.string.copied_url_msg, Toast.LENGTH_SHORT);
t.show();
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
index a118673a6..d819e68d2 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
@@ -350,16 +350,6 @@ public class ItemlistFragment extends ListFragment {
}
}
-
- @Override
- public void setListAdapter(ListAdapter adapter) {
- // This workaround prevents the ListFragment from setting a list adapter when its state is restored.
- // This is only necessary on API 10 because addFooterView throws an internal exception in this case.
- if (Build.VERSION.SDK_INT > 10 || insideOnFragmentLoaded) {
- super.setListAdapter(adapter);
- }
- }
-
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 3b5a68f7f..4f47ff137 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -230,12 +230,8 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
.setOnPreferenceChangeListener(
(preference, newValue) -> {
Intent i = new Intent(activity, MainActivity.class);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
- i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
- | Intent.FLAG_ACTIVITY_NEW_TASK);
- } else {
- i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- }
+ i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
+ | Intent.FLAG_ACTIVITY_NEW_TASK);
activity.finish();
activity.startActivity(i);
return true;
--
cgit v1.2.3
From f756cd84d11b0c83e3393a7bba5b3d8fc05e3ef5 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Tue, 9 Jan 2018 21:06:13 +0100
Subject: Remove unnecessary annotations
---
.../main/java/de/danoeh/antennapod/activity/PreferenceActivity.java | 5 -----
1 file changed, 5 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
index dd932814f..12d918a76 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
@@ -1,9 +1,7 @@
package de.danoeh.antennapod.activity;
-import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
-import android.os.Build;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
@@ -30,7 +28,6 @@ public class PreferenceActivity extends AppCompatActivity {
private PreferenceController preferenceController;
private MainFragment prefFragment;
private final PreferenceController.PreferenceUI preferenceUI = new PreferenceController.PreferenceUI() {
- @TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
public Preference findPreference(CharSequence key) {
return prefFragment.findPreference(key);
@@ -42,7 +39,6 @@ public class PreferenceActivity extends AppCompatActivity {
}
};
- @TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
protected void onCreate(Bundle savedInstanceState) {
// This must be the FIRST thing we do, otherwise other code may not have the
@@ -95,7 +91,6 @@ public class PreferenceActivity extends AppCompatActivity {
}
}
- @TargetApi(Build.VERSION_CODES.HONEYCOMB)
public static class MainFragment extends PreferenceFragment {
@Override
--
cgit v1.2.3
From 2831ec69d900d9ef28e736f748c16f3aa3501c22 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Wed, 10 Jan 2018 21:02:40 +0100
Subject: Fixed strange behavior when re-launching from PiP
---
.../de/danoeh/antennapod/config/PlaybackServiceCallbacksImpl.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/config/PlaybackServiceCallbacksImpl.java b/app/src/main/java/de/danoeh/antennapod/config/PlaybackServiceCallbacksImpl.java
index 1ab60ef61..83dd3fe9c 100644
--- a/app/src/main/java/de/danoeh/antennapod/config/PlaybackServiceCallbacksImpl.java
+++ b/app/src/main/java/de/danoeh/antennapod/config/PlaybackServiceCallbacksImpl.java
@@ -3,6 +3,7 @@ package de.danoeh.antennapod.config;
import android.content.Context;
import android.content.Intent;
+import android.os.Build;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.AudioplayerActivity;
import de.danoeh.antennapod.activity.CastplayerActivity;
@@ -18,7 +19,11 @@ public class PlaybackServiceCallbacksImpl implements PlaybackServiceCallbacks {
return new Intent(context, CastplayerActivity.class);
}
if (mediaType == MediaType.VIDEO) {
- return new Intent(context, VideoplayerActivity.class);
+ Intent i = new Intent(context, VideoplayerActivity.class);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ i.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
+ }
+ return i;
} else {
return new Intent(context, AudioplayerActivity.class);
}
--
cgit v1.2.3
From 14718a9f516d7fdb0944755e9a8a25e4a2ccecf6 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 21:45:06 +0100
Subject: Custom views extend AppCompatImageView instead of ImageView
---
app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java b/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java
index 27b6ee2bc..11b873fdb 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java
@@ -1,13 +1,14 @@
package de.danoeh.antennapod.view;
import android.content.Context;
+import android.support.v7.widget.AppCompatImageView;
import android.util.AttributeSet;
import android.widget.ImageView;
/**
* From http://stackoverflow.com/a/19449488/6839
*/
-public class SquareImageView extends ImageView {
+public class SquareImageView extends AppCompatImageView {
public SquareImageView(Context context) {
super(context);
--
cgit v1.2.3
From 0c4a08ac5668d6dd48424b8805188308a2ee139e Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 21:45:49 +0100
Subject: Suppress inspection
---
app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java | 1 +
1 file changed, 1 insertion(+)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java b/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java
index 11b873fdb..185f07b6b 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java
@@ -27,6 +27,7 @@ public class SquareImageView extends AppCompatImageView {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = getMeasuredWidth();
+ //noinspection SuspiciousNameCombination
setMeasuredDimension(width, width);
}
--
cgit v1.2.3
From ba3eb5e784ac4f55ea28b60326200f1c2a8d0c5d Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 21:56:08 +0100
Subject: Remove assertions
---
.../java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 3 ++-
.../main/java/de/danoeh/antennapod/adapter/SubscriptionsAdapter.java | 1 -
2 files changed, 2 insertions(+), 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index f6bf11e66..604dcb960 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -6,6 +6,7 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Looper;
+import android.support.annotation.UiThread;
import android.support.v4.app.NavUtils;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
@@ -508,8 +509,8 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
return 0;
}
+ @UiThread
private void showErrorDialog(String errorMsg) {
- assert(Looper.myLooper() == Looper.getMainLooper()); // run on UI thread
if (!isFinishing() && !isPaused) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.error_label);
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsAdapter.java
index 6d19bfa6c..bb76ab501 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsAdapter.java
@@ -50,7 +50,6 @@ public class SubscriptionsAdapter extends BaseAdapter implements AdapterView.OnI
}
private int getAdjustedPosition(int origPosition) {
- assert(origPosition != getAddTilePosition());
return origPosition < getAddTilePosition() ? origPosition : origPosition - 1;
}
--
cgit v1.2.3
From 21ac9d158f4d81b082b8cb1d6f65146ed5c4c4ca Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 21:59:13 +0100
Subject: Avoid NPE
---
.../antennapod/activity/OnlineFeedViewActivity.java | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index 604dcb960..defceb09b 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -8,6 +8,7 @@ import android.os.Bundle;
import android.os.Looper;
import android.support.annotation.UiThread;
import android.support.v4.app.NavUtils;
+import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
@@ -113,9 +114,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
feeds -> {
OnlineFeedViewActivity.this.feeds = feeds;
setSubscribeButtonState(feed);
- }, error -> {
- Log.e(TAG, Log.getStackTraceString(error));
- }
+ }, error -> Log.e(TAG, Log.getStackTraceString(error))
);
} else if ((arg & EVENTS) != 0) {
setSubscribeButtonState(feed);
@@ -132,10 +131,13 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
setTheme(UserPreferences.getTheme());
super.onCreate(savedInstanceState);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ ActionBar actionBar = getSupportActionBar();
+ if(actionBar != null) {
+ actionBar.setDisplayHomeAsUpEnabled(true);
+ }
- if (getIntent() != null && getIntent().hasExtra(ARG_TITLE)) {
- getSupportActionBar().setTitle(getIntent().getStringExtra(ARG_TITLE));
+ if (actionBar != null && getIntent() != null && getIntent().hasExtra(ARG_TITLE)) {
+ actionBar.setTitle(getIntent().getStringExtra(ARG_TITLE));
}
StorageUtils.checkStorageAvailability(this);
@@ -147,7 +149,9 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
|| TextUtils.equals(getIntent().getAction(), Intent.ACTION_VIEW)) {
feedUrl = (TextUtils.equals(getIntent().getAction(), Intent.ACTION_SEND))
? getIntent().getStringExtra(Intent.EXTRA_TEXT) : getIntent().getDataString();
- getSupportActionBar().setTitle(R.string.add_feed_label);
+ if(actionBar != null) {
+ actionBar.setTitle(R.string.add_feed_label);
+ }
} else {
throw new IllegalArgumentException("Activity must be started with feedurl argument!");
}
--
cgit v1.2.3
From 0238d24216fe82060be58a99fd7d0d7c17c0c7f1 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 22:02:59 +0100
Subject: Replace deprecated method
---
.../de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index defceb09b..0aa135478 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -270,16 +270,11 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
feed.getDownload_url(), "OnlineFeed", 0, Feed.FEEDFILETYPE_FEED, username, password,
true, null);
- download = Observable.create(new Observable.OnSubscribe() {
- @Override
- public void call(Subscriber super DownloadStatus> subscriber) {
+ download = Observable.fromCallable(() -> {
feeds = DBReader.getFeedList();
downloader = new HttpDownloader(request);
downloader.call();
- Log.d(TAG, "Download was completed");
- subscriber.onNext(downloader.getResult());
- subscriber.onCompleted();
- }
+ return downloader.getResult();
})
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
--
cgit v1.2.3
From 5bacbff10b9c415e8e3ca1ba2c186cc2e1dd6231 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 22:04:51 +0100
Subject: Simplify
---
.../java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index 0aa135478..1224cf38f 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -286,6 +286,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
if (status == null) {
Log.wtf(TAG, "DownloadStatus returned by Downloader was null");
finish();
+ return;
}
if (status.isCancelled()) {
return;
@@ -300,7 +301,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
}
} else {
String errorMsg = status.getReason().getErrorString(OnlineFeedViewActivity.this);
- if (errorMsg != null && status.getReasonDetailed() != null) {
+ if (status.getReasonDetailed() != null) {
errorMsg += " (" + status.getReasonDetailed() + ")";
}
showErrorDialog(errorMsg);
--
cgit v1.2.3
From 74b2d439c368ab878165d33f0c1bde2b26408db3 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 22:15:47 +0100
Subject: Replace deprecated method
---
.../activity/OnlineFeedViewActivity.java | 52 +++++++++++-----------
1 file changed, 25 insertions(+), 27 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index 1224cf38f..b5dc4038b 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -271,10 +271,10 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
true, null);
download = Observable.fromCallable(() -> {
- feeds = DBReader.getFeedList();
- downloader = new HttpDownloader(request);
- downloader.call();
- return downloader.getResult();
+ feeds = DBReader.getFeedList();
+ downloader = new HttpDownloader(request);
+ downloader.call();
+ return downloader.getResult();
})
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
@@ -314,35 +314,33 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
}
Log.d(TAG, "Parsing feed");
- parser = Observable.create(new Observable.OnSubscribe() {
- @Override
- public void call(Subscriber super FeedHandlerResult> subscriber) {
- FeedHandler handler = new FeedHandler();
- try {
- FeedHandlerResult result = handler.parseFeed(feed);
- subscriber.onNext(result);
- } catch (UnsupportedFeedtypeException e) {
- Log.d(TAG, "Unsupported feed type detected");
- if (TextUtils.equals("html", e.getRootElement().toLowerCase())) {
- showFeedDiscoveryDialog(new File(feed.getFile_url()), feed.getDownload_url());
- } else {
- subscriber.onError(e);
- }
- } catch (Exception e) {
- Log.e(TAG, Log.getStackTraceString(e));
- subscriber.onError(e);
- } finally {
- boolean rc = new File(feed.getFile_url()).delete();
- Log.d(TAG, "Deleted feed source file. Result: " + rc);
- subscriber.onCompleted();
+ parser = Observable.fromCallable(() -> {
+ FeedHandler handler = new FeedHandler();
+ try {
+ return handler.parseFeed(feed);
+ } catch (UnsupportedFeedtypeException e) {
+ Log.d(TAG, "Unsupported feed type detected");
+ if (TextUtils.equals("html", e.getRootElement().toLowerCase())) {
+ showFeedDiscoveryDialog(new File(feed.getFile_url()), feed.getDownload_url());
+ return null;
+ } else {
+ throw e;
}
+ } catch (Exception e) {
+ Log.e(TAG, Log.getStackTraceString(e));
+ throw e;
+ } finally {
+ boolean rc = new File(feed.getFile_url()).delete();
+ Log.d(TAG, "Deleted feed source file. Result: " + rc);
}
})
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(result -> {
- beforeShowFeedInformation(result.feed);
- showFeedInformation(result.feed, result.alternateFeedUrls);
+ if(result != null) {
+ beforeShowFeedInformation(result.feed);
+ showFeedInformation(result.feed, result.alternateFeedUrls);
+ }
}, error -> {
String errorMsg = DownloadError.ERROR_PARSER_EXCEPTION.getErrorString(
OnlineFeedViewActivity.this) + " (" + error.getMessage() + ")";
--
cgit v1.2.3
From 36a7261f89b41160ed3fe7209d8388dcca98666f Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 22:16:51 +0100
Subject: Simplify
---
.../main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index b5dc4038b..07f09455a 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -413,7 +413,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
description.setText(feed.getDescription());
subscribeButton.setOnClickListener(v -> {
- if(feed != null && feedInFeedlist(feed)) {
+ if(feedInFeedlist(feed)) {
Intent intent = new Intent(OnlineFeedViewActivity.this, MainActivity.class);
// feed.getId() is always 0, we have to retrieve the id from the feed list from
// the database
--
cgit v1.2.3
From ab287fe028ada1ec51f73bc06eccc9023480f854 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 22:20:31 +0100
Subject: Silence warning
---
.../java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index 07f09455a..d66f7484e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -382,8 +382,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
this.selectedDownloadUrl = feed.getDownload_url();
EventDistributor.getInstance().register(listener);
ListView listView = (ListView) findViewById(R.id.listview);
- LayoutInflater inflater = (LayoutInflater)
- getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ LayoutInflater inflater = LayoutInflater.from(this);
View header = inflater.inflate(R.layout.onlinefeedview_header, listView, false);
listView.addHeaderView(header);
--
cgit v1.2.3
From ce2aeb5e90e9d3b554804f47c9a13aa97d278ed5 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 22:42:59 +0100
Subject: Use DecimalFormat
---
.../main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
index ca214de9e..f7cc6f942 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
@@ -6,6 +6,7 @@ import android.text.TextUtils;
import android.util.Log;
import android.view.View;
+import java.text.DecimalFormat;
import java.util.concurrent.atomic.AtomicBoolean;
import de.danoeh.antennapod.core.feed.MediaType;
@@ -95,7 +96,7 @@ public class AudioplayerActivity extends MediaplayerInfoActivity {
UserPreferences.setPlaybackSpeed(String.valueOf(speed));
}
}
- String speedStr = String.format("%.2fx", speed);
+ String speedStr = new DecimalFormat("0.00x").format(speed);
butPlaybackSpeed.setText(speedStr);
}
--
cgit v1.2.3
From c524791c3cded7c94abf98045825b73928bcf90e Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 22:44:52 +0100
Subject: Avoid NPEs
---
.../java/de/danoeh/antennapod/activity/AudioplayerActivity.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
index f7cc6f942..4f56d9770 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
@@ -28,6 +28,9 @@ public class AudioplayerActivity extends MediaplayerInfoActivity {
super.onResume();
if (TextUtils.equals(getIntent().getAction(), Intent.ACTION_VIEW)) {
Intent intent = getIntent();
+ if (intent.getData() == null) {
+ return;
+ }
Log.d(TAG, "Received VIEW intent: " + intent.getData().getPath());
ExternalMedia media = new ExternalMedia(intent.getData().getPath(),
MediaType.AUDIO);
@@ -41,7 +44,8 @@ public class AudioplayerActivity extends MediaplayerInfoActivity {
startService(launchIntent);
} else if (PlaybackService.isCasting()) {
Intent intent = PlaybackService.getPlayerActivityIntent(this);
- if (!intent.getComponent().getClassName().equals(AudioplayerActivity.class.getName())) {
+ if (intent.getComponent() != null &&
+ !intent.getComponent().getClassName().equals(AudioplayerActivity.class.getName())) {
saveCurrentFragment();
finish();
startActivity(intent);
--
cgit v1.2.3
From 249bf9bc184b453eb962cdfa592f5ae15c8f612d Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 23:21:53 +0100
Subject: Do not treat position as fixed
---
.../de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
index 6611cd35a..172646211 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
@@ -100,7 +100,6 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter {
- this.position = position;
+ this.position = holder.getAdapterPosition();
return false;
});
holder.item = item;
- holder.position = position;
holder.placeholder.setVisibility(View.VISIBLE);
holder.placeholder.setText(item.getFeed().getTitle());
holder.title.setText(item.getTitle());
@@ -252,7 +250,6 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter mainActivityRef;
- int position;
public Holder(View itemView) {
super(itemView);
@@ -265,7 +262,7 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter
Date: Wed, 10 Jan 2018 23:26:58 +0100
Subject: Remove superfluous logging
---
.../de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java | 2 --
1 file changed, 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
index 41b2debdc..166138af4 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
@@ -24,7 +24,6 @@ import de.danoeh.antennapod.core.storage.DownloadRequester;
* The activity's result will be the same DownloadRequest with the entered username and password.
*/
public class DownloadAuthenticationActivity extends ActionBarActivity {
- private static final String TAG = "DownloadAuthenticationActivity";
/**
* The download request object that contains information about the resource that requires a username and a password
@@ -87,7 +86,6 @@ public class DownloadAuthenticationActivity extends ActionBarActivity {
setResult(Activity.RESULT_OK, result);
if (sendToDownloadRequester) {
- if (BuildConfig.DEBUG) Log.d(TAG, "Sending request to DownloadRequester");
DownloadRequester.getInstance().download(DownloadAuthenticationActivity.this, request);
}
finish();
--
cgit v1.2.3
From 39c47da07dfe0ebb8f5fafcb52bfec44d15c4b24 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Thu, 11 Jan 2018 14:07:15 +0100
Subject: Fixed backstack when pressing up arrow
---
app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java | 1 +
1 file changed, 1 insertion(+)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index 585b6cd85..37afe21be 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -382,6 +382,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
} else {
startActivity(intent);
}
+ finish();
return true;
} else {
if (media != null) {
--
cgit v1.2.3
From 7257a6c76e002e39eef8d1f28c70b654e9954d4e Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Wed, 10 Jan 2018 23:35:18 +0100
Subject: Refactor
---
.../activity/DownloadAuthenticationActivity.java | 47 ++++++++++------------
1 file changed, 22 insertions(+), 25 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
index 166138af4..0346cc717 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
@@ -3,15 +3,14 @@ package de.danoeh.antennapod.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
-import android.support.v7.app.ActionBarActivity;
-import android.util.Log;
+import android.support.v7.app.ActionBar;
+import android.support.v7.app.AppCompatActivity;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import org.apache.commons.lang3.Validate;
-import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.download.DownloadRequest;
@@ -23,7 +22,7 @@ import de.danoeh.antennapod.core.storage.DownloadRequester;
* Other arguments are optional.
* The activity's result will be the same DownloadRequest with the entered username and password.
*/
-public class DownloadAuthenticationActivity extends ActionBarActivity {
+public class DownloadAuthenticationActivity extends AppCompatActivity {
/**
* The download request object that contains information about the resource that requires a username and a password
@@ -35,47 +34,39 @@ public class DownloadAuthenticationActivity extends ActionBarActivity {
*/
public static final String ARG_SEND_TO_DOWNLOAD_REQUESTER_BOOL = "send_to_downloadrequester";
- public static final String RESULT_REQUEST = "request";
+ private static final String RESULT_REQUEST = "request";
private EditText etxtUsername;
private EditText etxtPassword;
- private Button butConfirm;
- private Button butCancel;
- private TextView txtvDescription;
-
- private DownloadRequest request;
- private boolean sendToDownloadRequester;
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(UserPreferences.getTheme());
super.onCreate(savedInstanceState);
- getSupportActionBar().hide();
- setContentView(R.layout.download_authentication_activity);
+ ActionBar actionBar = getSupportActionBar();
+ if(actionBar != null) {
+ actionBar.hide();
+ }
+ setContentView(R.layout.download_authentication_activity);
+ TextView txtvDescription = (TextView) findViewById(R.id.txtvDescription);
etxtUsername = (EditText) findViewById(R.id.etxtUsername);
etxtPassword = (EditText) findViewById(R.id.etxtPassword);
- butConfirm = (Button) findViewById(R.id.butConfirm);
- butCancel = (Button) findViewById(R.id.butCancel);
- txtvDescription = (TextView) findViewById(R.id.txtvDescription);
+ Button butConfirm = (Button) findViewById(R.id.butConfirm);
+ Button butCancel = (Button) findViewById(R.id.butCancel);
Validate.isTrue(getIntent().hasExtra(ARG_DOWNLOAD_REQUEST), "Download request missing");
+ DownloadRequest request = getIntent().getParcelableExtra(ARG_DOWNLOAD_REQUEST);
+ boolean sendToDownloadRequester = getIntent().getBooleanExtra(ARG_SEND_TO_DOWNLOAD_REQUESTER_BOOL, false);
- request = getIntent().getParcelableExtra(ARG_DOWNLOAD_REQUEST);
- sendToDownloadRequester = getIntent().getBooleanExtra(ARG_SEND_TO_DOWNLOAD_REQUESTER_BOOL, false);
+ String newDescription = txtvDescription.getText() + ":\n\n" + request.getTitle();
+ txtvDescription.setText(newDescription);
if (savedInstanceState != null) {
etxtUsername.setText(savedInstanceState.getString("username"));
etxtPassword.setText(savedInstanceState.getString("password"));
}
- txtvDescription.setText(txtvDescription.getText() + ":\n\n" + request.getTitle());
-
- butCancel.setOnClickListener(v -> {
- setResult(Activity.RESULT_CANCELED);
- finish();
- });
-
butConfirm.setOnClickListener(v -> {
String username = etxtUsername.getText().toString();
String password = etxtPassword.getText().toString();
@@ -90,6 +81,12 @@ public class DownloadAuthenticationActivity extends ActionBarActivity {
}
finish();
});
+
+ butCancel.setOnClickListener(v -> {
+ setResult(Activity.RESULT_CANCELED);
+ finish();
+ });
+
}
@Override
--
cgit v1.2.3
From 332943effb89dcfb7aa05d85e7019abb70c965d6 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 17:47:43 +0100
Subject: Replace anonymous type with lambda
---
.../danoeh/antennapod/activity/AboutActivity.java | 91 +++++++++++-----------
.../de/danoeh/antennapod/dialog/ProxyDialog.java | 79 +++++++++----------
2 files changed, 82 insertions(+), 88 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
index 1b42b274c..041053a25 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
@@ -75,53 +75,50 @@ public class AboutActivity extends AppCompatActivity {
}
private void loadAsset(String filename) {
- subscription = Observable.create(new Observable.OnSubscribe() {
- @Override
- public void call(Subscriber super String> subscriber) {
- InputStream input = null;
- try {
- TypedArray res = AboutActivity.this.getTheme().obtainStyledAttributes(
- new int[] { android.R.attr.textColorPrimary });
- int colorResource = res.getColor(0, 0);
- String colorString = String.format("#%06X", 0xFFFFFF & colorResource);
- res.recycle();
- input = getAssets().open(filename);
- String webViewData = IOUtils.toString(input, Charset.defaultCharset());
- if(!webViewData.startsWith("")) {
- //webViewData = webViewData.replace("\n\n", "
");
- webViewData = webViewData.replace("%", "%");
- webViewData =
- "" +
- "" +
- "
" +
- " " +
- " " +
- "" + webViewData + "
";
- webViewData = webViewData.replace("\n", "
");
- depth++;
- } else {
- depth = 0;
- }
- webViewData = String.format(webViewData, colorString);
- subscriber.onNext(webViewData);
- } catch (IOException e) {
- subscriber.onError(e);
- } finally {
- IOUtils.closeQuietly(input);
- }
- subscriber.onCompleted();
- }
- })
+ subscription = Observable.create((Observable.OnSubscribe) subscriber -> {
+ InputStream input = null;
+ try {
+ TypedArray res = AboutActivity.this.getTheme().obtainStyledAttributes(
+ new int[] { android.R.attr.textColorPrimary });
+ int colorResource = res.getColor(0, 0);
+ String colorString = String.format("#%06X", 0xFFFFFF & colorResource);
+ res.recycle();
+ input = getAssets().open(filename);
+ String webViewData = IOUtils.toString(input, Charset.defaultCharset());
+ if(!webViewData.startsWith("")) {
+ //webViewData = webViewData.replace("\n\n", "");
+ webViewData = webViewData.replace("%", "%");
+ webViewData =
+ "" +
+ "" +
+ "
" +
+ " " +
+ " " +
+ "" + webViewData + "
";
+ webViewData = webViewData.replace("\n", "
");
+ depth++;
+ } else {
+ depth = 0;
+ }
+ webViewData = String.format(webViewData, colorString);
+ subscriber.onNext(webViewData);
+ } catch (IOException e) {
+ subscriber.onError(e);
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+ subscriber.onCompleted();
+ })
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java
index 0bd75b5b0..53d200991 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java
@@ -243,47 +243,44 @@ public class ProxyDialog {
txtvMessage.setTextColor(textColorPrimary);
txtvMessage.setText("{fa-circle-o-notch spin} " + checking);
txtvMessage.setVisibility(View.VISIBLE);
- subscription = Observable.create(new Observable.OnSubscribe() {
- @Override
- public void call(Subscriber super Response> subscriber) {
- String type = (String) spType.getSelectedItem();
- String host = etHost.getText().toString();
- String port = etPort.getText().toString();
- String username = etUsername.getText().toString();
- String password = etPassword.getText().toString();
- int portValue = 8080;
- if(!TextUtils.isEmpty(port)) {
- portValue = Integer.valueOf(port);
- }
- SocketAddress address = InetSocketAddress.createUnresolved(host, portValue);
- Proxy.Type proxyType = Proxy.Type.valueOf(type.toUpperCase());
- Proxy proxy = new Proxy(proxyType, address);
- OkHttpClient.Builder builder = AntennapodHttpClient.newBuilder()
- .connectTimeout(10, TimeUnit.SECONDS)
- .proxy(proxy);
- builder.interceptors().clear();
- OkHttpClient client = builder.build();
- if(!TextUtils.isEmpty(username)) {
- String credentials = Credentials.basic(username, password);
- client.interceptors().add(chain -> {
- Request request = chain.request().newBuilder()
- .header("Proxy-Authorization", credentials).build();
- return chain.proceed(request);
- });
- }
- Request request = new Request.Builder()
- .url("http://www.google.com")
- .head()
- .build();
- try {
- Response response = client.newCall(request).execute();
- subscriber.onNext(response);
- } catch(IOException e) {
- subscriber.onError(e);
- }
- subscriber.onCompleted();
- }
- })
+ subscription = Observable.create((Observable.OnSubscribe) subscriber -> {
+ String type = (String) spType.getSelectedItem();
+ String host = etHost.getText().toString();
+ String port = etPort.getText().toString();
+ String username = etUsername.getText().toString();
+ String password = etPassword.getText().toString();
+ int portValue = 8080;
+ if(!TextUtils.isEmpty(port)) {
+ portValue = Integer.valueOf(port);
+ }
+ SocketAddress address = InetSocketAddress.createUnresolved(host, portValue);
+ Proxy.Type proxyType = Proxy.Type.valueOf(type.toUpperCase());
+ Proxy proxy = new Proxy(proxyType, address);
+ OkHttpClient.Builder builder = AntennapodHttpClient.newBuilder()
+ .connectTimeout(10, TimeUnit.SECONDS)
+ .proxy(proxy);
+ builder.interceptors().clear();
+ OkHttpClient client = builder.build();
+ if(!TextUtils.isEmpty(username)) {
+ String credentials = Credentials.basic(username, password);
+ client.interceptors().add(chain -> {
+ Request request = chain.request().newBuilder()
+ .header("Proxy-Authorization", credentials).build();
+ return chain.proceed(request);
+ });
+ }
+ Request request = new Request.Builder()
+ .url("http://www.google.com")
+ .head()
+ .build();
+ try {
+ Response response = client.newCall(request).execute();
+ subscriber.onNext(response);
+ } catch(IOException e) {
+ subscriber.onError(e);
+ }
+ subscriber.onCompleted();
+ })
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
--
cgit v1.2.3
From 26b938ce5bdafc06c474abbbebd6b459af5f6de1 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 17:48:52 +0100
Subject: Replace statement lambda with expression lambda
---
app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java | 4 +---
.../java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java | 4 +---
2 files changed, 2 insertions(+), 6 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
index 9949c01a0..c33ffe55d 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -743,9 +743,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
View parentLayout = findViewById(R.id.drawer_layout);
Snackbar snackbar = Snackbar.make(parentLayout, event.message, Snackbar.LENGTH_SHORT);
if(event.action != null) {
- snackbar.setAction(getString(R.string.undo), v -> {
- event.action.run();
- });
+ snackbar.setAction(getString(R.string.undo), v -> event.action.run());
}
snackbar.show();
}
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
index 3b1427f1b..d713f4b77 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
@@ -491,9 +491,7 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
View parentLayout = findViewById(R.id.drawer_layout);
Snackbar snackbar = Snackbar.make(parentLayout, event.message, Snackbar.LENGTH_SHORT);
if (event.action != null) {
- snackbar.setAction(getString(R.string.undo), v -> {
- event.action.run();
- });
+ snackbar.setAction(getString(R.string.undo), v -> event.action.run());
}
snackbar.show();
}
--
cgit v1.2.3
From cbc3b23753bb32a239ebfa9e6ef8791e57fd17ab Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 17:50:32 +0100
Subject: Replace explicit type with <>
---
.../java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
index 355e0f372..cd375a65a 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java
@@ -97,7 +97,7 @@ public class OpmlFeedChooserActivity extends AppCompatActivity {
}
private List getTitleList() {
- List result = new ArrayList();
+ List result = new ArrayList<>();
if (OpmlImportHolder.getReadElements() != null) {
for (OpmlElement element : OpmlImportHolder.getReadElements()) {
result.add(element.getText());
--
cgit v1.2.3
From 53dc62ec0fde593edff47b002c50e57a5bd88353 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 17:51:24 +0100
Subject: Remove unused imports
---
.../java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 3 ---
app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java | 1 -
app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java | 1 -
.../java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java | 1 -
app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java | 2 --
.../java/de/danoeh/antennapod/preferences/PreferenceController.java | 1 -
app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java | 1 -
7 files changed, 10 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index d66f7484e..91c7c3f1b 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -5,7 +5,6 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
-import android.os.Looper;
import android.support.annotation.UiThread;
import android.support.v4.app.NavUtils;
import android.support.v7.app.ActionBar;
@@ -57,7 +56,6 @@ import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DownloadRequestException;
import de.danoeh.antennapod.core.storage.DownloadRequester;
import de.danoeh.antennapod.core.syndication.handler.FeedHandler;
-import de.danoeh.antennapod.core.syndication.handler.FeedHandlerResult;
import de.danoeh.antennapod.core.syndication.handler.UnsupportedFeedtypeException;
import de.danoeh.antennapod.core.util.DownloadError;
import de.danoeh.antennapod.core.util.FileNameGenerator;
@@ -68,7 +66,6 @@ import de.danoeh.antennapod.core.util.syndication.HtmlToPlainText;
import de.danoeh.antennapod.dialog.AuthenticationDialog;
import de.greenrobot.event.EventBus;
import rx.Observable;
-import rx.Subscriber;
import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
diff --git a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java
index fcd5cff00..5529e772f 100644
--- a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java
+++ b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java
@@ -1,6 +1,5 @@
package de.danoeh.antennapod.asynctask;
-import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
diff --git a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java
index 88bd35b7c..445b74d85 100644
--- a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java
+++ b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java
@@ -1,6 +1,5 @@
package de.danoeh.antennapod.asynctask;
-import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
index f6bdfddda..ffc0c4c8d 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
@@ -10,7 +10,6 @@ import android.content.SharedPreferences;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.net.Uri;
-import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
index d819e68d2..0d3f32c7f 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
@@ -7,7 +7,6 @@ import android.content.Intent;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.LightingColorFilter;
-import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.support.v4.view.MenuItemCompat;
@@ -22,7 +21,6 @@ import android.view.View;
import android.widget.AdapterView;
import android.widget.ImageButton;
import android.widget.ImageView;
-import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 58c7f39a1..8c2ece735 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -45,7 +45,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
-import java.util.Comparator;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.concurrent.TimeUnit;
diff --git a/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java b/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java
index 185f07b6b..7ce33e11f 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/SquareImageView.java
@@ -3,7 +3,6 @@ package de.danoeh.antennapod.view;
import android.content.Context;
import android.support.v7.widget.AppCompatImageView;
import android.util.AttributeSet;
-import android.widget.ImageView;
/**
* From http://stackoverflow.com/a/19449488/6839
--
cgit v1.2.3
From bf41f1713de55cc6db23a5e745de6a8040862988 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 17:55:25 +0100
Subject: Synchronization field must be final
---
.../main/java/de/danoeh/antennapod/service/PlayerWidgetService.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java b/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java
index b5bfb1ae4..53d4aba16 100644
--- a/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java
+++ b/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java
@@ -38,7 +38,7 @@ public class PlayerWidgetService extends Service {
/**
* Controls write access to playbackservice reference
*/
- private Object psLock;
+ private final Object psLock = new Object();
/**
* True while service is updating the widget
@@ -53,7 +53,6 @@ public class PlayerWidgetService extends Service {
super.onCreate();
Log.d(TAG, "Service created");
isUpdating = false;
- psLock = new Object();
}
@Override
--
cgit v1.2.3
From e02baebf02d4571d2b0202f0956f1664ab3c0963 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 18:02:56 +0100
Subject: Use bulk operation instead of iteration
---
app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java
index 465497b55..cbbeabf0d 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java
@@ -86,9 +86,7 @@ public class NavListAdapter extends BaseAdapter
private void loadItems() {
List newTags = new ArrayList<>(Arrays.asList(MainActivity.NAV_DRAWER_TAGS));
List hiddenFragments = UserPreferences.getHiddenDrawerItems();
- for(String hidden : hiddenFragments) {
- newTags.remove(hidden);
- }
+ newTags.removeAll(hiddenFragments);
if (newTags.contains(SUBSCRIPTION_LIST_TAG)) {
// we never want SUBSCRIPTION_LIST_TAG to be in 'tags'
--
cgit v1.2.3
From b86b6caec80ce6d3e10093bfc2e7c540f1085c9c Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 18:04:53 +0100
Subject: Weaken declaration access
---
.../antennapod/activity/AudioplayerActivity.java | 2 +-
.../antennapod/activity/CastplayerActivity.java | 2 +-
.../danoeh/antennapod/activity/MainActivity.java | 10 ++--
.../antennapod/activity/MediaplayerActivity.java | 60 +++++++++++-----------
.../activity/MediaplayerInfoActivity.java | 14 ++---
.../activity/OnlineFeedViewActivity.java | 2 +-
.../activity/OpmlImportBaseActivity.java | 6 +--
.../antennapod/activity/VideoplayerActivity.java | 4 +-
.../gpoddernet/GpodnetAuthenticationActivity.java | 2 +-
.../antennapod/adapter/ActionButtonCallback.java | 2 +-
.../antennapod/adapter/ActionButtonUtils.java | 2 +-
.../antennapod/adapter/DownloadlistAdapter.java | 2 +-
.../danoeh/antennapod/adapter/NavListAdapter.java | 4 +-
.../antennapod/adapter/StatisticsListAdapter.java | 2 +-
.../danoeh/antennapod/asynctask/ExportWorker.java | 2 +-
.../antennapod/config/ClientConfigurator.java | 2 +-
.../dialog/EpisodesApplyActionFragment.java | 10 ++--
.../de/danoeh/antennapod/dialog/RatingDialog.java | 6 +--
.../antennapod/fragment/AddFeedFragment.java | 2 +-
.../antennapod/fragment/AllEpisodesFragment.java | 30 +++++------
.../antennapod/fragment/DownloadsFragment.java | 2 +-
.../antennapod/fragment/EpisodesFragment.java | 8 +--
.../fragment/ExternalPlayerFragment.java | 2 +-
.../fragment/FavoriteEpisodesFragment.java | 2 +-
.../antennapod/fragment/FyydSearchFragment.java | 2 +-
.../antennapod/fragment/ItemlistFragment.java | 4 +-
.../antennapod/fragment/ItunesSearchFragment.java | 2 +-
.../fragment/gpodnet/GpodnetMainFragment.java | 2 +-
.../fragment/gpodnet/PodcastListFragment.java | 4 +-
.../fragment/gpodnet/SearchListFragment.java | 2 +-
.../de/danoeh/antennapod/receiver/SPAReceiver.java | 4 +-
31 files changed, 100 insertions(+), 100 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
index 4f56d9770..2b6cd8511 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
@@ -19,7 +19,7 @@ import de.danoeh.antennapod.dialog.VariableSpeedDialog;
* Activity for playing audio files.
*/
public class AudioplayerActivity extends MediaplayerInfoActivity {
- public static final String TAG = "AudioPlayerActivity";
+ private static final String TAG = "AudioPlayerActivity";
private AtomicBoolean isSetup = new AtomicBoolean(false);
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java
index a7e9b1e70..07eae3752 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java
@@ -13,7 +13,7 @@ import de.danoeh.antennapod.core.service.playback.PlaybackService;
* Activity for controlling the remote playback on a Cast device.
*/
public class CastplayerActivity extends MediaplayerInfoActivity {
- public static final String TAG = "CastPlayerActivity";
+ private static final String TAG = "CastPlayerActivity";
private AtomicBoolean isSetup = new AtomicBoolean(false);
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
index c33ffe55d..16bd1217c 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -82,7 +82,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
public static final String PREF_NAME = "MainActivityPrefs";
public static final String PREF_IS_FIRST_LAUNCH = "prefMainActivityIsFirstLaunch";
- public static final String PREF_LAST_FRAGMENT_TAG = "prefMainActivityLastFragmentTag";
+ private static final String PREF_LAST_FRAGMENT_TAG = "prefMainActivityLastFragmentTag";
public static final String EXTRA_NAV_TYPE = "nav_type";
public static final String EXTRA_NAV_INDEX = "nav_index";
@@ -90,8 +90,8 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
public static final String EXTRA_FRAGMENT_ARGS = "fragment_args";
public static final String EXTRA_FEED_ID = "fragment_feed_id";
- public static final String SAVE_BACKSTACK_COUNT = "backstackCount";
- public static final String SAVE_TITLE = "title";
+ private static final String SAVE_BACKSTACK_COUNT = "backstackCount";
+ private static final String SAVE_TITLE = "title";
public static final String[] NAV_DRAWER_TAGS = {
QueueFragment.TAG,
@@ -235,7 +235,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
}
}
- public void showDrawerPreferencesDialog() {
+ private void showDrawerPreferencesDialog() {
final List hiddenDrawerItems = UserPreferences.getHiddenDrawerItems();
String[] navLabels = new String[NAV_DRAWER_TAGS.length];
final boolean[] checked = new boolean[NAV_DRAWER_TAGS.length];
@@ -269,7 +269,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
return (navDrawerData != null) ? navDrawerData.feeds : null;
}
- public void loadFragment(int index, Bundle args) {
+ private void loadFragment(int index, Bundle args) {
Log.d(TAG, "loadFragment(index: " + index + ", args: " + args + ")");
if (index < navAdapter.getSubscriptionOffset()) {
String tag = navAdapter.getTags().get(index);
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index b0cbd355b..c74151111 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -67,19 +67,19 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
private static final String PREFS = "MediaPlayerActivityPreferences";
private static final String PREF_SHOW_TIME_LEFT = "showTimeLeft";
- protected PlaybackController controller;
+ PlaybackController controller;
- protected TextView txtvPosition;
- protected TextView txtvLength;
- protected SeekBar sbPosition;
- protected ImageButton butRev;
- protected TextView txtvRev;
- protected ImageButton butPlay;
- protected ImageButton butFF;
- protected TextView txtvFF;
- protected ImageButton butSkip;
+ private TextView txtvPosition;
+ private TextView txtvLength;
+ SeekBar sbPosition;
+ private ImageButton butRev;
+ private TextView txtvRev;
+ private ImageButton butPlay;
+ private ImageButton butFF;
+ private TextView txtvFF;
+ private ImageButton butSkip;
- protected boolean showTimeLeft = false;
+ private boolean showTimeLeft = false;
private boolean isFavorite = false;
@@ -184,31 +184,31 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
};
}
- protected static TextView getTxtvFFFromActivity(MediaplayerActivity activity) {
+ private static TextView getTxtvFFFromActivity(MediaplayerActivity activity) {
return activity.txtvFF;
}
- protected static TextView getTxtvRevFromActivity(MediaplayerActivity activity) {
+ private static TextView getTxtvRevFromActivity(MediaplayerActivity activity) {
return activity.txtvRev;
}
- protected void onSetSpeedAbilityChanged() {
+ private void onSetSpeedAbilityChanged() {
Log.d(TAG, "onSetSpeedAbilityChanged()");
updatePlaybackSpeedButton();
}
- protected void onPlaybackSpeedChange() {
+ private void onPlaybackSpeedChange() {
updatePlaybackSpeedButtonText();
}
- protected void onServiceQueried() {
+ private void onServiceQueried() {
supportInvalidateOptionsMenu();
}
- protected void chooseTheme() {
+ void chooseTheme() {
setTheme(UserPreferences.getTheme());
}
- protected void setScreenOn(boolean enable) {
+ void setScreenOn(boolean enable) {
}
@Override
@@ -249,7 +249,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
*/
protected abstract void onBufferEnd();
- protected void onBufferUpdate(float progress) {
+ private void onBufferUpdate(float progress) {
if (sbPosition != null) {
sbPosition.setSecondaryProgress((int) progress * sbPosition.getMax());
}
@@ -258,7 +258,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
/**
* Current screen orientation.
*/
- protected int orientation;
+ private int orientation;
@Override
protected void onStart() {
@@ -619,7 +619,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
protected abstract void clearStatusMsg();
- protected void onPositionObserverUpdate() {
+ void onPositionObserverUpdate() {
if (controller == null || txtvPosition == null || txtvLength == null) {
return;
}
@@ -655,7 +655,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
* to the PlaybackService to ensure that the activity has the right
* FeedMedia object.
*/
- protected boolean loadMediaInfo() {
+ boolean loadMediaInfo() {
Log.d(TAG, "loadMediaInfo()");
if(controller == null || controller.getMedia() == null) {
return false;
@@ -669,11 +669,11 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
return true;
}
- protected void updatePlaybackSpeedButton() {
+ void updatePlaybackSpeedButton() {
// Only meaningful on AudioplayerActivity, where it is overridden.
}
- protected void updatePlaybackSpeedButtonText() {
+ void updatePlaybackSpeedButtonText() {
// Only meaningful on AudioplayerActivity, where it is overridden.
}
@@ -763,7 +763,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
builder.create().show();
}
- protected void setupGUI() {
+ void setupGUI() {
setContentView(getContentViewResourceId());
sbPosition = (SeekBar) findViewById(R.id.sbPosition);
txtvPosition = (TextView) findViewById(R.id.txtvPosition);
@@ -837,7 +837,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
}
}
- protected void onRewind() {
+ void onRewind() {
if (controller == null) {
return;
}
@@ -845,14 +845,14 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
controller.seekTo(curr - UserPreferences.getRewindSecs() * 1000);
}
- protected void onPlayPause() {
+ void onPlayPause() {
if(controller == null) {
return;
}
controller.playPause();
}
- protected void onFastForward() {
+ void onFastForward() {
if (controller == null) {
return;
}
@@ -862,7 +862,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
protected abstract int getContentViewResourceId();
- void handleError(int errorCode) {
+ private void handleError(int errorCode) {
final AlertDialog.Builder errorDialog = new AlertDialog.Builder(this);
errorDialog.setTitle(R.string.error_label);
errorDialog.setMessage(MediaPlayerError.getErrorString(this, errorCode));
@@ -875,7 +875,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
errorDialog.create().show();
}
- float prog;
+ private float prog;
@Override
public void onProgressChanged (SeekBar seekBar,int progress, boolean fromUser) {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
index d713f4b77..03b47e615 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
@@ -77,11 +77,11 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
private static final int POS_CHAPTERS = 2;
private static final int NUM_CONTENT_FRAGMENTS = 3;
- final String TAG = "MediaplayerInfoActivity";
+ private final String TAG = "MediaplayerInfoActivity";
private static final String PREFS = "AudioPlayerActivityPreferences";
private static final String PREF_KEY_SELECTED_FRAGMENT_POSITION = "selectedFragmentPosition";
- public static final String[] NAV_DRAWER_TAGS = {
+ private static final String[] NAV_DRAWER_TAGS = {
QueueFragment.TAG,
EpisodesFragment.TAG,
SubscriptionFragment.TAG,
@@ -91,8 +91,8 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
NavListAdapter.SUBSCRIPTION_LIST_TAG
};
- protected Button butPlaybackSpeed;
- protected ImageButton butCastDisconnect;
+ Button butPlaybackSpeed;
+ ImageButton butCastDisconnect;
private DrawerLayout drawerLayout;
private NavListAdapter navAdapter;
private ListView navList;
@@ -151,7 +151,7 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
setTheme(UserPreferences.getNoTitleTheme());
}
- protected void saveCurrentFragment() {
+ void saveCurrentFragment() {
if(pager == null) {
return;
}
@@ -305,7 +305,7 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
return true;
}
- public void notifyMediaPositionChanged() {
+ private void notifyMediaPositionChanged() {
if(pagerAdapter == null) {
return;
}
@@ -446,7 +446,7 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
}
}
- public void showDrawerPreferencesDialog() {
+ private void showDrawerPreferencesDialog() {
final List hiddenDrawerItems = UserPreferences.getHiddenDrawerItems();
String[] navLabels = new String[NAV_DRAWER_TAGS.length];
final boolean[] checked = new boolean[NAV_DRAWER_TAGS.length];
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index 91c7c3f1b..d9fe1f6e7 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -83,7 +83,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
public static final String ARG_FEEDURL = "arg.feedurl";
// Optional argument: specify a title for the actionbar.
public static final String ARG_TITLE = "title";
- public static final int RESULT_ERROR = 2;
+ private static final int RESULT_ERROR = 2;
private static final String TAG = "OnlineFeedViewActivity";
private static final int EVENTS = EventDistributor.FEED_LIST_UPDATE;
private volatile List feeds;
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportBaseActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportBaseActivity.java
index 07b0b3cdb..c04ae051e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportBaseActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportBaseActivity.java
@@ -68,7 +68,7 @@ public class OpmlImportBaseActivity extends AppCompatActivity {
}
}
- protected void importUri(@Nullable Uri uri) {
+ void importUri(@Nullable Uri uri) {
if(uri == null) {
new MaterialDialog.Builder(this)
.content(R.string.opml_import_error_no_file)
@@ -114,7 +114,7 @@ public class OpmlImportBaseActivity extends AppCompatActivity {
}
/** Starts the import process. */
- protected void startImport() {
+ private void startImport() {
try {
Reader mReader = new InputStreamReader(getContentResolver().openInputStream(uri), LangUtils.UTF_8);
importWorker = new OpmlImportWorker(this, mReader) {
@@ -144,7 +144,7 @@ public class OpmlImportBaseActivity extends AppCompatActivity {
}
}
- protected boolean finishWhenCanceled() {
+ boolean finishWhenCanceled() {
return false;
}
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index fb5c4d273..08d4ac54c 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -173,7 +173,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
progressIndicator.setVisibility(View.INVISIBLE);
}
- View.OnTouchListener onVideoviewTouched = (v, event) -> {
+ private View.OnTouchListener onVideoviewTouched = (v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
videoControlsHider.stop();
toggleVideoControlsVisibility();
@@ -187,7 +187,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
};
@SuppressLint("NewApi")
- void setupVideoControlsToggler() {
+ private void setupVideoControlsToggler() {
videoControlsHider.stop();
videoControlsHider.start();
}
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java
index 31d0fb1a3..8f447ac90 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/gpoddernet/GpodnetAuthenticationActivity.java
@@ -61,7 +61,7 @@ public class GpodnetAuthenticationActivity extends AppCompatActivity {
private volatile String password;
private volatile GpodnetDevice selectedDevice;
- View[] views;
+ private View[] views;
@Override
protected void onCreate(Bundle savedInstanceState) {
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonCallback.java b/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonCallback.java
index c18564351..e6b42efcb 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonCallback.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonCallback.java
@@ -3,7 +3,7 @@ package de.danoeh.antennapod.adapter;
import de.danoeh.antennapod.core.feed.FeedItem;
import de.danoeh.antennapod.core.util.LongList;
-public interface ActionButtonCallback {
+interface ActionButtonCallback {
/** Is called when the action button of a list item has been pressed. */
void onActionButtonPressed(FeedItem item, LongList queueIds);
}
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java b/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java
index f0210f983..a915692d1 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/ActionButtonUtils.java
@@ -16,7 +16,7 @@ import de.danoeh.antennapod.core.storage.DownloadRequester;
* Utility methods for the action button that is displayed on the right hand side
* of a listitem.
*/
-public class ActionButtonUtils {
+class ActionButtonUtils {
private final int[] labels;
private final TypedArray drawables;
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadlistAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadlistAdapter.java
index e1efdaa7b..f5865ba47 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadlistAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadlistAdapter.java
@@ -19,7 +19,7 @@ import de.danoeh.antennapod.core.util.ThemeUtils;
public class DownloadlistAdapter extends BaseAdapter {
- public static final int SELECTION_NONE = -1;
+ private static final int SELECTION_NONE = -1;
private int selectedItemIndex;
private ItemAccess itemAccess;
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java
index cbbeabf0d..963a24429 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java
@@ -48,10 +48,10 @@ import de.danoeh.antennapod.fragment.SubscriptionFragment;
public class NavListAdapter extends BaseAdapter
implements SharedPreferences.OnSharedPreferenceChangeListener {
- public static final int VIEW_TYPE_COUNT = 3;
+ private static final int VIEW_TYPE_COUNT = 3;
public static final int VIEW_TYPE_NAV = 0;
public static final int VIEW_TYPE_SECTION_DIVIDER = 1;
- public static final int VIEW_TYPE_SUBSCRIPTION = 2;
+ private static final int VIEW_TYPE_SUBSCRIPTION = 2;
/**
* a tag used as a placeholder to indicate if the subscription list should be displayed or not
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/StatisticsListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/StatisticsListAdapter.java
index c060083a6..8385ce2df 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/StatisticsListAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/StatisticsListAdapter.java
@@ -24,7 +24,7 @@ import de.danoeh.antennapod.core.util.Converter;
*/
public class StatisticsListAdapter extends BaseAdapter {
private Context context;
- List feedTime = new ArrayList<>();
+ private List feedTime = new ArrayList<>();
private boolean countAll = true;
public StatisticsListAdapter(Context context) {
diff --git a/app/src/main/java/de/danoeh/antennapod/asynctask/ExportWorker.java b/app/src/main/java/de/danoeh/antennapod/asynctask/ExportWorker.java
index 192df8ca5..453a87b85 100644
--- a/app/src/main/java/de/danoeh/antennapod/asynctask/ExportWorker.java
+++ b/app/src/main/java/de/danoeh/antennapod/asynctask/ExportWorker.java
@@ -31,7 +31,7 @@ public class ExportWorker {
DEFAULT_OUTPUT_NAME + "." + exportWriter.fileExtension()));
}
- public ExportWorker(ExportWriter exportWriter, @NonNull File output) {
+ private ExportWorker(ExportWriter exportWriter, @NonNull File output) {
this.exportWriter = exportWriter;
this.output = output;
}
diff --git a/app/src/main/java/de/danoeh/antennapod/config/ClientConfigurator.java b/app/src/main/java/de/danoeh/antennapod/config/ClientConfigurator.java
index f26f2ea76..d2498955c 100644
--- a/app/src/main/java/de/danoeh/antennapod/config/ClientConfigurator.java
+++ b/app/src/main/java/de/danoeh/antennapod/config/ClientConfigurator.java
@@ -6,7 +6,7 @@ import de.danoeh.antennapod.core.ClientConfig;
/**
* Configures the ClientConfig class of the core package.
*/
-public class ClientConfigurator {
+class ClientConfigurator {
static {
ClientConfig.USER_AGENT = "AntennaPod/" + BuildConfig.VERSION_NAME;
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java
index ac073141d..04d4ae247 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java
@@ -34,12 +34,12 @@ public class EpisodesApplyActionFragment extends Fragment {
public String TAG = "EpisodeActionFragment";
- public static final int ACTION_QUEUE = 1;
- public static final int ACTION_MARK_PLAYED = 2;
- public static final int ACTION_MARK_UNPLAYED = 4;
- public static final int ACTION_DOWNLOAD = 8;
+ private static final int ACTION_QUEUE = 1;
+ private static final int ACTION_MARK_PLAYED = 2;
+ private static final int ACTION_MARK_UNPLAYED = 4;
+ private static final int ACTION_DOWNLOAD = 8;
public static final int ACTION_REMOVE = 16;
- public static final int ACTION_ALL = ACTION_QUEUE | ACTION_MARK_PLAYED | ACTION_MARK_UNPLAYED
+ private static final int ACTION_ALL = ACTION_QUEUE | ACTION_MARK_PLAYED | ACTION_MARK_UNPLAYED
| ACTION_DOWNLOAD | ACTION_REMOVE;
private ListView mListView;
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/RatingDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/RatingDialog.java
index 64fc1fda4..72000170e 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/RatingDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/RatingDialog.java
@@ -54,7 +54,7 @@ public class RatingDialog {
}
}
- public static void rateNow() {
+ private static void rateNow() {
Context context = mContext.get();
if(context == null) {
return;
@@ -67,11 +67,11 @@ public class RatingDialog {
saveRated();
}
- public static boolean rated() {
+ private static boolean rated() {
return mPreferences.getBoolean(KEY_RATED, false);
}
- public static void saveRated() {
+ private static void saveRated() {
mPreferences
.edit()
.putBoolean(KEY_RATED, true)
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java
index f14ebbdaf..c050221e1 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AddFeedFragment.java
@@ -25,7 +25,7 @@ public class AddFeedFragment extends Fragment {
/**
* Preset value for url text field.
*/
- public static final String ARG_FEED_URL = "feedurl";
+ private static final String ARG_FEED_URL = "feedurl";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
index bbfd1688d..195b1558c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
@@ -69,24 +69,24 @@ public class AllEpisodesFragment extends Fragment {
private static final String PREF_SCROLL_POSITION = "scroll_position";
private static final String PREF_SCROLL_OFFSET = "scroll_offset";
- protected RecyclerView recyclerView;
- protected AllEpisodesRecycleAdapter listAdapter;
+ RecyclerView recyclerView;
+ AllEpisodesRecycleAdapter listAdapter;
private ProgressBar progLoading;
- protected List episodes;
+ List episodes;
private List downloaderList;
private boolean itemsLoaded = false;
private boolean viewsCreated = false;
private boolean isUpdatingFeeds;
- protected boolean isMenuInvalidationAllowed = false;
+ boolean isMenuInvalidationAllowed = false;
- protected Subscription subscription;
+ Subscription subscription;
private LinearLayoutManager layoutManager;
- protected boolean showOnlyNewEpisodes() { return false; }
- protected String getPrefName() { return DEFAULT_PREF_NAME; }
+ boolean showOnlyNewEpisodes() { return false; }
+ String getPrefName() { return DEFAULT_PREF_NAME; }
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -165,7 +165,7 @@ public class AllEpisodesFragment extends Fragment {
}
}
- protected void resetViewState() {
+ void resetViewState() {
viewsCreated = false;
listAdapter = null;
}
@@ -299,10 +299,10 @@ public class AllEpisodesFragment extends Fragment {
R.layout.all_episodes_fragment);
}
- protected View onCreateViewHelper(LayoutInflater inflater,
- ViewGroup container,
- Bundle savedInstanceState,
- int fragmentResource) {
+ View onCreateViewHelper(LayoutInflater inflater,
+ ViewGroup container,
+ Bundle savedInstanceState,
+ int fragmentResource) {
super.onCreateView(inflater, container, savedInstanceState);
View root = inflater.inflate(fragmentResource, container, false);
@@ -346,7 +346,7 @@ public class AllEpisodesFragment extends Fragment {
updateShowOnlyEpisodesListViewState();
}
- protected AllEpisodesRecycleAdapter.ItemAccess itemAccess = new AllEpisodesRecycleAdapter.ItemAccess() {
+ private AllEpisodesRecycleAdapter.ItemAccess itemAccess = new AllEpisodesRecycleAdapter.ItemAccess() {
@Override
public int getCount() {
@@ -459,7 +459,7 @@ public class AllEpisodesFragment extends Fragment {
private void updateShowOnlyEpisodesListViewState() {
}
- protected void loadItems() {
+ void loadItems() {
if(subscription != null) {
subscription.unsubscribe();
}
@@ -483,7 +483,7 @@ public class AllEpisodesFragment extends Fragment {
}, error -> Log.e(TAG, Log.getStackTraceString(error)));
}
- protected List loadData() {
+ List loadData() {
return DBReader.getRecentlyPublishedEpisodes(RECENT_EPISODES_LIMIT);
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
index 52a38ccb9..6cc95c852 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
@@ -25,7 +25,7 @@ public class DownloadsFragment extends Fragment {
public static final String ARG_SELECTED_TAB = "selected_tab";
public static final int POS_RUNNING = 0;
- public static final int POS_COMPLETED = 1;
+ private static final int POS_COMPLETED = 1;
public static final int POS_LOG = 2;
private static final String PREF_LAST_TAB_POSITION = "tab_position";
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
index e2fbd91f3..6a7b40e28 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
@@ -21,10 +21,10 @@ public class EpisodesFragment extends Fragment {
public static final String TAG = "EpisodesFragment";
private static final String PREF_LAST_TAB_POSITION = "tab_position";
- public static final int POS_NEW_EPISODES = 0;
- public static final int POS_ALL_EPISODES = 1;
- public static final int POS_FAV_EPISODES = 2;
- public static final int TOTAL_COUNT = 3;
+ private static final int POS_NEW_EPISODES = 0;
+ private static final int POS_ALL_EPISODES = 1;
+ private static final int POS_FAV_EPISODES = 2;
+ private static final int TOTAL_COUNT = 3;
private TabLayout tabLayout;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
index 5bb8e0a2d..a9bf39632 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
@@ -208,7 +208,7 @@ public class ExternalPlayerFragment extends Fragment {
return controller;
}
- public void onPositionObserverUpdate() {
+ private void onPositionObserverUpdate() {
mProgressBar.setProgress((int)
((double) controller.getPosition() / controller.getDuration() * 100));
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FavoriteEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FavoriteEpisodesFragment.java
index 234c8377d..76d19d61c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FavoriteEpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FavoriteEpisodesFragment.java
@@ -26,7 +26,7 @@ import de.danoeh.antennapod.core.storage.DBWriter;
public class FavoriteEpisodesFragment extends AllEpisodesFragment {
- public static final String TAG = "FavoriteEpisodesFrag";
+ private static final String TAG = "FavoriteEpisodesFrag";
private static final String PREF_NAME = "PrefFavoriteEpisodesFragment";
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FyydSearchFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FyydSearchFragment.java
index 7c1ec5ec1..0d1b1b7b6 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FyydSearchFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FyydSearchFragment.java
@@ -169,7 +169,7 @@ public class FyydSearchFragment extends Fragment {
progressBar.setVisibility(View.VISIBLE);
}
- void processSearchResult(FyydResponse response) {
+ private void processSearchResult(FyydResponse response) {
adapter.clear();
if (!response.getData().isEmpty()) {
adapter.clear();
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
index 0d3f32c7f..e4bb0a28e 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
@@ -87,9 +87,9 @@ public class ItemlistFragment extends ListFragment {
| EventDistributor.PLAYER_STATUS_UPDATE;
public static final String EXTRA_SELECTED_FEEDITEM = "extra.de.danoeh.antennapod.activity.selected_feeditem";
- public static final String ARGUMENT_FEED_ID = "argument.de.danoeh.antennapod.feed_id";
+ private static final String ARGUMENT_FEED_ID = "argument.de.danoeh.antennapod.feed_id";
- protected FeedItemlistAdapter adapter;
+ private FeedItemlistAdapter adapter;
private ContextMenu contextMenu;
private AdapterView.AdapterContextMenuInfo lastMenuInfo = null;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItunesSearchFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItunesSearchFragment.java
index 43dedad25..08610c1f3 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItunesSearchFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItunesSearchFragment.java
@@ -75,7 +75,7 @@ public class ItunesSearchFragment extends Fragment {
* Replace adapter data with provided search results from SearchTask.
* @param result List of Podcast objects containing search results
*/
- void updateData(List result) {
+ private void updateData(List result) {
this.searchResults = result;
adapter.clear();
if (result != null && result.size() > 0) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java
index aff5069c6..c5078eda0 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java
@@ -20,7 +20,7 @@ import de.danoeh.antennapod.R;
*/
public class GpodnetMainFragment extends Fragment {
- public static final String TAG = "GpodnetMainFragment";
+ private static final String TAG = "GpodnetMainFragment";
private static final String PREF_LAST_TAB_POSITION = "tab_position";
private TabLayout tabLayout;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java
index a54c90862..055358c64 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/PodcastListFragment.java
@@ -91,7 +91,7 @@ public abstract class PodcastListFragment extends Fragment {
return root;
}
- protected void onPodcastSelected(GpodnetPodcast selection) {
+ private void onPodcastSelected(GpodnetPodcast selection) {
Log.d(TAG, "Selected podcast: " + selection.toString());
Intent intent = new Intent(getActivity(), OnlineFeedViewActivity.class);
intent.putExtra(OnlineFeedViewActivity.ARG_FEEDURL, selection.getUrl());
@@ -101,7 +101,7 @@ public abstract class PodcastListFragment extends Fragment {
protected abstract List loadPodcastData(GpodnetService service) throws GpodnetServiceException;
- protected final void loadData() {
+ final void loadData() {
AsyncTask> loaderTask = new AsyncTask>() {
volatile Exception exception = null;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/SearchListFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/SearchListFragment.java
index 613e06805..10bd636dd 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/SearchListFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/SearchListFragment.java
@@ -73,7 +73,7 @@ public class SearchListFragment extends PodcastListFragment {
return service.searchPodcasts(query, 0);
}
- public void changeQuery(String query) {
+ private void changeQuery(String query) {
Validate.notNull(query);
this.query = query;
diff --git a/app/src/main/java/de/danoeh/antennapod/receiver/SPAReceiver.java b/app/src/main/java/de/danoeh/antennapod/receiver/SPAReceiver.java
index a373c5353..c9bd973cb 100644
--- a/app/src/main/java/de/danoeh/antennapod/receiver/SPAReceiver.java
+++ b/app/src/main/java/de/danoeh/antennapod/receiver/SPAReceiver.java
@@ -22,8 +22,8 @@ public class SPAReceiver extends BroadcastReceiver{
private static final String TAG = "SPAReceiver";
public static final String ACTION_SP_APPS_QUERY_FEEDS = "de.danoeh.antennapdsp.intent.SP_APPS_QUERY_FEEDS";
- public static final String ACTION_SP_APPS_QUERY_FEEDS_REPSONSE = "de.danoeh.antennapdsp.intent.SP_APPS_QUERY_FEEDS_RESPONSE";
- public static final String ACTION_SP_APPS_QUERY_FEEDS_REPSONSE_FEEDS_EXTRA = "feeds";
+ private static final String ACTION_SP_APPS_QUERY_FEEDS_REPSONSE = "de.danoeh.antennapdsp.intent.SP_APPS_QUERY_FEEDS_RESPONSE";
+ private static final String ACTION_SP_APPS_QUERY_FEEDS_REPSONSE_FEEDS_EXTRA = "feeds";
@Override
public void onReceive(Context context, Intent intent) {
--
cgit v1.2.3
From a49048c7f6b46551b7a4e6c09d45a51510475a95 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 18:05:45 +0100
Subject: Add final modifiers
---
.../java/de/danoeh/antennapod/activity/AudioplayerActivity.java | 2 +-
.../java/de/danoeh/antennapod/activity/CastplayerActivity.java | 2 +-
.../main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java | 4 ++--
app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java | 8 ++++----
.../de/danoeh/antennapod/activity/MediaplayerInfoActivity.java | 2 +-
.../de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 4 ++--
.../java/de/danoeh/antennapod/activity/StorageErrorActivity.java | 2 +-
.../java/de/danoeh/antennapod/activity/VideoplayerActivity.java | 6 +++---
.../de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java | 2 +-
.../java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java | 4 ++--
.../danoeh/antennapod/adapter/DownloadedEpisodesListAdapter.java | 2 +-
.../java/de/danoeh/antennapod/adapter/DownloadlistAdapter.java | 6 +++---
.../java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java | 8 ++++----
.../main/java/de/danoeh/antennapod/adapter/NavListAdapter.java | 4 ++--
.../java/de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java | 4 ++--
.../java/de/danoeh/antennapod/adapter/StatisticsListAdapter.java | 2 +-
.../main/java/de/danoeh/antennapod/asynctask/ExportWorker.java | 4 ++--
.../main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java | 4 ++--
.../java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java | 4 ++--
app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java | 2 +-
.../main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java | 2 +-
.../java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java | 4 ++--
.../de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java | 4 ++--
.../java/de/danoeh/antennapod/fragment/DownloadLogFragment.java | 4 ++--
.../java/de/danoeh/antennapod/fragment/DownloadsFragment.java | 2 +-
.../main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java | 2 +-
.../java/de/danoeh/antennapod/fragment/FyydSearchFragment.java | 2 +-
.../de/danoeh/antennapod/fragment/ItemDescriptionFragment.java | 2 +-
app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java | 4 ++--
.../main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java | 4 ++--
.../de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java | 4 ++--
.../main/java/de/danoeh/antennapod/fragment/QueueFragment.java | 4 ++--
.../de/danoeh/antennapod/fragment/RunningDownloadsFragment.java | 2 +-
.../java/de/danoeh/antennapod/fragment/SubscriptionFragment.java | 4 ++--
.../danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java | 2 +-
.../java/de/danoeh/antennapod/service/PlayerWidgetService.java | 4 ++--
36 files changed, 63 insertions(+), 63 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
index 2b6cd8511..123f66661 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
@@ -21,7 +21,7 @@ import de.danoeh.antennapod.dialog.VariableSpeedDialog;
public class AudioplayerActivity extends MediaplayerInfoActivity {
private static final String TAG = "AudioPlayerActivity";
- private AtomicBoolean isSetup = new AtomicBoolean(false);
+ private final AtomicBoolean isSetup = new AtomicBoolean(false);
@Override
protected void onResume() {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java
index 07eae3752..871e9c279 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java
@@ -15,7 +15,7 @@ import de.danoeh.antennapod.core.service.playback.PlaybackService;
public class CastplayerActivity extends MediaplayerInfoActivity {
private static final String TAG = "CastPlayerActivity";
- private AtomicBoolean isSetup = new AtomicBoolean(false);
+ private final AtomicBoolean isSetup = new AtomicBoolean(false);
@Override
protected void onCreate(Bundle savedInstanceState) {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
index 21951dc0e..7580becdc 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
@@ -100,7 +100,7 @@ public class FeedInfoActivity extends AppCompatActivity {
private boolean authInfoChanged = false;
- private TextWatcher authTextWatcher = new TextWatcher() {
+ private final TextWatcher authTextWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@@ -117,7 +117,7 @@ public class FeedInfoActivity extends AppCompatActivity {
private boolean filterTextChanged = false;
- private TextWatcher filterTextWatcher = new TextWatcher() {
+ private final TextWatcher filterTextWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
index 16bd1217c..f56dca173 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -398,7 +398,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
}
}
- private AdapterView.OnItemClickListener navListClickListener = new AdapterView.OnItemClickListener() {
+ private final AdapterView.OnItemClickListener navListClickListener = new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
int viewType = parent.getAdapter().getItemViewType(position);
@@ -409,7 +409,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
}
};
- private AdapterView.OnItemLongClickListener newListLongClickListener = new AdapterView.OnItemLongClickListener() {
+ private final AdapterView.OnItemLongClickListener newListLongClickListener = new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView> parent, View view, int position, long id) {
if(position < navAdapter.getTags().size()) {
@@ -630,7 +630,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
private DBReader.NavDrawerData navDrawerData;
private int selectedNavListIndex = 0;
- private NavListAdapter.ItemAccess itemAccess = new NavListAdapter.ItemAccess() {
+ private final NavListAdapter.ItemAccess itemAccess = new NavListAdapter.ItemAccess() {
@Override
public int getCount() {
if (navDrawerData != null) {
@@ -748,7 +748,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
snackbar.show();
}
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
+ private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
@Override
public void update(EventDistributor eventDistributor, Integer arg) {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
index 03b47e615..ae7040e0e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
@@ -496,7 +496,7 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
snackbar.show();
}
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
+ private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
@Override
public void update(EventDistributor eventDistributor, Integer arg) {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index d9fe1f6e7..2cec70ff6 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -100,7 +100,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
private Subscription download;
private Subscription parser;
private Subscription updater;
- private EventDistributor.EventListener listener = new EventDistributor.EventListener() {
+ private final EventDistributor.EventListener listener = new EventDistributor.EventListener() {
@Override
public void update(EventDistributor eventDistributor, Integer arg) {
if ((arg & EventDistributor.FEED_LIST_UPDATE) != 0) {
@@ -581,7 +581,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
private class FeedViewAuthenticationDialog extends AuthenticationDialog {
- private String feedUrl;
+ private final String feedUrl;
FeedViewAuthenticationDialog(Context context, int titleRes, String feedUrl) {
super(context, titleRes, true, false, null, null);
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/StorageErrorActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/StorageErrorActivity.java
index d104a9e93..a2a49f54e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/StorageErrorActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/StorageErrorActivity.java
@@ -164,7 +164,7 @@ public class StorageErrorActivity extends AppCompatActivity {
startActivity(new Intent(this, MainActivity.class));
}
- private BroadcastReceiver mediaUpdate = new BroadcastReceiver() {
+ private final BroadcastReceiver mediaUpdate = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index 08d4ac54c..921b6b6ce 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -45,7 +45,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
private VideoControlsHider videoControlsHider = new VideoControlsHider(this);
- private AtomicBoolean isSetup = new AtomicBoolean(false);
+ private final AtomicBoolean isSetup = new AtomicBoolean(false);
private LinearLayout controls;
private LinearLayout videoOverlay;
@@ -173,7 +173,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
progressIndicator.setVisibility(View.INVISIBLE);
}
- private View.OnTouchListener onVideoviewTouched = (v, event) -> {
+ private final View.OnTouchListener onVideoviewTouched = (v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
videoControlsHider.stop();
toggleVideoControlsVisibility();
@@ -353,7 +353,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
private static final int DELAY = 2500;
- private WeakReference activity;
+ private final WeakReference activity;
public VideoControlsHider(VideoplayerActivity activity) {
this.activity = new WeakReference<>(activity);
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
index 172646211..715318db1 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
@@ -225,7 +225,7 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter tags;
private static String[] titles;
- private ItemAccess itemAccess;
- private WeakReference activity;
+ private final ItemAccess itemAccess;
+ private final WeakReference activity;
private boolean showSubscriptionList = true;
public NavListAdapter(ItemAccess itemAccess, Activity context) {
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java
index 8eebc919a..01dd4c2de 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java
@@ -50,7 +50,7 @@ public class QueueRecyclerAdapter extends RecyclerView.Adapter mainActivity;
+ private final WeakReference mainActivity;
private final ItemAccess itemAccess;
private final ActionButtonCallback actionButtonCallback;
private final ActionButtonUtils actionButtonUtils;
@@ -304,7 +304,7 @@ public class QueueRecyclerAdapter extends RecyclerView.Adapter feedTime = new ArrayList<>();
private boolean countAll = true;
diff --git a/app/src/main/java/de/danoeh/antennapod/asynctask/ExportWorker.java b/app/src/main/java/de/danoeh/antennapod/asynctask/ExportWorker.java
index 453a87b85..b6cf5cb84 100644
--- a/app/src/main/java/de/danoeh/antennapod/asynctask/ExportWorker.java
+++ b/app/src/main/java/de/danoeh/antennapod/asynctask/ExportWorker.java
@@ -23,8 +23,8 @@ public class ExportWorker {
private static final String TAG = "ExportWorker";
private static final String DEFAULT_OUTPUT_NAME = "antennapod-feeds";
- private ExportWriter exportWriter;
- private File output;
+ private final ExportWriter exportWriter;
+ private final File output;
public ExportWorker(ExportWriter exportWriter) {
this(exportWriter, new File(UserPreferences.getDataFolder(EXPORT_DIR),
diff --git a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java
index 5529e772f..ea5128102 100644
--- a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java
+++ b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlFeedQueuer.java
@@ -15,9 +15,9 @@ import de.danoeh.antennapod.core.storage.DownloadRequester;
/** Queues items for download in the background. */
public class OpmlFeedQueuer extends AsyncTask {
- private Context context;
+ private final Context context;
private ProgressDialog progDialog;
- private int[] selection;
+ private final int[] selection;
public OpmlFeedQueuer(Context context, int[] selection) {
super();
diff --git a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java
index 445b74d85..13b95907f 100644
--- a/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java
+++ b/app/src/main/java/de/danoeh/antennapod/asynctask/OpmlImportWorker.java
@@ -20,12 +20,12 @@ public class OpmlImportWorker extends
AsyncTask> {
private static final String TAG = "OpmlImportWorker";
- private Context context;
+ private final Context context;
private Exception exception;
private ProgressDialog progDialog;
- private Reader mReader;
+ private final Reader mReader;
public OpmlImportWorker(Context context, Reader reader) {
super();
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java
index 53d200991..b9276982a 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/ProxyDialog.java
@@ -43,7 +43,7 @@ public class ProxyDialog {
private static final String TAG = "ProxyDialog";
- private Context context;
+ private final Context context;
private MaterialDialog dialog;
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java
index 5bb3f09c3..be7850495 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java
@@ -24,7 +24,7 @@ public abstract class SleepTimerDialog {
private static final String TAG = SleepTimerDialog.class.getSimpleName();
- private Context context;
+ private final Context context;
private MaterialDialog dialog;
private EditText etxtTime;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
index 195b1558c..d750f7fe3 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
@@ -346,7 +346,7 @@ public class AllEpisodesFragment extends Fragment {
updateShowOnlyEpisodesListViewState();
}
- private AllEpisodesRecycleAdapter.ItemAccess itemAccess = new AllEpisodesRecycleAdapter.ItemAccess() {
+ private final AllEpisodesRecycleAdapter.ItemAccess itemAccess = new AllEpisodesRecycleAdapter.ItemAccess() {
@Override
public int getCount() {
@@ -444,7 +444,7 @@ public class AllEpisodesFragment extends Fragment {
}
}
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
+ private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
@Override
public void update(EventDistributor eventDistributor, Integer arg) {
if ((arg & EVENTS) != 0) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
index 1ba7ed557..f37ecd5e7 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
@@ -168,7 +168,7 @@ public class CompletedDownloadsFragment extends ListFragment {
}
}
- private DownloadedEpisodesListAdapter.ItemAccess itemAccess = new DownloadedEpisodesListAdapter.ItemAccess() {
+ private final DownloadedEpisodesListAdapter.ItemAccess itemAccess = new DownloadedEpisodesListAdapter.ItemAccess() {
@Override
public int getCount() {
return (items != null) ? items.size() : 0;
@@ -189,7 +189,7 @@ public class CompletedDownloadsFragment extends ListFragment {
}
};
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
+ private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
@Override
public void update(EventDistributor eventDistributor, Integer arg) {
if ((arg & EVENTS) != 0) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
index 0a710196a..9a4c9e030 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
@@ -82,7 +82,7 @@ public class DownloadLogFragment extends ListFragment {
getActivity().supportInvalidateOptionsMenu();
}
- private DownloadLogAdapter.ItemAccess itemAccess = new DownloadLogAdapter.ItemAccess() {
+ private final DownloadLogAdapter.ItemAccess itemAccess = new DownloadLogAdapter.ItemAccess() {
@Override
public int getCount() {
@@ -99,7 +99,7 @@ public class DownloadLogFragment extends ListFragment {
}
};
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
+ private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
@Override
public void update(EventDistributor eventDistributor, Integer arg) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
index 6cc95c852..0e9e36df0 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
@@ -80,7 +80,7 @@ public class DownloadsFragment extends Fragment {
public class DownloadsPagerAdapter extends FragmentPagerAdapter {
- Resources resources;
+ final Resources resources;
public DownloadsPagerAdapter(FragmentManager fm, Resources resources) {
super(fm);
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
index 6a7b40e28..8928d2bf3 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
@@ -79,7 +79,7 @@ public class EpisodesFragment extends Fragment {
public static class EpisodesPagerAdapter extends FragmentPagerAdapter {
private final Resources resources;
- private AllEpisodesFragment[] fragments = {
+ private final AllEpisodesFragment[] fragments = {
new NewEpisodesFragment(),
new AllEpisodesFragment(),
new FavoriteEpisodesFragment()
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FyydSearchFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FyydSearchFragment.java
index 0d1b1b7b6..6ee9ce467 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FyydSearchFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FyydSearchFragment.java
@@ -49,7 +49,7 @@ public class FyydSearchFragment extends Fragment {
private Button butRetry;
private TextView txtvEmpty;
- private FyydClient client = new FyydClient(AntennapodHttpClient.getHttpClient());
+ private final FyydClient client = new FyydClient(AntennapodHttpClient.getHttpClient());
/**
* List of podcasts retreived from the search
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
index ffc0c4c8d..935fd7898 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
@@ -200,7 +200,7 @@ public class ItemDescriptionFragment extends Fragment implements MediaplayerInfo
}
- private View.OnLongClickListener webViewLongClickListener = new View.OnLongClickListener() {
+ private final View.OnLongClickListener webViewLongClickListener = new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
index da7fc5299..66c01845c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
@@ -449,7 +449,7 @@ public class ItemFragment extends Fragment implements OnSwipeGesture {
}
}
- private View.OnLongClickListener webViewLongClickListener = new View.OnLongClickListener() {
+ private final View.OnLongClickListener webViewLongClickListener = new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
@@ -551,7 +551,7 @@ public class ItemFragment extends Fragment implements OnSwipeGesture {
}
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
+ private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
@Override
public void update(EventDistributor eventDistributor, Integer arg) {
if ((arg & EVENTS) != 0) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
index e4bb0a28e..d9db41f82 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
@@ -405,7 +405,7 @@ public class ItemlistFragment extends ListFragment {
}
}
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
+ private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
@Override
public void update(EventDistributor eventDistributor, Integer arg) {
@@ -571,7 +571,7 @@ public class ItemlistFragment extends ListFragment {
}
}
- private FeedItemlistAdapter.ItemAccess itemAccess = new FeedItemlistAdapter.ItemAccess() {
+ private final FeedItemlistAdapter.ItemAccess itemAccess = new FeedItemlistAdapter.ItemAccess() {
@Override
public FeedItem getItem(int position) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
index 441f0096c..fb6280021 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java
@@ -199,7 +199,7 @@ public class PlaybackHistoryFragment extends ListFragment {
}
}
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
+ private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
@Override
public void update(EventDistributor eventDistributor, Integer arg) {
@@ -224,7 +224,7 @@ public class PlaybackHistoryFragment extends ListFragment {
getActivity().supportInvalidateOptionsMenu();
}
- private FeedItemlistAdapter.ItemAccess itemAccess = new FeedItemlistAdapter.ItemAccess() {
+ private final FeedItemlistAdapter.ItemAccess itemAccess = new FeedItemlistAdapter.ItemAccess() {
@Override
public int getItemDownloadProgressPercent(FeedItem item) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
index fccb86076..f7624a5e9 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -519,7 +519,7 @@ public class QueueFragment extends Fragment {
infoBar.setText(info);
}
- private QueueRecyclerAdapter.ItemAccess itemAccess = new QueueRecyclerAdapter.ItemAccess() {
+ private final QueueRecyclerAdapter.ItemAccess itemAccess = new QueueRecyclerAdapter.ItemAccess() {
@Override
public int getCount() {
return queue != null ? queue.size() : 0;
@@ -579,7 +579,7 @@ public class QueueFragment extends Fragment {
}
};
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
+ private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
@Override
public void update(EventDistributor eventDistributor, Integer arg) {
if ((arg & EVENTS) != 0) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java
index ba526edb3..66c59b7f7 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/RunningDownloadsFragment.java
@@ -75,7 +75,7 @@ public class RunningDownloadsFragment extends ListFragment {
}
- private DownloadlistAdapter.ItemAccess itemAccess = new DownloadlistAdapter.ItemAccess() {
+ private final DownloadlistAdapter.ItemAccess itemAccess = new DownloadlistAdapter.ItemAccess() {
@Override
public int getCount() {
return (downloaderList != null) ? downloaderList.size() : 0;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
index 9626e6c2e..c834b7ea7 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/SubscriptionFragment.java
@@ -210,7 +210,7 @@ public class SubscriptionFragment extends Fragment {
loadSubscriptions();
}
- private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
+ private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() {
@Override
public void update(EventDistributor eventDistributor, Integer arg) {
if ((EVENTS & arg) != 0) {
@@ -220,7 +220,7 @@ public class SubscriptionFragment extends Fragment {
}
};
- private SubscriptionsAdapter.ItemAccess itemAccess = new SubscriptionsAdapter.ItemAccess() {
+ private final SubscriptionsAdapter.ItemAccess itemAccess = new SubscriptionsAdapter.ItemAccess() {
@Override
public int getCount() {
if (navDrawerData != null) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java
index c5078eda0..b48027668 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/gpodnet/GpodnetMainFragment.java
@@ -71,7 +71,7 @@ public class GpodnetMainFragment extends Fragment {
private static final int POS_TAGS = 1;
private static final int POS_SUGGESTIONS = 2;
- Resources resources;
+ final Resources resources;
public GpodnetPagerAdapter(FragmentManager fm, Resources resources) {
super(fm);
diff --git a/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java b/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java
index 53d4aba16..d5141bd37 100644
--- a/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java
+++ b/app/src/main/java/de/danoeh/antennapod/service/PlayerWidgetService.java
@@ -193,7 +193,7 @@ public class PlayerWidgetService extends Service {
}
}
- private ServiceConnection mConnection = new ServiceConnection() {
+ private final ServiceConnection mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder service) {
Log.d(TAG, "Connection to service established");
synchronized (psLock) {
@@ -223,7 +223,7 @@ public class PlayerWidgetService extends Service {
class ViewUpdater extends Thread {
private static final String THREAD_NAME = "ViewUpdater";
- private PlayerWidgetService service;
+ private final PlayerWidgetService service;
public ViewUpdater(PlayerWidgetService service) {
super();
--
cgit v1.2.3
From b80d6a7914d82b1bd2525fa1d3d1178c0a5e3269 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 18:06:24 +0100
Subject: Remove redundant throws clauses
---
.../main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java | 2 +-
.../main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java
index f1f8be559..10b5330c1 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java
@@ -124,7 +124,7 @@ public class ItunesAdapter extends ArrayAdapter {
* @param json object holding the podcast information
* @throws JSONException
*/
- public static Podcast fromSearch(JSONObject json) throws JSONException {
+ public static Podcast fromSearch(JSONObject json) {
String title = json.optString("collectionName", "");
String imageUrl = json.optString("artworkUrl100", null);
String feedUrl = json.optString("feedUrl", null);
diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java
index 57b7c359c..895829a49 100644
--- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java
+++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java
@@ -155,7 +155,7 @@ public class FeedItemMenuHandler {
}
public static boolean onMenuItemClicked(Context context, int menuItemId,
- FeedItem selectedItem) throws DownloadRequestException {
+ FeedItem selectedItem) {
switch (menuItemId) {
case R.id.skip_episode_item:
context.sendBroadcast(new Intent(PlaybackService.ACTION_SKIP_CURRENT_EPISODE));
--
cgit v1.2.3
From 44f80a9831f51283b757016e41afb89a9610494e Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 18:08:48 +0100
Subject: static modifier is redundant for inner enums
---
.../main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index c74151111..232ff4311 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -680,7 +680,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
/**
* Abstract directions to skip forward or back (rewind) and encapsulates behavior to get or set preference (including update of UI on the skip buttons).
*/
- static public enum SkipDirection {
+ public enum SkipDirection {
SKIP_FORWARD(
UserPreferences::getFastForwardSecs,
MediaplayerActivity::getTxtvFFFromActivity,
--
cgit v1.2.3
From b38d016ec3ff1123de02fbd5556418c1e5a8c5b8 Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 18:41:26 +0100
Subject: Remove catch for exception that is never thrown
---
.../java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java | 8 +-------
app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java | 8 +-------
.../main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java | 7 +------
.../main/java/de/danoeh/antennapod/fragment/QueueFragment.java | 8 +-------
.../de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java | 1 -
5 files changed, 4 insertions(+), 28 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
index d750f7fe3..f3846c8a4 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AllEpisodesFragment.java
@@ -284,13 +284,7 @@ public class AllEpisodesFragment extends Fragment {
return super.onContextItemSelected(item);
}
- try {
- return FeedItemMenuHandler.onMenuItemClicked(getActivity(), item.getItemId(), selectedItem);
- } catch (DownloadRequestException e) {
- e.printStackTrace();
- Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_LONG).show();
- return true;
- }
+ return FeedItemMenuHandler.onMenuItemClicked(getActivity(), item.getItemId(), selectedItem);
}
@Override
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
index 66c01845c..4ae6b97ee 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
@@ -334,13 +334,7 @@ public class ItemFragment extends Fragment implements OnSwipeGesture {
openPodcast();
return true;
default:
- try {
- return FeedItemMenuHandler.onMenuItemClicked(getActivity(), menuItem.getItemId(), item);
- } catch (DownloadRequestException e) {
- e.printStackTrace();
- Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_LONG).show();
- return true;
- }
+ return FeedItemMenuHandler.onMenuItemClicked(getActivity(), menuItem.getItemId(), item);
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
index d9db41f82..890f31f57 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
@@ -340,12 +340,7 @@ public class ItemlistFragment extends ListFragment {
return super.onContextItemSelected(item);
}
- try {
- return FeedItemMenuHandler.onMenuItemClicked(getActivity(), item.getItemId(), selectedItem);
- } catch (DownloadRequestException e) {
- // context menu doesn't contain download functionality
- return true;
- }
+ return FeedItemMenuHandler.onMenuItemClicked(getActivity(), item.getItemId(), selectedItem);
}
@Override
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
index f7624a5e9..bf22e71f5 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -363,13 +363,7 @@ public class QueueFragment extends Fragment {
DBWriter.moveQueueItemToBottom(selectedItem.getId(), true);
return true;
default:
- try {
- return FeedItemMenuHandler.onMenuItemClicked(getActivity(), item.getItemId(), selectedItem);
- } catch (DownloadRequestException e) {
- e.printStackTrace();
- Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_LONG).show();
- return true;
- }
+ return FeedItemMenuHandler.onMenuItemClicked(getActivity(), item.getItemId(), selectedItem);
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java
index 895829a49..f6f73e017 100644
--- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java
+++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java
@@ -17,7 +17,6 @@ import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.playback.PlaybackService;
import de.danoeh.antennapod.core.storage.DBTasks;
import de.danoeh.antennapod.core.storage.DBWriter;
-import de.danoeh.antennapod.core.storage.DownloadRequestException;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.core.util.LongList;
import de.danoeh.antennapod.core.util.ShareUtils;
--
cgit v1.2.3
From e56e3868da4d4440adf6181c5cef0bf1bcf1906e Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 14 Jan 2018 18:42:26 +0100
Subject: Variable cannot be final
---
.../de/danoeh/antennapod/activity/VideoplayerActivity.java | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index 921b6b6ce..e8821c2e2 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -7,6 +7,7 @@ import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.WindowCompat;
+import android.support.v7.app.ActionBar;
import android.util.Log;
import android.util.Pair;
import android.view.MotionEvent;
@@ -353,20 +354,23 @@ public class VideoplayerActivity extends MediaplayerActivity {
private static final int DELAY = 2500;
- private final WeakReference activity;
+ private WeakReference activity;
- public VideoControlsHider(VideoplayerActivity activity) {
+ VideoControlsHider(VideoplayerActivity activity) {
this.activity = new WeakReference<>(activity);
}
private final Runnable hideVideoControls = () -> {
- VideoplayerActivity vpa = activity.get();
+ VideoplayerActivity vpa = activity != null ? activity.get() : null;
if(vpa == null) {
return;
}
if (vpa.videoControlsShowing) {
Log.d(TAG, "Hiding video controls");
- vpa.getSupportActionBar().hide();
+ ActionBar actionBar = vpa.getSupportActionBar();
+ if(actionBar != null) {
+ actionBar.hide();
+ }
vpa.hideVideoControls();
vpa.videoControlsShowing = false;
}
@@ -376,7 +380,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
this.postDelayed(hideVideoControls, DELAY);
}
- public void stop() {
+ void stop() {
this.removeCallbacks(hideVideoControls);
}
--
cgit v1.2.3
From 118d9103c124700d82f5f50e2b8a7b2b8a5cb4ad Mon Sep 17 00:00:00 2001
From: Andrew Gaul
Date: Sat, 20 Jan 2018 18:26:08 -0800
Subject: Make some inner classes static
This avoids an implicit this field and can help GC. Found via
error-prone.
---
app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java | 2 +-
.../main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java | 2 +-
app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
index 21951dc0e..cc9db5e6e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
@@ -379,7 +379,7 @@ public class FeedInfoActivity extends AppCompatActivity {
}
}
- private class ApplyToEpisodesDialog extends ConfirmationDialog {
+ private static class ApplyToEpisodesDialog extends ConfirmationDialog {
private final Feed feed;
private final boolean autoDownload;
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java
index f1f8be559..64912ba9b 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/itunes/ItunesAdapter.java
@@ -162,7 +162,7 @@ public class ItunesAdapter extends ArrayAdapter {
/**
* View holder object for the GridView
*/
- class PodcastViewHolder {
+ static class PodcastViewHolder {
/**
* ImageView holding the Podcast image
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
index 52a38ccb9..5d29f4bde 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadsFragment.java
@@ -78,7 +78,7 @@ public class DownloadsFragment extends Fragment {
viewPager.setCurrentItem(lastPosition);
}
- public class DownloadsPagerAdapter extends FragmentPagerAdapter {
+ public static class DownloadsPagerAdapter extends FragmentPagerAdapter {
Resources resources;
--
cgit v1.2.3
From 404f241891891b71adcf2364446302886b5d3252 Mon Sep 17 00:00:00 2001
From: Andrew Gaul
Date: Sat, 20 Jan 2018 18:27:44 -0800
Subject: Make some static fields final
Adding final prohibits modification and allows initialization of
primitive and String fields at compile time instead of runtime in
clinit:
https://developer.android.com/training/articles/perf-tips.html#UseFinal
Found via error-prone.
---
.../java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java | 2 +-
app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java | 2 +-
.../java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
index 3b1427f1b..d85c2fe8f 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
@@ -77,7 +77,7 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
private static final int POS_CHAPTERS = 2;
private static final int NUM_CONTENT_FRAGMENTS = 3;
- final String TAG = "MediaplayerInfoActivity";
+ final static String TAG = "MediaplayerInfoActivity";
private static final String PREFS = "AudioPlayerActivityPreferences";
private static final String PREF_KEY_SELECTED_FRAGMENT_POSITION = "selectedFragmentPosition";
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java
index e271b5eed..679aca989 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/DownloadLogAdapter.java
@@ -29,7 +29,7 @@ import de.danoeh.antennapod.core.storage.DownloadRequestException;
/** Displays a list of DownloadStatus entries. */
public class DownloadLogAdapter extends BaseAdapter {
- private final String TAG = "DownloadLogAdapter";
+ private static final String TAG = "DownloadLogAdapter";
private Context context;
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java
index ac073141d..3d577553c 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/EpisodesApplyActionFragment.java
@@ -32,7 +32,7 @@ import de.danoeh.antennapod.core.util.LongList;
public class EpisodesApplyActionFragment extends Fragment {
- public String TAG = "EpisodeActionFragment";
+ public static final String TAG = "EpisodeActionFragment";
public static final int ACTION_QUEUE = 1;
public static final int ACTION_MARK_PLAYED = 2;
--
cgit v1.2.3
From 06113b089190f9a4ccfac685b17e38f03964a71e Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Sun, 21 Jan 2018 12:47:04 +0100
Subject: Removed unused import
---
app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java | 1 -
1 file changed, 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index 37afe21be..ffc33eb1a 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -38,7 +38,6 @@ import de.danoeh.antennapod.core.feed.FeedItem;
import de.danoeh.antennapod.core.feed.FeedMedia;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.playback.PlaybackService;
-import de.danoeh.antennapod.core.service.playback.PlayerStatus;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBTasks;
import de.danoeh.antennapod.core.storage.DBWriter;
--
cgit v1.2.3
From 595674a8724c7b74b2087a728a2576ed01c3cc0f Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 21 Jan 2018 13:03:30 +0100
Subject: Minor refactorings
---
.../antennapod/activity/MediaplayerInfoActivity.java | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
index 5e182d39e..f3ed1cb62 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerInfoActivity.java
@@ -160,7 +160,7 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
SharedPreferences prefs = getSharedPreferences(PREFS, MODE_PRIVATE);
prefs.edit()
.putInt(PREF_KEY_SELECTED_FRAGMENT_POSITION, pager.getCurrentItem())
- .commit();
+ .apply();
}
@Override
@@ -242,7 +242,7 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.drawer_open, R.string.drawer_close);
drawerToggle.setDrawerIndicatorEnabled(false);
- drawerLayout.setDrawerListener(drawerToggle);
+ drawerLayout.addDrawerListener(drawerToggle);
navAdapter = new NavListAdapter(itemAccess, this);
navList.setAdapter(navAdapter);
@@ -396,12 +396,7 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
new RenameFeedDialog(this, feed).show();
return true;
case R.id.remove_item:
- final FeedRemover remover = new FeedRemover(this, feed) {
- @Override
- protected void onPostExecute(Void result) {
- super.onPostExecute(result);
- }
- };
+ final FeedRemover remover = new FeedRemover(this, feed);
ConfirmationDialog conDialog = new ConfirmationDialog(this,
R.string.remove_feed_label,
getString(R.string.feed_delete_confirmation_msg, feed.getTitle())) {
@@ -413,7 +408,8 @@ public abstract class MediaplayerInfoActivity extends MediaplayerActivity implem
Playable playable = controller.getMedia();
if (playable != null && playable instanceof FeedMedia) {
FeedMedia media = (FeedMedia) playable;
- if (media.getItem().getFeed().getId() == feed.getId()) {
+ if (media.getItem() != null && media.getItem().getFeed() != null &&
+ media.getItem().getFeed().getId() == feed.getId()) {
Log.d(TAG, "Currently playing episode is about to be deleted, skipping");
remover.skipOnCompletion = true;
if(controller.getStatus() == PlayerStatus.PLAYING) {
--
cgit v1.2.3
From db21463730ea9a458e98cccce886276926c3843d Mon Sep 17 00:00:00 2001
From: Martin Fietz
Date: Sun, 21 Jan 2018 13:07:28 +0100
Subject: Add missing spaces
---
.../de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java | 2 +-
.../java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java | 4 ++--
.../main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
index 0346cc717..e726afaec 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
@@ -44,7 +44,7 @@ public class DownloadAuthenticationActivity extends AppCompatActivity {
setTheme(UserPreferences.getTheme());
super.onCreate(savedInstanceState);
ActionBar actionBar = getSupportActionBar();
- if(actionBar != null) {
+ if (actionBar != null) {
actionBar.hide();
}
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index 2cec70ff6..f859f5466 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -129,7 +129,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
setTheme(UserPreferences.getTheme());
super.onCreate(savedInstanceState);
ActionBar actionBar = getSupportActionBar();
- if(actionBar != null) {
+ if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
@@ -146,7 +146,7 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
|| TextUtils.equals(getIntent().getAction(), Intent.ACTION_VIEW)) {
feedUrl = (TextUtils.equals(getIntent().getAction(), Intent.ACTION_SEND))
? getIntent().getStringExtra(Intent.EXTRA_TEXT) : getIntent().getDataString();
- if(actionBar != null) {
+ if (actionBar != null) {
actionBar.setTitle(R.string.add_feed_label);
}
} else {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index e8821c2e2..54758acf4 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -368,7 +368,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
if (vpa.videoControlsShowing) {
Log.d(TAG, "Hiding video controls");
ActionBar actionBar = vpa.getSupportActionBar();
- if(actionBar != null) {
+ if (actionBar != null) {
actionBar.hide();
}
vpa.hideVideoControls();
--
cgit v1.2.3
From 8090431d302db205cdc54bd2d2e2d32ce5e751c0 Mon Sep 17 00:00:00 2001
From: Oliver Crow
Date: Sun, 28 Jan 2018 18:05:35 -0800
Subject: Fix for #2555 - can't open Preferences activity when there are stored
WiFi connections with null SSID.
---
.../de/danoeh/antennapod/preferences/PreferenceController.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index b5e0f1e99..0f42dd01a 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -764,6 +764,10 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
}
}
+ private static String blankIfNull(String val) {
+ return val == null ? "" : val;
+ }
+
private void buildAutodownloadSelectedNetworsPreference() {
final Activity activity = ui.getActivity();
@@ -778,7 +782,8 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
Log.e(TAG, "Couldn't get list of configure Wi-Fi networks");
return;
}
- Collections.sort(networks, (x, y) -> x.SSID.compareTo(y.SSID));
+ Collections.sort(networks, (x, y) ->
+ blankIfNull(x.SSID).compareTo(blankIfNull(y.SSID)));
selectedNetworks = new CheckBoxPreference[networks.size()];
List prefValues = Arrays.asList(UserPreferences
.getAutodownloadSelectedNetworks());
--
cgit v1.2.3
From 301bf782a102ee9eb71b4d0b71ff566c7bf35481 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Mon, 5 Feb 2018 00:16:07 +0100
Subject: Do not flicker when pressing back arrow
---
app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java | 1 -
1 file changed, 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
index bf22e71f5..de9932bef 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -109,7 +109,6 @@ public class QueueFragment extends Fragment {
@Override
public void onResume() {
super.onResume();
- recyclerView.setAdapter(recyclerAdapter);
loadItems(true);
EventDistributor.getInstance().register(contentUpdate);
EventBus.getDefault().registerSticky(this);
--
cgit v1.2.3
From a9f566f3f104e37eb160a0dcb9dcb11f8879e110 Mon Sep 17 00:00:00 2001
From: Matthew Gaffen
Date: Fri, 16 Mar 2018 11:01:23 +0000
Subject: Only write queue order to database on drag release for the podcast
queue.
This prevents large numbers of db writes in quick succession. This is a particular problem for large queue lengths. Fixes #2562 and potentially fixed #2573
---
.../danoeh/antennapod/fragment/QueueFragment.java | 29 ++++++++++++++++++++--
1 file changed, 27 insertions(+), 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
index bf22e71f5..7ec96dbbe 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -389,17 +389,29 @@ public class QueueFragment extends Fragment {
itemTouchHelper = new ItemTouchHelper(
new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN, ItemTouchHelper.RIGHT) {
+ // Position tracking whilst dragging
+ int dragFrom = -1;
+ int dragTo = -1;
+
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
+ int fromPosition = viewHolder.getAdapterPosition();
+ int toPosition = target.getAdapterPosition();
+
+ // Update tracked position
+ if(dragFrom == -1) {
+ dragFrom = fromPosition;
+ }
+ dragTo = toPosition;
+
int from = viewHolder.getAdapterPosition();
int to = target.getAdapterPosition();
- Log.d(TAG, "move(" + from + ", " + to + ")");
+ Log.d(TAG, "move(" + from + ", " + to + ") in memory");
if(from >= queue.size() || to >= queue.size()) {
return false;
}
queue.add(to, queue.remove(from));
recyclerAdapter.notifyItemMoved(from, to);
- DBWriter.moveQueueItem(from, to, true);
return true;
}
@@ -453,12 +465,25 @@ public class QueueFragment extends Fragment {
RecyclerView.ViewHolder viewHolder) {
super.clearView(recyclerView, viewHolder);
+ // Check if drag finished
+ if(dragFrom != -1 && dragTo != -1 && dragFrom != dragTo) {
+ reallyMoved(dragFrom, dragTo);
+ }
+
+ dragFrom = dragTo = -1;
+
if (viewHolder instanceof QueueRecyclerAdapter.ItemTouchHelperViewHolder) {
QueueRecyclerAdapter.ItemTouchHelperViewHolder itemViewHolder =
(QueueRecyclerAdapter.ItemTouchHelperViewHolder) viewHolder;
itemViewHolder.onItemClear();
}
}
+
+ private void reallyMoved(int from, int to) {
+ // Write drag operation to database
+ Log.d(TAG, "Write to database move(" + dragFrom + ", " + dragTo + ")");
+ DBWriter.moveQueueItem(dragFrom, dragTo, true);
+ }
}
);
itemTouchHelper.attachToRecyclerView(recyclerView);
--
cgit v1.2.3
From 05f923ebe256b71636e2369d48450a52ab87f944 Mon Sep 17 00:00:00 2001
From: alifeflow
Date: Sun, 25 Mar 2018 16:00:42 +0900
Subject: [Ture Black] True Black Theme for AMOLED
Add true black themese
Modified code that fails to support three themes
---
.../main/java/de/danoeh/antennapod/activity/MainActivity.java | 1 +
.../danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java | 4 ++++
.../de/danoeh/antennapod/adapter/ChaptersListAdapter.java | 11 +++++++++--
.../de/danoeh/antennapod/adapter/FeedItemlistAdapter.java | 2 ++
.../de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java | 2 ++
.../java/de/danoeh/antennapod/menuhandler/MenuItemUtils.java | 3 ++-
6 files changed, 20 insertions(+), 3 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
index f56dca173..cfe08cc23 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -7,6 +7,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.database.DataSetObserver;
+import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
index 715318db1..e4c090f9a 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
@@ -22,6 +22,8 @@ import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.joanzapata.iconify.Iconify;
+import org.shredzone.flattr4j.model.User;
+
import java.lang.ref.WeakReference;
import de.danoeh.antennapod.R;
@@ -69,6 +71,8 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter {
Chapter current = ChapterUtils.getCurrentChapter(media);
if (current == sc) {
- boolean darkTheme = UserPreferences.getTheme() == R.style.Theme_AntennaPod_Dark;
- int highlight = darkTheme ? R.color.highlight_dark : R.color.highlight_light;
+ int theme = UserPreferences.getTheme();
+ int highlight = R.color.highlight_light;
+ if (theme == R.style.Theme_AntennaPod_Dark) {
+ highlight = R.color.highlight_dark;
+ }else if (theme == R.style.Theme_AntennaPod_TrueBlack){
+ highlight = R.color.highlight_trueblack;
+ } else if (theme == R.style.Theme_AntennaPod_Light) {
+ highlight = R.color.highlight_light;
+ }
int playingBackGroundColor = ContextCompat.getColor(getContext(), highlight);
holder.view.setBackgroundColor(playingBackGroundColor);
} else {
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java
index e29781be1..ad8567f1d 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/FeedItemlistAdapter.java
@@ -62,6 +62,8 @@ public class FeedItemlistAdapter extends BaseAdapter {
if(UserPreferences.getTheme() == R.style.Theme_AntennaPod_Dark) {
playingBackGroundColor = ContextCompat.getColor(context, R.color.highlight_dark);
+ } else if(UserPreferences.getTheme() == R.style.Theme_AntennaPod_TrueBlack) {
+ playingBackGroundColor = ContextCompat.getColor(context, R.color.highlight_trueblack);
} else {
playingBackGroundColor = ContextCompat.getColor(context, R.color.highlight_light);
}
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java
index 01dd4c2de..086ce1072 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/QueueRecyclerAdapter.java
@@ -77,6 +77,8 @@ public class QueueRecyclerAdapter extends RecyclerView.Adapter
Date: Mon, 2 Apr 2018 22:18:35 +0200
Subject: Only stop videoControlsHider when actually stopping
---
.../danoeh/antennapod/activity/VideoplayerActivity.java | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index be5107d75..e23291e0d 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -99,10 +99,16 @@ public class VideoplayerActivity extends MediaplayerActivity {
}
@Override
- protected void onPause() {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N
- || !isInPictureInPictureMode()) {
+ protected void onStop() {
+ super.onStop();
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N || !isInPictureInPictureMode()) {
videoControlsHider.stop();
+ }
+ }
+
+ @Override
+ protected void onPause() {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N || !isInPictureInPictureMode()) {
if (controller != null && controller.getStatus() == PlayerStatus.PLAYING) {
controller.pause();
}
@@ -185,8 +191,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
private final View.OnTouchListener onVideoviewTouched = (v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
- && isInPictureInPictureMode()) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && isInPictureInPictureMode()) {
return true;
}
videoControlsHider.stop();
--
cgit v1.2.3
From 3c7f08db082e70fcf3925e84b0b22cea976a02e8 Mon Sep 17 00:00:00 2001
From: Hannes Achleitner
Date: Sat, 28 Oct 2017 22:00:00 +0200
Subject: replace old ActionBarActivity with AppCompatActivity
---
.../de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java | 4 ++--
.../main/java/de/danoeh/antennapod/activity/FlattrAuthActivity.java | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
index e726afaec..a97c350fb 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
@@ -3,8 +3,8 @@ package de.danoeh.antennapod.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.AppCompatActivity;
+import android.support.v7.app.ActionBarActivity;
+import android.util.Log;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FlattrAuthActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FlattrAuthActivity.java
index d9c250b38..26352f58f 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/FlattrAuthActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/FlattrAuthActivity.java
@@ -4,7 +4,7 @@ package de.danoeh.antennapod.activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
-import android.support.v7.app.ActionBarActivity;
+import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
@@ -21,7 +21,7 @@ import de.danoeh.antennapod.core.util.flattr.FlattrUtils;
/** Guides the user through the authentication process */
-public class FlattrAuthActivity extends ActionBarActivity {
+public class FlattrAuthActivity extends AppCompatActivity {
private static final String TAG = "FlattrAuthActivity";
private TextView txtvExplanation;
--
cgit v1.2.3
From 31385050275dbaedfabd553a3f00fba2c2efca33 Mon Sep 17 00:00:00 2001
From: Hannes Achleitner
Date: Tue, 3 Apr 2018 08:38:57 +0200
Subject: Simplify build
---
.../de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
index a97c350fb..e726afaec 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/DownloadAuthenticationActivity.java
@@ -3,8 +3,8 @@ package de.danoeh.antennapod.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
-import android.support.v7.app.ActionBarActivity;
-import android.util.Log;
+import android.support.v7.app.ActionBar;
+import android.support.v7.app.AppCompatActivity;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
--
cgit v1.2.3
From 67b01f6ec802b95732dec999d7dbc35ed9a2f0fa Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Thu, 5 Apr 2018 16:22:45 +0200
Subject: Use generic export message instead of OPML
The same message is shown for HTML and OPML. Fixes #2462.
Additionally, using string formatting now instead of just "+"
---
.../java/de/danoeh/antennapod/preferences/PreferenceController.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 0f42dd01a..2877fe521 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -474,8 +474,8 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
subscription = observable.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(output -> {
- alert.setTitle(R.string.opml_export_success_title);
- String message = context.getString(R.string.opml_export_success_sum) + output.toString();
+ alert.setTitle(R.string.export_success_title);
+ String message = context.getString(R.string.export_success_sum, output.toString());
alert.setMessage(message);
alert.setPositiveButton(R.string.send_label, (dialog, which) -> {
Uri fileUri = FileProvider.getUriForFile(context.getApplicationContext(),
--
cgit v1.2.3
From 8016a35193d704e197e8655dca8ee5398a3a6005 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Thu, 5 Apr 2018 16:57:48 +0200
Subject: Even use expired cache if there is no network
Closes #2260
---
.../java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java | 5 +++++
app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java | 5 +++++
2 files changed, 10 insertions(+)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
index 935fd7898..417af6133 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
@@ -33,6 +33,7 @@ import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.util.Converter;
import de.danoeh.antennapod.core.util.IntentUtils;
+import de.danoeh.antennapod.core.util.NetworkUtils;
import de.danoeh.antennapod.core.util.ShareUtils;
import de.danoeh.antennapod.core.util.ShownotesProvider;
import de.danoeh.antennapod.core.util.playback.Playable;
@@ -118,6 +119,10 @@ public class ItemDescriptionFragment extends Fragment implements MediaplayerInfo
R.style.Theme_AntennaPod_Dark ? Color.BLACK : Color.WHITE);
ta.recycle();
webvDescription.setBackgroundColor(backgroundColor);
+ if (!NetworkUtils.networkAvailable()) {
+ webvDescription.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
+ // Use cached resources, even if they have expired
+ }
webvDescription.getSettings().setUseWideViewPort(false);
webvDescription.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webvDescription.getSettings().setLoadWithOverviewMode(true);
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
index 4ae6b97ee..2d11e9f71 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
@@ -34,6 +34,7 @@ import com.bumptech.glide.Glide;
import com.joanzapata.iconify.Iconify;
import com.joanzapata.iconify.widget.IconButton;
+import de.danoeh.antennapod.core.util.NetworkUtils;
import org.apache.commons.lang3.ArrayUtils;
import java.util.List;
@@ -189,6 +190,10 @@ public class ItemFragment extends Fragment implements OnSwipeGesture {
}
webvDescription.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.black));
}
+ if (!NetworkUtils.networkAvailable()) {
+ webvDescription.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
+ // Use cached resources, even if they have expired
+ }
webvDescription.getSettings().setUseWideViewPort(false);
webvDescription.getSettings().setLayoutAlgorithm(
WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
--
cgit v1.2.3
From 15d93f01c98cee7457a022e6ef85532621b03c90 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Thu, 5 Apr 2018 17:09:09 +0200
Subject: Added OPML import option next to the export option
Fixes #2315
---
.../de/danoeh/antennapod/preferences/PreferenceController.java | 7 +++++++
1 file changed, 7 insertions(+)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 0f42dd01a..f68901029 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -39,6 +39,7 @@ import android.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
import de.danoeh.antennapod.activity.ImportExportActivity;
+import de.danoeh.antennapod.activity.OpmlImportFromPathActivity;
import org.apache.commons.lang3.ArrayUtils;
import java.io.File;
@@ -89,6 +90,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
private static final String PREF_FLATTR_REVOKE = "prefRevokeAccess";
private static final String PREF_AUTO_FLATTR_PREFS = "prefAutoFlattrPrefs";
private static final String PREF_OPML_EXPORT = "prefOpmlExport";
+ private static final String PREF_OPML_IMPORT = "prefOpmlImport";
private static final String PREF_HTML_EXPORT = "prefHtmlExport";
private static final String STATISTICS = "statistics";
private static final String IMPORT_EXPORT = "importExport";
@@ -185,6 +187,11 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
preference -> export(new OpmlWriter()));
ui.findPreference(PreferenceController.PREF_HTML_EXPORT).setOnPreferenceClickListener(
preference -> export(new HtmlWriter()));
+ ui.findPreference(PreferenceController.PREF_OPML_IMPORT).setOnPreferenceClickListener(
+ preference -> {
+ activity.startActivity(new Intent(activity, OpmlImportFromPathActivity.class));
+ return true;
+ });
ui.findPreference(PreferenceController.PREF_CHOOSE_DATA_DIR).setOnPreferenceClickListener(
preference -> {
if (Build.VERSION_CODES.KITKAT <= Build.VERSION.SDK_INT &&
--
cgit v1.2.3
From e41bc7bd61ba568adec4ff82c636cbbee7556022 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Thu, 5 Apr 2018 18:25:14 +0200
Subject: Showing URL for failed downloads
Closes #1082
---
.../antennapod/fragment/DownloadLogFragment.java | 27 ++++++++++++++++++++++
1 file changed, 27 insertions(+)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
index 9a4c9e030..ae9c60f65 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/DownloadLogFragment.java
@@ -1,5 +1,7 @@
package de.danoeh.antennapod.fragment;
+import android.app.AlertDialog;
+import android.app.Dialog;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
@@ -13,9 +15,11 @@ import android.widget.ListView;
import java.util.List;
+import android.widget.TextView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.adapter.DownloadLogAdapter;
import de.danoeh.antennapod.core.feed.EventDistributor;
+import de.danoeh.antennapod.core.feed.FeedMedia;
import de.danoeh.antennapod.core.service.download.DownloadStatus;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBWriter;
@@ -82,6 +86,29 @@ public class DownloadLogFragment extends ListFragment {
getActivity().supportInvalidateOptionsMenu();
}
+ @Override
+ public void onListItemClick(ListView l, View v, int position, long id) {
+ super.onListItemClick(l, v, position, id);
+
+ DownloadStatus status = adapter.getItem(position);
+ String url = "unknown";
+ String message = getString(R.string.download_successful);
+ FeedMedia media = DBReader.getFeedMedia(status.getFeedfileId());
+ if (media != null) {
+ url = media.getDownload_url();
+ }
+ if (!status.isSuccessful()) {
+ message = status.getReasonDetailed();
+ }
+
+ AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+ builder.setTitle(R.string.download_error_details);
+ builder.setMessage(getString(R.string.download_error_details_message, message, url));
+ builder.setPositiveButton(android.R.string.ok, null);
+ Dialog dialog = builder.show();
+ ((TextView) dialog.findViewById(android.R.id.message)).setTextIsSelectable(true);
+ }
+
private final DownloadLogAdapter.ItemAccess itemAccess = new DownloadLogAdapter.ItemAccess() {
@Override
--
cgit v1.2.3
From 1831430a6e47be1e34d2e8a4b977e79289ca7b2b Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Mon, 9 Apr 2018 00:04:02 +0200
Subject: Added checks for PiP support
---
.../antennapod/activity/MediaplayerActivity.java | 20 +++++++++++++++++++-
.../antennapod/activity/VideoplayerActivity.java | 10 +++++-----
2 files changed, 24 insertions(+), 6 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index f3c0760f3..b51f45d93 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -4,6 +4,7 @@ import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.PixelFormat;
@@ -225,7 +226,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
@Override
protected void onPause() {
- if (Build.VERSION.SDK_INT < 26 || !isInPictureInPictureMode()) {
+ if (!supportsAndisInPictureInPictureMode()) {
if (controller != null) {
controller.reinitServiceIfPaused();
controller.pause();
@@ -907,6 +908,23 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
}
}
+ /* package */ boolean supportsPictureInPicture() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ PackageManager packageManager = getApplicationContext().getPackageManager();
+ return packageManager.hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE);
+ } else {
+ return false;
+ }
+ }
+
+ /* package */ boolean supportsAndisInPictureInPictureMode() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && supportsPictureInPicture()) {
+ return isInPictureInPictureMode();
+ } else {
+ return false;
+ }
+ }
+
private void checkFavorite() {
Playable playable = controller.getMedia();
if (playable != null && playable instanceof FeedMedia) {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index e23291e0d..4ab934cc2 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -101,14 +101,14 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
protected void onStop() {
super.onStop();
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N || !isInPictureInPictureMode()) {
+ if (!supportsAndisInPictureInPictureMode()) {
videoControlsHider.stop();
}
}
@Override
protected void onPause() {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N || !isInPictureInPictureMode()) {
+ if (!supportsAndisInPictureInPictureMode()) {
if (controller != null && controller.getStatus() == PlayerStatus.PLAYING) {
controller.pause();
}
@@ -191,7 +191,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
private final View.OnTouchListener onVideoviewTouched = (v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && isInPictureInPictureMode()) {
+ if (supportsAndisInPictureInPictureMode()) {
return true;
}
videoControlsHider.stop();
@@ -381,7 +381,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ if (supportsPictureInPicture()) {
menu.findItem(R.id.player_go_to_picture_in_picture).setVisible(true);
}
return true;
@@ -390,7 +390,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.player_go_to_picture_in_picture) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ if (supportsPictureInPicture() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
getSupportActionBar().hide();
hideVideoControls(false);
enterPictureInPictureMode();
--
cgit v1.2.3
From 562bbf21f056e03aa13d5b48a5cdb16031495f2f Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Mon, 9 Apr 2018 18:33:03 +0200
Subject: Split up two different uses of the string 'New'
Closes #2348
---
app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
index 8928d2bf3..417ecff89 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
@@ -106,7 +106,7 @@ public class EpisodesFragment extends Fragment {
case POS_ALL_EPISODES:
return resources.getString(R.string.all_episodes_short_label);
case POS_NEW_EPISODES:
- return resources.getString(R.string.new_label);
+ return resources.getString(R.string.new_episodes_label);
case POS_FAV_EPISODES:
return resources.getString(R.string.favorite_episodes_label);
default:
--
cgit v1.2.3
From 64221f7f56a422406c2a664e18ad8593e6825ef2 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Mon, 9 Apr 2018 19:43:50 +0200
Subject: Allow to enter PiP automatically
---
.../antennapod/activity/MediaplayerActivity.java | 4 +--
.../antennapod/activity/VideoplayerActivity.java | 29 ++++++++++++++++------
2 files changed, 23 insertions(+), 10 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index b51f45d93..8431e7b2e 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -226,7 +226,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
@Override
protected void onPause() {
- if (!supportsAndisInPictureInPictureMode()) {
+ if (!compatIsInPictureInPictureMode()) {
if (controller != null) {
controller.reinitServiceIfPaused();
controller.pause();
@@ -917,7 +917,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
}
}
- /* package */ boolean supportsAndisInPictureInPictureMode() {
+ /* package */ boolean compatIsInPictureInPictureMode() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && supportsPictureInPicture()) {
return isInPictureInPictureMode();
} else {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index 4ab934cc2..83635853a 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -24,6 +24,7 @@ import android.widget.ProgressBar;
import android.widget.SeekBar;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.feed.MediaType;
+import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.playback.PlaybackService;
import de.danoeh.antennapod.core.service.playback.PlayerStatus;
import de.danoeh.antennapod.core.util.playback.ExternalMedia;
@@ -101,14 +102,22 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
protected void onStop() {
super.onStop();
- if (!supportsAndisInPictureInPictureMode()) {
+ if (!compatIsInPictureInPictureMode()) {
videoControlsHider.stop();
}
}
+ @Override
+ public void onUserLeaveHint () {
+ if (!compatIsInPictureInPictureMode() && UserPreferences.getVideoBackgroundBehavior()
+ == UserPreferences.VideoBackgroundBehavior.PICTURE_IN_PICTURE) {
+ compatEnterPictureInPicture();
+ }
+ }
+
@Override
protected void onPause() {
- if (!supportsAndisInPictureInPictureMode()) {
+ if (!compatIsInPictureInPictureMode()) {
if (controller != null && controller.getStatus() == PlayerStatus.PLAYING) {
controller.pause();
}
@@ -191,7 +200,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
private final View.OnTouchListener onVideoviewTouched = (v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
- if (supportsAndisInPictureInPictureMode()) {
+ if (compatIsInPictureInPictureMode()) {
return true;
}
videoControlsHider.stop();
@@ -390,16 +399,20 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.player_go_to_picture_in_picture) {
- if (supportsPictureInPicture() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- getSupportActionBar().hide();
- hideVideoControls(false);
- enterPictureInPictureMode();
- }
+ compatEnterPictureInPicture();
return true;
}
return super.onOptionsItemSelected(item);
}
+ private void compatEnterPictureInPicture() {
+ if (supportsPictureInPicture() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ getSupportActionBar().hide();
+ hideVideoControls(false);
+ enterPictureInPictureMode();
+ }
+ }
+
private static class VideoControlsHider extends Handler {
private static final int DELAY = 2500;
--
cgit v1.2.3
From d757abedbc771224787ab962134b7d61b27fd6e4 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Mon, 9 Apr 2018 22:20:43 +0200
Subject: Removing PiP option for unsupported devices
---
.../antennapod/activity/MediaplayerActivity.java | 21 ++-------------------
.../antennapod/activity/VideoplayerActivity.java | 13 +++++++------
.../preferences/PreferenceController.java | 7 +++++++
3 files changed, 16 insertions(+), 25 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index 8431e7b2e..21e375435 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -4,7 +4,6 @@ import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.content.pm.PackageManager;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.PixelFormat;
@@ -47,6 +46,7 @@ import de.danoeh.antennapod.core.util.Flavors;
import de.danoeh.antennapod.core.util.ShareUtils;
import de.danoeh.antennapod.core.util.StorageUtils;
import de.danoeh.antennapod.core.util.Supplier;
+import de.danoeh.antennapod.core.util.gui.PictureInPictureUtil;
import de.danoeh.antennapod.core.util.playback.MediaPlayerError;
import de.danoeh.antennapod.core.util.playback.Playable;
import de.danoeh.antennapod.core.util.playback.PlaybackController;
@@ -226,7 +226,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
@Override
protected void onPause() {
- if (!compatIsInPictureInPictureMode()) {
+ if (!PictureInPictureUtil.isInPictureInPictureMode(this)) {
if (controller != null) {
controller.reinitServiceIfPaused();
controller.pause();
@@ -908,23 +908,6 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
}
}
- /* package */ boolean supportsPictureInPicture() {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- PackageManager packageManager = getApplicationContext().getPackageManager();
- return packageManager.hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE);
- } else {
- return false;
- }
- }
-
- /* package */ boolean compatIsInPictureInPictureMode() {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && supportsPictureInPicture()) {
- return isInPictureInPictureMode();
- } else {
- return false;
- }
- }
-
private void checkFavorite() {
Playable playable = controller.getMedia();
if (playable != null && playable instanceof FeedMedia) {
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index 83635853a..999fd0714 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -27,6 +27,7 @@ import de.danoeh.antennapod.core.feed.MediaType;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.playback.PlaybackService;
import de.danoeh.antennapod.core.service.playback.PlayerStatus;
+import de.danoeh.antennapod.core.util.gui.PictureInPictureUtil;
import de.danoeh.antennapod.core.util.playback.ExternalMedia;
import de.danoeh.antennapod.core.util.playback.Playable;
import de.danoeh.antennapod.view.AspectRatioVideoView;
@@ -102,14 +103,14 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
protected void onStop() {
super.onStop();
- if (!compatIsInPictureInPictureMode()) {
+ if (!PictureInPictureUtil.isInPictureInPictureMode(this)) {
videoControlsHider.stop();
}
}
@Override
public void onUserLeaveHint () {
- if (!compatIsInPictureInPictureMode() && UserPreferences.getVideoBackgroundBehavior()
+ if (!PictureInPictureUtil.isInPictureInPictureMode(this) && UserPreferences.getVideoBackgroundBehavior()
== UserPreferences.VideoBackgroundBehavior.PICTURE_IN_PICTURE) {
compatEnterPictureInPicture();
}
@@ -117,7 +118,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
protected void onPause() {
- if (!compatIsInPictureInPictureMode()) {
+ if (!PictureInPictureUtil.isInPictureInPictureMode(this)) {
if (controller != null && controller.getStatus() == PlayerStatus.PLAYING) {
controller.pause();
}
@@ -200,7 +201,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
private final View.OnTouchListener onVideoviewTouched = (v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
- if (compatIsInPictureInPictureMode()) {
+ if (PictureInPictureUtil.isInPictureInPictureMode(this)) {
return true;
}
videoControlsHider.stop();
@@ -390,7 +391,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
- if (supportsPictureInPicture()) {
+ if (PictureInPictureUtil.supportsPictureInPicture(this)) {
menu.findItem(R.id.player_go_to_picture_in_picture).setVisible(true);
}
return true;
@@ -406,7 +407,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
}
private void compatEnterPictureInPicture() {
- if (supportsPictureInPicture() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ if (PictureInPictureUtil.supportsPictureInPicture(this) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
getSupportActionBar().hide();
hideVideoControls(false);
enterPictureInPictureMode();
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 2c7d738dd..0e9cf73e0 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -38,8 +38,10 @@ import android.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
+import com.afollestad.materialdialogs.prefs.MaterialListPreference;
import de.danoeh.antennapod.activity.ImportExportActivity;
import de.danoeh.antennapod.activity.OpmlImportFromPathActivity;
+import de.danoeh.antennapod.core.util.gui.PictureInPictureUtil;
import org.apache.commons.lang3.ArrayUtils;
import java.io.File;
@@ -426,6 +428,11 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
return false;
}
);
+ if (!PictureInPictureUtil.supportsPictureInPicture(activity)) {
+ MaterialListPreference behaviour = (MaterialListPreference) ui.findPreference(UserPreferences.PREF_VIDEO_BEHAVIOR);
+ behaviour.setEntries(R.array.video_background_behavior_options_without_pip);
+ behaviour.setEntryValues(R.array.video_background_behavior_values_without_pip);
+ }
ui.findPreference(PREF_PROXY).setOnPreferenceClickListener(preference -> {
ProxyDialog dialog = new ProxyDialog(ui.getActivity());
dialog.createDialog().show();
--
cgit v1.2.3
From b5a8fe0a1b3b38f8980d4c6e9e65d568dc70a55e Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Mon, 9 Apr 2018 22:30:43 +0200
Subject: Using compat method
---
.../main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index 999fd0714..832386185 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -297,7 +297,7 @@ public class VideoplayerActivity extends MediaplayerActivity {
@Override
protected void onReloadNotification(int notificationCode) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && isInPictureInPictureMode()) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && PictureInPictureUtil.isInPictureInPictureMode(this)) {
if (notificationCode == PlaybackService.EXTRA_CODE_AUDIO
|| notificationCode == PlaybackService.EXTRA_CODE_CAST) {
finish();
--
cgit v1.2.3
From 12ac9c9fc2b89e11d1b4a27a625216ec04c20e04 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Tue, 10 Apr 2018 20:18:23 +0200
Subject: Added preference screens
---
.../antennapod/activity/PreferenceActivity.java | 57 +++++++++++++---
.../preferences/PreferenceController.java | 76 +++++++++++++++-------
2 files changed, 98 insertions(+), 35 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
index 12d918a76..99d39fbd9 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
@@ -24,13 +24,20 @@ import de.danoeh.antennapod.preferences.PreferenceController;
*/
public class PreferenceActivity extends AppCompatActivity {
+ public static final String PARAM_RESOURCE = "resource";
private static WeakReference instance;
private PreferenceController preferenceController;
- private MainFragment prefFragment;
private final PreferenceController.PreferenceUI preferenceUI = new PreferenceController.PreferenceUI() {
+ private PreferenceFragment fragment;
+
+ @Override
+ public void setFragment(PreferenceFragment fragment) {
+ this.fragment = fragment;
+ }
+
@Override
public Preference findPreference(CharSequence key) {
- return prefFragment.findPreference(key);
+ return fragment.findPreference(key);
}
@Override
@@ -64,7 +71,11 @@ public class PreferenceActivity extends AppCompatActivity {
// since the MainFragment depends on the preferenceController already being created
preferenceController = new PreferenceController(preferenceUI);
- prefFragment = new MainFragment();
+ PreferenceFragment prefFragment = new MainFragment();
+ preferenceUI.setFragment(prefFragment);
+ Bundle args = new Bundle();
+ args.putInt(PARAM_RESOURCE, R.xml.preferences);
+ prefFragment.setArguments(args);
getFragmentManager().beginTransaction().replace(R.id.content, prefFragment).commit();
}
@@ -84,7 +95,11 @@ public class PreferenceActivity extends AppCompatActivity {
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
- finish();
+ if (getFragmentManager().getBackStackEntryCount() == 0) {
+ finish();
+ } else {
+ getFragmentManager().popBackStack();
+ }
return true;
default:
return false;
@@ -97,10 +112,11 @@ public class PreferenceActivity extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
- addPreferencesFromResource(R.xml.preferences);
+ addPreferencesFromResource(getArguments().getInt(PARAM_RESOURCE));
PreferenceActivity activity = instance.get();
- if(activity != null && activity.preferenceController != null) {
- activity.preferenceController.onCreate();
+ if (activity != null && activity.preferenceController != null) {
+ activity.preferenceUI.setFragment(this);
+ activity.preferenceController.onCreate(getArguments().getInt(PARAM_RESOURCE));
}
}
@@ -109,7 +125,26 @@ public class PreferenceActivity extends AppCompatActivity {
super.onResume();
PreferenceActivity activity = instance.get();
if(activity != null && activity.preferenceController != null) {
- activity.preferenceController.onResume();
+ activity.setTitle(getTitle(getArguments().getInt(PARAM_RESOURCE)));
+ activity.preferenceUI.setFragment(this);
+ activity.preferenceController.onResume(getArguments().getInt(PARAM_RESOURCE));
+ }
+ }
+
+ private int getTitle(int preferences) {
+ switch (preferences) {
+ case R.xml.preferences_downloads:
+ return R.string.downloads_label;
+ case R.xml.preferences_playback:
+ return R.string.playback_pref;
+ case R.xml.preferences_storage:
+ return R.string.storage_pref;
+ case R.xml.preferences_user_interface:
+ return R.string.user_interface_label;
+ case R.xml.preferences_services:
+ return R.string.services_label;
+ default:
+ return R.string.settings_label;
}
}
@@ -117,7 +152,8 @@ public class PreferenceActivity extends AppCompatActivity {
public void onPause() {
PreferenceActivity activity = instance.get();
if(activity != null && activity.preferenceController != null) {
- activity.preferenceController.onPause();
+ activity.preferenceUI.setFragment(this);
+ activity.preferenceController.onPause(getArguments().getInt(PARAM_RESOURCE));
}
super.onPause();
}
@@ -126,7 +162,8 @@ public class PreferenceActivity extends AppCompatActivity {
public void onStop() {
PreferenceActivity activity = instance.get();
if(activity != null && activity.preferenceController != null) {
- activity.preferenceController.onStop();
+ activity.preferenceUI.setFragment(this);
+ activity.preferenceController.onStop(getArguments().getInt(PARAM_RESOURCE));
}
super.onStop();
}
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 2c7d738dd..5bba09dbe 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -3,6 +3,7 @@ package de.danoeh.antennapod.preferences;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
+import android.app.Fragment;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.content.ActivityNotFoundException;
@@ -16,30 +17,27 @@ import android.net.Uri;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.os.Build;
+import android.os.Bundle;
import android.preference.CheckBoxPreference;
-import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
+import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;
import android.support.design.widget.Snackbar;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.FileProvider;
import android.support.v7.app.AlertDialog;
-import android.text.Editable;
import android.text.Html;
-import android.text.TextWatcher;
import android.text.format.DateFormat;
import android.text.format.DateUtils;
import android.util.Log;
-import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
-import de.danoeh.antennapod.activity.ImportExportActivity;
-import de.danoeh.antennapod.activity.OpmlImportFromPathActivity;
+import de.danoeh.antennapod.activity.PreferenceActivity;
import org.apache.commons.lang3.ArrayUtils;
import java.io.File;
@@ -53,30 +51,21 @@ import java.util.concurrent.TimeUnit;
import de.danoeh.antennapod.CrashReportWriter;
import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.AboutActivity;
import de.danoeh.antennapod.activity.DirectoryChooserActivity;
import de.danoeh.antennapod.activity.MainActivity;
-import de.danoeh.antennapod.activity.MediaplayerActivity;
-import de.danoeh.antennapod.activity.StatisticsActivity;
import de.danoeh.antennapod.asynctask.ExportWorker;
import de.danoeh.antennapod.core.export.ExportWriter;
-import de.danoeh.antennapod.core.export.html.HtmlWriter;
-import de.danoeh.antennapod.core.export.opml.OpmlWriter;
import de.danoeh.antennapod.core.preferences.GpodnetPreferences;
import de.danoeh.antennapod.core.preferences.UserPreferences;
-import de.danoeh.antennapod.core.service.GpodnetSyncService;
import de.danoeh.antennapod.core.util.flattr.FlattrUtils;
-import de.danoeh.antennapod.dialog.AuthenticationDialog;
-import de.danoeh.antennapod.dialog.AutoFlattrPreferenceDialog;
import de.danoeh.antennapod.dialog.ChooseDataFolderDialog;
-import de.danoeh.antennapod.dialog.GpodnetSetHostnameDialog;
-import de.danoeh.antennapod.dialog.ProxyDialog;
-import de.danoeh.antennapod.dialog.VariableSpeedDialog;
import rx.Observable;
import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
+import static de.danoeh.antennapod.activity.PreferenceActivity.PARAM_RESOURCE;
+
/**
* Sets up a preference UI that lets the user change user preferences.
*/
@@ -85,6 +74,13 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
private static final String TAG = "PreferenceController";
+ private static final String PREF_SCREEN_USER_INTERFACE = "prefScreenInterface";
+ private static final String PREF_SCREEN_PLAYBACK = "prefScreenPlayback";
+ private static final String PREF_SCREEN_DOWNLOADS = "prefScreenDownloads";
+ private static final String PREF_SCREEN_SERVICES = "prefScreenServices";
+ private static final String PREF_SCREEN_STORAGE = "prefScreenStorage";
+ private static final String PREF_SCREEN_VARIOUS = "prefScreenVarious";
+
private static final String PREF_FLATTR_SETTINGS = "prefFlattrSettings";
private static final String PREF_FLATTR_AUTH = "pref_flattr_authenticate";
private static final String PREF_FLATTR_REVOKE = "prefRevokeAccess";
@@ -143,9 +139,26 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
}
}
- public void onCreate() {
+
+
+ public void onCreate(int screen) {
final Activity activity = ui.getActivity();
+ if (screen == R.xml.preferences) {
+ ui.findPreference(PREF_SCREEN_USER_INTERFACE).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_user_interface, activity));
+ ui.findPreference(PREF_SCREEN_PLAYBACK).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_playback, activity));
+ ui.findPreference(PREF_SCREEN_DOWNLOADS).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_downloads, activity));
+ ui.findPreference(PREF_SCREEN_SERVICES).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_services, activity));
+ ui.findPreference(PREF_SCREEN_STORAGE).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_storage, activity));
+ ui.findPreference(PREF_SCREEN_VARIOUS).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_various, activity));
+ }
+/*
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
// disable expanded notification option on unsupported android versions
ui.findPreference(PreferenceController.PREF_EXPANDED_NOTIFICATION).setEnabled(false);
@@ -466,7 +479,18 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
buildEpisodeCleanupPreference();
buildSmartMarkAsPlayedPreference();
buildAutodownloadSelectedNetworsPreference();
- setSelectedNetworksEnabled(UserPreferences.isEnableAutodownloadWifiFilter());
+ setSelectedNetworksEnabled(UserPreferences.isEnableAutodownloadWifiFilter());*/
+ }
+
+ private boolean openScreen(int preferences, Activity activity) {
+ Fragment prefFragment = new PreferenceActivity.MainFragment();
+ Bundle args = new Bundle();
+ args.putInt(PARAM_RESOURCE, preferences);
+ prefFragment.setArguments(args);
+ activity.getFragmentManager().beginTransaction()
+ .replace(R.id.content, prefFragment)
+ .addToBackStack(TAG).commit();
+ return true;
}
private boolean export(ExportWriter exportWriter) {
@@ -522,21 +546,21 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
}
}
- public void onResume() {
- checkItemVisibility();
+ public void onResume(int screen) {
+ /*checkItemVisibility();
setUpdateIntervalText();
setParallelDownloadsText(UserPreferences.getParallelDownloads());
setEpisodeCacheSizeText(UserPreferences.getEpisodeCacheSize());
setDataFolderText();
GpodnetPreferences.registerOnSharedPreferenceChangeListener(gpoddernetListener);
- updateGpodnetPreferenceScreen();
+ updateGpodnetPreferenceScreen();*/
}
- public void onPause() {
- GpodnetPreferences.unregisterOnSharedPreferenceChangeListener(gpoddernetListener);
+ public void onPause(int screen) {
+ /*GpodnetPreferences.unregisterOnSharedPreferenceChangeListener(gpoddernetListener);*/
}
- public void onStop() {
+ public void onStop(int screen) {
if(subscription != null) {
subscription.unsubscribe();
}
@@ -1006,6 +1030,8 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
public interface PreferenceUI {
+ void setFragment(PreferenceFragment fragment);
+
/**
* Finds a preference based on its key.
*/
--
cgit v1.2.3
From 47909464af8486819ea73b3219374470277a59d0 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Tue, 10 Apr 2018 22:14:25 +0200
Subject: Extracted string resources
---
app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java | 2 ++
1 file changed, 2 insertions(+)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
index 99d39fbd9..07991ae74 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
@@ -143,6 +143,8 @@ public class PreferenceActivity extends AppCompatActivity {
return R.string.user_interface_label;
case R.xml.preferences_services:
return R.string.services_label;
+ case R.xml.preferences_various:
+ return R.string.various_pref;
default:
return R.string.settings_label;
}
--
cgit v1.2.3
From 8ad9ef6c196f2fa5b01aa68edc7624e8628c482d Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Tue, 10 Apr 2018 23:33:04 +0200
Subject: Added categories
---
.../main/java/de/danoeh/antennapod/activity/PreferenceActivity.java | 4 ++--
.../java/de/danoeh/antennapod/preferences/PreferenceController.java | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
index 07991ae74..b2e5c8f08 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
@@ -143,8 +143,8 @@ public class PreferenceActivity extends AppCompatActivity {
return R.string.user_interface_label;
case R.xml.preferences_services:
return R.string.services_label;
- case R.xml.preferences_various:
- return R.string.various_pref;
+ case R.xml.preferences_miscellaneous:
+ return R.string.miscellaneous_pref;
default:
return R.string.settings_label;
}
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 5bba09dbe..9ec5eeb8e 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -79,7 +79,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
private static final String PREF_SCREEN_DOWNLOADS = "prefScreenDownloads";
private static final String PREF_SCREEN_SERVICES = "prefScreenServices";
private static final String PREF_SCREEN_STORAGE = "prefScreenStorage";
- private static final String PREF_SCREEN_VARIOUS = "prefScreenVarious";
+ private static final String PREF_SCREEN_MISCELLANEOUS = "prefScreenMiscellaneous";
private static final String PREF_FLATTR_SETTINGS = "prefFlattrSettings";
private static final String PREF_FLATTR_AUTH = "pref_flattr_authenticate";
@@ -155,8 +155,8 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
openScreen(R.xml.preferences_services, activity));
ui.findPreference(PREF_SCREEN_STORAGE).setOnPreferenceClickListener(preference ->
openScreen(R.xml.preferences_storage, activity));
- ui.findPreference(PREF_SCREEN_VARIOUS).setOnPreferenceClickListener(preference ->
- openScreen(R.xml.preferences_various, activity));
+ ui.findPreference(PREF_SCREEN_MISCELLANEOUS).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_miscellaneous, activity));
}
/*
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
--
cgit v1.2.3
From 5a2dca284034b6f06313d13ef59bee330133d30e Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Tue, 10 Apr 2018 23:41:41 +0200
Subject: Removed misc settings
---
.../main/java/de/danoeh/antennapod/activity/PreferenceActivity.java | 2 --
.../java/de/danoeh/antennapod/preferences/PreferenceController.java | 3 ---
2 files changed, 5 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
index b2e5c8f08..99d39fbd9 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
@@ -143,8 +143,6 @@ public class PreferenceActivity extends AppCompatActivity {
return R.string.user_interface_label;
case R.xml.preferences_services:
return R.string.services_label;
- case R.xml.preferences_miscellaneous:
- return R.string.miscellaneous_pref;
default:
return R.string.settings_label;
}
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 9ec5eeb8e..1e0df6a94 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -79,7 +79,6 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
private static final String PREF_SCREEN_DOWNLOADS = "prefScreenDownloads";
private static final String PREF_SCREEN_SERVICES = "prefScreenServices";
private static final String PREF_SCREEN_STORAGE = "prefScreenStorage";
- private static final String PREF_SCREEN_MISCELLANEOUS = "prefScreenMiscellaneous";
private static final String PREF_FLATTR_SETTINGS = "prefFlattrSettings";
private static final String PREF_FLATTR_AUTH = "pref_flattr_authenticate";
@@ -155,8 +154,6 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
openScreen(R.xml.preferences_services, activity));
ui.findPreference(PREF_SCREEN_STORAGE).setOnPreferenceClickListener(preference ->
openScreen(R.xml.preferences_storage, activity));
- ui.findPreference(PREF_SCREEN_MISCELLANEOUS).setOnPreferenceClickListener(preference ->
- openScreen(R.xml.preferences_miscellaneous, activity));
}
/*
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
--
cgit v1.2.3
From 6957cc9e27c69792af6eb04f21ee4b39172ffa52 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Wed, 11 Apr 2018 00:30:42 +0200
Subject: Re-enabled preference setup methods
---
.../antennapod/activity/PreferenceActivity.java | 2 +-
.../preferences/PreferenceController.java | 389 ++++++++++++---------
2 files changed, 233 insertions(+), 158 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
index 99d39fbd9..5fe5bc334 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
@@ -163,7 +163,7 @@ public class PreferenceActivity extends AppCompatActivity {
PreferenceActivity activity = instance.get();
if(activity != null && activity.preferenceController != null) {
activity.preferenceUI.setFragment(this);
- activity.preferenceController.onStop(getArguments().getInt(PARAM_RESOURCE));
+ activity.preferenceController.onStop();
}
super.onStop();
}
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 1e0df6a94..0945ca660 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -19,6 +19,7 @@ import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
+import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceFragment;
@@ -28,16 +29,32 @@ import android.support.design.widget.Snackbar;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.FileProvider;
import android.support.v7.app.AlertDialog;
+import android.text.Editable;
import android.text.Html;
+import android.text.TextWatcher;
import android.text.format.DateFormat;
import android.text.format.DateUtils;
import android.util.Log;
+import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
+import de.danoeh.antennapod.activity.AboutActivity;
+import de.danoeh.antennapod.activity.ImportExportActivity;
+import de.danoeh.antennapod.activity.MediaplayerActivity;
+import de.danoeh.antennapod.activity.OpmlImportFromPathActivity;
import de.danoeh.antennapod.activity.PreferenceActivity;
+import de.danoeh.antennapod.activity.StatisticsActivity;
+import de.danoeh.antennapod.core.export.html.HtmlWriter;
+import de.danoeh.antennapod.core.export.opml.OpmlWriter;
+import de.danoeh.antennapod.core.service.GpodnetSyncService;
+import de.danoeh.antennapod.dialog.AuthenticationDialog;
+import de.danoeh.antennapod.dialog.AutoFlattrPreferenceDialog;
+import de.danoeh.antennapod.dialog.GpodnetSetHostnameDialog;
+import de.danoeh.antennapod.dialog.ProxyDialog;
+import de.danoeh.antennapod.dialog.VariableSpeedDialog;
import org.apache.commons.lang3.ArrayUtils;
import java.io.File;
@@ -141,21 +158,36 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
public void onCreate(int screen) {
+ switch (screen) {
+ case R.xml.preferences:
+ setupMainScreen();
+ break;
+ case R.xml.preferences_downloads:
+ setupDownloadsScreen();
+ buildAutodownloadSelectedNetworsPreference();
+ setSelectedNetworksEnabled(UserPreferences.isEnableAutodownloadWifiFilter());
+ buildEpisodeCleanupPreference();
+ break;
+ case R.xml.preferences_playback:
+ setupPlaybackScreen();
+ PreferenceControllerFlavorHelper.setupCastUI(ui);
+ buildSmartMarkAsPlayedPreference();
+ break;
+ case R.xml.preferences_services:
+ setupServicesScreen();
+ break;
+ case R.xml.preferences_storage:
+ setupStorageScreen();
+ break;
+ case R.xml.preferences_user_interface:
+ setupInterfaceScreen();
+ break;
+ }
+ }
+
+ private void setupInterfaceScreen() {
final Activity activity = ui.getActivity();
- if (screen == R.xml.preferences) {
- ui.findPreference(PREF_SCREEN_USER_INTERFACE).setOnPreferenceClickListener(preference ->
- openScreen(R.xml.preferences_user_interface, activity));
- ui.findPreference(PREF_SCREEN_PLAYBACK).setOnPreferenceClickListener(preference ->
- openScreen(R.xml.preferences_playback, activity));
- ui.findPreference(PREF_SCREEN_DOWNLOADS).setOnPreferenceClickListener(preference ->
- openScreen(R.xml.preferences_downloads, activity));
- ui.findPreference(PREF_SCREEN_SERVICES).setOnPreferenceClickListener(preference ->
- openScreen(R.xml.preferences_services, activity));
- ui.findPreference(PREF_SCREEN_STORAGE).setOnPreferenceClickListener(preference ->
- openScreen(R.xml.preferences_storage, activity));
- }
-/*
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
// disable expanded notification option on unsupported android versions
ui.findPreference(PreferenceController.PREF_EXPANDED_NOTIFICATION).setEnabled(false);
@@ -168,25 +200,34 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
}
);
}
- ui.findPreference(PreferenceController.PREF_FLATTR_REVOKE).setOnPreferenceClickListener(
- preference -> {
- FlattrUtils.revokeAccessToken(activity);
- checkItemVisibility();
- return true;
- }
- );
- ui.findPreference(PreferenceController.PREF_ABOUT).setOnPreferenceClickListener(
- preference -> {
- activity.startActivity(new Intent(activity, AboutActivity.class));
+ ui.findPreference(UserPreferences.PREF_THEME)
+ .setOnPreferenceChangeListener(
+ (preference, newValue) -> {
+ Intent i = new Intent(activity, MainActivity.class);
+ i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
+ | Intent.FLAG_ACTIVITY_NEW_TASK);
+ activity.finish();
+ activity.startActivity(i);
+ return true;
+ }
+ );
+ ui.findPreference(UserPreferences.PREF_HIDDEN_DRAWER_ITEMS)
+ .setOnPreferenceClickListener(preference -> {
+ showDrawerPreferencesDialog();
return true;
- }
- );
- ui.findPreference(PreferenceController.STATISTICS).setOnPreferenceClickListener(
- preference -> {
- activity.startActivity(new Intent(activity, StatisticsActivity.class));
+ });
+
+ ui.findPreference(UserPreferences.PREF_COMPACT_NOTIFICATION_BUTTONS)
+ .setOnPreferenceClickListener(preference -> {
+ showNotificationButtonsDialog();
return true;
- }
- );
+ });
+
+ }
+
+ private void setupStorageScreen() {
+ final Activity activity = ui.getActivity();
+
ui.findPreference(PreferenceController.IMPORT_EXPORT).setOnPreferenceClickListener(
preference -> {
activity.startActivity(new Intent(activity, ImportExportActivity.class));
@@ -235,35 +276,127 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
return true;
}
);
- ui.findPreference(UserPreferences.PREF_THEME)
- .setOnPreferenceChangeListener(
- (preference, newValue) -> {
- Intent i = new Intent(activity, MainActivity.class);
- i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK
- | Intent.FLAG_ACTIVITY_NEW_TASK);
- activity.finish();
- activity.startActivity(i);
- return true;
+ ui.findPreference(UserPreferences.PREF_IMAGE_CACHE_SIZE).setOnPreferenceChangeListener(
+ (preference, o) -> {
+ if (o instanceof String) {
+ int newValue = Integer.parseInt((String) o) * 1024 * 1024;
+ if (newValue != UserPreferences.getImageCacheSize()) {
+ AlertDialog.Builder dialog = new AlertDialog.Builder(ui.getActivity());
+ dialog.setTitle(android.R.string.dialog_alert_title);
+ dialog.setMessage(R.string.pref_restart_required);
+ dialog.setPositiveButton(android.R.string.ok, null);
+ dialog.show();
}
- );
- ui.findPreference(UserPreferences.PREF_HIDDEN_DRAWER_ITEMS)
+ return true;
+ }
+ return false;
+ }
+ );
+ }
+
+ private void setupServicesScreen() {
+ final Activity activity = ui.getActivity();
+
+ ui.findPreference(PreferenceController.PREF_FLATTR_REVOKE).setOnPreferenceClickListener(
+ preference -> {
+ FlattrUtils.revokeAccessToken(activity);
+ checkFlattrItemVisibility();
+ return true;
+ }
+ );
+ ui.findPreference(PreferenceController.PREF_GPODNET_SETLOGIN_INFORMATION)
.setOnPreferenceClickListener(preference -> {
- showDrawerPreferencesDialog();
+ AuthenticationDialog dialog = new AuthenticationDialog(activity,
+ R.string.pref_gpodnet_setlogin_information_title, false, false, GpodnetPreferences.getUsername(),
+ null) {
+
+ @Override
+ protected void onConfirmed(String username, String password, boolean saveUsernamePassword) {
+ GpodnetPreferences.setPassword(password);
+ }
+ };
+ dialog.show();
+ return true;
+ });
+ ui.findPreference(PreferenceController.PREF_GPODNET_SYNC).
+ setOnPreferenceClickListener(preference -> {
+ GpodnetSyncService.sendSyncIntent(ui.getActivity().getApplicationContext());
+ Toast toast = Toast.makeText(ui.getActivity(), R.string.pref_gpodnet_sync_started,
+ Toast.LENGTH_SHORT);
+ toast.show();
+ return true;
+ });
+ ui.findPreference(PreferenceController.PREF_GPODNET_FORCE_FULL_SYNC).
+ setOnPreferenceClickListener(preference -> {
+ GpodnetPreferences.setLastSubscriptionSyncTimestamp(0L);
+ GpodnetPreferences.setLastEpisodeActionsSyncTimestamp(0L);
+ GpodnetPreferences.setLastSyncAttempt(false, 0);
+ updateLastGpodnetSyncReport(false, 0);
+ GpodnetSyncService.sendSyncIntent(ui.getActivity().getApplicationContext());
+ Toast toast = Toast.makeText(ui.getActivity(), R.string.pref_gpodnet_sync_started,
+ Toast.LENGTH_SHORT);
+ toast.show();
+ return true;
+ });
+ ui.findPreference(PreferenceController.PREF_GPODNET_LOGOUT).setOnPreferenceClickListener(
+ preference -> {
+ GpodnetPreferences.logout();
+ Toast toast = Toast.makeText(activity, R.string.pref_gpodnet_logout_toast, Toast.LENGTH_SHORT);
+ toast.show();
+ updateGpodnetPreferenceScreen();
+ return true;
+ });
+ ui.findPreference(PreferenceController.PREF_GPODNET_HOSTNAME).setOnPreferenceClickListener(
+ preference -> {
+ GpodnetSetHostnameDialog.createDialog(activity).setOnDismissListener(dialog -> updateGpodnetPreferenceScreen());
return true;
});
- ui.findPreference(UserPreferences.PREF_COMPACT_NOTIFICATION_BUTTONS)
+ ui.findPreference(PreferenceController.PREF_AUTO_FLATTR_PREFS)
.setOnPreferenceClickListener(preference -> {
- showNotificationButtonsDialog();
+ AutoFlattrPreferenceDialog.newAutoFlattrPreferenceDialog(activity,
+ new AutoFlattrPreferenceDialog.AutoFlattrPreferenceDialogInterface() {
+ @Override
+ public void onCancelled() {
+
+ }
+
+ @Override
+ public void onConfirmed(boolean autoFlattrEnabled, float autoFlattrValue) {
+ UserPreferences.setAutoFlattrSettings(autoFlattrEnabled, autoFlattrValue);
+ checkFlattrItemVisibility();
+ }
+ });
return true;
});
+ }
+ private void setupPlaybackScreen() {
+ final Activity activity = ui.getActivity();
+
+ ui.findPreference(PreferenceController.PREF_PLAYBACK_SPEED_LAUNCHER)
+ .setOnPreferenceClickListener(preference -> {
+ VariableSpeedDialog.showDialog(activity);
+ return true;
+ });
+ ui.findPreference(PreferenceController.PREF_PLAYBACK_REWIND_DELTA_LAUNCHER)
+ .setOnPreferenceClickListener(preference -> {
+ MediaplayerActivity.showSkipPreference(activity, MediaplayerActivity.SkipDirection.SKIP_REWIND);
+ return true;
+ });
+ ui.findPreference(PreferenceController.PREF_PLAYBACK_FAST_FORWARD_DELTA_LAUNCHER)
+ .setOnPreferenceClickListener(preference -> {
+ MediaplayerActivity.showSkipPreference(activity, MediaplayerActivity.SkipDirection.SKIP_FORWARD);
+ return true;
+ });
+ }
+
+ private void setupDownloadsScreen() {
ui.findPreference(UserPreferences.PREF_UPDATE_INTERVAL)
.setOnPreferenceClickListener(preference -> {
showUpdateIntervalTimePreferencesDialog();
return true;
});
-
ui.findPreference(UserPreferences.PREF_ENABLE_AUTODL).setOnPreferenceChangeListener(
(preference, newValue) -> {
if (newValue instanceof Boolean) {
@@ -340,107 +473,38 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
return true;
}
);
- ui.findPreference(PreferenceController.PREF_PLAYBACK_SPEED_LAUNCHER)
- .setOnPreferenceClickListener(preference -> {
- VariableSpeedDialog.showDialog(activity);
- return true;
- });
- ui.findPreference(PreferenceController.PREF_PLAYBACK_REWIND_DELTA_LAUNCHER)
- .setOnPreferenceClickListener(preference -> {
- MediaplayerActivity.showSkipPreference(activity, MediaplayerActivity.SkipDirection.SKIP_REWIND);
- return true;
- });
- ui.findPreference(PreferenceController.PREF_PLAYBACK_FAST_FORWARD_DELTA_LAUNCHER)
- .setOnPreferenceClickListener(preference -> {
- MediaplayerActivity.showSkipPreference(activity, MediaplayerActivity.SkipDirection.SKIP_FORWARD);
- return true;
- });
- ui.findPreference(PreferenceController.PREF_GPODNET_SETLOGIN_INFORMATION)
- .setOnPreferenceClickListener(preference -> {
- AuthenticationDialog dialog = new AuthenticationDialog(activity,
- R.string.pref_gpodnet_setlogin_information_title, false, false, GpodnetPreferences.getUsername(),
- null) {
+ ui.findPreference(PREF_PROXY).setOnPreferenceClickListener(preference -> {
+ ProxyDialog dialog = new ProxyDialog(ui.getActivity());
+ dialog.createDialog().show();
+ return true;
+ });
+ }
- @Override
- protected void onConfirmed(String username, String password, boolean saveUsernamePassword) {
- GpodnetPreferences.setPassword(password);
- }
- };
- dialog.show();
- return true;
- });
- ui.findPreference(PreferenceController.PREF_GPODNET_SYNC).
- setOnPreferenceClickListener(preference -> {
- GpodnetSyncService.sendSyncIntent(ui.getActivity().getApplicationContext());
- Toast toast = Toast.makeText(ui.getActivity(), R.string.pref_gpodnet_sync_started,
- Toast.LENGTH_SHORT);
- toast.show();
- return true;
- });
- ui.findPreference(PreferenceController.PREF_GPODNET_FORCE_FULL_SYNC).
- setOnPreferenceClickListener(preference -> {
- GpodnetPreferences.setLastSubscriptionSyncTimestamp(0L);
- GpodnetPreferences.setLastEpisodeActionsSyncTimestamp(0L);
- GpodnetPreferences.setLastSyncAttempt(false, 0);
- updateLastGpodnetSyncReport(false, 0);
- GpodnetSyncService.sendSyncIntent(ui.getActivity().getApplicationContext());
- Toast toast = Toast.makeText(ui.getActivity(), R.string.pref_gpodnet_sync_started,
- Toast.LENGTH_SHORT);
- toast.show();
- return true;
- });
- ui.findPreference(PreferenceController.PREF_GPODNET_LOGOUT).setOnPreferenceClickListener(
+ private void setupMainScreen() {
+ final Activity activity = ui.getActivity();
+ ui.findPreference(PREF_SCREEN_USER_INTERFACE).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_user_interface, activity));
+ ui.findPreference(PREF_SCREEN_PLAYBACK).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_playback, activity));
+ ui.findPreference(PREF_SCREEN_DOWNLOADS).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_downloads, activity));
+ ui.findPreference(PREF_SCREEN_SERVICES).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_services, activity));
+ ui.findPreference(PREF_SCREEN_STORAGE).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_storage, activity));
+
+ ui.findPreference(PreferenceController.PREF_ABOUT).setOnPreferenceClickListener(
preference -> {
- GpodnetPreferences.logout();
- Toast toast = Toast.makeText(activity, R.string.pref_gpodnet_logout_toast, Toast.LENGTH_SHORT);
- toast.show();
- updateGpodnetPreferenceScreen();
+ activity.startActivity(new Intent(activity, AboutActivity.class));
return true;
- });
- ui.findPreference(PreferenceController.PREF_GPODNET_HOSTNAME).setOnPreferenceClickListener(
+ }
+ );
+ ui.findPreference(PreferenceController.STATISTICS).setOnPreferenceClickListener(
preference -> {
- GpodnetSetHostnameDialog.createDialog(activity).setOnDismissListener(dialog -> updateGpodnetPreferenceScreen());
- return true;
- });
-
- ui.findPreference(PreferenceController.PREF_AUTO_FLATTR_PREFS)
- .setOnPreferenceClickListener(preference -> {
- AutoFlattrPreferenceDialog.newAutoFlattrPreferenceDialog(activity,
- new AutoFlattrPreferenceDialog.AutoFlattrPreferenceDialogInterface() {
- @Override
- public void onCancelled() {
-
- }
-
- @Override
- public void onConfirmed(boolean autoFlattrEnabled, float autoFlattrValue) {
- UserPreferences.setAutoFlattrSettings(autoFlattrEnabled, autoFlattrValue);
- checkItemVisibility();
- }
- });
+ activity.startActivity(new Intent(activity, StatisticsActivity.class));
return true;
- });
- ui.findPreference(UserPreferences.PREF_IMAGE_CACHE_SIZE).setOnPreferenceChangeListener(
- (preference, o) -> {
- if (o instanceof String) {
- int newValue = Integer.parseInt((String) o) * 1024 * 1024;
- if (newValue != UserPreferences.getImageCacheSize()) {
- AlertDialog.Builder dialog = new AlertDialog.Builder(ui.getActivity());
- dialog.setTitle(android.R.string.dialog_alert_title);
- dialog.setMessage(R.string.pref_restart_required);
- dialog.setPositiveButton(android.R.string.ok, null);
- dialog.show();
- }
- return true;
- }
- return false;
}
);
- ui.findPreference(PREF_PROXY).setOnPreferenceClickListener(preference -> {
- ProxyDialog dialog = new ProxyDialog(ui.getActivity());
- dialog.createDialog().show();
- return true;
- });
ui.findPreference(PREF_KNOWN_ISSUES).setOnPreferenceClickListener(preference -> {
openInBrowser("https://github.com/AntennaPod/AntennaPod/labels/bug");
return true;
@@ -472,11 +536,6 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
ui.getActivity().startActivity(Intent.createChooser(emailIntent, intentTitle));
return true;
});
- PreferenceControllerFlavorHelper.setupFlavoredUI(ui);
- buildEpisodeCleanupPreference();
- buildSmartMarkAsPlayedPreference();
- buildAutodownloadSelectedNetworsPreference();
- setSelectedNetworksEnabled(UserPreferences.isEnableAutodownloadWifiFilter());*/
}
private boolean openScreen(int preferences, Activity activity) {
@@ -544,21 +603,35 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
}
public void onResume(int screen) {
- /*checkItemVisibility();
- setUpdateIntervalText();
- setParallelDownloadsText(UserPreferences.getParallelDownloads());
- setEpisodeCacheSizeText(UserPreferences.getEpisodeCacheSize());
- setDataFolderText();
- GpodnetPreferences.registerOnSharedPreferenceChangeListener(gpoddernetListener);
- updateGpodnetPreferenceScreen();*/
+ switch (screen) {
+ case R.xml.preferences_downloads:
+ setUpdateIntervalText();
+ setParallelDownloadsText(UserPreferences.getParallelDownloads());
+ setEpisodeCacheSizeText(UserPreferences.getEpisodeCacheSize());
+ checkAutodownloadItemVisibility();
+ break;
+ case R.xml.preferences_storage:
+ setDataFolderText();
+ break;
+ case R.xml.preferences_services:
+ GpodnetPreferences.registerOnSharedPreferenceChangeListener(gpoddernetListener);
+ updateGpodnetPreferenceScreen();
+ checkFlattrItemVisibility();
+ break;
+ case R.xml.preferences_playback:
+ checkSonicItemVisibility();
+ break;
+ }
}
public void onPause(int screen) {
- /*GpodnetPreferences.unregisterOnSharedPreferenceChangeListener(gpoddernetListener);*/
+ if (screen == R.xml.preferences_services) {
+ GpodnetPreferences.unregisterOnSharedPreferenceChangeListener(gpoddernetListener);
+ }
}
- public void onStop(int screen) {
- if(subscription != null) {
+ public void onStop() {
+ if (subscription != null) {
subscription.unsubscribe();
}
}
@@ -713,21 +786,23 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
}
@SuppressWarnings("deprecation")
- private void checkItemVisibility() {
+ private void checkFlattrItemVisibility() {
boolean hasFlattrToken = FlattrUtils.hasToken();
ui.findPreference(PreferenceController.PREF_FLATTR_SETTINGS).setEnabled(FlattrUtils.hasAPICredentials());
ui.findPreference(PreferenceController.PREF_FLATTR_AUTH).setEnabled(!hasFlattrToken);
ui.findPreference(PreferenceController.PREF_FLATTR_REVOKE).setEnabled(hasFlattrToken);
ui.findPreference(PreferenceController.PREF_AUTO_FLATTR_PREFS).setEnabled(hasFlattrToken);
+ }
+ private void checkAutodownloadItemVisibility() {
boolean autoDownload = UserPreferences.isEnableAutodownload();
ui.findPreference(UserPreferences.PREF_EPISODE_CACHE_SIZE).setEnabled(autoDownload);
ui.findPreference(UserPreferences.PREF_ENABLE_AUTODL_ON_BATTERY).setEnabled(autoDownload);
ui.findPreference(UserPreferences.PREF_ENABLE_AUTODL_WIFI_FILTER).setEnabled(autoDownload);
setSelectedNetworksEnabled(autoDownload && UserPreferences.isEnableAutodownloadWifiFilter());
+ }
- ui.findPreference(PREF_SEND_CRASH_REPORT).setEnabled(CrashReportWriter.getFile().exists());
-
+ private void checkSonicItemVisibility() {
if (Build.VERSION.SDK_INT >= 16) {
ui.findPreference(UserPreferences.PREF_SONIC).setEnabled(true);
} else {
--
cgit v1.2.3
From b1622fa6bef985f11474e60f103474180c642bda Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Wed, 11 Apr 2018 01:09:43 +0200
Subject: Revert rename of setupFlavoredUI
---
.../java/de/danoeh/antennapod/preferences/PreferenceController.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 0945ca660..06d88156c 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -170,7 +170,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
break;
case R.xml.preferences_playback:
setupPlaybackScreen();
- PreferenceControllerFlavorHelper.setupCastUI(ui);
+ PreferenceControllerFlavorHelper.setupFlavoredUI(ui);
buildSmartMarkAsPlayedPreference();
break;
case R.xml.preferences_services:
--
cgit v1.2.3
From 0f80fac6805bd7b1476aa04a37d6f12f1ba10d92 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Wed, 11 Apr 2018 12:15:49 +0200
Subject: Allow to continue playback when leaving player
---
.../main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
index 832386185..733f39b63 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -288,7 +288,9 @@ public class VideoplayerActivity extends MediaplayerActivity {
public void surfaceDestroyed(SurfaceHolder holder) {
Log.d(TAG, "Videosurface was destroyed");
videoSurfaceCreated = false;
- if (controller != null && !destroyingDueToReload) {
+ if (controller != null && !destroyingDueToReload
+ && UserPreferences.getVideoBackgroundBehavior()
+ != UserPreferences.VideoBackgroundBehavior.CONTINUE_PLAYING) {
controller.notifyVideoSurfaceAbandoned();
}
}
--
cgit v1.2.3
From c5bdf341faa235821ec1d4e8f1621c8e785dc480 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Wed, 11 Apr 2018 17:09:12 +0200
Subject: Changed batch edit icon and name
Closes #1146
---
.../antennapod/fragment/CompletedDownloadsFragment.java | 13 +------------
.../de/danoeh/antennapod/fragment/ItemlistFragment.java | 7 -------
2 files changed, 1 insertion(+), 19 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
index f37ecd5e7..f59bc88bf 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
@@ -140,18 +140,7 @@ public class CompletedDownloadsFragment extends ListFragment {
super.onCreateOptionsMenu(menu, inflater);
if(items != null) {
inflater.inflate(R.menu.downloads_completed, menu);
- MenuItem episodeActions = menu.findItem(R.id.episode_actions);
- if(items.size() > 0) {
- int[] attrs = {R.attr.action_bar_icon_color};
- TypedArray ta = getActivity().obtainStyledAttributes(UserPreferences.getTheme(), attrs);
- int textColor = ta.getColor(0, Color.GRAY);
- ta.recycle();
- episodeActions.setIcon(new IconDrawable(getActivity(),
- FontAwesomeIcons.fa_gears).color(textColor).actionBarSize());
- episodeActions.setVisible(true);
- } else {
- episodeActions.setVisible(false);
- }
+ menu.findItem(R.id.episode_actions).setVisible(items.size() > 0);
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
index 890f31f57..3954c194c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
@@ -221,13 +221,6 @@ public class ItemlistFragment extends ListFragment {
menu.findItem(R.id.share_link_item).setVisible(false);
menu.findItem(R.id.visit_website_item).setVisible(false);
}
- int[] attrs = { R.attr.action_bar_icon_color };
- TypedArray ta = getActivity().obtainStyledAttributes(UserPreferences.getTheme(), attrs);
- int textColor = ta.getColor(0, Color.GRAY);
- ta.recycle();
-
- menu.findItem(R.id.episode_actions).setIcon(new IconDrawable(getActivity(),
- FontAwesomeIcons.fa_gears).color(textColor).actionBarSize());
isUpdatingFeed = MenuItemUtils.updateRefreshMenuItem(menu, R.id.refresh_item, updateRefreshMenuItemChecker);
}
--
cgit v1.2.3
From c9fdc05784b5f8c4eb7ec5be9cbde4a684e64a99 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Fri, 13 Apr 2018 15:39:51 +0200
Subject: Split feed info and settings
---
.../antennapod/activity/FeedInfoActivity.java | 214 +------------
.../antennapod/activity/FeedSettingsActivity.java | 348 +++++++++++++++++++++
.../antennapod/fragment/ItemlistFragment.java | 19 +-
3 files changed, 368 insertions(+), 213 deletions(-)
create mode 100644 app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
index 8dea41b7c..ca8681ef8 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
@@ -2,51 +2,35 @@ package de.danoeh.antennapod.activity;
import android.content.ClipData;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
-import android.text.Editable;
import android.text.TextUtils;
-import android.text.TextWatcher;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemSelectedListener;
-import android.widget.CheckBox;
-import android.widget.EditText;
import android.widget.ImageView;
-import android.widget.RadioButton;
-import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
-
import com.bumptech.glide.Glide;
import com.joanzapata.iconify.Iconify;
-
-import org.apache.commons.lang3.StringUtils;
-import org.jsoup.Jsoup;
-import org.jsoup.nodes.Document;
-
import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.core.dialog.ConfirmationDialog;
import de.danoeh.antennapod.core.dialog.DownloadRequestErrorDialogCreator;
import de.danoeh.antennapod.core.feed.Feed;
-import de.danoeh.antennapod.core.feed.FeedFilter;
-import de.danoeh.antennapod.core.feed.FeedPreferences;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.DBReader;
-import de.danoeh.antennapod.core.storage.DBWriter;
import de.danoeh.antennapod.core.storage.DownloadRequestException;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.core.util.LangUtils;
import de.danoeh.antennapod.core.util.syndication.HtmlToPlainText;
import de.danoeh.antennapod.menuhandler.FeedMenuHandler;
+import org.apache.commons.lang3.StringUtils;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
import rx.Observable;
import rx.Subscription;
import rx.android.schedulers.AndroidSchedulers;
@@ -59,7 +43,6 @@ public class FeedInfoActivity extends AppCompatActivity {
public static final String EXTRA_FEED_ID = "de.danoeh.antennapod.extra.feedId";
private static final String TAG = "FeedInfoActivity";
- private boolean autoDeleteChanged = false;
private Feed feed;
private ImageView imgvCover;
@@ -70,15 +53,6 @@ public class FeedInfoActivity extends AppCompatActivity {
private TextView lblAuthor;
private TextView txtvAuthor;
private TextView txtvUrl;
- private EditText etxtUsername;
- private EditText etxtPassword;
- private EditText etxtFilterText;
- private RadioButton rdoFilterInclude;
- private RadioButton rdoFilterExclude;
- private CheckBox cbxAutoDownload;
- private CheckBox cbxKeepUpdated;
- private Spinner spnAutoDelete;
- private boolean filterInclude = true;
private Subscription subscription;
@@ -98,40 +72,6 @@ public class FeedInfoActivity extends AppCompatActivity {
}
};
- private boolean authInfoChanged = false;
-
- private final TextWatcher authTextWatcher = new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
- }
-
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- }
-
- @Override
- public void afterTextChanged(Editable s) {
- authInfoChanged = true;
- }
- };
-
- private boolean filterTextChanged = false;
-
- private final TextWatcher filterTextWatcher = new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
- }
-
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- }
-
- @Override
- public void afterTextChanged(Editable s) {
- filterTextChanged = true;
- }
- };
-
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(UserPreferences.getTheme());
@@ -148,22 +88,7 @@ public class FeedInfoActivity extends AppCompatActivity {
lblAuthor = (TextView) findViewById(R.id.lblAuthor);
txtvAuthor = (TextView) findViewById(R.id.txtvAuthor);
txtvUrl = (TextView) findViewById(R.id.txtvUrl);
- cbxAutoDownload = (CheckBox) findViewById(R.id.cbxAutoDownload);
- cbxKeepUpdated = (CheckBox) findViewById(R.id.cbxKeepUpdated);
- spnAutoDelete = (Spinner) findViewById(R.id.spnAutoDelete);
- etxtUsername = (EditText) findViewById(R.id.etxtUsername);
- etxtPassword = (EditText) findViewById(R.id.etxtPassword);
- etxtFilterText = (EditText) findViewById(R.id.etxtEpisodeFilterText);
- rdoFilterInclude = (RadioButton) findViewById(R.id.radio_filter_include);
- rdoFilterInclude.setOnClickListener(v -> {
- filterInclude = true;
- filterTextChanged = true;
- });
- rdoFilterExclude = (RadioButton) findViewById(R.id.radio_filter_exclude);
- rdoFilterExclude.setOnClickListener(v -> {
- filterInclude = false;
- filterTextChanged = true;
- });
+
txtvUrl.setOnClickListener(copyUrlToClipboard);
@@ -179,7 +104,6 @@ public class FeedInfoActivity extends AppCompatActivity {
Log.d(TAG, "Language is " + feed.getLanguage());
Log.d(TAG, "Author is " + feed.getAuthor());
Log.d(TAG, "URL is " + feed.getDownload_url());
- FeedPreferences prefs = feed.getPreferences();
Glide.with(FeedInfoActivity.this)
.load(feed.getImageLocation())
.placeholder(R.color.light_gray)
@@ -218,113 +142,13 @@ public class FeedInfoActivity extends AppCompatActivity {
txtvUrl.setText(feed.getDownload_url() + " {fa-paperclip}");
Iconify.addIcons(txtvUrl);
- cbxAutoDownload.setEnabled(UserPreferences.isEnableAutodownload());
- cbxAutoDownload.setChecked(prefs.getAutoDownload());
- cbxAutoDownload.setOnCheckedChangeListener((compoundButton, checked) -> {
- feed.getPreferences().setAutoDownload(checked);
- feed.savePreferences();
- updateAutoDownloadSettings();
- ApplyToEpisodesDialog dialog = new ApplyToEpisodesDialog(FeedInfoActivity.this,
- feed, checked);
- dialog.createNewDialog().show();
- });
- cbxKeepUpdated.setChecked(prefs.getKeepUpdated());
- cbxKeepUpdated.setOnCheckedChangeListener((compoundButton, checked) -> {
- feed.getPreferences().setKeepUpdated(checked);
- feed.savePreferences();
- });
- spnAutoDelete.setOnItemSelectedListener(new OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView> parent, View view, int pos, long id) {
- FeedPreferences.AutoDeleteAction auto_delete_action;
- switch (parent.getSelectedItemPosition()) {
- case 0:
- auto_delete_action = FeedPreferences.AutoDeleteAction.GLOBAL;
- break;
- case 1:
- auto_delete_action = FeedPreferences.AutoDeleteAction.YES;
- break;
- case 2:
- auto_delete_action = FeedPreferences.AutoDeleteAction.NO;
- break;
- default: // TODO - add exceptions here
- return;
- }
- feed.getPreferences().setAutoDeleteAction(auto_delete_action);// p
- autoDeleteChanged = true;
- }
-
- @Override
- public void onNothingSelected(AdapterView> parent) {
- // Another interface callback
- }
- });
- spnAutoDelete.setSelection(prefs.getAutoDeleteAction().ordinal());
-
- etxtUsername.setText(prefs.getUsername());
- etxtPassword.setText(prefs.getPassword());
-
- etxtUsername.addTextChangedListener(authTextWatcher);
- etxtPassword.addTextChangedListener(authTextWatcher);
-
- FeedFilter filter = prefs.getFilter();
- if (filter.includeOnly()) {
- etxtFilterText.setText(filter.getIncludeFilter());
- rdoFilterInclude.setChecked(true);
- rdoFilterExclude.setChecked(false);
- filterInclude = true;
- } else if (filter.excludeOnly()) {
- etxtFilterText.setText(filter.getExcludeFilter());
- rdoFilterInclude.setChecked(false);
- rdoFilterExclude.setChecked(true);
- filterInclude = false;
- } else {
- Log.d(TAG, "No filter set");
- rdoFilterInclude.setChecked(false);
- rdoFilterExclude.setChecked(false);
- etxtFilterText.setText("");
- }
- etxtFilterText.addTextChangedListener(filterTextWatcher);
-
supportInvalidateOptionsMenu();
- updateAutoDownloadSettings();
}, error -> {
Log.d(TAG, Log.getStackTraceString(error));
finish();
});
}
- @Override
- protected void onPause() {
- super.onPause();
- if (feed != null) {
- FeedPreferences prefs = feed.getPreferences();
- if (authInfoChanged) {
- Log.d(TAG, "Auth info changed, saving credentials");
- prefs.setUsername(etxtUsername.getText().toString());
- prefs.setPassword(etxtPassword.getText().toString());
- }
- if (filterTextChanged) {
- Log.d(TAG, "Filter info changed, saving...");
- String filterText = etxtFilterText.getText().toString();
- String includeString = "";
- String excludeString = "";
- if (filterInclude) {
- includeString = filterText;
- } else {
- excludeString = filterText;
- }
- prefs.setFilter(new FeedFilter(includeString, excludeString));
- }
- if (authInfoChanged || autoDeleteChanged || filterTextChanged) {
- DBWriter.setFeedPreferences(prefs);
- }
- authInfoChanged = false;
- autoDeleteChanged = false;
- filterTextChanged = false;
- }
- }
-
@Override
public void onDestroy() {
super.onDestroy();
@@ -369,34 +193,4 @@ public class FeedInfoActivity extends AppCompatActivity {
return super.onOptionsItemSelected(item);
}
}
-
- private void updateAutoDownloadSettings() {
- if (feed != null && feed.getPreferences() != null) {
- boolean enabled = feed.getPreferences().getAutoDownload() && UserPreferences.isEnableAutodownload();
- rdoFilterInclude.setEnabled(enabled);
- rdoFilterExclude.setEnabled(enabled);
- etxtFilterText.setEnabled(enabled);
- }
- }
-
- private static class ApplyToEpisodesDialog extends ConfirmationDialog {
-
- private final Feed feed;
- private final boolean autoDownload;
-
- ApplyToEpisodesDialog(Context context, Feed feed, boolean autoDownload) {
- super(context, R.string.auto_download_apply_to_items_title,
- R.string.auto_download_apply_to_items_message);
- this.feed = feed;
- this.autoDownload = autoDownload;
- setPositiveText(R.string.yes);
- setNegativeText(R.string.no);
- }
-
- @Override
- public void onConfirmButtonPressed(DialogInterface dialog) {
- DBWriter.setFeedsItemsAutoDownload(feed, autoDownload);
- }
- }
-
}
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java
new file mode 100644
index 000000000..d962da25a
--- /dev/null
+++ b/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java
@@ -0,0 +1,348 @@
+package de.danoeh.antennapod.activity;
+
+import android.content.ClipData;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemSelectedListener;
+import android.widget.CheckBox;
+import android.widget.EditText;
+import android.widget.ImageView;
+import android.widget.RadioButton;
+import android.widget.Spinner;
+import android.widget.TextView;
+import android.widget.Toast;
+import com.bumptech.glide.Glide;
+import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.core.dialog.ConfirmationDialog;
+import de.danoeh.antennapod.core.dialog.DownloadRequestErrorDialogCreator;
+import de.danoeh.antennapod.core.feed.Feed;
+import de.danoeh.antennapod.core.feed.FeedFilter;
+import de.danoeh.antennapod.core.feed.FeedPreferences;
+import de.danoeh.antennapod.core.glide.ApGlideSettings;
+import de.danoeh.antennapod.core.preferences.UserPreferences;
+import de.danoeh.antennapod.core.storage.DBReader;
+import de.danoeh.antennapod.core.storage.DBWriter;
+import de.danoeh.antennapod.core.storage.DownloadRequestException;
+import de.danoeh.antennapod.core.util.IntentUtils;
+import de.danoeh.antennapod.menuhandler.FeedMenuHandler;
+import rx.Observable;
+import rx.Subscription;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
+
+/**
+ * Displays information about a feed.
+ */
+public class FeedSettingsActivity extends AppCompatActivity {
+
+ public static final String EXTRA_FEED_ID = "de.danoeh.antennapod.extra.feedId";
+ private static final String TAG = "FeedSettingsActivity";
+ private boolean autoDeleteChanged = false;
+ private Feed feed;
+
+ private ImageView imgvCover;
+ private TextView txtvTitle;
+ private EditText etxtUsername;
+ private EditText etxtPassword;
+ private EditText etxtFilterText;
+ private RadioButton rdoFilterInclude;
+ private RadioButton rdoFilterExclude;
+ private CheckBox cbxAutoDownload;
+ private CheckBox cbxKeepUpdated;
+ private Spinner spnAutoDelete;
+ private boolean filterInclude = true;
+
+ private Subscription subscription;
+
+
+ private final View.OnClickListener copyUrlToClipboard = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if(feed != null && feed.getDownload_url() != null) {
+ String url = feed.getDownload_url();
+ ClipData clipData = ClipData.newPlainText(url, url);
+ android.content.ClipboardManager cm = (android.content.ClipboardManager) FeedSettingsActivity.this
+ .getSystemService(Context.CLIPBOARD_SERVICE);
+ cm.setPrimaryClip(clipData);
+ Toast t = Toast.makeText(FeedSettingsActivity.this, R.string.copied_url_msg, Toast.LENGTH_SHORT);
+ t.show();
+ }
+ }
+ };
+
+ private boolean authInfoChanged = false;
+
+ private final TextWatcher authTextWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ authInfoChanged = true;
+ }
+ };
+
+ private boolean filterTextChanged = false;
+
+ private final TextWatcher filterTextWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ filterTextChanged = true;
+ }
+ };
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ setTheme(UserPreferences.getTheme());
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.feedsettings);
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ long feedId = getIntent().getLongExtra(EXTRA_FEED_ID, -1);
+
+ imgvCover = (ImageView) findViewById(R.id.imgvCover);
+ txtvTitle = (TextView) findViewById(R.id.txtvTitle);
+ cbxAutoDownload = (CheckBox) findViewById(R.id.cbxAutoDownload);
+ cbxKeepUpdated = (CheckBox) findViewById(R.id.cbxKeepUpdated);
+ spnAutoDelete = (Spinner) findViewById(R.id.spnAutoDelete);
+ etxtUsername = (EditText) findViewById(R.id.etxtUsername);
+ etxtPassword = (EditText) findViewById(R.id.etxtPassword);
+ etxtFilterText = (EditText) findViewById(R.id.etxtEpisodeFilterText);
+ rdoFilterInclude = (RadioButton) findViewById(R.id.radio_filter_include);
+ rdoFilterInclude.setOnClickListener(v -> {
+ filterInclude = true;
+ filterTextChanged = true;
+ });
+ rdoFilterExclude = (RadioButton) findViewById(R.id.radio_filter_exclude);
+ rdoFilterExclude.setOnClickListener(v -> {
+ filterInclude = false;
+ filterTextChanged = true;
+ });
+
+ subscription = Observable.fromCallable(()-> DBReader.getFeed(feedId))
+ .subscribeOn(Schedulers.newThread())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(result -> {
+ if (result == null) {
+ Log.e(TAG, "Activity was started with invalid arguments");
+ finish();
+ }
+ feed = result;
+ FeedPreferences prefs = feed.getPreferences();
+ Glide.with(FeedSettingsActivity.this)
+ .load(feed.getImageLocation())
+ .placeholder(R.color.light_gray)
+ .error(R.color.light_gray)
+ .diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
+ .fitCenter()
+ .dontAnimate()
+ .into(imgvCover);
+
+ txtvTitle.setText(feed.getTitle());
+
+ cbxAutoDownload.setEnabled(UserPreferences.isEnableAutodownload());
+ cbxAutoDownload.setChecked(prefs.getAutoDownload());
+ cbxAutoDownload.setOnCheckedChangeListener((compoundButton, checked) -> {
+ feed.getPreferences().setAutoDownload(checked);
+ feed.savePreferences();
+ updateAutoDownloadSettings();
+ ApplyToEpisodesDialog dialog = new ApplyToEpisodesDialog(FeedSettingsActivity.this,
+ feed, checked);
+ dialog.createNewDialog().show();
+ });
+ cbxKeepUpdated.setChecked(prefs.getKeepUpdated());
+ cbxKeepUpdated.setOnCheckedChangeListener((compoundButton, checked) -> {
+ feed.getPreferences().setKeepUpdated(checked);
+ feed.savePreferences();
+ });
+ spnAutoDelete.setOnItemSelectedListener(new OnItemSelectedListener() {
+ @Override
+ public void onItemSelected(AdapterView> parent, View view, int pos, long id) {
+ FeedPreferences.AutoDeleteAction auto_delete_action;
+ switch (parent.getSelectedItemPosition()) {
+ case 0:
+ auto_delete_action = FeedPreferences.AutoDeleteAction.GLOBAL;
+ break;
+ case 1:
+ auto_delete_action = FeedPreferences.AutoDeleteAction.YES;
+ break;
+ case 2:
+ auto_delete_action = FeedPreferences.AutoDeleteAction.NO;
+ break;
+ default: // TODO - add exceptions here
+ return;
+ }
+ feed.getPreferences().setAutoDeleteAction(auto_delete_action);// p
+ autoDeleteChanged = true;
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView> parent) {
+ // Another interface callback
+ }
+ });
+ spnAutoDelete.setSelection(prefs.getAutoDeleteAction().ordinal());
+
+ etxtUsername.setText(prefs.getUsername());
+ etxtPassword.setText(prefs.getPassword());
+
+ etxtUsername.addTextChangedListener(authTextWatcher);
+ etxtPassword.addTextChangedListener(authTextWatcher);
+
+ FeedFilter filter = prefs.getFilter();
+ if (filter.includeOnly()) {
+ etxtFilterText.setText(filter.getIncludeFilter());
+ rdoFilterInclude.setChecked(true);
+ rdoFilterExclude.setChecked(false);
+ filterInclude = true;
+ } else if (filter.excludeOnly()) {
+ etxtFilterText.setText(filter.getExcludeFilter());
+ rdoFilterInclude.setChecked(false);
+ rdoFilterExclude.setChecked(true);
+ filterInclude = false;
+ } else {
+ Log.d(TAG, "No filter set");
+ rdoFilterInclude.setChecked(false);
+ rdoFilterExclude.setChecked(false);
+ etxtFilterText.setText("");
+ }
+ etxtFilterText.addTextChangedListener(filterTextWatcher);
+
+ supportInvalidateOptionsMenu();
+ updateAutoDownloadSettings();
+ }, error -> {
+ Log.d(TAG, Log.getStackTraceString(error));
+ finish();
+ });
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ if (feed != null) {
+ FeedPreferences prefs = feed.getPreferences();
+ if (authInfoChanged) {
+ Log.d(TAG, "Auth info changed, saving credentials");
+ prefs.setUsername(etxtUsername.getText().toString());
+ prefs.setPassword(etxtPassword.getText().toString());
+ }
+ if (filterTextChanged) {
+ Log.d(TAG, "Filter info changed, saving...");
+ String filterText = etxtFilterText.getText().toString();
+ String includeString = "";
+ String excludeString = "";
+ if (filterInclude) {
+ includeString = filterText;
+ } else {
+ excludeString = filterText;
+ }
+ prefs.setFilter(new FeedFilter(includeString, excludeString));
+ }
+ if (authInfoChanged || autoDeleteChanged || filterTextChanged) {
+ DBWriter.setFeedPreferences(prefs);
+ }
+ authInfoChanged = false;
+ autoDeleteChanged = false;
+ filterTextChanged = false;
+ }
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ if(subscription != null) {
+ subscription.unsubscribe();
+ }
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ super.onCreateOptionsMenu(menu);
+ MenuInflater inflater = getMenuInflater();
+ inflater.inflate(R.menu.feedinfo, menu);
+ return true;
+ }
+
+ @Override
+ public boolean onPrepareOptionsMenu(Menu menu) {
+ super.onPrepareOptionsMenu(menu);
+ menu.findItem(R.id.support_item).setVisible(
+ feed != null && feed.getPaymentLink() != null);
+ menu.findItem(R.id.share_link_item).setVisible(feed != null && feed.getLink() != null);
+ menu.findItem(R.id.visit_website_item).setVisible(feed != null && feed.getLink() != null &&
+ IntentUtils.isCallable(this, new Intent(Intent.ACTION_VIEW, Uri.parse(feed.getLink()))));
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case android.R.id.home:
+ finish();
+ return true;
+ default:
+ try {
+ return FeedMenuHandler.onOptionsItemClicked(this, item, feed);
+ } catch (DownloadRequestException e) {
+ e.printStackTrace();
+ DownloadRequestErrorDialogCreator.newRequestErrorDialog(this,
+ e.getMessage());
+ }
+ return super.onOptionsItemSelected(item);
+ }
+ }
+
+ private void updateAutoDownloadSettings() {
+ if (feed != null && feed.getPreferences() != null) {
+ boolean enabled = feed.getPreferences().getAutoDownload() && UserPreferences.isEnableAutodownload();
+ rdoFilterInclude.setEnabled(enabled);
+ rdoFilterExclude.setEnabled(enabled);
+ etxtFilterText.setEnabled(enabled);
+ }
+ }
+
+ private static class ApplyToEpisodesDialog extends ConfirmationDialog {
+
+ private final Feed feed;
+ private final boolean autoDownload;
+
+ ApplyToEpisodesDialog(Context context, Feed feed, boolean autoDownload) {
+ super(context, R.string.auto_download_apply_to_items_title,
+ R.string.auto_download_apply_to_items_message);
+ this.feed = feed;
+ this.autoDownload = autoDownload;
+ setPositiveText(R.string.yes);
+ setNegativeText(R.string.no);
+ }
+
+ @Override
+ public void onConfirmButtonPressed(DialogInterface dialog) {
+ DBWriter.setFeedsItemsAutoDownload(feed, autoDownload);
+ }
+ }
+
+}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
index 890f31f57..b54ac461d 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
@@ -31,6 +31,7 @@ import com.joanzapata.iconify.Iconify;
import com.joanzapata.iconify.fonts.FontAwesomeIcons;
import com.joanzapata.iconify.widget.IconTextView;
+import de.danoeh.antennapod.activity.FeedSettingsActivity;
import org.apache.commons.lang3.Validate;
import java.util.List;
@@ -497,6 +498,7 @@ public class ItemlistFragment extends ListFragment {
imgvBackground = (ImageView) header.findViewById(R.id.imgvBackground);
imgvCover = (ImageView) header.findViewById(R.id.imgvCover);
ImageButton butShowInfo = (ImageButton) header.findViewById(R.id.butShowInfo);
+ ImageButton butShowSettings = (ImageButton) header.findViewById(R.id.butShowSettings);
txtvInformation = (TextView) header.findViewById(R.id.txtvInformation);
txtvFailure = (IconTextView) header.findViewById(R.id.txtvFailure);
@@ -509,10 +511,12 @@ public class ItemlistFragment extends ListFragment {
loadFeedImage();
- butShowInfo.setOnClickListener(v -> {
+ butShowInfo.setOnClickListener(v -> showFeedInfo());
+ imgvCover.setOnClickListener(v -> showFeedInfo());
+ butShowSettings.setOnClickListener(v -> {
if (viewsCreated && itemsLoaded) {
- Intent startIntent = new Intent(getActivity(), FeedInfoActivity.class);
- startIntent.putExtra(FeedInfoActivity.EXTRA_FEED_ID,
+ Intent startIntent = new Intent(getActivity(), FeedSettingsActivity.class);
+ startIntent.putExtra(FeedSettingsActivity.EXTRA_FEED_ID,
feed.getId());
startActivity(startIntent);
}
@@ -520,6 +524,15 @@ public class ItemlistFragment extends ListFragment {
headerCreated = true;
}
+ private void showFeedInfo() {
+ if (viewsCreated && itemsLoaded) {
+ Intent startIntent = new Intent(getActivity(), FeedInfoActivity.class);
+ startIntent.putExtra(FeedInfoActivity.EXTRA_FEED_ID,
+ feed.getId());
+ startActivity(startIntent);
+ }
+ }
+
private void loadFeedImage() {
Glide.with(getActivity())
.load(feed.getImageLocation())
--
cgit v1.2.3
From a1ce4f8b6ffec4915e38962130fc625408041583 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Fri, 13 Apr 2018 16:23:01 +0200
Subject: Use better header in feed info and settings
---
.../antennapod/activity/FeedInfoActivity.java | 22 ++++++++++++++++++++--
.../antennapod/activity/FeedSettingsActivity.java | 22 ++++++++++++++++++++++
2 files changed, 42 insertions(+), 2 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
index ca8681ef8..6b1272b01 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/FeedInfoActivity.java
@@ -3,6 +3,7 @@ package de.danoeh.antennapod.activity;
import android.content.ClipData;
import android.content.Context;
import android.content.Intent;
+import android.graphics.LightingColorFilter;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
@@ -21,6 +22,7 @@ import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.dialog.DownloadRequestErrorDialogCreator;
import de.danoeh.antennapod.core.feed.Feed;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
+import de.danoeh.antennapod.core.glide.FastBlurTransformation;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DownloadRequestException;
@@ -82,14 +84,21 @@ public class FeedInfoActivity extends AppCompatActivity {
imgvCover = (ImageView) findViewById(R.id.imgvCover);
txtvTitle = (TextView) findViewById(R.id.txtvTitle);
+ TextView txtvAuthorHeader = (TextView) findViewById(R.id.txtvAuthor);
+ ImageView imgvBackground = (ImageView) findViewById(R.id.imgvBackground);
+ findViewById(R.id.butShowInfo).setVisibility(View.INVISIBLE);
+ findViewById(R.id.butShowSettings).setVisibility(View.INVISIBLE);
+ // https://github.com/bumptech/glide/issues/529
+ imgvBackground.setColorFilter(new LightingColorFilter(0xff828282, 0x000000));
+
+
txtvDescription = (TextView) findViewById(R.id.txtvDescription);
lblLanguage = (TextView) findViewById(R.id.lblLanguage);
txtvLanguage = (TextView) findViewById(R.id.txtvLanguage);
lblAuthor = (TextView) findViewById(R.id.lblAuthor);
- txtvAuthor = (TextView) findViewById(R.id.txtvAuthor);
+ txtvAuthor = (TextView) findViewById(R.id.txtvDetailsAuthor);
txtvUrl = (TextView) findViewById(R.id.txtvUrl);
-
txtvUrl.setOnClickListener(copyUrlToClipboard);
subscription = Observable.fromCallable(()-> DBReader.getFeed(feedId))
@@ -112,6 +121,14 @@ public class FeedInfoActivity extends AppCompatActivity {
.fitCenter()
.dontAnimate()
.into(imgvCover);
+ Glide.with(FeedInfoActivity.this)
+ .load(feed.getImageLocation())
+ .placeholder(R.color.image_readability_tint)
+ .error(R.color.image_readability_tint)
+ .diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
+ .transform(new FastBlurTransformation(FeedInfoActivity.this))
+ .dontAnimate()
+ .into(imgvBackground);
txtvTitle.setText(feed.getTitle());
@@ -129,6 +146,7 @@ public class FeedInfoActivity extends AppCompatActivity {
if (!TextUtils.isEmpty(feed.getAuthor())) {
txtvAuthor.setText(feed.getAuthor());
+ txtvAuthorHeader.setText(feed.getAuthor());
} else {
lblAuthor.setVisibility(View.GONE);
txtvAuthor.setVisibility(View.GONE);
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java
index d962da25a..5e15585a5 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/FeedSettingsActivity.java
@@ -4,10 +4,12 @@ import android.content.ClipData;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
+import android.graphics.LightingColorFilter;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Editable;
+import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Log;
import android.view.Menu;
@@ -31,6 +33,7 @@ import de.danoeh.antennapod.core.feed.Feed;
import de.danoeh.antennapod.core.feed.FeedFilter;
import de.danoeh.antennapod.core.feed.FeedPreferences;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
+import de.danoeh.antennapod.core.glide.FastBlurTransformation;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBWriter;
@@ -126,6 +129,13 @@ public class FeedSettingsActivity extends AppCompatActivity {
imgvCover = (ImageView) findViewById(R.id.imgvCover);
txtvTitle = (TextView) findViewById(R.id.txtvTitle);
+ TextView txtvAuthorHeader = (TextView) findViewById(R.id.txtvAuthor);
+ ImageView imgvBackground = (ImageView) findViewById(R.id.imgvBackground);
+ findViewById(R.id.butShowInfo).setVisibility(View.INVISIBLE);
+ findViewById(R.id.butShowSettings).setVisibility(View.INVISIBLE);
+ // https://github.com/bumptech/glide/issues/529
+ imgvBackground.setColorFilter(new LightingColorFilter(0xff828282, 0x000000));
+
cbxAutoDownload = (CheckBox) findViewById(R.id.cbxAutoDownload);
cbxKeepUpdated = (CheckBox) findViewById(R.id.cbxKeepUpdated);
spnAutoDelete = (Spinner) findViewById(R.id.spnAutoDelete);
@@ -161,9 +171,21 @@ public class FeedSettingsActivity extends AppCompatActivity {
.fitCenter()
.dontAnimate()
.into(imgvCover);
+ Glide.with(FeedSettingsActivity.this)
+ .load(feed.getImageLocation())
+ .placeholder(R.color.image_readability_tint)
+ .error(R.color.image_readability_tint)
+ .diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
+ .transform(new FastBlurTransformation(FeedSettingsActivity.this))
+ .dontAnimate()
+ .into(imgvBackground);
txtvTitle.setText(feed.getTitle());
+ if (!TextUtils.isEmpty(feed.getAuthor())) {
+ txtvAuthorHeader.setText(feed.getAuthor());
+ }
+
cbxAutoDownload.setEnabled(UserPreferences.isEnableAutodownload());
cbxAutoDownload.setChecked(prefs.getAutoDownload());
cbxAutoDownload.setOnCheckedChangeListener((compoundButton, checked) -> {
--
cgit v1.2.3
From deb2cea72f0f50d5ad2e3248bc8adc65ac896275 Mon Sep 17 00:00:00 2001
From: alifeflow
Date: Sat, 14 Apr 2018 14:09:19 +0900
Subject: [True Black] Cleaning up Code
Remove unused imports and redundant values
Coding style adjustment
---
app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java | 1 -
.../java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java | 2 --
2 files changed, 3 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
index cfe08cc23..f56dca173 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -7,7 +7,6 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.database.DataSetObserver;
-import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
index e4c090f9a..b2a3e38c8 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
@@ -22,8 +22,6 @@ import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.joanzapata.iconify.Iconify;
-import org.shredzone.flattr4j.model.User;
-
import java.lang.ref.WeakReference;
import de.danoeh.antennapod.R;
--
cgit v1.2.3
From 12ee8d89b2fd7eeebcf3ec0432ffb343e07f81d2 Mon Sep 17 00:00:00 2001
From: alifeflow
Date: Sat, 14 Apr 2018 14:29:47 +0900
Subject: [True Black] Fix UI Elements
Add true black style for progress bar
Add true black style for item description
Add true black style for web description
---
.../de/danoeh/antennapod/fragment/ItemDescriptionFragment.java | 7 +++++--
app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java | 3 ++-
2 files changed, 7 insertions(+), 3 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
index 935fd7898..2686664b3 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java
@@ -114,8 +114,11 @@ public class ItemDescriptionFragment extends Fragment implements MediaplayerInfo
webvDescription.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
TypedArray ta = getActivity().getTheme().obtainStyledAttributes(new int[]
{android.R.attr.colorBackground});
- int backgroundColor = ta.getColor(0, UserPreferences.getTheme() ==
- R.style.Theme_AntennaPod_Dark ? Color.BLACK : Color.WHITE);
+ int backgroundColor = ta.getColor(0,
+ (UserPreferences.getTheme() == R.style.Theme_AntennaPod_Dark ||
+ UserPreferences.getTheme() == R.style.Theme_AntennaPod_TrueBlack)?
+ Color.BLACK : Color.WHITE
+ );
ta.recycle();
webvDescription.setBackgroundColor(backgroundColor);
webvDescription.getSettings().setUseWideViewPort(false);
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
index 4ae6b97ee..d4ab482df 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
@@ -183,7 +183,8 @@ public class ItemFragment extends Fragment implements OnSwipeGesture {
txtvTitle.setEllipsize(TextUtils.TruncateAt.END);
}
webvDescription = (WebView) layout.findViewById(R.id.webvDescription);
- if (UserPreferences.getTheme() == R.style.Theme_AntennaPod_Dark) {
+ if (UserPreferences.getTheme() == R.style.Theme_AntennaPod_Dark ||
+ UserPreferences.getTheme() == R.style.Theme_AntennaPod_TrueBlack) {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
webvDescription.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
--
cgit v1.2.3
From cf2422b1db68fce61ee32acc94867736160fafb3 Mon Sep 17 00:00:00 2001
From: ByteHamster
Date: Tue, 17 Apr 2018 14:39:53 +0200
Subject: Ignore invalid position updates
Closes #2642
---
.../java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java | 4 ++++
1 file changed, 4 insertions(+)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
index a9bf39632..4ef26ad6c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
@@ -209,6 +209,10 @@ public class ExternalPlayerFragment extends Fragment {
}
private void onPositionObserverUpdate() {
+ if (controller.getPosition() == PlaybackService.INVALID_TIME
+ || controller.getDuration() == PlaybackService.INVALID_TIME) {
+ return;
+ }
mProgressBar.setProgress((int)
((double) controller.getPosition() / controller.getDuration() * 100));
}
--
cgit v1.2.3
From 00ace172fc7e3c36381a4b6766dde94b2f9c8606 Mon Sep 17 00:00:00 2001
From: heckler01
Date: Wed, 11 Apr 2018 19:16:08 -0400
Subject: Replace deprecated create((Observable.OnSubscribe)
---
.../java/de/danoeh/antennapod/activity/AboutActivity.java | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
index 041053a25..e29f4f525 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
@@ -75,7 +75,7 @@ public class AboutActivity extends AppCompatActivity {
}
private void loadAsset(String filename) {
- subscription = Observable.create((Observable.OnSubscribe) subscriber -> {
+ subscription = Observable.fromCallable(()-> {
InputStream input = null;
try {
TypedArray res = AboutActivity.this.getTheme().obtainStyledAttributes(
@@ -85,8 +85,7 @@ public class AboutActivity extends AppCompatActivity {
res.recycle();
input = getAssets().open(filename);
String webViewData = IOUtils.toString(input, Charset.defaultCharset());
- if(!webViewData.startsWith("")) {
- //webViewData = webViewData.replace("\n\n", "");
+ if (!webViewData.startsWith("")) {
webViewData = webViewData.replace("%", "%");
webViewData =
"" +
@@ -111,13 +110,13 @@ public class AboutActivity extends AppCompatActivity {
depth = 0;
}
webViewData = String.format(webViewData, colorString);
- subscriber.onNext(webViewData);
+ return webViewData;
} catch (IOException e) {
- subscriber.onError(e);
+ Log.e(TAG, Log.getStackTraceString(e));
+ throw e;
} finally {
IOUtils.closeQuietly(input);
}
- subscriber.onCompleted();
})
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
--
cgit v1.2.3
From b3d8a4c69f93b20ee0500695e5f9006f8ae3cbf0 Mon Sep 17 00:00:00 2001
From: heckler01
Date: Wed, 11 Apr 2018 20:49:21 -0400
Subject: Let webview handle if it can go back. When navigating the links,
depth would increment, but never return to 0, and then get stuck on the about
page.
---
.../de/danoeh/antennapod/activity/AboutActivity.java | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
(limited to 'app/src/main/java/de')
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
index e29f4f525..c97463155 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AboutActivity.java
@@ -36,8 +36,6 @@ public class AboutActivity extends AppCompatActivity {
private WebView webview;
private LinearLayout webviewContainer;
- private int depth = 0;
-
private Subscription subscription;
@Override
@@ -60,14 +58,12 @@ public class AboutActivity extends AppCompatActivity {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
- if(url.startsWith("http")) {
- depth++;
- return false;
- } else {
+ if (!url.startsWith("http")) {
url = url.replace("file:///android_asset/", "");
loadAsset(url);
return true;
}
+ return false;
}
});
@@ -105,9 +101,6 @@ public class AboutActivity extends AppCompatActivity {
" " +
"" + webViewData + "