fix build

pull/700/head iceraven-2.8.1
akliuxingyuan 10 months ago
parent b45e8cd324
commit 58e0bd107a

@ -19,7 +19,7 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v3
with:
java-version: 11
java-version: 17
distribution: temurin
- name: Install Android SDK with pieces Gradle skips
@ -43,7 +43,7 @@ jobs:
# See <https://stackoverflow.com/a/70010526> and <https://stackoverflow.com/a/70756876>
# The runner seems to have ~6 gigs of memory, so we make sure to stay under that.
# We have Java 11 so we don't have a perm size anymore.
GRADLE_OPTS: -Dorg.gradle.jvmargs="-XX:MaxMetaspaceSize=1g -Xms2g -Xmx4g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dev/stderr"
GRADLE_OPTS: -Dorg.gradle.jvmargs="-XX:MaxMetaspaceSize=2g -Xms1g -Xmx3g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dev/stderr"
with:
gradle-home-cache-cleanup: true
gradle-executable: /usr/bin/time

@ -17,7 +17,7 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v3
with:
java-version: 11
java-version: 17
distribution: temurin
- name: Install Android SDK with pieces Gradle skips
@ -41,7 +41,7 @@ jobs:
# See <https://stackoverflow.com/a/70010526> and <https://stackoverflow.com/a/70756876>
# The runner seems to have ~6 gigs of memory, so we make sure to stay under that.
# We have Java 11 so we don't have a perm size anymore.
GRADLE_OPTS: -Dorg.gradle.jvmargs="-XX:MaxMetaspaceSize=1g -Xms2g -Xmx4g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dev/stderr"
GRADLE_OPTS: -Dorg.gradle.jvmargs="-XX:MaxMetaspaceSize=2g -Xms1g -Xmx3g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/dev/stderr"
with:
gradle-home-cache-cleanup: true
gradle-executable: /usr/bin/time

@ -1 +1 @@
Subproject commit 51fe6a7e4c1e4d01946aadddf21b788e8ce7fff7
Subproject commit 3b06ad6808a63083161cbce1cfbdac71afed2e57

File diff suppressed because one or more lines are too long

@ -6,6 +6,7 @@ package io.github.forkmaintainers.iceraven.components
import android.annotation.SuppressLint
import android.app.Dialog
import android.content.DialogInterface
import android.graphics.Bitmap
import android.graphics.Color
import android.graphics.drawable.BitmapDrawable
@ -68,6 +69,11 @@ class PagedAddonInstallationDialogFragment : AppCompatDialogFragment() {
*/
var onConfirmButtonClicked: ((Addon, Boolean) -> Unit)? = null
/**
* A lambda called when the dialog is dismissed.
*/
var onDismissed: (() -> Unit)? = null
/**
* Reference to the application's [PagedAddonInstallationDialogFragment] to fetch add-on icons.
*/
@ -114,6 +120,11 @@ class PagedAddonInstallationDialogFragment : AppCompatDialogFragment() {
iconJob?.cancel()
}
override fun onCancel(dialog: DialogInterface) {
super.onCancel(dialog)
onDismissed?.invoke()
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val sheetDialog = Dialog(requireContext())
sheetDialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
@ -267,6 +278,7 @@ class PagedAddonInstallationDialogFragment : AppCompatDialogFragment() {
gravity = Gravity.BOTTOM,
shouldWidthMatchParent = true,
),
onDismissed: (() -> Unit)? = null,
onConfirmButtonClicked: ((Addon, Boolean) -> Unit)? = null,
): PagedAddonInstallationDialogFragment {
val fragment = PagedAddonInstallationDialogFragment()
@ -290,6 +302,7 @@ class PagedAddonInstallationDialogFragment : AppCompatDialogFragment() {
}
}
fragment.onConfirmButtonClicked = onConfirmButtonClicked
fragment.onDismissed = onDismissed
fragment.arguments = arguments
fragment.addonCollectionProvider = addonCollectionProvider
return fragment

@ -9,7 +9,11 @@ import android.graphics.Typeface
import android.graphics.fonts.FontStyle.FONT_WEIGHT_MEDIUM
import android.os.Build
import android.os.Bundle
import android.view.Menu
import android.view.MenuInflater
import android.view.MenuItem
import android.view.View
import android.view.inputmethod.EditorInfo
import androidx.annotation.VisibleForTesting
import androidx.appcompat.widget.SearchView
import androidx.core.view.MenuHost
@ -29,9 +33,10 @@ import kotlinx.coroutines.launch
import mozilla.components.concept.engine.webextension.WebExtensionInstallException
import mozilla.components.feature.addons.Addon
import mozilla.components.feature.addons.AddonManagerException
import mozilla.components.feature.addons.ui.AddonsManagerAdapter
import mozilla.components.feature.addons.ui.translateName
import mozilla.components.support.base.feature.ViewBoundFeatureWrapper
import mozilla.components.support.base.log.logger.Logger
import mozilla.components.support.ktx.android.view.hideKeyboard
import org.mozilla.fenix.BuildConfig
import org.mozilla.fenix.Config
import org.mozilla.fenix.R
@ -45,6 +50,7 @@ import org.mozilla.fenix.ext.showToolbar
import org.mozilla.fenix.extension.WebExtensionPromptFeature
import org.mozilla.fenix.theme.ThemeManager
import java.util.concurrent.CancellationException
import java.util.Locale
/**
* Fragment use for managing add-ons.
@ -59,7 +65,6 @@ class AddonsManagementFragment : Fragment(R.layout.fragment_add_ons_management)
private var binding: FragmentAddOnsManagementBinding? = null
private val webExtensionPromptFeature = ViewBoundFeatureWrapper<WebExtensionPromptFeature>()
private var addons: List<Addon> = emptyList()
/**
* Whether or not an add-on installation is in progress.
@ -89,7 +94,7 @@ class AddonsManagementFragment : Fragment(R.layout.fragment_add_ons_management)
webExtensionPromptFeature.set(
feature = WebExtensionPromptFeature(
store = requireComponents.core.store,
provideAddons = { addons },
provideAddons = { addons!! },
context = requireContext(),
fragmentManager = parentFragmentManager,
view = view,

@ -18,7 +18,7 @@ import mozilla.components.browser.state.state.extension.WebExtensionPromptReques
import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.feature.addons.Addon
import mozilla.components.feature.addons.toInstalledState
import mozilla.components.feature.addons.ui.AddonInstallationDialogFragment
import io.github.forkmaintainers.iceraven.components.PagedAddonInstallationDialogFragment as AddonInstallationDialogFragment
import mozilla.components.feature.addons.ui.PermissionsDialogFragment
import mozilla.components.lib.state.ext.flowScoped
import mozilla.components.support.base.feature.LifecycleAwareFeature
@ -34,7 +34,7 @@ import java.lang.ref.WeakReference
*/
class WebExtensionPromptFeature(
private val store: BrowserStore,
private val provideAddons: suspend () -> List<Addon>,
private val provideAddons: suspend () -> List<Addon>?,
private val context: Context,
private val view: View,
private val fragmentManager: FragmentManager,
@ -56,7 +56,7 @@ class WebExtensionPromptFeature(
flow.mapNotNull { state ->
state.webExtensionPromptRequest
}.distinctUntilChanged().collect { promptRequest ->
val addon = provideAddons().find { addon ->
val addon = provideAddons()?.find { addon ->
addon.id == promptRequest.extension.id
}
when (promptRequest) {

Loading…
Cancel
Save