Add: Long Press on Source Icon to copy link

Fix: Installer Spamming coroutines
Remove: Unused Variables and methods/functions
This commit is contained in:
LooKeR
2021-10-26 15:08:34 +05:30
parent 229a7a3c09
commit acc5d78664
8 changed files with 41 additions and 44 deletions

View File

@ -1151,7 +1151,6 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
ViewType.HEADER -> {
holder as HeaderViewHolder
item as Item.HeaderItem
val installedItem = installedItem
val updateStatus = Payload.STATUS in payloads
val updateAll = !updateStatus
if (updateAll) {
@ -1170,8 +1169,6 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
holder.icon.setImageDrawable(holder.defaultIcon)
}
holder.name.text = item.product.name
val canUpdate = item.product.canUpdate(installedItem) &&
!ProductPreferences[item.product.packageName].shouldIgnoreUpdate(item.product.versionCode)
holder.packageName.apply {
text = item.product.packageName
setTextSizeScaled(15)
@ -1264,6 +1261,10 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
holder.dev.setOnClickListener {
context.startActivity(Intent(Intent.ACTION_VIEW, product?.source?.toUri()))
}
holder.dev.setOnLongClickListener {
product?.source?.let { copyLinkToClipboard(context, it) }
true
}
}
ViewType.SWITCH -> {
holder as SwitchViewHolder

View File

@ -16,7 +16,6 @@ import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.appbar.CollapsingToolbarLayout
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.looker.droidify.R
import com.looker.droidify.content.ProductPreferences
@ -329,7 +328,7 @@ class ProductFragment() : ScreenFragment(), ProductAdapter.Callbacks {
(it.layoutManager as LinearLayoutManager).findFirstVisibleItemPosition() != 0
} == true
(toolbar.parent as CollapsingToolbarLayout).title =
collapsingToolbar.title =
if (showPackageName) products[0].first.name.trimAfter(' ', 2)
else getString(R.string.application)
}
@ -372,12 +371,12 @@ class ProductFragment() : ScreenFragment(), ProductAdapter.Callbacks {
if (state is DownloadService.State.Success && isResumed) {
lifecycleScope.launch(Dispatchers.IO) {
state.consume()
AppInstaller
.getInstance(context)?.defaultInstaller?.install(
"",
state.release.cacheFileName
)
}
AppInstaller
.getInstance(context)?.defaultInstaller?.install(
"",
state.release.cacheFileName
)
}
}

View File

@ -5,10 +5,14 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.widget.Toolbar
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.appbar.CollapsingToolbarLayout
import com.looker.droidify.R
open class ScreenFragment : BaseFragment() {
lateinit var toolbar: Toolbar
lateinit var collapsingToolbar: CollapsingToolbarLayout
lateinit var appBar: AppBarLayout
override fun onCreateView(
inflater: LayoutInflater,
@ -17,6 +21,8 @@ open class ScreenFragment : BaseFragment() {
): View? {
val view = inflater.inflate(R.layout.fragment, container, false)
this.toolbar = view.findViewById(R.id.toolbar)
this.collapsingToolbar = view.findViewById(R.id.collapsing_toolbar)
this.appBar = view.findViewById(R.id.appbar_layout)
return view
}
}

View File

@ -13,8 +13,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.appbar.CollapsingToolbarLayout
import com.google.android.material.imageview.ShapeableImageView
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
@ -109,12 +107,6 @@ class TabsFragment : ScreenFragment() {
toolbar.isFocusableInTouchMode = true
val searchView = FocusSearchView(toolbar.context).apply {
setOnSearchClickListener {
((toolbar.parent as CollapsingToolbarLayout).parent as AppBarLayout).setExpanded(
false,
true
)
}
maxWidth = Int.MAX_VALUE
queryHint = getString(R.string.search)
setOnQueryTextListener(object : SearchView.OnQueryTextListener {
@ -131,6 +123,7 @@ class TabsFragment : ScreenFragment() {
return true
}
})
setOnSearchClickListener { appBar.setExpanded(false, true) }
}
toolbar.menu.apply {