From ef3a05a11724f0a8e33895e1ea8bd792063bd1fc Mon Sep 17 00:00:00 2001 From: cyBerta Date: Wed, 10 Jul 2019 03:24:43 +0200 Subject: add material design icons to the navigation drawer --- .../drawer/NavigationDrawerFragment.java | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/drawer') diff --git a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java index 21d061d1..635238f2 100644 --- a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java @@ -244,12 +244,7 @@ public class NavigationDrawerFragment extends Fragment { private void setupAccountsListView() { drawerAccountsListView = drawerView.findViewById(R.id.accountList); drawerAccountsListView.setAdapter(accountListAdapter); - drawerAccountsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView parent, View view, int position, long id) { - selectItem(parent, position); - } - }); + drawerAccountsListView.setOnItemClickListener((parent, view, position, id) -> selectItem(parent, position)); } private void setupSettingsListView() { @@ -261,22 +256,24 @@ public class NavigationDrawerFragment extends Fragment { private void setupSettingsListAdapter() { settingsListAdapter = new DrawerSettingsAdapter(getLayoutInflater()); if (getContext() != null) { - settingsListAdapter.addItem(getSwitchInstance(getString(R.string.save_battery), + settingsListAdapter.addItem(getSwitchInstance(getContext(), + getString(R.string.save_battery), + R.drawable.ic_battery_36, getSaveBattery(getContext()), BATTERY_SAVER, (buttonView, newStateIsChecked) -> onSwitchItemSelected(BATTERY_SAVER, newStateIsChecked))); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - settingsListAdapter.addItem(getSimpleTextInstance(getString(R.string.always_on_vpn), ALWAYS_ON)); + settingsListAdapter.addItem(getSimpleTextInstance(getContext(), getString(R.string.always_on_vpn), R.drawable.ic_always_on_36, ALWAYS_ON)); } if (isDefaultBitmask()) { - settingsListAdapter.addItem(getSimpleTextInstance(getString(switch_provider_menu_option), SWITCH_PROVIDER)); + settingsListAdapter.addItem(getSimpleTextInstance(getContext(), getString(switch_provider_menu_option), R.drawable.ic_switch_provider_36, SWITCH_PROVIDER)); } - settingsListAdapter.addItem(getSimpleTextInstance(getString(log_fragment_title), LOG)); + settingsListAdapter.addItem(getSimpleTextInstance(getContext(), getString(log_fragment_title), R.drawable.ic_log_36, LOG)); if (ENABLE_DONATION) { - settingsListAdapter.addItem(getSimpleTextInstance(getString(donate_title), DONATE)); + settingsListAdapter.addItem(getSimpleTextInstance(getContext(), getString(donate_title), R.drawable.ic_donate_36, DONATE)); } - settingsListAdapter.addItem(getSimpleTextInstance(getString(about_fragment_title), ABOUT)); + settingsListAdapter.addItem(getSimpleTextInstance(getContext(), getString(about_fragment_title), R.drawable.ic_about_36, ABOUT)); } private ActionBar setupActionBar() { -- cgit v1.2.3 From 47eb65c817605635c0de4612b492f8f60e22789b Mon Sep 17 00:00:00 2001 From: cyBerta Date: Wed, 10 Jul 2019 11:42:35 +0200 Subject: use same layout for provider item as for settings items in navigation drawer --- .../java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/drawer') diff --git a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java index 635238f2..cc93fc96 100644 --- a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java @@ -188,7 +188,7 @@ public class NavigationDrawerFragment extends Fragment { setupSettingsListAdapter(); setupSettingsListView(); accountListAdapter = new ArrayAdapter<>(actionBar.getThemedContext(), - R.layout.v_single_list_item, + R.layout.v_icon_text_list_item, android.R.id.text1); refreshAccountListAdapter(); setupAccountsListView(); -- cgit v1.2.3 From 663b4a217f5388dd7be4739d6977f86ceb248194 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Fri, 12 Jul 2019 14:20:12 +0200 Subject: fix action bar subtitle setup --- .../drawer/NavigationDrawerFragment.java | 23 +++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/drawer') diff --git a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java index cc93fc96..640c143a 100644 --- a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java @@ -27,6 +27,7 @@ import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.support.annotation.NonNull; +import android.support.annotation.StringRes; import android.support.v4.app.DialogFragment; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; @@ -118,8 +119,6 @@ public class NavigationDrawerFragment extends Fragment { private volatile boolean wasPaused; private volatile boolean shouldCloseOnResume; - private String title; - private SharedPreferences preferences; private final static String KEY_SHOW_ENABLE_EXPERIMENTAL_FEATURE = "KEY_SHOW_ENABLE_EXPERIMENTAL_FEATURE"; @@ -282,6 +281,7 @@ public class NavigationDrawerFragment extends Fragment { final ActionBar actionBar = activity.getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeButtonEnabled(true); + actionBar.setDisplayShowTitleEnabled(true); return actionBar; } @@ -461,12 +461,12 @@ public class NavigationDrawerFragment extends Fragment { Fragment fragment = null; if (parent == drawerAccountsListView) { - title = getString(R.string.vpn_fragment_title); fragment = new EipFragment(); Bundle arguments = new Bundle(); Provider currentProvider = getSavedProviderFromSharedPreferences(preferences); arguments.putParcelable(PROVIDER_KEY, currentProvider); fragment.setArguments(arguments); + hideActionBarSubTitle(); } else { DrawerSettingsItem settingsItem = settingsListAdapter.getItem(position); switch (settingsItem.getItemType()) { @@ -474,12 +474,12 @@ public class NavigationDrawerFragment extends Fragment { getActivity().startActivityForResult(new Intent(getActivity(), ProviderListActivity.class), REQUEST_CODE_SWITCH_PROVIDER); break; case LOG: - title = getString(log_fragment_title); fragment = new LogFragment(); + setActionBarTitle(log_fragment_title); break; case ABOUT: - title = getString(about_fragment_title); fragment = new AboutFragment(); + setActionBarTitle(about_fragment_title); break; case ALWAYS_ON: if (getShowAlwaysOnDialog(getContext())) { @@ -503,14 +503,19 @@ public class NavigationDrawerFragment extends Fragment { fragmentManager.replace(R.id.main_container, fragment, MainActivity.TAG); } - restoreActionBar(); } - public void restoreActionBar() { + private void setActionBarTitle(@StringRes int resId) { + ActionBar actionBar = getActionBar(); + if (actionBar != null) { + actionBar.setSubtitle(resId); + } + } + + private void hideActionBarSubTitle() { ActionBar actionBar = getActionBar(); if (actionBar != null) { - actionBar.setDisplayShowTitleEnabled(true); - actionBar.setSubtitle(title); + actionBar.setSubtitle(null); } } -- cgit v1.2.3