mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-02-04 20:46:28 +01:00
listen for invite alert dismiss
Because I'm doing a singleton thing, if I miss the alert going away I won't up another up. This tries to always catch dismissal. Might still be screwed if it's not actually put up for some reason. Needs testing.
This commit is contained in:
parent
6fb3d19f03
commit
48cf291c5a
2 changed files with 20 additions and 5 deletions
|
@ -1970,6 +1970,8 @@ public class BoardDelegate extends DelegateBase
|
||||||
public void informMissing( boolean isServer, CommsConnTypeSet connTypes,
|
public void informMissing( boolean isServer, CommsConnTypeSet connTypes,
|
||||||
int nDevs, int nMissing )
|
int nDevs, int nMissing )
|
||||||
{
|
{
|
||||||
|
// Log.d( TAG, "informMissing(isServer: %b, nDevs: %d; nMissing: %d",
|
||||||
|
// isServer, nDevs, nMissing );
|
||||||
m_mySIS.nMissing = nMissing; // will be 0 unless isServer is true
|
m_mySIS.nMissing = nMissing; // will be 0 unless isServer is true
|
||||||
m_mySIS.nGuestDevs = nDevs;
|
m_mySIS.nGuestDevs = nDevs;
|
||||||
m_connTypes = connTypes;
|
m_connTypes = connTypes;
|
||||||
|
|
|
@ -33,7 +33,7 @@ import org.eehouse.android.xw4.DlgDelegate.Action;
|
||||||
import org.eehouse.android.xw4.Perms23.Perm;
|
import org.eehouse.android.xw4.Perms23.Perm;
|
||||||
import org.eehouse.android.xw4.loc.LocUtils;
|
import org.eehouse.android.xw4.loc.LocUtils;
|
||||||
|
|
||||||
class InvitesNeededAlert {
|
class InvitesNeededAlert implements DialogInterface.OnDismissListener {
|
||||||
private static final String TAG = InvitesNeededAlert.class.getSimpleName();
|
private static final String TAG = InvitesNeededAlert.class.getSimpleName();
|
||||||
|
|
||||||
private static InvitesNeededAlert[] sInstance = {null};
|
private static InvitesNeededAlert[] sInstance = {null};
|
||||||
|
@ -118,12 +118,24 @@ class InvitesNeededAlert {
|
||||||
{
|
{
|
||||||
DbgUtils.assertOnUIThread();
|
DbgUtils.assertOnUIThread();
|
||||||
Assert.assertTrueNR( self == sInstance[0] );
|
Assert.assertTrueNR( self == sInstance[0] );
|
||||||
|
if ( self == sInstance[0] ) {
|
||||||
sInstance[0] = null;
|
sInstance[0] = null;
|
||||||
if ( null != self.mAlert ) {
|
if ( null != self.mAlert ) {
|
||||||
InviteChoicesAlert.dismissAny();
|
InviteChoicesAlert.dismissAny();
|
||||||
self.mAlert.dismiss();
|
self.mAlert.dismiss();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////
|
||||||
|
// DialogInterface.OnDismissListener
|
||||||
|
////////////////////////////////////////
|
||||||
|
@Override
|
||||||
|
public void onDismiss( DialogInterface dialog )
|
||||||
|
{
|
||||||
|
Log.d( TAG, "onDismiss()" );
|
||||||
|
close( this );
|
||||||
|
}
|
||||||
|
|
||||||
private InvitesNeededAlert( Callbacks callbacks, State state )
|
private InvitesNeededAlert( Callbacks callbacks, State state )
|
||||||
{
|
{
|
||||||
|
@ -202,6 +214,7 @@ class InvitesNeededAlert {
|
||||||
} );
|
} );
|
||||||
|
|
||||||
result = ab.create();
|
result = ab.create();
|
||||||
|
result.setOnDismissListener( this );
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue