mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-01-22 07:28:16 +01:00
use the recommended pattern for DialogFragment construction
Empty constructors only...
This commit is contained in:
parent
8c92f2012e
commit
b69eb30e9c
8 changed files with 57 additions and 39 deletions
|
@ -30,19 +30,18 @@ public class ConfirmThenAlert extends DlgDelegateAlert {
|
|||
|
||||
public static ConfirmThenAlert newInstance( DlgState state )
|
||||
{
|
||||
return new ConfirmThenAlert( state );
|
||||
ConfirmThenAlert result = new ConfirmThenAlert();
|
||||
result.addStateArgument( state );
|
||||
return result;
|
||||
}
|
||||
|
||||
public ConfirmThenAlert() {}
|
||||
public ConfirmThenAlert( DlgState state ) { super( state ); }
|
||||
|
||||
@Override
|
||||
public Dialog onCreateDialog( Bundle sis )
|
||||
{
|
||||
final Context context = getActivity();
|
||||
|
||||
getBundleData( sis );
|
||||
final DlgState state = getState();
|
||||
final DlgState state = getState( sis );
|
||||
|
||||
NotAgainView naView = (NotAgainView)
|
||||
LocUtils.inflate( context, R.layout.not_again_view );
|
||||
|
|
|
@ -427,6 +427,8 @@ public class DelegateBase implements DlgClickNotify,
|
|||
{
|
||||
if ( m_activity instanceof MainActivity ) {
|
||||
((MainActivity)m_activity).show( df );
|
||||
} else if ( m_activity instanceof PrefsActivity ) {
|
||||
((PrefsActivity)m_activity).show( df );
|
||||
} else {
|
||||
Assert.assertTrue( !BuildConfig.DEBUG );
|
||||
}
|
||||
|
|
|
@ -43,10 +43,24 @@ public class DlgDelegateAlert extends DialogFragment {
|
|||
private static final String STATE_KEY = "STATE_KEY";
|
||||
private DlgState m_state;
|
||||
|
||||
public DlgDelegateAlert( DlgState state ) { m_state = state; }
|
||||
public DlgDelegateAlert() {}
|
||||
|
||||
protected final DlgState getState() { return m_state; }
|
||||
protected final DlgState getState( Bundle sis )
|
||||
{
|
||||
if ( null != sis ) {
|
||||
m_state = (DlgState)sis.getParcelable( STATE_KEY );
|
||||
} else {
|
||||
Bundle args = getArguments();
|
||||
Assert.assertNotNull( args );
|
||||
m_state = DlgState.fromBundle( args );
|
||||
}
|
||||
return m_state;
|
||||
}
|
||||
|
||||
protected void addStateArgument( DlgState state )
|
||||
{
|
||||
setArguments( state.toBundle() );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSaveInstanceState( Bundle bundle )
|
||||
|
@ -55,13 +69,6 @@ public class DlgDelegateAlert extends DialogFragment {
|
|||
bundle.putParcelable( STATE_KEY, m_state );
|
||||
}
|
||||
|
||||
protected void getBundleData( Bundle sis )
|
||||
{
|
||||
if ( null != sis ) {
|
||||
m_state = (DlgState)sis.getParcelable( STATE_KEY );
|
||||
}
|
||||
}
|
||||
|
||||
protected void checkNotAgainCheck( DlgState state, NotAgainView naView )
|
||||
{
|
||||
if ( null != naView && naView.getChecked() ) {
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
package org.eehouse.android.xw4;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
|
@ -27,6 +28,8 @@ import org.eehouse.android.xw4.DlgDelegate.Action;
|
|||
import org.eehouse.android.xw4.DlgDelegate.ActionPair;
|
||||
|
||||
public class DlgState implements Parcelable {
|
||||
private static final String BUNDLE_KEY = "bk";
|
||||
|
||||
public DlgID m_id;
|
||||
public String m_msg;
|
||||
public int m_posButton;
|
||||
|
@ -67,6 +70,18 @@ public class DlgState implements Parcelable {
|
|||
return 0;
|
||||
}
|
||||
|
||||
public Bundle toBundle()
|
||||
{
|
||||
Bundle result = new Bundle();
|
||||
result.putParcelable( BUNDLE_KEY, this );
|
||||
return result;
|
||||
}
|
||||
|
||||
public static DlgState fromBundle( Bundle bundle )
|
||||
{
|
||||
return (DlgState)bundle.getParcelable( BUNDLE_KEY );
|
||||
}
|
||||
|
||||
public void writeToParcel( Parcel out, int flags ) {
|
||||
out.writeInt( m_id.ordinal() );
|
||||
out.writeInt( m_posButton );
|
||||
|
|
|
@ -45,12 +45,9 @@ public class InviteChoicesAlert extends DlgDelegateAlert {
|
|||
|
||||
public static InviteChoicesAlert newInstance( DlgState state )
|
||||
{
|
||||
return new InviteChoicesAlert( state );
|
||||
}
|
||||
|
||||
public InviteChoicesAlert( DlgState state )
|
||||
{
|
||||
super( state );
|
||||
InviteChoicesAlert result = new InviteChoicesAlert();
|
||||
result.addStateArgument( state );
|
||||
return result;
|
||||
}
|
||||
|
||||
public InviteChoicesAlert() {}
|
||||
|
@ -60,8 +57,7 @@ public class InviteChoicesAlert extends DlgDelegateAlert {
|
|||
{
|
||||
final Context context = getActivity();
|
||||
|
||||
getBundleData( sis );
|
||||
final DlgState state = getState();
|
||||
final DlgState state = getState( sis );
|
||||
|
||||
final ArrayList<InviteMeans> means =
|
||||
new ArrayList<InviteMeans>();
|
||||
|
|
|
@ -39,12 +39,9 @@ public class NotAgainAlert extends DlgDelegateAlert {
|
|||
|
||||
public static NotAgainAlert newInstance( DlgState state )
|
||||
{
|
||||
return new NotAgainAlert( state );
|
||||
}
|
||||
|
||||
public NotAgainAlert( DlgState state )
|
||||
{
|
||||
super( state );
|
||||
NotAgainAlert result = new NotAgainAlert();
|
||||
result.addStateArgument( state );
|
||||
return result;
|
||||
}
|
||||
|
||||
public NotAgainAlert() {}
|
||||
|
@ -54,8 +51,7 @@ public class NotAgainAlert extends DlgDelegateAlert {
|
|||
{
|
||||
final Context context = getActivity();
|
||||
|
||||
getBundleData( sis );
|
||||
final DlgState state = getState();
|
||||
final DlgState state = getState( sis );
|
||||
|
||||
final NotAgainView naView = (NotAgainView)
|
||||
LocUtils.inflate( context, R.layout.not_again_view );
|
||||
|
@ -82,5 +78,4 @@ public class NotAgainAlert extends DlgDelegateAlert {
|
|||
Dialog dialog = builder.create();
|
||||
return dialog;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -39,12 +39,9 @@ public class OkOnlyAlert extends DlgDelegateAlert {
|
|||
|
||||
public static OkOnlyAlert newInstance( DlgState state )
|
||||
{
|
||||
return new OkOnlyAlert( state );
|
||||
}
|
||||
|
||||
public OkOnlyAlert( DlgState state )
|
||||
{
|
||||
super( state );
|
||||
OkOnlyAlert result = new OkOnlyAlert();
|
||||
result.addStateArgument( state );
|
||||
return result;
|
||||
}
|
||||
|
||||
public OkOnlyAlert() {}
|
||||
|
@ -54,8 +51,7 @@ public class OkOnlyAlert extends DlgDelegateAlert {
|
|||
{
|
||||
final Context context = getActivity();
|
||||
|
||||
getBundleData( sis );
|
||||
final DlgState state = getState();
|
||||
final DlgState state = getState( sis );
|
||||
|
||||
Dialog dialog = LocUtils.makeAlertBuilder( getActivity() )
|
||||
.setTitle( state.m_titleId == 0 ? R.string.info_title : state.m_titleId )
|
||||
|
|
|
@ -24,6 +24,7 @@ import android.app.Activity;
|
|||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceActivity;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
|
||||
import junit.framework.Assert;
|
||||
|
||||
|
@ -153,4 +154,11 @@ public class PrefsActivity extends PreferenceActivity
|
|||
public void addFragment( XWFragment fragment, Bundle extras ) { Assert.fail(); }
|
||||
public void addFragmentForResult( XWFragment fragment, Bundle extras,
|
||||
RequestCode code ) { Assert.fail(); }
|
||||
public void show( DialogFragment fragment )
|
||||
{
|
||||
// This can't work right now because PrefsActivity doesn't inherit
|
||||
// from anything that can show fragments. So I need to convert to the
|
||||
// newer preferences framework too. :-(
|
||||
Assert.fail();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue