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 ++++++++++++++++++---- 1 file changed, 47 insertions(+), 10 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java') 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(); } -- 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/danoeh/antennapod/activity/PreferenceActivity.java') 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 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java') 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; } -- 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 --- app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java | 2 -- 1 file changed, 2 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java') 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; } -- 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 --- app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java') 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(); } -- cgit v1.2.3 From a64c996e9c4d04391d0278f69d14fb7b2aca565b Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sun, 22 Apr 2018 18:12:40 +0200 Subject: Moved autodownload to new file --- .../java/de/danoeh/antennapod/activity/PreferenceActivity.java | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java') 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 5fe5bc334..271fc667d 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java @@ -5,6 +5,7 @@ import android.content.Intent; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceFragment; +import android.preference.PreferenceScreen; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.view.Menu; @@ -40,6 +41,11 @@ public class PreferenceActivity extends AppCompatActivity { return fragment.findPreference(key); } + @Override + public PreferenceScreen getPreferenceScreen() { + return fragment.getPreferenceScreen(); + } + @Override public Activity getActivity() { return PreferenceActivity.this; @@ -135,6 +141,8 @@ public class PreferenceActivity extends AppCompatActivity { switch (preferences) { case R.xml.preferences_downloads: return R.string.downloads_label; + case R.xml.preferences_autodownload: + return R.string.pref_automatic_download_title; case R.xml.preferences_playback: return R.string.playback_pref; case R.xml.preferences_storage: -- cgit v1.2.3 From 1690bd64ccd185b51dedb91ce05ae54541cacc1b Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sun, 22 Apr 2018 19:00:07 +0200 Subject: Actually renamy downloads to network --- .../main/java/de/danoeh/antennapod/activity/PreferenceActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java') 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 271fc667d..f7f785acf 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java @@ -139,8 +139,8 @@ public class PreferenceActivity extends AppCompatActivity { private int getTitle(int preferences) { switch (preferences) { - case R.xml.preferences_downloads: - return R.string.downloads_label; + case R.xml.preferences_network: + return R.string.network_pref; case R.xml.preferences_autodownload: return R.string.pref_automatic_download_title; case R.xml.preferences_playback: -- cgit v1.2.3 From f2ee5d7ff204ec71d5ae06a01a53db3c73c7e15c Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sun, 22 Apr 2018 19:20:11 +0200 Subject: Renamed Services to Integrations --- .../main/java/de/danoeh/antennapod/activity/PreferenceActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java') 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 f7f785acf..83578ff5c 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java @@ -149,8 +149,8 @@ public class PreferenceActivity extends AppCompatActivity { 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; + case R.xml.preferences_integrations: + return R.string.integrations_label; default: return R.string.settings_label; } -- cgit v1.2.3