import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
-import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
-import android.view.View;
import android.view.MenuItem.OnMenuItemClickListener;
+import android.view.View;
import android.view.View.OnClickListener;
+import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
static final String LOG = "QuickDic";
QuickDicConfig quickDicConfig;
- private DictionaryConfig dictionaryConfig;
+ private DictionaryInfo dictionaryInfo;
final Handler uiHandler = new Handler();
- public static Intent getIntent(final int dictIndex) {
+ public static Intent getLaunchIntent(final String dictFile) {
final Intent intent = new Intent();
intent.setClassName(DictionaryEditActivity.class.getPackage().getName(),
DictionaryEditActivity.class.getName());
- intent.putExtra(C.DICT_INDEX, dictIndex);
+ intent.putExtra(C.DICT_FILE, dictFile);
return intent;
}
/** Called when the activity is first created. */
@Override
public void onCreate(final Bundle savedInstanceState) {
- ((DictionaryApplication)getApplication()).applyTheme(this);
+ //((DictionaryApplication)getApplication()).applyTheme(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_activity);
final Intent intent = getIntent();
-
- final int dictIndex = intent.getIntExtra(C.DICT_INDEX, 0);
+ final String dictFile = intent.getStringExtra(C.DICT_FILE);
PersistentObjectCache.init(this);
try {
quickDicConfig = PersistentObjectCache.init(this).read(
C.DICTIONARY_CONFIGS, QuickDicConfig.class);
- dictionaryConfig = quickDicConfig.dictionaryConfigs.get(dictIndex);
+ dictionaryInfo = quickDicConfig.getDictionaryInfoByFile(dictFile);
} catch (Exception e) {
Log.e(LOG, "Failed to read QuickDicConfig.", e);
- quickDicConfig = new QuickDicConfig();
- dictionaryConfig = quickDicConfig.dictionaryConfigs.get(0);
+ finish();
+ startActivity(DictionaryManagerActivity.getLaunchIntent());
+ return;
}
// Write stuff from object into fields.
((EditText) findViewById(R.id.dictionaryName))
- .setText(dictionaryConfig.name);
+ .setText(dictionaryInfo.name);
((EditText) findViewById(R.id.localFile))
- .setText(dictionaryConfig.localFile);
+ .setText(dictionaryInfo.localFile);
final TextWatcher textWatcher = new TextWatcher() {
@Override
((EditText) findViewById(R.id.localFile)).addTextChangedListener(textWatcher);
final EditText downloadUrl = (EditText) findViewById(R.id.downloadUrl);
- downloadUrl.setText(dictionaryConfig.downloadUrl);
+ downloadUrl.setText(dictionaryInfo.downloadUrl);
downloadUrl.addTextChangedListener(textWatcher);
final Button downloadButton = (Button) findViewById(R.id.downloadButton);
@Override
public void onClick(View v) {
startDownloadDictActivity(DictionaryEditActivity.this,
- dictionaryConfig);
+ dictionaryInfo);
}
});
openButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
- final Intent intent = DictionaryActivity.getIntent(DictionaryEditActivity.this, dictIndex, 0, "");
+ final Intent intent = DictionaryActivity.getLaunchIntent(dictFile, 0, "");
startActivity(intent);
}
});
+
+ // Don't show the keyboard when this opens up:
+ getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
protected void onResume() {
super.onResume();
-
+
updateDictInfo();
+
+ // Focus the download button so the keyboard doesn't pop up.
+ final Button downloadButton = (Button) findViewById(R.id.downloadButton);
+ downloadButton.requestFocus();
}
@Override
super.onPause();
// Read stuff from fields into object.
- dictionaryConfig.name = ((EditText) findViewById(R.id.dictionaryName))
+ dictionaryInfo.name = ((EditText) findViewById(R.id.dictionaryName))
.getText().toString();
- dictionaryConfig.localFile = ((EditText) findViewById(R.id.localFile))
+ dictionaryInfo.localFile = ((EditText) findViewById(R.id.localFile))
.getText().toString();
- dictionaryConfig.downloadUrl = ((EditText) findViewById(R.id.downloadUrl))
+ dictionaryInfo.downloadUrl = ((EditText) findViewById(R.id.downloadUrl))
.getText().toString();
PersistentObjectCache.getInstance().write(C.DICTIONARY_CONFIGS,
newDictionaryMenuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(final MenuItem menuItem) {
startDownloadDictActivity(DictionaryEditActivity.this,
- dictionaryConfig);
+ dictionaryInfo);
return false;
}
});
- final MenuItem dictionaryList = menu.add(getString(R.string.dictionaryList));
+ final MenuItem dictionaryList = menu.add(getString(R.string.dictionaryManager));
dictionaryList.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(final MenuItem menuItem) {
- startActivity(DictionaryListActivity.getIntent(DictionaryEditActivity.this));
+ startActivity(DictionaryManagerActivity.getLaunchIntent());
return false;
}
});
}
static void startDownloadDictActivity(final Context context,
- final DictionaryConfig dictionaryConfig) {
+ final DictionaryInfo dictionaryConfig) {
final Intent intent = new Intent(context, DownloadActivity.class);
intent.putExtra(DownloadActivity.SOURCE, dictionaryConfig.downloadUrl);
intent.putExtra(DownloadActivity.DEST, dictionaryConfig.localFile + ".zip");
context.startActivity(intent);
}
- @Override
- public boolean onKeyDown(final int keyCode, final KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_BACK) {
- Log.d(LOG, "Clearing dictionary prefs.");
- DictionaryActivity.clearDictionaryPrefs(this);
- }
- return super.onKeyDown(keyCode, event);
- }
-
}