Jelajahi Sumber

Clean up the `GodotPlugin` public API.

Fredia Huya-Kouadio 5 tahun lalu
induk
melakukan
6daf9b78af

+ 1 - 1
platform/android/java/lib/src/org/godotengine/godot/Godot.java

@@ -262,7 +262,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);
 			}

+ 14 - 4
platform/android/java/lib/src/org/godotengine/godot/plugin/GodotPlugin.java

@@ -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.Surface;
 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;
 	}
 

+ 2 - 2
platform/android/java/plugins/godotpayment/src/main/java/org/godotengine/godot/plugin/payment/GodotPayment.java

@@ -67,7 +67,7 @@ public class GodotPayment extends GodotPlugin implements PurchasesUpdatedListene
 		super(godot);
 
 		billingClient = BillingClient
-								.newBuilder(getGodot())
+								.newBuilder(getActivity())
 								.enablePendingPurchases()
 								.setListener(this)
 								.build();
@@ -182,7 +182,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) {