diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictUtils.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictUtils.java index 1d3c54bd2..581ea58e7 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictUtils.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictUtils.java @@ -560,6 +560,11 @@ public class DictUtils { return result; } + public static boolean haveDownloadDir() + { + return null != getDownloadDir(); + } + private static File getDownloadDir() { File result = null; diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsActivity.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsActivity.java index 7d26123de..93aed406e 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsActivity.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsActivity.java @@ -263,15 +263,6 @@ public class DictsActivity extends ExpandableListActivity message = Utils.format( this, R.string.move_dictf, m_adapter.getSelChildView().getText() ); - String[] items = new String[3]; - for ( int ii = 0; ii < 3; ++ii ) { - DictLoc loc = itemToRealLoc(ii); - if ( loc.equals( m_moveFromLoc ) ) { - m_moveFromItem = ii; - } - items[ii] = m_locNames[loc.ordinal()]; - } - OnClickListener newSelLstnr = new OnClickListener() { public void onClick( DialogInterface dlgi, int item ) { @@ -307,7 +298,8 @@ public class DictsActivity extends ExpandableListActivity dialog = new AlertDialog.Builder( this ) .setTitle( message ) - .setSingleChoiceItems( items, m_moveFromItem, newSelLstnr ) + .setSingleChoiceItems( makeDictDirItems(), m_moveFromItem, + newSelLstnr ) .setPositiveButton( R.string.button_move, lstnr ) .setNegativeButton( R.string.button_cancel, null ) .create(); @@ -716,6 +708,26 @@ public class DictsActivity extends ExpandableListActivity XWPrefs.setClosedLangs( this, asArray ); } + + private String[] makeDictDirItems() + { + boolean showDownload = DictUtils.haveDownloadDir(); + int nItems = showDownload ? 3 : 2; + int nextI = 0; + String[] items = new String[nItems]; + for ( int ii = 0; ii < 3; ++ii ) { + DictLoc loc = itemToRealLoc(ii); + if ( !showDownload && DictLoc.DOWNLOAD == loc ) { + continue; + } + if ( loc.equals( m_moveFromLoc ) ) { + m_moveFromItem = nextI; + } + items[nextI++] = m_locNames[loc.ordinal()]; + } + return items; + } + private static Intent mkDownloadIntent( Context context, String dict_url ) { Uri uri = Uri.parse( dict_url );