package com.hipipal.texteditor;
import java.io.File;
import com.hipipal.texteditor.common.Constants;
import com.hipipal.texteditor.common.WidgetPrefs;
import android.appwidget.AppWidgetManager;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.CheckBox;
import fr.xgouchet.androidlib.data.FileUtils;
import fr.xgouchet.androidlib.ui.Toaster;
import fr.xgouchet.androidlib.ui.activity.BrowsingActivity;
@SuppressWarnings("deprecation")
public class TedWidgetConfigActivity extends BrowsingActivity implements Constants, OnClickListener {
/**
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_widget_config);
setResult(RESULT_CANCELED, null);
// buttons
findViewById(R.id.buttonCancel).setOnClickListener(this);
Toaster.showToast(this, R.string.toast_widget_select, false);
}
/**
* @see android.app.Activity#onResume()
*/
@Override
protected void onResume() {
super.onResume();
// get widget id
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if (extras != null) {
mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
}
}
/**
* @see android.view.View.OnClickListener#onClick(android.view.View)
*/
@Override
public void onClick(View v) {
if (v.getId() == R.id.buttonCancel) {
setResult(RESULT_CANCELED);
finish();
}
}
/**
* @see fr.xgouchet.androidlib.ui.activity.BrowserActivity#onFileClick(java.io.File)
*/
@Override
protected void onFileClick(File file) {
if (file.canRead()) {
mSelectedFile = file;
setResultComplete();
}
}
/**
* @see fr.xgouchet.androidlib.ui.activity.BrowserActivity#onFolderClick(java.io.File)
*/
@Override
protected boolean onFolderClick(File folder) {
mSelectedFile = null;
return true;
}
/**
* @see fr.xgouchet.androidlib.ui.activity.BrowsingActivity#onFolderViewFilled()
*/
@Override
protected void onFolderViewFilled() {
}
/**
*
*/
protected void setResultComplete() {
AppWidgetManager appWidgetManager;
Intent resultValue;
WidgetPrefs prefs;
boolean readOnly;
readOnly = ((CheckBox) findViewById(R.id.readOnly)).isChecked();
prefs = new WidgetPrefs();
prefs.mTargetPath = FileUtils.getCanonizePath(mSelectedFile);
prefs.mReadOnly = readOnly;
prefs.store(this, mAppWidgetId);
appWidgetManager = AppWidgetManager.getInstance(this);
TedAppWidgetProvider.updateWidget(this, appWidgetManager, mAppWidgetId);
//
resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
setResult(RESULT_OK, resultValue);
finish();
}
/** the id of the widget being configured */
protected int mAppWidgetId;
/** the selected file */
protected File mSelectedFile;
}