diff options
Diffstat (limited to 'platform/android/java/src')
4 files changed, 36 insertions, 6 deletions
| diff --git a/platform/android/java/src/org/godotengine/godot/Godot.java b/platform/android/java/src/org/godotengine/godot/Godot.java index b5b0afb9e0..0d14211bd0 100644 --- a/platform/android/java/src/org/godotengine/godot/Godot.java +++ b/platform/android/java/src/org/godotengine/godot/Godot.java @@ -404,7 +404,7 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC  				new_cmdline = new String[2];  			} -			new_cmdline[cll] = "--main_pack"; +			new_cmdline[cll] = "--main-pack";  			new_cmdline[cll + 1] = expansion_pack_path;  			command_line = new_cmdline;  		} diff --git a/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java b/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java index 6b7f7a283e..d72c590378 100644 --- a/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java +++ b/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java @@ -67,7 +67,7 @@ public class GodotPaymentV3 extends Godot.SingletonBase {  	public GodotPaymentV3(Activity p_activity) { -		registerClass("GodotPayments", new String[] { "purchase", "setPurchaseCallbackId", "setPurchaseValidationUrlPrefix", "setTransactionId", "getSignature", "consumeUnconsumedPurchases", "requestPurchased", "setAutoConsume", "consume", "querySkuDetails" }); +		registerClass("GodotPayments", new String[] { "purchase", "setPurchaseCallbackId", "setPurchaseValidationUrlPrefix", "setTransactionId", "getSignature", "consumeUnconsumedPurchases", "requestPurchased", "setAutoConsume", "consume", "querySkuDetails", "isConnected" });  		activity = (Godot)p_activity;  		mPaymentManager = activity.getPaymentsManager();  		mPaymentManager.setBaseSingleton(this); @@ -164,6 +164,19 @@ public class GodotPaymentV3 extends Godot.SingletonBase {  		GodotLib.calldeferred(purchaseCallbackId, "has_purchased", new Object[] { receipt, signature, sku });  	} +	public void callbackDisconnected() { +		GodotLib.calldeferred(purchaseCallbackId, "iap_disconnected", new Object[]{}); +	} + +	public void callbackConnected() { +		GodotLib.calldeferred(purchaseCallbackId, "iap_connected", new Object[]{}); +	} + +	// true if connected, false otherwise +	public boolean isConnected() { +		return mPaymentManager.isConnected(); +	} +  	// consume item automatically after purchase. default is true.  	public void setAutoConsume(boolean autoConsume) {  		mPaymentManager.setAutoConsume(autoConsume); diff --git a/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java b/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java index 1102ab7450..5d13f17ffb 100644 --- a/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java +++ b/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java @@ -103,13 +103,16 @@ public class GodotTextInputWrapper implements TextWatcher, OnEditorActionListene  	public void onTextChanged(final CharSequence pCharSequence, final int start, final int before, final int count) {  		//Log.d(TAG, "onTextChanged(" + pCharSequence + ")start: " + start + ",count: " + count + ",before: " + before); +		final int[] newChars = new int[count]; +		for (int i = start; i < start + count; ++i) { +			newChars[i - start] = pCharSequence.charAt(i); +		}  		mView.queueEvent(new Runnable() {  			@Override  			public void run() { -				for (int i = start; i < start + count; ++i) { -					final int ch = pCharSequence.charAt(i); -					GodotLib.key(0, ch, true); -					GodotLib.key(0, ch, false); +				for (int i = 0; i < count; ++i) { +					GodotLib.key(0, newChars[i], true); +					GodotLib.key(0, newChars[i], false);  				}  			}  		}); diff --git a/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java b/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java index da6d66ae88..441a311358 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java +++ b/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java @@ -93,11 +93,21 @@ public class PaymentsManager {  		@Override  		public void onServiceDisconnected(ComponentName name) {  			mService = null; + +			// At this stage, godotPaymentV3 might not have been initialized yet. +			if (godotPaymentV3 != null) { +				godotPaymentV3.callbackDisconnected(); +			}  		}  		@Override  		public void onServiceConnected(ComponentName name, IBinder service) {  			mService = IInAppBillingService.Stub.asInterface(service); + +			// At this stage, godotPaymentV3 might not have been initialized yet. +			if (godotPaymentV3 != null) { +				godotPaymentV3.callbackConnected(); +			}  		}  	}; @@ -123,6 +133,10 @@ public class PaymentsManager {  				.purchase(sku, transactionId);  	} +	public boolean isConnected() { +		return mService != null; +	} +  	public void consumeUnconsumedPurchases() {  		new ReleaseAllConsumablesTask(mService, activity) { |