add install addon functionality
This commit is contained in:
+12
@@ -24,4 +24,16 @@ class GeckoAddonsApiImpl(private val context: Context) : GeckoAddonsApi {
|
||||
WebExtensionActionType.PAGE -> components.features.webExtensionToolbarFeature.invokeAddonPageAction(extensionId)
|
||||
}
|
||||
}
|
||||
|
||||
override fun installAddon(url: String, callback: (Result<Unit>) -> Unit) {
|
||||
components.core.addonManager.installAddon(
|
||||
url = url,
|
||||
onSuccess = { _ ->
|
||||
callback(Result.success(Unit))
|
||||
},
|
||||
onError = { e ->
|
||||
callback(Result.failure(e))
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
+572
-130
File diff suppressed because it is too large
Load Diff
@@ -39,6 +39,10 @@ class GeckoAddonService extends GeckoAddonEvents {
|
||||
return _api.invokeAddonAction(extensionId, actionType);
|
||||
}
|
||||
|
||||
Future<void> installAddon(Uri url) {
|
||||
return _api.installAddon(url.toString());
|
||||
}
|
||||
|
||||
@override
|
||||
void onRemoveWebExtensionAction(
|
||||
int timestamp,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1058,6 +1058,9 @@ abstract class GeckoAddonsApi {
|
||||
void startAddonManagerActivity();
|
||||
|
||||
void invokeAddonAction(String extensionId, WebExtensionActionType actionType);
|
||||
|
||||
@async
|
||||
void installAddon(String url);
|
||||
}
|
||||
|
||||
@FlutterApi()
|
||||
|
||||
Reference in New Issue
Block a user