Fixed an issue with compilation not working.
This commit is contained in:
parent
1485cc05f4
commit
dd7a2f476b
@ -118,7 +118,7 @@ dependencies {
|
|||||||
implementation 'com.burgstaller:okhttp-digest:1.12'
|
implementation 'com.burgstaller:okhttp-digest:1.12'
|
||||||
|
|
||||||
// Material-ish things
|
// Material-ish things
|
||||||
implementation 'com.ashokvarma.android:bottom-navigation-bar:2.0.5'
|
implementation 'com.ashokvarma.android:bottom-navigation-bar:2.1.0'
|
||||||
implementation 'com.github.jd-alexander:LikeButton:0.2.3'
|
implementation 'com.github.jd-alexander:LikeButton:0.2.3'
|
||||||
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
|
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
|
||||||
|
|
||||||
@ -131,17 +131,17 @@ dependencies {
|
|||||||
|
|
||||||
// Themes
|
// Themes
|
||||||
implementation 'com.52inc:scoops:1.0.0'
|
implementation 'com.52inc:scoops:1.0.0'
|
||||||
implementation 'com.jaredrummler:colorpicker:1.0.2'
|
implementation 'com.jaredrummler:colorpicker:1.1.0'
|
||||||
implementation 'com.github.rubensousa:floatingtoolbar:1.5.1'
|
implementation 'com.github.rubensousa:floatingtoolbar:1.5.1'
|
||||||
|
|
||||||
// Pager
|
// Pager
|
||||||
implementation 'me.relex:circleindicator:2.0.0@aar'
|
implementation 'me.relex:circleindicator:2.0.0@aar'
|
||||||
|
|
||||||
implementation 'androidx.core:core-ktx:1.0.0'
|
implementation 'androidx.core:core-ktx:1.1.0-beta01'
|
||||||
|
|
||||||
// Crash
|
// Crash
|
||||||
implementation 'ch.acra:acra-http:5.2.1'
|
implementation 'ch.acra:acra-http:5.3.0'
|
||||||
implementation 'ch.acra:acra-dialog:5.2.1'
|
implementation 'ch.acra:acra-dialog:5.3.0'
|
||||||
|
|
||||||
implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"
|
implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"
|
||||||
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
|
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
|
||||||
|
@ -4,24 +4,21 @@ import android.content.Context
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
|
import android.graphics.drawable.BitmapDrawable
|
||||||
import android.graphics.drawable.GradientDrawable
|
import android.graphics.drawable.GradientDrawable
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.preference.PreferenceManager
|
import android.preference.PreferenceManager
|
||||||
import androidx.core.view.MenuItemCompat
|
|
||||||
import androidx.appcompat.app.AlertDialog
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration
|
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
|
||||||
import androidx.appcompat.widget.SearchView
|
|
||||||
import androidx.recyclerview.widget.StaggeredGridLayoutManager
|
|
||||||
import androidx.recyclerview.widget.ItemTouchHelper
|
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
|
import androidx.appcompat.app.AlertDialog
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.appcompat.widget.SearchView
|
||||||
|
import androidx.core.view.MenuItemCompat
|
||||||
|
import androidx.recyclerview.widget.*
|
||||||
import androidx.room.Room
|
import androidx.room.Room
|
||||||
import androidx.work.Constraints
|
import androidx.work.Constraints
|
||||||
import androidx.work.ExistingPeriodicWorkPolicy
|
import androidx.work.ExistingPeriodicWorkPolicy
|
||||||
@ -30,12 +27,7 @@ import androidx.work.WorkManager
|
|||||||
import apps.amine.bou.readerforselfoss.adapters.ItemCardAdapter
|
import apps.amine.bou.readerforselfoss.adapters.ItemCardAdapter
|
||||||
import apps.amine.bou.readerforselfoss.adapters.ItemListAdapter
|
import apps.amine.bou.readerforselfoss.adapters.ItemListAdapter
|
||||||
import apps.amine.bou.readerforselfoss.adapters.ItemsAdapter
|
import apps.amine.bou.readerforselfoss.adapters.ItemsAdapter
|
||||||
import apps.amine.bou.readerforselfoss.api.selfoss.Item
|
import apps.amine.bou.readerforselfoss.api.selfoss.*
|
||||||
import apps.amine.bou.readerforselfoss.api.selfoss.SelfossApi
|
|
||||||
import apps.amine.bou.readerforselfoss.api.selfoss.Source
|
|
||||||
import apps.amine.bou.readerforselfoss.api.selfoss.Stats
|
|
||||||
import apps.amine.bou.readerforselfoss.api.selfoss.SuccessResponse
|
|
||||||
import apps.amine.bou.readerforselfoss.api.selfoss.Tag
|
|
||||||
import apps.amine.bou.readerforselfoss.background.LoadingWorker
|
import apps.amine.bou.readerforselfoss.background.LoadingWorker
|
||||||
import apps.amine.bou.readerforselfoss.persistence.database.AppDatabase
|
import apps.amine.bou.readerforselfoss.persistence.database.AppDatabase
|
||||||
import apps.amine.bou.readerforselfoss.persistence.entities.ActionEntity
|
import apps.amine.bou.readerforselfoss.persistence.entities.ActionEntity
|
||||||
@ -48,7 +40,6 @@ import apps.amine.bou.readerforselfoss.utils.Config
|
|||||||
import apps.amine.bou.readerforselfoss.utils.bottombar.maybeShow
|
import apps.amine.bou.readerforselfoss.utils.bottombar.maybeShow
|
||||||
import apps.amine.bou.readerforselfoss.utils.bottombar.removeBadge
|
import apps.amine.bou.readerforselfoss.utils.bottombar.removeBadge
|
||||||
import apps.amine.bou.readerforselfoss.utils.customtabs.CustomTabActivityHelper
|
import apps.amine.bou.readerforselfoss.utils.customtabs.CustomTabActivityHelper
|
||||||
import apps.amine.bou.readerforselfoss.utils.drawer.CustomUrlPrimaryDrawerItem
|
|
||||||
import apps.amine.bou.readerforselfoss.utils.flattenTags
|
import apps.amine.bou.readerforselfoss.utils.flattenTags
|
||||||
import apps.amine.bou.readerforselfoss.utils.longHash
|
import apps.amine.bou.readerforselfoss.utils.longHash
|
||||||
import apps.amine.bou.readerforselfoss.utils.maybeHandleSilentException
|
import apps.amine.bou.readerforselfoss.utils.maybeHandleSilentException
|
||||||
@ -63,6 +54,7 @@ import co.zsmb.materialdrawerkt.draweritems.profile.profile
|
|||||||
import com.ashokvarma.bottomnavigation.BottomNavigationBar
|
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.bumptech.glide.Glide
|
||||||
import com.ftinc.scoop.Scoop
|
import com.ftinc.scoop.Scoop
|
||||||
import com.mikepenz.aboutlibraries.Libs
|
import com.mikepenz.aboutlibraries.Libs
|
||||||
import com.mikepenz.aboutlibraries.LibsBuilder
|
import com.mikepenz.aboutlibraries.LibsBuilder
|
||||||
@ -619,18 +611,24 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (tag in maybeSources) {
|
for (tag in maybeSources) {
|
||||||
drawer.addItem(
|
val item = PrimaryDrawerItem()
|
||||||
CustomUrlPrimaryDrawerItem()
|
|
||||||
.withName(tag.title)
|
.withName(tag.title)
|
||||||
.withIdentifier(tag.id.toLong())
|
.withIdentifier(tag.id.toLong())
|
||||||
.withIcon(tag.getIcon(this@HomeActivity))
|
|
||||||
.withOnDrawerItemClickListener { _, _, _ ->
|
.withOnDrawerItemClickListener { _, _, _ ->
|
||||||
allItems = ArrayList()
|
allItems = ArrayList()
|
||||||
maybeSourceFilter = tag
|
maybeSourceFilter = tag
|
||||||
getElementsAccordingToTab()
|
getElementsAccordingToTab()
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
)
|
if (tag.getIcon(this@HomeActivity).isNotBlank()) {
|
||||||
|
thread {
|
||||||
|
item.withIcon(BitmapDrawable(resources, Glide.with(this@HomeActivity).asBitmap().load(tag.getIcon(this@HomeActivity)).submit(100, 100).get()))
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
item.withIcon(R.mipmap.ic_launcher_round)
|
||||||
|
}
|
||||||
|
drawer.addItem(item)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,112 +0,0 @@
|
|||||||
/* From https://github.com/mikepenz/MaterialDrawer/blob/develop/app/src/main/java/com/mikepenz/materialdrawer/app/drawerItems/CustomUrlBasePrimaryDrawerItem.java */
|
|
||||||
package apps.amine.bou.readerforselfoss.utils.drawer
|
|
||||||
|
|
||||||
import android.net.Uri
|
|
||||||
import androidx.annotation.ColorInt
|
|
||||||
import androidx.annotation.ColorRes
|
|
||||||
import androidx.annotation.StringRes
|
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
|
||||||
|
|
||||||
import com.mikepenz.materialdrawer.holder.ColorHolder
|
|
||||||
import com.mikepenz.materialdrawer.holder.ImageHolder
|
|
||||||
import com.mikepenz.materialdrawer.holder.StringHolder
|
|
||||||
import com.mikepenz.materialdrawer.model.BaseDrawerItem
|
|
||||||
import com.mikepenz.materialdrawer.util.DrawerImageLoader
|
|
||||||
import com.mikepenz.materialdrawer.util.DrawerUIUtils
|
|
||||||
import com.mikepenz.materialize.util.UIUtils
|
|
||||||
|
|
||||||
abstract class CustomUrlBasePrimaryDrawerItem<T, VH : RecyclerView.ViewHolder> :
|
|
||||||
BaseDrawerItem<T, VH>() {
|
|
||||||
fun withIcon(url: String): T {
|
|
||||||
this.icon = ImageHolder(url)
|
|
||||||
return this as T
|
|
||||||
}
|
|
||||||
|
|
||||||
fun withIcon(uri: Uri): T {
|
|
||||||
this.icon = ImageHolder(uri)
|
|
||||||
return this as T
|
|
||||||
}
|
|
||||||
|
|
||||||
var description: StringHolder? = null
|
|
||||||
private set
|
|
||||||
var descriptionTextColor: ColorHolder? = null
|
|
||||||
private set
|
|
||||||
|
|
||||||
fun withDescription(description: String): T {
|
|
||||||
this.description = StringHolder(description)
|
|
||||||
return this as T
|
|
||||||
}
|
|
||||||
|
|
||||||
fun withDescription(@StringRes descriptionRes: Int): T {
|
|
||||||
this.description = StringHolder(descriptionRes)
|
|
||||||
return this as T
|
|
||||||
}
|
|
||||||
|
|
||||||
fun withDescriptionTextColor(@ColorInt color: Int): T {
|
|
||||||
this.descriptionTextColor = ColorHolder.fromColor(color)
|
|
||||||
return this as T
|
|
||||||
}
|
|
||||||
|
|
||||||
fun withDescriptionTextColorRes(@ColorRes colorRes: Int): T {
|
|
||||||
this.descriptionTextColor = ColorHolder.fromColorRes(colorRes)
|
|
||||||
return this as T
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* a helper method to have the logic for all secondaryDrawerItems only once
|
|
||||||
|
|
||||||
* @param viewHolder
|
|
||||||
*/
|
|
||||||
protected fun bindViewHelper(viewHolder: CustomBaseViewHolder) {
|
|
||||||
val ctx = viewHolder.itemView.context
|
|
||||||
|
|
||||||
//set the identifier from the drawerItem here. It can be used to run tests
|
|
||||||
viewHolder.itemView.id = hashCode()
|
|
||||||
|
|
||||||
//set the item selected if it is
|
|
||||||
viewHolder.itemView.isSelected = isSelected
|
|
||||||
|
|
||||||
//get the correct color for the background
|
|
||||||
val selectedColor = getSelectedColor(ctx)
|
|
||||||
//get the correct color for the text
|
|
||||||
val color = getColor(ctx)
|
|
||||||
val selectedTextColor = getSelectedTextColor(ctx)
|
|
||||||
//get the correct color for the icon
|
|
||||||
val iconColor = getIconColor(ctx)
|
|
||||||
val selectedIconColor = getSelectedIconColor(ctx)
|
|
||||||
|
|
||||||
//set the background for the item
|
|
||||||
UIUtils.setBackground(
|
|
||||||
viewHolder.view,
|
|
||||||
UIUtils.getSelectableBackground(ctx, selectedColor, true)
|
|
||||||
)
|
|
||||||
//set the text for the name
|
|
||||||
StringHolder.applyTo(this.getName(), viewHolder.name)
|
|
||||||
//set the text for the description or hide
|
|
||||||
StringHolder.applyToOrHide(this.description, viewHolder.description)
|
|
||||||
|
|
||||||
//set the colors for textViews
|
|
||||||
viewHolder.name.setTextColor(getTextColorStateList(color, selectedTextColor))
|
|
||||||
//set the description text color
|
|
||||||
ColorHolder.applyToOr(
|
|
||||||
descriptionTextColor,
|
|
||||||
viewHolder.description,
|
|
||||||
getTextColorStateList(color, selectedTextColor)
|
|
||||||
)
|
|
||||||
|
|
||||||
//define the typeface for our textViews
|
|
||||||
if (getTypeface() != null) {
|
|
||||||
viewHolder.name.typeface = getTypeface()
|
|
||||||
viewHolder.description.typeface = getTypeface()
|
|
||||||
}
|
|
||||||
|
|
||||||
//we make sure we reset the image first before setting the new one in case there is an empty one
|
|
||||||
DrawerImageLoader.getInstance().cancelImage(viewHolder.icon)
|
|
||||||
viewHolder.icon.setImageBitmap(null)
|
|
||||||
//get the drawables for our icon and set it
|
|
||||||
ImageHolder.applyTo(icon, viewHolder.icon, "customUrlItem")
|
|
||||||
|
|
||||||
//for android API 17 --> Padding not applied via xml
|
|
||||||
DrawerUIUtils.setDrawerVerticalPadding(viewHolder.view)
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,94 +0,0 @@
|
|||||||
/* From https://github.com/mikepenz/MaterialDrawer/blob/develop/app/src/main/java/com/mikepenz/materialdrawer/app/drawerItems/CustomUrlPrimaryDrawerItem.java */
|
|
||||||
package apps.amine.bou.readerforselfoss.utils.drawer
|
|
||||||
|
|
||||||
import androidx.annotation.LayoutRes
|
|
||||||
import androidx.annotation.StringRes
|
|
||||||
import android.view.View
|
|
||||||
import android.widget.TextView
|
|
||||||
import apps.amine.bou.readerforselfoss.R
|
|
||||||
import com.mikepenz.materialdrawer.holder.BadgeStyle
|
|
||||||
import com.mikepenz.materialdrawer.holder.StringHolder
|
|
||||||
import com.mikepenz.materialdrawer.model.interfaces.ColorfulBadgeable
|
|
||||||
|
|
||||||
class CustomUrlPrimaryDrawerItem :
|
|
||||||
CustomUrlBasePrimaryDrawerItem<CustomUrlPrimaryDrawerItem, CustomUrlPrimaryDrawerItem.ViewHolder>(),
|
|
||||||
ColorfulBadgeable<CustomUrlPrimaryDrawerItem> {
|
|
||||||
protected var mBadge: StringHolder = StringHolder("")
|
|
||||||
protected var mBadgeStyle = BadgeStyle()
|
|
||||||
|
|
||||||
override fun withBadge(badge: StringHolder): CustomUrlPrimaryDrawerItem {
|
|
||||||
this.mBadge = badge
|
|
||||||
return this
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun withBadge(badge: String): CustomUrlPrimaryDrawerItem {
|
|
||||||
this.mBadge = StringHolder(badge)
|
|
||||||
return this
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun withBadge(@StringRes badgeRes: Int): CustomUrlPrimaryDrawerItem {
|
|
||||||
this.mBadge = StringHolder(badgeRes)
|
|
||||||
return this
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun withBadgeStyle(badgeStyle: BadgeStyle): CustomUrlPrimaryDrawerItem {
|
|
||||||
this.mBadgeStyle = badgeStyle
|
|
||||||
return this
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getBadge(): StringHolder {
|
|
||||||
return mBadge
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getBadgeStyle(): BadgeStyle {
|
|
||||||
return mBadgeStyle
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getType(): Int {
|
|
||||||
return R.id.material_drawer_item_custom_url_item
|
|
||||||
}
|
|
||||||
|
|
||||||
@LayoutRes
|
|
||||||
override fun getLayoutRes(): Int {
|
|
||||||
return R.layout.material_drawer_item_primary
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun bindView(viewHolder: ViewHolder, payloads: List<*>?) {
|
|
||||||
super.bindView(viewHolder, payloads)
|
|
||||||
|
|
||||||
val ctx = viewHolder.itemView.context
|
|
||||||
|
|
||||||
//bind the basic view parts
|
|
||||||
bindViewHelper(viewHolder)
|
|
||||||
|
|
||||||
//set the text for the badge or hide
|
|
||||||
val badgeVisible = StringHolder.applyToOrHide(mBadge, viewHolder.badge)
|
|
||||||
//style the badge if it is visible
|
|
||||||
if (badgeVisible) {
|
|
||||||
mBadgeStyle.style(
|
|
||||||
viewHolder.badge,
|
|
||||||
getTextColorStateList(getColor(ctx), getSelectedTextColor(ctx))
|
|
||||||
)
|
|
||||||
viewHolder.badgeContainer.visibility = View.VISIBLE
|
|
||||||
} else {
|
|
||||||
viewHolder.badgeContainer.visibility = View.GONE
|
|
||||||
}
|
|
||||||
|
|
||||||
//define the typeface for our textViews
|
|
||||||
if (getTypeface() != null) {
|
|
||||||
viewHolder.badge.typeface = getTypeface()
|
|
||||||
}
|
|
||||||
|
|
||||||
//call the onPostBindView method to trigger post bind view actions (like the listener to modify the item if required)
|
|
||||||
onPostBindView(this, viewHolder.itemView)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getViewHolder(v: View): ViewHolder {
|
|
||||||
return ViewHolder(v)
|
|
||||||
}
|
|
||||||
|
|
||||||
class ViewHolder(view: View) : CustomBaseViewHolder(view) {
|
|
||||||
val badgeContainer: View = view.findViewById(R.id.material_drawer_badge_container)
|
|
||||||
val badge: TextView = view.findViewById(R.id.material_drawer_badge)
|
|
||||||
}
|
|
||||||
}
|
|
Binary file not shown.
Before Width: | Height: | Size: 20 KiB |
@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
<item name="material_drawer_item_custom_url_item" type="id" />
|
|
||||||
</resources>
|
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
ext {
|
ext {
|
||||||
kotlin_version = '1.3.21'
|
kotlin_version = '1.3.31'
|
||||||
android_version = '1.0.0'
|
android_version = '1.0.0'
|
||||||
androidx_version = '1.0.2'
|
androidx_version = '1.0.2'
|
||||||
lifecycle_version = '2.0.0'
|
lifecycle_version = '2.2.0-alpha01'
|
||||||
room_version = '2.1.0-alpha06'
|
room_version = '2.1.0-beta01'
|
||||||
work_version = "1.0.1-rc01"
|
work_version = "1.0.1-rc01"
|
||||||
}
|
}
|
||||||
repositories {
|
repositories {
|
||||||
|
Loading…
Reference in New Issue
Block a user