mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-02-04 20:46:28 +01:00
add non-mobile number if user confirms
Fix logic error that didn't proceed with the number-add in the non-mobile case.
This commit is contained in:
parent
a561899021
commit
a91c0e2cbf
1 changed files with 23 additions and 44 deletions
|
@ -60,7 +60,6 @@ public class SMSInviteDelegate extends InviteDelegate {
|
|||
private static final String INTENT_KEY_MEANS = "means";
|
||||
|
||||
private ArrayList<PhoneRec> 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<PhoneRec>() {
|
||||
|
|
Loading…
Add table
Reference in a new issue