[Jrisk-cvs] SF.net SVN: domination-code:[2721] Domination
Brought to you by:
yuranet
|
From: <yu...@us...> - 2026-01-29 17:51:42
|
Revision: 2721
http://sourceforge.net/p/domination/code/2721
Author: yuranet
Date: 2026-01-29 17:51:39 +0000 (Thu, 29 Jan 2026)
Log Message:
-----------
remove firebase push to put into AndroidME
Modified Paths:
--------------
Domination/android/AndroidManifest.xml
Domination/android/build.gradle
Domination/android/src/net/yura/domination/android/GameActivity.java
Domination/android/src/net/yura/domination/android/push/ADMIntentService.java
Domination/android/src/net/yura/domination/android/push/ADMLegacyIntentService.java
Domination/android/src/net/yura/domination/android/push/ADMServerUtilities.java
Domination/android/src/net/yura/domination/android/push/PushActivity.java
Domination/sharedUI/lib/MiniLobbyClient.jar
Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/DominationMain.java
Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java
Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MiniFlashRiskAdapter.java
Removed Paths:
-------------
Domination/android/src/net/yura/domination/android/push/FCMIntentService.java
Domination/android/src/net/yura/domination/android/push/FCMServerUtilities.java
Domination/android/src/net/yura/domination/android/push/PushRegistrar.java
Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/BackgroundBorder.java
Modified: Domination/android/AndroidManifest.xml
===================================================================
--- Domination/android/AndroidManifest.xml 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/android/AndroidManifest.xml 2026-01-29 17:51:39 UTC (rev 2721)
@@ -51,7 +51,7 @@
android:usesCleartextTraffic="true"
android:requestLegacyExternalStorage="true"
android:preserveLegacyExternalStorage="true"
- >
+ tools:targetApi="8">
<meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" />
<meta-data android:name="com.google.android.backup.api_key" android:value="AEdPqrEAAAAIxe-Rf-f53FlB4U2LIu_xF0lTNJfcWOALXBn1VA" />
@@ -73,14 +73,7 @@
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE"/>
- <service android:name="net.yura.domination.android.push.FCMIntentService"
- android:exported="false">
- <intent-filter>
- <action android:name="com.google.firebase.MESSAGING_EVENT" />
- </intent-filter>
- </service>
-
<activity android:name="net.yura.domination.android.GameActivity"
android:launchMode="singleTask"
android:label="@string/app_name"
@@ -94,7 +87,6 @@
</activity>
<activity android:name="net.yura.domination.android.push.PushActivity" android:theme="@android:style/Theme.NoDisplay"/>
- <activity android:name="net.yura.android.WebViewActivity" android:configChanges="orientation|keyboard|keyboardHidden|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="stateAlwaysHidden" />
<activity android:name="net.yura.domination.android.StatsActivity" android:configChanges="orientation|keyboard|keyboardHidden|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="stateAlwaysHidden" android:theme="@style/Theme" />
<activity android:name="net.yura.domination.android.GamePreferenceActivity" android:configChanges="orientation|keyboard|keyboardHidden|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="stateAlwaysHidden" android:theme="@style/Dialog" />
<activity android:name="net.yura.domination.android.AboutActivity" android:configChanges="orientation|keyboard|keyboardHidden|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="stateAlwaysHidden" android:theme="@style/Theme" />
Modified: Domination/android/build.gradle
===================================================================
--- Domination/android/build.gradle 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/android/build.gradle 2026-01-29 17:51:39 UTC (rev 2721)
@@ -27,7 +27,6 @@
implementation 'com.google.android.gms:play-services-auth:19.0.0'
implementation 'com.google.android.gms:play-services-games:20.0.0'
implementation 'com.google.android.play:app-update:2.1.0'
- implementation 'com.google.firebase:firebase-messaging:21.0.1'
}
android {
Modified: Domination/android/src/net/yura/domination/android/GameActivity.java
===================================================================
--- Domination/android/src/net/yura/domination/android/GameActivity.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/android/src/net/yura/domination/android/GameActivity.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -1,9 +1,7 @@
package net.yura.domination.android;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -41,7 +39,6 @@
import net.yura.domination.engine.translation.TranslationBundle;
import net.yura.domination.mobile.flashgui.DominationMain;
import net.yura.domination.mobile.flashgui.MiniFlashRiskAdapter;
-import net.yura.lobby.client.PushLobbyClient;
import net.yura.lobby.model.Game;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
@@ -194,8 +191,6 @@
}
}
}.start();
-
- handleIntent(getIntent());
}
private void checkIfFullScreenNeeded() {
@@ -221,38 +216,6 @@
}
}
- private void handleIntent(Intent intent) {
- String packageName = AndroidMeApp.getContext().getPackageName();
-
- String gameId = intent.getStringExtra(packageName + "." + PushLobbyClient.GAME_ID);
- String options = intent.getStringExtra(packageName + "." + PushLobbyClient.OPTIONS);
-
- DominationMain dmain = (DominationMain)AndroidMeApp.getMIDlet();
-
- if (gameId != null && dmain != null) {
-
- Map params = new HashMap();
- params.put(PushLobbyClient.GAME_ID, gameId);
- params.put(PushLobbyClient.OPTIONS, options);
-
- // use cross-platform method for opening a notification
- dmain.openNotification(params);
-
- // as we have handled this open game request, clear it
- intent.removeExtra(packageName + "." + PushLobbyClient.GAME_ID);
- intent.removeExtra(packageName + "." + PushLobbyClient.OPTIONS);
- }
- }
-
- /**
- * This is called if we are already open, but user has clicked on a game notification
- */
- @Override
- protected void onNewIntent(Intent intent) {
- super.onNewIntent(intent);
- handleIntent(intent);
- }
-
public static boolean getDefaultFullScreen(Context context) {
return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL;
}
Modified: Domination/android/src/net/yura/domination/android/push/ADMIntentService.java
===================================================================
--- Domination/android/src/net/yura/domination/android/push/ADMIntentService.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/android/src/net/yura/domination/android/push/ADMIntentService.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -3,6 +3,7 @@
import java.util.HashMap;
import java.util.Map;
import javax.microedition.midlet.MIDlet;
+import net.yura.android.push.PushRegistrar;
import net.yura.domination.R;
import net.yura.lobby.client.PushLobbyClient;
import net.yura.lobby.mini.MiniLobbyClient;
Modified: Domination/android/src/net/yura/domination/android/push/ADMLegacyIntentService.java
===================================================================
--- Domination/android/src/net/yura/domination/android/push/ADMLegacyIntentService.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/android/src/net/yura/domination/android/push/ADMLegacyIntentService.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -3,6 +3,7 @@
import android.content.Intent;
import android.os.Bundle;
import com.amazon.device.messaging.ADMMessageHandlerBase;
+import net.yura.android.push.PushRegistrar;
import net.yura.domination.R;
import net.yura.lobby.client.PushLobbyClient;
import java.util.HashMap;
Modified: Domination/android/src/net/yura/domination/android/push/ADMServerUtilities.java
===================================================================
--- Domination/android/src/net/yura/domination/android/push/ADMServerUtilities.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/android/src/net/yura/domination/android/push/ADMServerUtilities.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -3,6 +3,7 @@
import java.util.logging.Logger;
import android.content.Context;
import com.amazon.device.messaging.ADM;
+import net.yura.android.push.PushRegistrar;
import net.yura.lobby.client.Connection;
import net.yura.lobby.client.PushLobbyClient;
Deleted: Domination/android/src/net/yura/domination/android/push/FCMIntentService.java
===================================================================
--- Domination/android/src/net/yura/domination/android/push/FCMIntentService.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/android/src/net/yura/domination/android/push/FCMIntentService.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -1,75 +0,0 @@
-package net.yura.domination.android.push;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.logging.Level;
-import javax.microedition.midlet.MIDlet;
-import net.yura.domination.R;
-import net.yura.lobby.client.PushLobbyClient;
-import net.yura.lobby.mini.MiniLobbyClient;
-import com.google.firebase.messaging.FirebaseMessagingService;
-import com.google.firebase.messaging.RemoteMessage;
-import androidx.annotation.NonNull;
-
-public class FCMIntentService extends FirebaseMessagingService {
-
- /**
- * This gets called from inside the FirebaseMessagingService, so we dont want to throw into there.
- */
- @Override
- public void onNewToken(@NonNull String registrationId) {
- try {
- FCMServerUtilities.logger.info("Device registered: FCM regId = " + registrationId);
- PushRegistrar.setRegisteredOnServer(null);
- FCMServerUtilities.registerOnLobbyServer(registrationId);
- }
- catch (Exception ex) {
- FCMServerUtilities.logger.log(Level.WARNING, "failed to handle onNewToken " + registrationId, ex);
- }
- }
-
- /**
- * @see MiniLobbyClient#notify(net.yura.lobby.model.Game, boolean)
- */
- @Override
- public void onMessageReceived(@NonNull RemoteMessage remoteMessage){
- String from = remoteMessage.getFrom();
- Map<String, String> data = remoteMessage.getData();
-
- String msg = data.get(PushLobbyClient.MESSAGE);
- String gameId = data.get(PushLobbyClient.GAME_ID);
- String options = data.get(PushLobbyClient.OPTIONS);
-
- String message = msg==null?"Received message":msg;
- FCMServerUtilities.logger.info(from + ": " + message);
- // notifies user
- Map<String, Object> extras = new HashMap();
-
- if (gameId != null) {
- extras.put(PushLobbyClient.GAME_ID, gameId);
- }
- if (options != null) {
- extras.put(PushLobbyClient.OPTIONS, options);
- }
- MIDlet.showNotification(this.getString(R.string.app_name), message, R.drawable.icon, -1, extras);
- }
-
- @Override
- public void onDeletedMessages() {
- String message = "Received deleted messages notification ";
- FCMServerUtilities.logger.info(message);
- // notifies user
- MIDlet.showNotification(this.getString(R.string.app_name), message, R.drawable.icon, -1, Collections.EMPTY_MAP);
- }
-
- @Override
- public void onSendError(@NonNull String s, @NonNull Exception ex) {
- FCMServerUtilities.logger.info("Received error: " + s + " " + ex);
- }
-
- @Override
- public void onMessageSent(@NonNull String s) {
- FCMServerUtilities.logger.info("onMessageSent: "+s);
- }
-}
Deleted: Domination/android/src/net/yura/domination/android/push/FCMServerUtilities.java
===================================================================
--- Domination/android/src/net/yura/domination/android/push/FCMServerUtilities.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/android/src/net/yura/domination/android/push/FCMServerUtilities.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -1,135 +0,0 @@
-package net.yura.domination.android.push;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import android.os.Build;
-import android.widget.Toast;
-import androidx.annotation.NonNull;
-import com.google.android.gms.tasks.OnCompleteListener;
-import com.google.android.gms.tasks.Task;
-import com.google.firebase.messaging.FirebaseMessaging;
-import net.yura.lobby.client.Connection;
-import net.yura.lobby.client.PushLobbyClient;
-
-public class FCMServerUtilities implements PushLobbyClient {
-
- static final Logger logger = Logger.getLogger(FCMServerUtilities.class.getName());
-
- public static void setup() {
- logger.info("FCM setup - requesting token");
-
- // Firebase does not support anything less then API-14
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
- logger.info("Firebase does not support push notifications on API < 14");
- return;
- }
- // can not use this check as sometimes even if this is not SUCCESS, push still works fine
- //if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this) == ConnectionResult.SUCCESS) {
-
- FirebaseMessaging.getInstance().getToken()
- .addOnCompleteListener(new OnCompleteListener<String>() {
- @Override
- public void onComplete(@NonNull Task<String> task) {
- if (!task.isSuccessful()) {
- // something went wrong, should we request to register? it should do this automatically
- // FirebaseMessaging.getInstance().setAutoInitEnabled(true);
-
- Exception exception = task.getException();
- Level level = Level.WARNING;
- // for some strange reason this comes back as IOException
- if (exception != null && (
- // this is returned when GMS is not installed
- "MISSING_INSTANCEID_SERVICE".equals(exception.getMessage()) ||
-
- // this can happen when the phones date/time is incorrect
- // TODO maybe prompt user to check phone date/time
- // TODO also some report that retrying can fix this issue
- "SERVICE_NOT_AVAILABLE".equals(exception.getMessage())
-
- // not sure why this sometimes happens
- //"FIS_AUTH_ERROR".equals(exception.getMessage())
- )) {
- level = Level.INFO;
- }
-
- if (exception != null && "TOO_MANY_REGISTRATIONS".equals(exception.getMessage())) {
- if (net.yura.android.AndroidMeActivity.DEFAULT_ACTIVITY != null) {
- javax.microedition.midlet.MIDlet.showToast("FCM Error: TOO_MANY_REGISTRATIONS, try uninstalling some apps for notifications to work or reset the device to factory settings", Toast.LENGTH_LONG);
- }
- // nothing we can do about this, and this error happens on too many devices, even during play store review
- level = Level.INFO;
- }
-
- logger.log(level, "Fetching FCM registration token failed", exception);
- return;
- }
-
- // Get new Instance ID token
- String token = task.getResult();
-
- if (PushRegistrar.isRegisteredOnServer(token)) {
- logger.info("FCM Already registered");
- }
- else {
- FCMServerUtilities.registerOnLobbyServer(token);
- }
- }
- });
- }
-
- public static void delete() {
-
- // not really sure this is correct, but its not currently used, so who cares
- FirebaseMessaging.getInstance().deleteToken()
- .addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(@NonNull Task<Void> task) {
- if (!task.isSuccessful()) {
- logger.log(Level.WARNING, "FCM deleteToken failed", task.getException());
- return;
- }
-
- logger.info("FCM Device unregistered");
- if (PushRegistrar.isRegisteredOnServer(null)) {
- FCMServerUtilities.unregisterOnLobbyServer();
- }
- else {
- // This callback results from the call to unregister made on
- // ServerUtilities when the registration to the server failed.
- logger.info("FCM Ignoring unregister callback");
- }
- }
- });
- }
-
-
-
-
-
-
- public static void registerOnLobbyServer(String registrationId) {
- Connection con = PushActivity.getLobbyConnection();
- if (con != null) {
- con.addPushEventListener(new FCMServerUtilities(registrationId));
- con.setPushToken(PUSH_SYSTEM_FCM, registrationId);
- }
- }
-
- public static void unregisterOnLobbyServer() {
- Connection con = PushActivity.getLobbyConnection();
- if (con != null) {
- con.addPushEventListener(new FCMServerUtilities(null));
- con.setPushToken(PUSH_SYSTEM_FCM, null);
- }
- }
-
- String token;
- public FCMServerUtilities(String token) {
- this.token = token;
- }
-
- @Override
- public void registerDone() {
- PushRegistrar.setRegisteredOnServer(token);
- }
-}
Modified: Domination/android/src/net/yura/domination/android/push/PushActivity.java
===================================================================
--- Domination/android/src/net/yura/domination/android/push/PushActivity.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/android/src/net/yura/domination/android/push/PushActivity.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -4,10 +4,12 @@
import android.app.Activity;
import android.os.Bundle;
import net.yura.android.AndroidMeApp;
+import net.yura.android.push.FCMServerUtilities;
import net.yura.domination.mobile.flashgui.DominationMain;
import net.yura.domination.mobile.flashgui.MiniFlashRiskAdapter;
import net.yura.lobby.client.Connection;
import net.yura.lobby.mini.MiniLobbyClient;
+import net.yura.mobile.gui.Application;
/**
* this activity is started when we connect to the lobby server
@@ -18,7 +20,7 @@
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
- FCMServerUtilities.setup();
+ Application.getInstance().platformRequest("notify://getToken");
}
catch (Throwable th) {
FCMServerUtilities.logger.log(Level.WARNING, "FCM fail", th);
Deleted: Domination/android/src/net/yura/domination/android/push/PushRegistrar.java
===================================================================
--- Domination/android/src/net/yura/domination/android/push/PushRegistrar.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/android/src/net/yura/domination/android/push/PushRegistrar.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -1,72 +0,0 @@
-package net.yura.domination.android.push;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
-import net.yura.android.AndroidPreferences;
-import java.util.prefs.Preferences;
-
-/**
- * @see com.google.android.gcm.GCMRegistrar
- */
-public class PushRegistrar {
-
- public static final long DEFAULT_ON_SERVER_LIFESPAN_MS = 604800000L; // 7 days
-
- private static final String KEY = "onServerToken";
- private static final String PROPERTY_ON_SERVER_EXPIRATION_TIME = "onServerExpirationTime";
-
- /**
- * onNewToken may be called when the app is not running and there is no activity
- * so we do not want to use the ones in DominationMain as that may be null
- * @see net.yura.domination.mobile.flashgui.DominationMain#appPreferences
- */
- private static Preferences getFCMPreferences() {
- Context context = net.yura.android.AndroidMeApp.getContext();
- SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
- return new AndroidPreferences(sharedPreferences);
- }
-
- /**
- * @see com.google.android.gcm.GCMRegistrar#isRegisteredOnServer(Context)
- */
- public static boolean isRegisteredOnServer(String token) {
- Preferences preferences = getFCMPreferences();
-
- String dbtoken = preferences.get(KEY, null);
- if (token == null) {
- // if token is null we want to find out if we are registered on the server at all
- return dbtoken != null;
- }
- boolean isRegistered = token.equals(dbtoken);
- if (isRegistered) {
- long expirationTime = preferences.getLong(PROPERTY_ON_SERVER_EXPIRATION_TIME, -1L);
- if (System.currentTimeMillis() > expirationTime) {
- return false;
- }
- }
- return isRegistered;
- }
-
- /**
- * @see com.google.android.gcm.GCMRegistrar#setRegisteredOnServer(Context, boolean)
- */
- public static void setRegisteredOnServer(String token) {
- Preferences preferences = getFCMPreferences();
-
- if (token == null) {
- preferences.remove(KEY);
- preferences.remove(PROPERTY_ON_SERVER_EXPIRATION_TIME);
- }
- else {
- preferences.put(KEY, token);
- preferences.putLong(PROPERTY_ON_SERVER_EXPIRATION_TIME, System.currentTimeMillis() + DEFAULT_ON_SERVER_LIFESPAN_MS);
- }
- try {
- preferences.flush();
- }
- catch (Exception ex) {
- ex.printStackTrace();
- }
- }
-}
Modified: Domination/sharedUI/lib/MiniLobbyClient.jar
===================================================================
(Binary files differ)
Deleted: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/BackgroundBorder.java
===================================================================
--- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/BackgroundBorder.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/BackgroundBorder.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -1,48 +0,0 @@
-package net.yura.domination.mobile.flashgui;
-
-import javax.microedition.lcdui.Image;
-import net.yura.mobile.gui.Graphics2D;
-import net.yura.mobile.gui.border.Border;
-import net.yura.mobile.gui.components.Component;
-
-/**
- * @author Yura
- */
-public class BackgroundBorder implements Border {
-
- Image img;
-
- public BackgroundBorder(Image i) {
- img = i;
- }
-
- public void paintBorder(Component cmpnt, Graphics2D g, int w, int h) {
- double s = Math.max(h / (double) img.getHeight(), w / (double) img.getWidth());
-
- // need to round up or we may end up not covering the bottom row of pixels
- int dw = (int) Math.ceil(img.getWidth() * s);
- int dh = (int) Math.ceil(img.getHeight() * s);
-
- g.drawScaledImage(img, (w - dw) / 2, (h - dh) / 2, dw, dh);
- }
-
- public int getTop() {
- return 0;
- }
-
- public int getBottom() {
- return 0;
- }
-
- public int getRight() {
- return 0;
- }
-
- public int getLeft() {
- return 0;
- }
-
- public boolean isBorderOpaque() {
- return true;
- }
-}
Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/DominationMain.java
===================================================================
--- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/DominationMain.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/DominationMain.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -586,25 +586,49 @@
}
}
- public void pushNotificationsToken(String token) {
+ public void pushNotificationsToken(String system, String token) {
+ logger.info("Push Token " + system + " " + token);
- if (Application.getPlatform() == Application.PLATFORM_IOS) {
+ // we only request the token once we have connected
+ MiniLobbyClient lobby = adapter.lobby;
- String apsEnvironment = System.getProperty("aps-environment");
+ // if the user has closed the lobby by the time we get the token we have nothing we can do
+ if (lobby != null) {
+ if (Application.getPlatform() == Application.PLATFORM_IOS) {
- logger.info("Apple Push Token " + apsEnvironment + " " + token);
+ // if this is a dev build, this token will ONLY work on apples sandbox push server
+ if ("APN_DEV".equals(system)) {
+ token = "sandbox-" + token;
+ }
- // if this is a dev build, this token will ONLY work on apples sandbox push server
- if ("development".equals(apsEnvironment)) {
- token = "sandbox-" + token;
- }
+ // TODO do we care? do we need to save this? what will we do with this next?
+ lobby.mycom.addPushEventListener(new PushLobbyClient() {
+ @Override
+ public void registerDone() {
+ logger.info("ios getToken registerDone");
+ //Preferences prefs = LobbySettings.getLobbyPreferences();
+ //prefs.putBoolean("APNTokenSent", true);
+ //LobbySettings.saveSettings(prefs);
+ }
+ });
- // we only request the token once we have connected
- MiniLobbyClient lobby = adapter.lobby;
- // if the user has closed the lobby by the time we get the token we have nothing we can do
- if (lobby != null) {
lobby.mycom.setPushToken(PushLobbyClient.PUSH_SYSTEM_APN, token);
}
+ else if (Application.getPlatform() == Application.PLATFORM_ANDROID) {
+
+ String myToken = token;
+ lobby.mycom.addPushEventListener(new PushLobbyClient() {
+ @Override
+ public void registerDone() {
+ try {
+ Application.getInstance().platformRequest("notify://setRegisteredOnServer/" + myToken);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ lobby.mycom.setPushToken(system, token);
+ }
}
}
Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java
===================================================================
--- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MainMenu.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -13,6 +13,7 @@
import net.yura.mobile.gui.ActionListener;
import net.yura.mobile.gui.DesktopPane;
import net.yura.mobile.gui.Application;
+import net.yura.mobile.gui.border.BackgroundBorder;
import net.yura.mobile.gui.border.Border;
import net.yura.mobile.gui.border.EdgeToEdgeBorder;
import net.yura.mobile.gui.components.Button;
Modified: Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MiniFlashRiskAdapter.java
===================================================================
--- Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MiniFlashRiskAdapter.java 2026-01-27 16:22:34 UTC (rev 2720)
+++ Domination/sharedUI/src_mini_game_ui/net/yura/domination/mobile/flashgui/MiniFlashRiskAdapter.java 2026-01-29 17:51:39 UTC (rev 2721)
@@ -10,6 +10,7 @@
import net.yura.domination.mobile.flashgui.DominationMain.GooglePlayGameServices;
import net.yura.mobile.gui.ActionListener;
import net.yura.mobile.gui.Application;
+import net.yura.mobile.gui.DesktopPane;
import net.yura.mobile.gui.Icon;
import net.yura.mobile.gui.components.Button;
import net.yura.mobile.gui.components.Frame;
@@ -104,8 +105,26 @@
public void removeSpectator(String player) { }
@Override
public void renameSpectator(String oldname, String newname, int newtype) { }
- } );
+ } ) {
+ @Override
+ protected void requestPushToken() {
+ if (Application.getPlatform() == Application.PLATFORM_ANDROID) {
+ // as we use android activity API, we want to ONLY launch a new activity if we are showing
+ // if we are in the background, we may not have an activity, and
+ if (DesktopPane.getDesktopPane().isShown()) {
+ // TODO fix me, seems to be hard coded to Domination class!!!
+ Application.openURL("nativeNoResult://net.yura.domination.android.push.PushActivity");
+ } else {
+ Logger.info("DesktopPane NOT shown! NOT calling PushActivity!");
+ }
+ }
+ else {
+ super.requestPushToken();
+ }
+ }
+ };
+
updatePlayGamesInfo();
lobby.connect(net.yura.lobby.mini.MiniLobbyClient.LOBBY_SERVER);
|