diff --git a/xwords4/android/XWords4-dbg/AndroidManifest.xml b/xwords4/android/XWords4-dbg/AndroidManifest.xml index ae93b91a1..be9026852 100644 --- a/xwords4/android/XWords4-dbg/AndroidManifest.xml +++ b/xwords4/android/XWords4-dbg/AndroidManifest.xml @@ -22,7 +22,7 @@ to come from a domain that you own or have control over. --> diff --git a/xwords4/android/XWords4/AndroidManifest.xml b/xwords4/android/XWords4/AndroidManifest.xml index 33bc5d62e..5b0a4f455 100644 --- a/xwords4/android/XWords4/AndroidManifest.xml +++ b/xwords4/android/XWords4/AndroidManifest.xml @@ -22,7 +22,7 @@ to come from a domain that you own or have control over. --> diff --git a/xwords4/android/XWords4/assets/changes.html b/xwords4/android/XWords4/assets/changes.html index 014a45e00..738a70a7d 100644 --- a/xwords4/android/XWords4/assets/changes.html +++ b/xwords4/android/XWords4/assets/changes.html @@ -13,10 +13,10 @@ -

Crosswords 4.4 beta 98 release

+

Crosswords 4.4 beta 99 release

-

This release is mostly to get the new Dutch translation out - there, and to catch up Catalan and French.

+

This is a quick-fix release for Bluetooth on Android + Marshmallow.

Please take @@ -26,23 +26,10 @@

New with this release

    -
  • Complete and up-to-date translations into Dutch, French and - Catalan. What language is next?
  • - -
  • Allow copying invitation URL to clipboard so you can paste - it into any messaging app you like
  • - -
  • Improvements to in-game chat experience (but more are coming)
  • - -
  • Show a "toast" when hint button can't find any moves
  • - -
  • Add SMS to the list of ways you can invite somebody
  • - -
  • When displaying Bluetooth-connected devices to invite, skip - stuff like headphones
  • -
  • Turn off email invite attachments. They didn't seem to work anyway, - and aren't needed on modern Android.
  • -
  • Fix very old memory leak
  • +
  • Work around "security" change that broke Bluetooth + invitations and gameplay on the latest Android release + ("Marshmallow").
  • +
  • Fix crash choosing menu at the wrong time

(The full changelog @@ -51,8 +38,9 @@

Next up

  • Offer "Rematch" when game's over (Easy via - SMS and Bluetooth; harder via the internet/relay)
  • -
  • Look into supporting play via peer-to-peer wifi
  • + SMS and Bluetooth; harder via the internet/relay) +
  • Take advantage of Marshmallow's new permissions model (where + the app only asks for them when it needs them.)

Please let me know diff --git a/xwords4/android/XWords4/res/values/app_name.xml b/xwords4/android/XWords4/res/values/app_name.xml index 6cb1ce6b9..51e7b86fe 100644 --- a/xwords4/android/XWords4/res/values/app_name.xml +++ b/xwords4/android/XWords4/res/values/app_name.xml @@ -1,5 +1,5 @@ - 4.4 beta 98 + 4.4 beta 99 diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BTService.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BTService.java index 9288062e6..dbc0fd031 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BTService.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BTService.java @@ -291,6 +291,7 @@ public class BTService extends XWService { public static void inviteRemote( Context context, String btAddr, NetLaunchInfo nli ) { + Assert.assertTrue( null != btAddr && 0 < btAddr.length() ); Intent intent = getIntentTo( context, BTAction.INVITE ); String nliData = nli.toString(); intent.putExtra( GAMEDATA_KEY, nliData ); @@ -316,16 +317,20 @@ public class BTService extends XWService { CommsAddrRec targetAddr, int gameID ) { int nSent = -1; - if ( null != targetAddr ) { - String btAddr = getSafeAddr( targetAddr ); + Assert.assertNotNull( targetAddr ); + String btAddr = getSafeAddr( targetAddr ); + if ( null != btAddr && 0 < btAddr.length() ) { Intent intent = getIntentTo( context, BTAction.SEND ); intent.putExtra( MSG_KEY, buf ); intent.putExtra( ADDR_KEY, btAddr ); intent.putExtra( GAMEID_KEY, gameID ); context.startService( intent ); nSent = buf.length; - } else { - DbgUtils.logf( "BTService.enqueueFor(): targetAddr is null" ); + } + + if ( -1 == nSent ) { + DbgUtils.logf( "BTService.enqueueFor(): can't send to %s", + targetAddr.bt_hostName ); } return nSent; } @@ -687,7 +692,6 @@ public class BTService extends XWService { } btAddr = s_namesToAddrs.get( btName ); - DbgUtils.logf( "lookupAddr(%s) => %s", btName, btAddr ); } return btAddr; } diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java index 8ed4853e9..f18ec62db 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameUtils.java @@ -1090,8 +1090,8 @@ public class GameUtils { { if ( null != bmr ) { Intent intent = GamesListDelegate.makeRowidIntent( context, rowid ); - String msg; - int titleID; + String msg = null; + int titleID = 0; if ( null != bmr.m_chat ) { titleID = R.string.notify_chat_title_fmt; if ( null != bmr.m_chatFrom ) { @@ -1101,13 +1101,16 @@ public class GameUtils { } else { msg = bmr.m_chat; } - } else { + } else if ( null != bmr.m_lmi ) { titleID = R.string.notify_title_fmt; - msg = bmr.m_lmi.format( context ); + msg = bmr.m_lmi.format( context ); // NPE + } + + if ( 0 != titleID ) { + String title = LocUtils.getString( context, titleID, + getName( context, rowid ) ); + Utils.postNotification( context, intent, title, msg, (int)rowid ); } - String title = LocUtils.getString( context, titleID, - getName( context, rowid ) ); - Utils.postNotification( context, intent, title, msg, (int)rowid ); } else { DbgUtils.logdf( "postMoveNotification(): posting nothing for lack" + " of brm" );