package com.hipipal.texteditor;
import java.io.File;
import java.util.LinkedList;
import com.hipipal.texteditor.ui.adapter.FontListAdapter;
import de.neofonie.mobile.app.android.widget.crouton.Crouton;
import de.neofonie.mobile.app.android.widget.crouton.Style;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import fr.xgouchet.androidlib.ui.activity.BrowsingActivity;
public class TedFontActivity extends BrowsingActivity implements
OnClickListener {
/**
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_open);
mExtensionsWhiteList.add("ttf");
// set default result
setResult(RESULT_CANCELED, null);
// buttons
findViewById(R.id.buttonCancel).setOnClickListener(this);
mListAdapter = new FontListAdapter(this, new LinkedList<File>());
}
/**
* @see fr.xgouchet.androidlib.ui.activity.BrowserActivity#onFileClick(java.io.File)
*/
@Override
protected void onFileClick(File file) {
if (setOpenResult(file))
finish();
}
/**
* @see fr.xgouchet.androidlib.ui.activity.BrowsingActivity#onFolderClick(java.io.File)
*/
@Override
protected boolean onFolderClick(File folder) {
return true;
}
/**
* @see fr.xgouchet.androidlib.ui.activity.BrowsingActivity#onFolderViewFilled()
*/
@Override
protected void onFolderViewFilled() {
}
/**
* @see Activity#onKeyUp(int, KeyEvent)
*/
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
// navigate to parent folder
File parent = mCurrentFolder.getParentFile();
if ((parent != null) && (parent.exists())) {
fillFolderView(parent);
return true;
}
}
return super.onKeyUp(keyCode, event);
}
/**
* @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();
}
}
/**
* Set the result of this activity to open a file
*
* @param file
* the file to return
* @return if the result was set correctly
*/
protected boolean setOpenResult(File file) {
Intent result;
if (!file.canRead()) {
Crouton.showText(this, R.string.toast_file_cant_read, Style.ALERT);
return false;
}
result = new Intent();
result.setData(Uri.fromFile(file));
setResult(RESULT_OK, result);
return true;
}
}