Compare commits

...

2 Commits

Author SHA1 Message Date
eb3872f7a6 Added a setting for displaying or hiding the account header. 2017-09-03 11:47:48 +02:00
9fa178d513 Closes #71 2017-09-02 17:55:02 +02:00
8 changed files with 107 additions and 44 deletions

View File

@ -1,4 +1,10 @@
**1.5.2.13** **1.5.2.15/16**
- Adding an account header on the lateral drawer.
- The account header is only displayed when the setting is enabled.
**1.5.2.13/14**
- Updated glide. - Updated glide.

View File

@ -64,6 +64,9 @@ import com.ashokvarma.bottomnavigation.BottomNavigationBar
import com.ashokvarma.bottomnavigation.BottomNavigationItem import com.ashokvarma.bottomnavigation.BottomNavigationItem
import com.ashokvarma.bottomnavigation.TextBadgeItem import com.ashokvarma.bottomnavigation.TextBadgeItem
import com.ftinc.scoop.Scoop import com.ftinc.scoop.Scoop
import com.mikepenz.materialdrawer.AccountHeader
import com.mikepenz.materialdrawer.AccountHeaderBuilder
import com.mikepenz.materialdrawer.model.ProfileDrawerItem
class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
@ -93,6 +96,7 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
private var maybeSourceFilter: Sources? = null private var maybeSourceFilter: Sources? = null
private var maybeSearchFilter: String? = null private var maybeSearchFilter: String? = null
private var userIdentifier: String = "" private var userIdentifier: String = ""
private var displayAccountHeader: Boolean = false
private lateinit var emptyText: TextView private lateinit var emptyText: TextView
private lateinit var recyclerView: RecyclerView private lateinit var recyclerView: RecyclerView
@ -150,7 +154,7 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
handleBottomBar() handleBottomBar()
handleDrawer() handleDrawer(dirtyPref)
coordinatorLayout = findViewById(R.id.coordLayout) coordinatorLayout = findViewById(R.id.coordLayout)
swipeRefreshLayout = findViewById(R.id.swipeRefreshLayout) swipeRefreshLayout = findViewById(R.id.swipeRefreshLayout)
@ -289,52 +293,56 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
fullHeightCards = sharedPref.getBoolean("full_height_cards", false) fullHeightCards = sharedPref.getBoolean("full_height_cards", false)
itemsNumber = sharedPref.getString("prefer_api_items_number", "200").toInt() itemsNumber = sharedPref.getString("prefer_api_items_number", "200").toInt()
userIdentifier = sharedPref.getString("unique_id", "") userIdentifier = sharedPref.getString("unique_id", "")
displayAccountHeader = sharedPref.getBoolean("account_header_displaying", false)
} }
private fun handleDrawer() { private fun handleDrawer(dirtyPref: SharedPreferences) {
displayAccountHeader =
drawer = DrawerBuilder() PreferenceManager.getDefaultSharedPreferences(this)
.withActivity(this) .getBoolean("account_header_displaying", false)
.withRootView(R.id.drawer_layout) val headerResult: AccountHeader? = if (displayAccountHeader) {
.withToolbar(toolbar) AccountHeaderBuilder()
.withActionBarDrawerToggle(true) .withActivity(this)
.withActionBarDrawerToggleAnimated(true) .withHeaderBackground(R.drawable.bg)
.withShowDrawerOnFirstLaunch(true) .addProfiles(
.withOnDrawerListener(object: Drawer.OnDrawerListener { ProfileDrawerItem()
override fun onDrawerSlide(v: View?, p1: Float) { .withName(
bottomBar.alpha = (1 - p1) dirtyPref.getString("url", "")
}
override fun onDrawerClosed(v: View?) {
bottomBar.show()
}
override fun onDrawerOpened(v: View?) {
bottomBar.hide()
}
})
.build()
drawer.addStickyFooterItem(
PrimaryDrawerItem()
.withName(R.string.action_about)
.withSelectable(false)
.withIcon(R.drawable.ic_info_outline)
.withIconTintingEnabled(true)
.withOnDrawerItemClickListener { _, _, _ ->
LibsBuilder()
.withActivityStyle(
if (appColors.isDarkTheme)
Libs.ActivityStyle.LIGHT_DARK_TOOLBAR
else
Libs.ActivityStyle.DARK
) )
.withAboutIconShown(true) .withIcon(resources.getDrawable(R.mipmap.ic_launcher))
.withAboutVersionShown(true) )
.start(this@HomeActivity) .withSelectionListEnabledForSingleProfile(false)
false .build()
} else null
val drawerBuilder =
DrawerBuilder()
.withActivity(this)
.withRootView(R.id.drawer_layout)
.withToolbar(toolbar)
.withActionBarDrawerToggle(true)
.withActionBarDrawerToggleAnimated(true)
.withShowDrawerOnFirstLaunch(true)
.withOnDrawerListener(object: Drawer.OnDrawerListener {
override fun onDrawerSlide(v: View?, p1: Float) {
bottomBar.alpha = (1 - p1)
}
override fun onDrawerClosed(v: View?) {
bottomBar.show()
}
override fun onDrawerOpened(v: View?) {
bottomBar.hide()
}
}) })
if (displayAccountHeader && headerResult != null)
drawerBuilder.withAccountHeader(headerResult)
drawer = drawerBuilder.build()
drawer.addStickyFooterItem( drawer.addStickyFooterItem(
PrimaryDrawerItem() PrimaryDrawerItem()
.withName(R.string.title_activity_settings) .withName(R.string.title_activity_settings)
@ -438,6 +446,7 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
.withIdentifier(DRAWER_ID_TAGS) .withIdentifier(DRAWER_ID_TAGS)
.withSelectable(false)) .withSelectable(false))
handleTags(maybeDrawerData.tags) handleTags(maybeDrawerData.tags)
drawer.addItem(DividerDrawerItem())
drawer.addItem( drawer.addItem(
SecondaryDrawerItem() SecondaryDrawerItem()
.withName(getString(R.string.drawer_item_sources)) .withName(getString(R.string.drawer_item_sources))
@ -450,6 +459,26 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
} }
) )
handleSources(maybeDrawerData.sources) handleSources(maybeDrawerData.sources)
drawer.addItem(DividerDrawerItem())
drawer.addItem(
PrimaryDrawerItem()
.withName(R.string.action_about)
.withSelectable(false)
.withIcon(R.drawable.ic_info_outline)
.withIconTintingEnabled(true)
.withOnDrawerItemClickListener { _, _, _ ->
LibsBuilder()
.withActivityStyle(
if (appColors.isDarkTheme)
Libs.ActivityStyle.LIGHT_DARK_TOOLBAR
else
Libs.ActivityStyle.DARK
)
.withAboutIconShown(true)
.withAboutVersionShown(true)
.start(this@HomeActivity)
false
})
if (!loadedFromCache) if (!loadedFromCache)

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

View File

@ -145,4 +145,6 @@
<string name="read_debug_off">Aucun log quand un article est marqué comme lu</string> <string name="read_debug_off">Aucun log quand un article est marqué comme lu</string>
<string name="summary_debug_identifier">Identifiant de debug</string> <string name="summary_debug_identifier">Identifiant de debug</string>
<string name="unique_id_to_clipboard">Texte copié</string> <string name="unique_id_to_clipboard">Texte copié</string>
<string name="display_header_drawer_summary">Afficher une entête avec l\'url de votre instance de Selfoss en haut du drawer lateral.</string>
<string name="display_header_drawer_title">Entête de compte</string>
</resources> </resources>

View File

@ -145,4 +145,7 @@
<string name="read_debug_off">No log when marking an item as read</string> <string name="read_debug_off">No log when marking an item as read</string>
<string name="summary_debug_identifier">Debug identifier</string> <string name="summary_debug_identifier">Debug identifier</string>
<string name="unique_id_to_clipboard">Identifier copied to your clipboard</string> <string name="unique_id_to_clipboard">Identifier copied to your clipboard</string>
<string
name="display_header_drawer_summary">Display a header with the selfoss instance url on the lateral drawer.</string>
<string name="display_header_drawer_title">Account header</string>
</resources> </resources>

View File

@ -147,4 +147,7 @@
<string name="read_debug_on">Api calls will be logged when marking an article as read</string> <string name="read_debug_on">Api calls will be logged when marking an article as read</string>
<string name="summary_debug_identifier">Debug identifier</string> <string name="summary_debug_identifier">Debug identifier</string>
<string name="unique_id_to_clipboard">Identifier copied to your clipboard</string> <string name="unique_id_to_clipboard">Identifier copied to your clipboard</string>
<string
name="display_header_drawer_summary">Display a header with the selfoss instance url on the lateral drawer.</string>
<string name="display_header_drawer_title">Account header</string>
</resources> </resources>

View File

@ -13,6 +13,7 @@
<item name="android:colorBackground">@color/md_grey_50</item> <item name="android:colorBackground">@color/md_grey_50</item>
<item name="android:textColorPrimary">@color/md_grey_900</item> <item name="android:textColorPrimary">@color/md_grey_900</item>
<item name="android:textColorSecondary">@color/md_grey_400</item> <item name="android:textColorSecondary">@color/md_grey_400</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<style name="NoBarDark" parent="MaterialDrawerTheme"> <style name="NoBarDark" parent="MaterialDrawerTheme">
@ -25,12 +26,14 @@
<item name="bnbBackgroundColor">@color/md_grey_900</item> <item name="bnbBackgroundColor">@color/md_grey_900</item>
<item name="android:textColorPrimary">@color/md_white_1000</item> <item name="android:textColorPrimary">@color/md_white_1000</item>
<item name="android:textColorSecondary">@color/md_grey_600</item> <item name="android:textColorSecondary">@color/md_grey_600</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<!-- ToolBar --> <!-- ToolBar -->
<style name="ToolBarStyle" parent="Theme.AppCompat"> <style name="ToolBarStyle" parent="Theme.AppCompat">
<item name="android:textColorPrimary">@color/white</item> <item name="android:textColorPrimary">@color/white</item>
<item name="android:textColorSecondary">@color/white</item> <item name="android:textColorSecondary">@color/white</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
<item name="actionMenuTextColor">@color/white</item> <item name="actionMenuTextColor">@color/white</item>
<!--<item name="actionOverflowButtonStyle">@style/ActionButtonOverflowStyle</item> <!--<item name="actionOverflowButtonStyle">@style/ActionButtonOverflowStyle</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>--> <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>-->
@ -46,6 +49,7 @@
<item name="android:colorBackground">@color/md_grey_50</item> <item name="android:colorBackground">@color/md_grey_50</item>
<item name="android:textColorPrimary">@color/md_grey_900</item> <item name="android:textColorPrimary">@color/md_grey_900</item>
<item name="android:textColorSecondary">@color/md_grey_400</item> <item name="android:textColorSecondary">@color/md_grey_400</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<style name="NoBarBlueAmberDark" parent="MaterialDrawerTheme"> <style name="NoBarBlueAmberDark" parent="MaterialDrawerTheme">
@ -58,6 +62,7 @@
<item name="bnbBackgroundColor">@color/md_grey_900</item> <item name="bnbBackgroundColor">@color/md_grey_900</item>
<item name="android:textColorPrimary">@color/md_white_1000</item> <item name="android:textColorPrimary">@color/md_white_1000</item>
<item name="android:textColorSecondary">@color/md_grey_600</item> <item name="android:textColorSecondary">@color/md_grey_600</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<style name="NoBarGreyOrange" parent="MaterialDrawerTheme.Light"> <style name="NoBarGreyOrange" parent="MaterialDrawerTheme.Light">
@ -69,6 +74,7 @@
<item name="android:colorBackground">@color/md_grey_50</item> <item name="android:colorBackground">@color/md_grey_50</item>
<item name="android:textColorPrimary">@color/md_grey_900</item> <item name="android:textColorPrimary">@color/md_grey_900</item>
<item name="android:textColorSecondary">@color/md_grey_400</item> <item name="android:textColorSecondary">@color/md_grey_400</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<style name="NoBarGreyOrangeDark" parent="MaterialDrawerTheme"> <style name="NoBarGreyOrangeDark" parent="MaterialDrawerTheme">
@ -81,6 +87,7 @@
<item name="bnbBackgroundColor">@color/md_grey_900</item> <item name="bnbBackgroundColor">@color/md_grey_900</item>
<item name="android:textColorPrimary">@color/md_white_1000</item> <item name="android:textColorPrimary">@color/md_white_1000</item>
<item name="android:textColorSecondary">@color/md_grey_600</item> <item name="android:textColorSecondary">@color/md_grey_600</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<style name="NoBarIndigoPink" parent="MaterialDrawerTheme.Light"> <style name="NoBarIndigoPink" parent="MaterialDrawerTheme.Light">
@ -92,6 +99,7 @@
<item name="android:colorBackground">@color/md_grey_50</item> <item name="android:colorBackground">@color/md_grey_50</item>
<item name="android:textColorPrimary">@color/md_grey_900</item> <item name="android:textColorPrimary">@color/md_grey_900</item>
<item name="android:textColorSecondary">@color/md_grey_400</item> <item name="android:textColorSecondary">@color/md_grey_400</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<style name="NoBarIndigoPinkDark" parent="MaterialDrawerTheme"> <style name="NoBarIndigoPinkDark" parent="MaterialDrawerTheme">
@ -104,6 +112,7 @@
<item name="bnbBackgroundColor">@color/md_grey_900</item> <item name="bnbBackgroundColor">@color/md_grey_900</item>
<item name="android:textColorPrimary">@color/md_white_1000</item> <item name="android:textColorPrimary">@color/md_white_1000</item>
<item name="android:textColorSecondary">@color/md_grey_600</item> <item name="android:textColorSecondary">@color/md_grey_600</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<style name="NoBarRedTeal" parent="MaterialDrawerTheme.Light"> <style name="NoBarRedTeal" parent="MaterialDrawerTheme.Light">
@ -115,6 +124,7 @@
<item name="android:colorBackground">@color/md_grey_50</item> <item name="android:colorBackground">@color/md_grey_50</item>
<item name="android:textColorPrimary">@color/md_grey_900</item> <item name="android:textColorPrimary">@color/md_grey_900</item>
<item name="android:textColorSecondary">@color/md_grey_400</item> <item name="android:textColorSecondary">@color/md_grey_400</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<style name="NoBarRedTealDark" parent="MaterialDrawerTheme"> <style name="NoBarRedTealDark" parent="MaterialDrawerTheme">
@ -127,6 +137,7 @@
<item name="bnbBackgroundColor">@color/md_grey_900</item> <item name="bnbBackgroundColor">@color/md_grey_900</item>
<item name="android:textColorPrimary">@color/md_white_1000</item> <item name="android:textColorPrimary">@color/md_white_1000</item>
<item name="android:textColorSecondary">@color/md_grey_600</item> <item name="android:textColorSecondary">@color/md_grey_600</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<style name="NoBarCyanPink" parent="MaterialDrawerTheme.Light"> <style name="NoBarCyanPink" parent="MaterialDrawerTheme.Light">
@ -138,6 +149,7 @@
<item name="android:colorBackground">@color/md_grey_50</item> <item name="android:colorBackground">@color/md_grey_50</item>
<item name="android:textColorPrimary">@color/md_grey_900</item> <item name="android:textColorPrimary">@color/md_grey_900</item>
<item name="android:textColorSecondary">@color/md_grey_400</item> <item name="android:textColorSecondary">@color/md_grey_400</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<style name="NoBarCyanPinkDark" parent="MaterialDrawerTheme"> <style name="NoBarCyanPinkDark" parent="MaterialDrawerTheme">
@ -150,6 +162,7 @@
<item name="bnbBackgroundColor">@color/md_grey_900</item> <item name="bnbBackgroundColor">@color/md_grey_900</item>
<item name="android:textColorPrimary">@color/md_white_1000</item> <item name="android:textColorPrimary">@color/md_white_1000</item>
<item name="android:textColorSecondary">@color/md_grey_600</item> <item name="android:textColorSecondary">@color/md_grey_600</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
@ -162,6 +175,7 @@
<item name="android:colorBackground">@color/md_grey_50</item> <item name="android:colorBackground">@color/md_grey_50</item>
<item name="android:textColorPrimary">@color/md_grey_900</item> <item name="android:textColorPrimary">@color/md_grey_900</item>
<item name="android:textColorSecondary">@color/md_grey_400</item> <item name="android:textColorSecondary">@color/md_grey_400</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
<style name="NoBarTealOrangeDark" parent="MaterialDrawerTheme"> <style name="NoBarTealOrangeDark" parent="MaterialDrawerTheme">
@ -174,6 +188,7 @@
<item name="bnbBackgroundColor">@color/md_grey_900</item> <item name="bnbBackgroundColor">@color/md_grey_900</item>
<item name="android:textColorPrimary">@color/md_white_1000</item> <item name="android:textColorPrimary">@color/md_white_1000</item>
<item name="android:textColorSecondary">@color/md_grey_600</item> <item name="android:textColorSecondary">@color/md_grey_600</item>
<item name="material_drawer_header_selection_text">@color/md_grey_900</item>
</style> </style>
</resources> </resources>

View File

@ -39,6 +39,11 @@
android:title="@string/pref_general_category_displaying"> android:title="@string/pref_general_category_displaying">
</PreferenceCategory> </PreferenceCategory>
<SwitchPreference
android:defaultValue="false"
android:key="account_header_displaying"
android:summary="@string/display_header_drawer_summary"
android:title="@string/display_header_drawer_title" />
<SwitchPreference <SwitchPreference
android:defaultValue="false" android:defaultValue="false"
android:key="card_view_active" android:key="card_view_active"