diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index 6070ceae30..99bcc8fdd5 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -108,6 +108,8 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB private ImageButton ibExpanderNav; private ImageButton ibPin; private ImageButton ibSettings; + private ImageButton ibFetchMore; + private ImageButton ibSync; private View vSeparatorOptions; private ImageButton ibExpanderAccount; private RecyclerView rvAccount; @@ -277,6 +279,8 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB ibExpanderNav = drawerContainer.findViewById(R.id.ibExpanderNav); ibPin = drawerContainer.findViewById(R.id.ibPin); ibSettings = drawerContainer.findViewById(R.id.ibSettings); + ibFetchMore = drawerContainer.findViewById(R.id.ibFetchMore); + ibSync = drawerContainer.findViewById(R.id.ibSync); vSeparatorOptions = drawerContainer.findViewById(R.id.vSeparatorOptions); grpOptions = drawerContainer.findViewById(R.id.grpOptions); ibExpanderAccount = drawerContainer.findViewById(R.id.ibExpanderAccount); @@ -346,6 +350,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB }); ibPin.setImageLevel(nav_pinned ? 1 : 0); + // Navigation settings ibSettings.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -385,6 +390,25 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB } }); + ibFetchMore.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Bundle args = new Bundle(); + args.putLong("folder", -1L); // Unified inbox + + FragmentDialogSync sync = new FragmentDialogSync(); + sync.setArguments(args); + sync.show(getSupportFragmentManager(), "nav:fetch"); + } + }); + + ibSync.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + ServiceSynchronize.reload(ActivityView.this, null, true, "nav:sync"); + } + }); + ibExpanderNav.setVisibility(nav_options ? View.VISIBLE : View.GONE); grpOptions.setVisibility(nav_expanded && nav_options ? View.VISIBLE : View.GONE); vSeparatorOptions.setVisibility(nav_options ? View.VISIBLE : View.GONE); diff --git a/app/src/main/res/layout/dialog_nav_options.xml b/app/src/main/res/layout/dialog_nav_options.xml index 469a94baac..13837fdb20 100644 --- a/app/src/main/res/layout/dialog_nav_options.xml +++ b/app/src/main/res/layout/dialog_nav_options.xml @@ -50,13 +50,33 @@ app:layout_constraintTop_toBottomOf="@id/tvTitle" app:srcCompat="@drawable/twotone_settings_24" /> + + + + diff --git a/app/src/main/res/layout/include_nav.xml b/app/src/main/res/layout/include_nav.xml index 931966fb03..5de80bb76b 100644 --- a/app/src/main/res/layout/include_nav.xml +++ b/app/src/main/res/layout/include_nav.xml @@ -41,6 +41,28 @@ app:layout_constraintTop_toTopOf="parent" app:srcCompat="@drawable/twotone_settings_24" /> + + + + + app:constraint_referenced_ids="ibPin,ibSettings,ibFetchMore,ibSync" />