From dd7a2f476babcb17cd96486f9b1a3ac3e088a26f Mon Sep 17 00:00:00 2001 From: aminecmi Date: Sun, 12 May 2019 21:07:05 +0200 Subject: [PATCH] Fixed an issue with compilation not working. --- app/build.gradle | 10 +- .../bou/readerforselfoss/HomeActivity.kt | 38 +++--- .../drawer/CustomUrlBasePrimaryDrawerItem.kt | 112 ------------------ .../drawer/CustomUrlPrimaryDrawerItem.kt | 94 --------------- app/src/main/res/drawable/web_hi_res_512.png | Bin 20064 -> 0 bytes app/src/main/res/values/ids.xml | 4 - build.gradle | 6 +- 7 files changed, 26 insertions(+), 238 deletions(-) delete mode 100644 app/src/main/java/apps/amine/bou/readerforselfoss/utils/drawer/CustomUrlBasePrimaryDrawerItem.kt delete mode 100644 app/src/main/java/apps/amine/bou/readerforselfoss/utils/drawer/CustomUrlPrimaryDrawerItem.kt delete mode 100644 app/src/main/res/drawable/web_hi_res_512.png delete mode 100644 app/src/main/res/values/ids.xml diff --git a/app/build.gradle b/app/build.gradle index ab7cb40..caa4c1d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -118,7 +118,7 @@ dependencies { implementation 'com.burgstaller:okhttp-digest:1.12' // 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.amulyakhare:com.amulyakhare.textdrawable:1.0.1' @@ -131,17 +131,17 @@ dependencies { // Themes 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' // Pager 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 - implementation 'ch.acra:acra-http:5.2.1' - implementation 'ch.acra:acra-dialog:5.2.1' + implementation 'ch.acra:acra-http:5.3.0' + implementation 'ch.acra:acra-dialog:5.3.0' implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version" diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/HomeActivity.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/HomeActivity.kt index 6afffb4..3fc09e2 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/HomeActivity.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/HomeActivity.kt @@ -4,24 +4,21 @@ import android.content.Context import android.content.Intent import android.content.SharedPreferences import android.graphics.Color +import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.GradientDrawable import android.net.Uri import android.os.Build import android.os.Bundle 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.MenuItem import android.view.View 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.work.Constraints 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.ItemListAdapter import apps.amine.bou.readerforselfoss.adapters.ItemsAdapter -import apps.amine.bou.readerforselfoss.api.selfoss.Item -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.api.selfoss.* import apps.amine.bou.readerforselfoss.background.LoadingWorker import apps.amine.bou.readerforselfoss.persistence.database.AppDatabase 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.removeBadge 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.longHash 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.BottomNavigationItem import com.ashokvarma.bottomnavigation.TextBadgeItem +import com.bumptech.glide.Glide import com.ftinc.scoop.Scoop import com.mikepenz.aboutlibraries.Libs import com.mikepenz.aboutlibraries.LibsBuilder @@ -619,18 +611,24 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { } } else { for (tag in maybeSources) { - drawer.addItem( - CustomUrlPrimaryDrawerItem() + val item = PrimaryDrawerItem() .withName(tag.title) .withIdentifier(tag.id.toLong()) - .withIcon(tag.getIcon(this@HomeActivity)) .withOnDrawerItemClickListener { _, _, _ -> allItems = ArrayList() maybeSourceFilter = tag getElementsAccordingToTab() 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) + } } } diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/drawer/CustomUrlBasePrimaryDrawerItem.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/utils/drawer/CustomUrlBasePrimaryDrawerItem.kt deleted file mode 100644 index f8b74c8..0000000 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/drawer/CustomUrlBasePrimaryDrawerItem.kt +++ /dev/null @@ -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 : - BaseDrawerItem() { - 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) - } -} diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/drawer/CustomUrlPrimaryDrawerItem.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/utils/drawer/CustomUrlPrimaryDrawerItem.kt deleted file mode 100644 index c4bb2b5..0000000 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/drawer/CustomUrlPrimaryDrawerItem.kt +++ /dev/null @@ -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(), - ColorfulBadgeable { - 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) - } -} \ No newline at end of file diff --git a/app/src/main/res/drawable/web_hi_res_512.png b/app/src/main/res/drawable/web_hi_res_512.png deleted file mode 100644 index a14947922a8fc6ec74e26b77bb1a8dc6629ad9de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20064 zcmcG#^l%xt0f*@>23eq45 z!X^d{Q)-UI_c5NY_wDxi2fn|s0grRe75D2p*L6SVk#28m#mync0RRB^nbYRy0RReq zg#v6W;Kz3K1R4Ag4Y#-$?ik_|9(DbeH(=@&;^8fQCg{4a_j&K@UNJX6c^d(ME%c1J zsZ;dKT0v~>QI~kU-EcfU{;L1zSta&$4nFTSX?Al_i6fVe*-FepzayS2vWXl^aJrKd z+AXBO%tE`H?uk=X;L-DTzM=5ehWW&uESt63+wQn7uNbz>7g0OzFDFel=JsF2`r4AW zt%t++!iU3$w|_hz$J7LbZ_e%KZj8?@Zc(X2o6qH#PO-@(^Zoz-!z*1P4`)rChV7}o zmkN$_Q<#`KpLY3f9Q?%R{nhh%<2-d0I%-P~&&X}oLFsRl-x0*^B1)#P=at|LkLA4Y z`IBaPv$?n2vPP!DHl{co$35obnX!jsh97ObkK3*Zj$J)-JAw;1d-xCXgZQ7+aQ~(g z7xwZzJVSJaiFbSeHJ}I0E8w*hFK?sSEooMZyltsG_&LLDL+Q7#lO+M>#iRxt7o|nL zmoia?Rwgi$!vyAnKljDGfYb5gES7lRv7?SgSNho`3f#Cv(ZO#CcE)|5 zAzT0vyXVssMlP0!YP}4)AN3MIQ5JK`w3;F$$4$VxDrLLa}yKEG`oOm%} zzd874CHcciTHj&#mg*Y=QIvrtZKa2P6~2ND2%OUdZd)E@v3OKw@t~A`hMwaNgy%sk zGnlefjx2e@uFU--q&I!z7E%Km(mtq%|UvqDkv==-yRa0k|{l8&XfHO8y zM(>*O`_tTs8B;wz^iP^
  • 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 diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml deleted file mode 100644 index 201f9a0..0000000 --- a/app/src/main/res/values/ids.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/build.gradle b/build.gradle index ce7aefa..b42660c 100644 --- a/build.gradle +++ b/build.gradle @@ -2,11 +2,11 @@ buildscript { ext { - kotlin_version = '1.3.21' + kotlin_version = '1.3.31' android_version = '1.0.0' androidx_version = '1.0.2' - lifecycle_version = '2.0.0' - room_version = '2.1.0-alpha06' + lifecycle_version = '2.2.0-alpha01' + room_version = '2.1.0-beta01' work_version = "1.0.1-rc01" } repositories {