From a91c0e2cbfc901117e85f61e88e27e915f5820d1 Mon Sep 17 00:00:00 2001 From: Eric House Date: Thu, 7 Mar 2019 08:39:20 -0800 Subject: [PATCH] add non-mobile number if user confirms Fix logic error that didn't proceed with the number-add in the non-mobile case. --- .../android/xw4/SMSInviteDelegate.java | 67 +++++++------------ 1 file changed, 23 insertions(+), 44 deletions(-) diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/SMSInviteDelegate.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/SMSInviteDelegate.java index cacc7c84e..05348d006 100644 --- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/SMSInviteDelegate.java +++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/SMSInviteDelegate.java @@ -60,7 +60,6 @@ public class SMSInviteDelegate extends InviteDelegate { private static final String INTENT_KEY_MEANS = "means"; private ArrayList m_phoneRecs; - private boolean m_immobileConfirmed; private Activity m_activity; private InviteMeans mMeans; @@ -179,11 +178,7 @@ public class SMSInviteDelegate extends InviteDelegate { String name = ((EditText)getNumView.findViewById(R.id.name_field)) .getText().toString(); - makeConfirmThenBuilder( R.string.warn_unlimited, - Action.POST_WARNING_ACTION ) - .setPosButton( R.string.button_yes ) - .setParams( number, name ) - .show(); + postSMSCostWarning( number, name ); } } }; @@ -230,7 +225,7 @@ public class SMSInviteDelegate extends InviteDelegate { clearSelectedImpl(); break; case USE_IMMOBILE_ACTION: - m_immobileConfirmed = true; + postSMSCostWarning( (String)params[0], (String)params[1] ); break; case POST_WARNING_ACTION: PhoneRec rec = new PhoneRec( (String)params[1], @@ -246,33 +241,6 @@ public class SMSInviteDelegate extends InviteDelegate { return handled; } - @Override - public boolean onNegButton( Action action, final Object[] params ) - { - boolean handled = true; - switch ( action ) { - case USE_IMMOBILE_ACTION: - if ( m_immobileConfirmed ) { - // Putting up a new alert from inside another's handler - // confuses things. So post instead. - post( new Runnable() { - @Override - public void run() { - makeConfirmThenBuilder( R.string.warn_unlimited, - Action.POST_WARNING_ACTION ) - .setPosButton( R.string.button_yes ) - .setParams( params ) - .show(); - } - } ); - } - break; - default: - handled = super.onNegButton( action, params ); - } - return handled; - } - private void addPhoneNumbers( Intent intent ) { Uri data = intent.getData(); @@ -298,23 +266,34 @@ public class SMSInviteDelegate extends InviteDelegate { int type = cursor.getInt( cursor. getColumnIndex( Phone.TYPE ) ); - DlgDelegate.ConfirmThenBuilder builder; if ( Phone.TYPE_MOBILE == type ) { - builder = makeConfirmThenBuilder( R.string.warn_unlimited, - Action.POST_WARNING_ACTION ); + postSMSCostWarning( number, name ); } else { - m_immobileConfirmed = false; - String msg = getString( R.string.warn_nomobile_fmt, - number, name ); - builder = makeConfirmThenBuilder( msg, Action.USE_IMMOBILE_ACTION ); + postConfirmMobile( number, name ); } - builder.setPosButton( R.string.button_yes ) - .setParams( number, name ) - .show(); } } } // addPhoneNumbers + private void postSMSCostWarning( String number, String name ) + { + makeConfirmThenBuilder( R.string.warn_unlimited, + Action.POST_WARNING_ACTION ) + .setPosButton( R.string.button_yes ) + .setParams( number, name ) + .show(); + } + + private void postConfirmMobile( String number, String name ) + { + String msg = getString( R.string.warn_nomobile_fmt, + number, name ); + makeConfirmThenBuilder( msg, Action.USE_IMMOBILE_ACTION ) + .setPosButton( R.string.button_yes ) + .setParams( number, name ) + .show(); + } + private void rebuildList( boolean checkIfAll ) { Collections.sort( m_phoneRecs, new Comparator() {