From 2dbcae1576a570b0e17a5bd389c749eafd24bdfb Mon Sep 17 00:00:00 2001 From: egsavage Date: Sun, 7 Oct 2018 21:32:42 -0400 Subject: Optimize imports --- app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java') 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 0879b2cec..6e3e2794d 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -30,9 +30,6 @@ import android.widget.ListView; import com.bumptech.glide.Glide; -import de.danoeh.antennapod.core.event.ServiceEvent; -import de.danoeh.antennapod.core.util.IntentUtils; -import de.danoeh.antennapod.core.util.gui.NotificationUtils; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.Validate; @@ -45,6 +42,7 @@ import de.danoeh.antennapod.core.dialog.ConfirmationDialog; import de.danoeh.antennapod.core.event.MessageEvent; import de.danoeh.antennapod.core.event.ProgressEvent; import de.danoeh.antennapod.core.event.QueueEvent; +import de.danoeh.antennapod.core.event.ServiceEvent; import de.danoeh.antennapod.core.feed.EventDistributor; import de.danoeh.antennapod.core.feed.Feed; import de.danoeh.antennapod.core.preferences.PlaybackPreferences; @@ -55,7 +53,9 @@ import de.danoeh.antennapod.core.storage.DBTasks; import de.danoeh.antennapod.core.storage.DBWriter; import de.danoeh.antennapod.core.util.FeedItemUtil; import de.danoeh.antennapod.core.util.Flavors; +import de.danoeh.antennapod.core.util.IntentUtils; import de.danoeh.antennapod.core.util.StorageUtils; +import de.danoeh.antennapod.core.util.gui.NotificationUtils; import de.danoeh.antennapod.dialog.RatingDialog; import de.danoeh.antennapod.dialog.RenameFeedDialog; import de.danoeh.antennapod.fragment.AddFeedFragment; -- cgit v1.2.3 From a52f1ba34f917aa3cbaf0aff661d6ba64607a32d Mon Sep 17 00:00:00 2001 From: egsavage Date: Sun, 7 Oct 2018 22:04:44 -0400 Subject: Remove redundant type casts --- app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java') 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 6e3e2794d..f506921d2 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -130,7 +130,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi StorageUtils.checkStorageAvailability(this); setContentView(R.layout.main); - toolbar = (Toolbar) findViewById(R.id.toolbar); + toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { @@ -142,8 +142,8 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi currentTitle = getTitle(); - drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); - navList = (ListView) findViewById(R.id.nav_list); + drawerLayout = findViewById(R.id.drawer_layout); + navList = findViewById(R.id.nav_list); navDrawer = findViewById(R.id.nav_layout); drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.drawer_open, R.string.drawer_close); -- cgit v1.2.3 From b3fbb0ec7574cf1090bfb410589753ba8ef51bbb Mon Sep 17 00:00:00 2001 From: Petar Kukolj Date: Wed, 14 Nov 2018 16:18:58 +0100 Subject: Add configurable behavior of the back button This PR allows users to change how the back button functions. Closes #2196 Possible choices are following: - **Default** - back button functions how it currently functions (closes the app if there is nowhere to go back to) - **Open navigation drawer** - back button always opens the navigation drawer instead of closing the app - **Double tap to exit** - like default, but requires two taps to close the app - **Confirm to exit** - like default, but prompts user if they really want to exit --- .../danoeh/antennapod/activity/MainActivity.java | 31 +++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java') 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 f506921d2..fffd751c9 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -27,6 +27,7 @@ import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; +import android.widget.Toast; import com.bumptech.glide.Glide; @@ -123,6 +124,8 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi private Subscription subscription; + private long lastBackButtonPressTime = 0; + @Override public void onCreate(Bundle savedInstanceState) { setTheme(UserPreferences.getNoTitleTheme()); @@ -646,7 +649,33 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi if(isDrawerOpen()) { drawerLayout.closeDrawer(navDrawer); } else { - super.onBackPressed(); + switch (UserPreferences.getBackButtonBehavior()) { + case OPEN_DRAWER: + drawerLayout.openDrawer(navDrawer); + break; + case SHOW_PROMPT: + new AlertDialog.Builder(this) + .setMessage(R.string.close_prompt) + .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialogInterface, int i) { + MainActivity.super.onBackPressed(); + } + }) + .setNegativeButton(R.string.no, null) + .setCancelable(false) + .show(); + break; + case DOUBLE_TAP: + if(lastBackButtonPressTime < System.currentTimeMillis() - 2000) { + Toast.makeText(this, R.string.double_tap_toast, Toast.LENGTH_SHORT).show(); + lastBackButtonPressTime = System.currentTimeMillis(); + } else { + super.onBackPressed(); + } + break; + default: super.onBackPressed(); + } } } -- cgit v1.2.3 From 6262f98e39badde997d3e5793411a398cc062e09 Mon Sep 17 00:00:00 2001 From: Petar Kukolj Date: Thu, 15 Nov 2018 20:54:40 +0100 Subject: Add go to page option --- .../danoeh/antennapod/activity/MainActivity.java | 28 +++++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java') 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 fffd751c9..4c25c5c28 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -656,12 +656,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi case SHOW_PROMPT: new AlertDialog.Builder(this) .setMessage(R.string.close_prompt) - .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - MainActivity.super.onBackPressed(); - } - }) + .setPositiveButton(R.string.yes, (dialogInterface, i) -> MainActivity.super.onBackPressed()) .setNegativeButton(R.string.no, null) .setCancelable(false) .show(); @@ -674,6 +669,27 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi super.onBackPressed(); } break; + case GO_TO_QUEUE: + if(getLastNavFragment().equals(QueueFragment.TAG)) { + super.onBackPressed(); + } else { + loadFragment(QueueFragment.TAG, null); + } + break; + case GO_TO_EPISODES: + if(getLastNavFragment().equals(EpisodesFragment.TAG)) { + super.onBackPressed(); + } else { + loadFragment(EpisodesFragment.TAG, null); + } + break; + case GO_TO_SUBSCRIPTIONS: + if(getLastNavFragment().equals(SubscriptionFragment.TAG)) { + super.onBackPressed(); + } else { + loadFragment(SubscriptionFragment.TAG, null); + } + break; default: super.onBackPressed(); } } -- cgit v1.2.3 From 0d1b9c4c55436ae77bbd3067f4eb839a71c20934 Mon Sep 17 00:00:00 2001 From: Petar Kukolj Date: Sat, 17 Nov 2018 20:13:35 +0100 Subject: Use fragment tags instead of position indexes for saving chosen fragment --- .../de/danoeh/antennapod/activity/MainActivity.java | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java') 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 4c25c5c28..d2a0c3aab 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -669,25 +669,11 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi super.onBackPressed(); } break; - case GO_TO_QUEUE: - if(getLastNavFragment().equals(QueueFragment.TAG)) { + case GO_TO_PAGE: + if(getLastNavFragment().equals(UserPreferences.getBackButtonGoToPage())) { super.onBackPressed(); } else { - loadFragment(QueueFragment.TAG, null); - } - break; - case GO_TO_EPISODES: - if(getLastNavFragment().equals(EpisodesFragment.TAG)) { - super.onBackPressed(); - } else { - loadFragment(EpisodesFragment.TAG, null); - } - break; - case GO_TO_SUBSCRIPTIONS: - if(getLastNavFragment().equals(SubscriptionFragment.TAG)) { - super.onBackPressed(); - } else { - loadFragment(SubscriptionFragment.TAG, null); + loadFragment(UserPreferences.getBackButtonGoToPage(), null); } break; default: super.onBackPressed(); -- cgit v1.2.3 From 98e75fc313df0a6d1fc79485f6d58bfbf2c9bc96 Mon Sep 17 00:00:00 2001 From: Petar Kukolj Date: Tue, 20 Nov 2018 23:40:31 +0100 Subject: Fix not going back on child fragments --- app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java') 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 d2a0c3aab..122b6040e 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -648,6 +648,8 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi public void onBackPressed() { if(isDrawerOpen()) { drawerLayout.closeDrawer(navDrawer); + } else if(getSupportFragmentManager().getBackStackEntryCount() != 0) { + super.onBackPressed(); } else { switch (UserPreferences.getBackButtonBehavior()) { case OPEN_DRAWER: -- cgit v1.2.3 From 2393d4512c25cdd9095a3546c2bc9aa139bca798 Mon Sep 17 00:00:00 2001 From: Petar Kukolj Date: Thu, 22 Nov 2018 17:05:04 +0100 Subject: Fix coding style problems --- app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java') 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 122b6040e..5595aeac4 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -646,9 +646,9 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi @Override public void onBackPressed() { - if(isDrawerOpen()) { + if (isDrawerOpen()) { drawerLayout.closeDrawer(navDrawer); - } else if(getSupportFragmentManager().getBackStackEntryCount() != 0) { + } else if (getSupportFragmentManager().getBackStackEntryCount() != 0) { super.onBackPressed(); } else { switch (UserPreferences.getBackButtonBehavior()) { @@ -664,7 +664,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi .show(); break; case DOUBLE_TAP: - if(lastBackButtonPressTime < System.currentTimeMillis() - 2000) { + if (lastBackButtonPressTime < System.currentTimeMillis() - 2000) { Toast.makeText(this, R.string.double_tap_toast, Toast.LENGTH_SHORT).show(); lastBackButtonPressTime = System.currentTimeMillis(); } else { @@ -672,7 +672,7 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi } break; case GO_TO_PAGE: - if(getLastNavFragment().equals(UserPreferences.getBackButtonGoToPage())) { + if (getLastNavFragment().equals(UserPreferences.getBackButtonGoToPage())) { super.onBackPressed(); } else { loadFragment(UserPreferences.getBackButtonGoToPage(), null); -- cgit v1.2.3