Clean up the GodotPlugin public API.

This commit is contained in:
Fredia Huya-Kouadio 2020-06-15 09:17:43 -07:00
parent 50c4834548
commit 61aa477e1c
3 changed files with 17 additions and 7 deletions

View File

@ -371,7 +371,7 @@ public abstract class Godot extends FragmentActivity implements SensorEventListe
// Include the returned non-null views in the Godot view hierarchy.
for (GodotPlugin plugin : pluginRegistry.getAllPlugins()) {
View pluginView = plugin.onMainCreateView(this);
View pluginView = plugin.onMainCreate(this);
if (pluginView != null) {
layout.addView(pluginView);
}

View File

@ -35,6 +35,7 @@ import org.godotengine.godot.Godot;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
@ -92,6 +93,14 @@ public abstract class GodotPlugin {
return godot;
}
/**
* Provides access to the underlying {@link Activity}.
*/
@Nullable
protected Activity getActivity() {
return godot;
}
/**
* Register the plugin with Godot native code.
*
@ -145,13 +154,14 @@ public abstract class GodotPlugin {
* Invoked once during the Godot Android initialization process after creation of the
* {@link org.godotengine.godot.GodotView} view.
* <p>
* This method should be overridden by descendants of this class that would like to add
* their view/layout to the Godot view hierarchy.
* The plugin can return a non-null {@link View} layout in order to add it to the Godot view
* hierarchy.
*
* @return the view to be included; null if no views should be included.
* @see Activity#onCreate(Bundle)
* @return the plugin's view to be included; null if no views should be included.
*/
@Nullable
public View onMainCreateView(Activity activity) {
public View onMainCreate(Activity activity) {
return null;
}

View File

@ -68,7 +68,7 @@ public class GodotPayment extends GodotPlugin implements PurchasesUpdatedListene
super(godot);
billingClient = BillingClient
.newBuilder(getGodot())
.newBuilder(getActivity())
.enablePendingPurchases()
.setListener(this)
.build();
@ -183,7 +183,7 @@ public class GodotPayment extends GodotPlugin implements PurchasesUpdatedListene
.setSkuDetails(skuDetails)
.build();
BillingResult result = billingClient.launchBillingFlow(getGodot(), purchaseParams);
BillingResult result = billingClient.launchBillingFlow(getActivity(), purchaseParams);
Dictionary returnValue = new Dictionary();
if (result.getResponseCode() == BillingClient.BillingResponseCode.OK) {