confirm before deleting chat history

This commit is contained in:
Eric House 2015-08-20 07:03:21 -07:00
parent e5cf0ee4fb
commit f4b39287a5
2 changed files with 29 additions and 9 deletions

View file

@ -2579,4 +2579,8 @@
<string name="not_again_clip_expl_fmt">The \"%1$s\" option copies an <string name="not_again_clip_expl_fmt">The \"%1$s\" option copies an
invitation URL to the clipboard. Paste it into the app of your invitation URL to the clipboard. Paste it into the app of your
choice and send it to your friend.</string> choice and send it to your friend.</string>
<string name="confirm_clear_chat">Are you sure you want to delete
all chat history for this game?\n\n(This action cannot be
undone.)</string>
</resources> </resources>

View file

@ -21,16 +21,18 @@
package org.eehouse.android.xw4; package org.eehouse.android.xw4;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.MenuInflater; import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView;
import org.eehouse.android.xw4.DlgDelegate.Action;
public class ChatDelegate extends DelegateBase public class ChatDelegate extends DelegateBase
implements View.OnClickListener { implements View.OnClickListener {
@ -82,10 +84,7 @@ public class ChatDelegate extends DelegateBase
{ {
boolean handled = R.id.chat_menu_clear == item.getItemId(); boolean handled = R.id.chat_menu_clear == item.getItemId();
if ( handled ) { if ( handled ) {
DBUtils.clearChatHistory( m_activity, m_rowid ); showConfirmThen( R.string.confirm_clear_chat, Action.CLEAR_ACTION );
LinearLayout layout =
(LinearLayout)findViewById( R.id.chat_history );
layout.removeAllViews();
} }
return handled; return handled;
} }
@ -105,4 +104,21 @@ public class ChatDelegate extends DelegateBase
} }
finish(); finish();
} }
@Override
public void dlgButtonClicked( Action action, int which, Object[] params )
{
switch ( action ) {
case CLEAR_ACTION:
if ( AlertDialog.BUTTON_POSITIVE == which ) {
DBUtils.clearChatHistory( m_activity, m_rowid );
LinearLayout layout =
(LinearLayout)findViewById( R.id.chat_history );
layout.removeAllViews();
}
break;
default:
super.dlgButtonClicked( action, which, params );
}
}
} }