enable cyanogenmod stuff
[android_pandora.git] / apps / oi-filemanager / FileManagerTest / src / org / openintents / filemanager / test / TestFileManagerActivity.java
diff --git a/apps/oi-filemanager/FileManagerTest/src/org/openintents/filemanager/test/TestFileManagerActivity.java b/apps/oi-filemanager/FileManagerTest/src/org/openintents/filemanager/test/TestFileManagerActivity.java
deleted file mode 100644 (file)
index 4e746f2..0000000
+++ /dev/null
@@ -1,571 +0,0 @@
-/*
- * This is an example test project created in Eclipse to test NotePad which is a sample 
- * project located in AndroidSDK/samples/android-11/NotePad
- * Just click on File --> New --> Project --> Android Project --> Create Project from existing source and
- * select NotePad.
- * 
- * Then you can run these test cases either on the emulator or on device. You right click
- * the test project and select Run As --> Run As Android JUnit Test
- * 
- * @author Renas Reda, renas.reda@jayway.com
- * 
- */
-
-package org.openintents.filemanager.test;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Random;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.net.Uri;
-import android.os.Environment;
-import android.preference.PreferenceManager;
-import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.Smoke;
-
-import com.jayway.android.robotium.solo.Solo;
-
-public class TestFileManagerActivity extends InstrumentationTestCase {
-       
-       private static final String TAG = "TestFileManagerActivity";
-       
-       private Solo solo;
-       private Activity activity;
-       private Random random = new Random();
-       private Intent intent;
-       private String sdcardPath;
-       
-       public TestFileManagerActivity() {
-               super();
-       }
-
-       protected void setUp() throws Exception {
-               super.setUp();
-               
-               sdcardPath = Environment.getExternalStorageDirectory().getAbsolutePath()+'/';
-               
-               // need to do this before creating activity
-               cleanDirectory(new File(sdcardPath + "oi-filemanager-tests"));
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               
-               intent = new Intent();
-               intent.setAction("android.intent.action.MAIN");
-               intent.setClassName("org.openintents.filemanager",
-                               "org.openintents.filemanager.FileManagerActivity");
-               intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-
-               activity = getInstrumentation().startActivitySync(intent);
-
-               this.solo = new Solo(getInstrumentation(), activity);
-       }
-
-       protected void tearDown() throws Exception {
-               try {
-                       this.solo.finishOpenedActivities();
-               } catch (Throwable e) {
-                       e.printStackTrace();
-               }
-               super.tearDown();
-               cleanDirectory(new File(sdcardPath + "oi-filemanager-tests"));
-       }
-
-       private String getAppString(int resId) {
-               return activity.getString(resId);
-       }
-
-       @Smoke
-       public void test000Eula() {
-               String accept = getAppString(org.openintents.distribution.R.string.oi_distribution_eula_accept);
-               String cancel = getAppString(org.openintents.distribution.R.string.oi_distribution_eula_refuse);
-               boolean existsAccept = solo.searchButton(accept);
-               boolean existsCancel = solo.searchButton(cancel);
-               
-               if (existsAccept && existsCancel) {
-                       solo.clickOnButton(accept);
-               }
-       }
-
-       @Smoke
-       public void test001RecentChanges() {
-               String recentChanges = getAppString(org.openintents.distribution.R.string.oi_distribution_newversion_recent_changes);
-               String cont = getAppString(org.openintents.distribution.R.string.oi_distribution_newversion_continue);
-               while(solo.scrollUp());
-               boolean existsRecentChanges = solo.searchText(recentChanges);
-               boolean existsCont = solo.searchButton(cont);
-               
-               if (existsRecentChanges && existsCont) {
-                       solo.clickOnButton(cont);
-               }
-       }
-
-       private void cleanDirectory(File file) {
-               if(!file.exists()) return;
-               for(String name:file.list()) {
-                       if(!name.startsWith("oi-") && !name.startsWith(".oi-")) {
-                               throw new RuntimeException(file + " contains unexpected file");
-                       }
-                       File child = new File(file, name);
-                       if(child.isDirectory())
-                               cleanDirectory(child);
-                       else
-                               child.delete();
-               }
-               file.delete();
-               if(file.exists()) {
-                       throw new RuntimeException("Deletion of " + file + " failed");
-               }
-       }
-
-       private void createFile(String path, String content) throws IOException {
-               File file = new File(path);
-               FileWriter wr = new FileWriter(file);
-               wr.write(content);
-               wr.close();
-       }
-       
-       private void createDirectory(String path) throws IOException {
-               File file = new File(path);
-               file.mkdir();
-               if(!file.exists())
-                       throw new IOException("Creation of " + path + " failed");
-       }
-       
-       private void deleteDirectory(String path) {
-               File file = new File(path);
-               if(file.exists())
-                       if(file.isDirectory())
-                               cleanDirectory(file);
-                       file.delete();
-       }
-
-       public void testNavigation() throws IOException {
-//             if(solo.searchText("Accept")) {
-//                     solo.clickOnButton("Accept");
-//                     if(solo.searchButton("Continue"))
-//                             solo.clickOnButton("Continue");
-//             }
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-test.txt", "");
-               createDirectory(sdcardPath + "oi-filemanager-tests/oi-test-dir");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-test-dir/oi-fff.txt", "");
-               
-               solo.clickOnText("oi-filemanager-tests");
-               assertTrue(solo.searchText("oi-test.txt"));
-               solo.clickOnText("oi-test-dir");
-               assertTrue(solo.searchText("oi-fff.txt"));
-
-               solo.goBack();
-               solo.goBack();
-               solo.clickOnText("oi-filemanager-tests");
-               assertTrue(solo.searchText("oi-test.txt"));
-               
-               solo.clickOnText("oi-test-dir");
-               solo.goBack();
-               assertTrue(solo.searchText("oi-test.txt"));
-               
-               solo.goBack();
-       }
-       
-       public void testModification() throws IOException {
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-rem-test.txt", "");
-               solo.clickOnText("oi-filemanager-tests");
-               solo.clickLongOnText("oi-rem-test.txt");
-               solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_delete)); // Delete
-               solo.clickOnText(getAppString(android.R.string.ok));
-               
-               //when actionbar is present, this test case should find the first ImageButton
-               if(android.os.Build.VERSION.SDK_INT < 11)
-                       solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.menu_new_folder)); // New Folder
-               else
-                       solo.clickOnImageButton(0);
-               solo.enterText(0, "oi-created-folder");
-               solo.clickOnText(getAppString(android.R.string.ok));
-               
-               solo.goBack();
-               assertTrue(solo.searchText("oi-created-folder"));
-               solo.goBack();
-               
-               File createdFolder = new File(sdcardPath + "oi-filemanager-tests/oi-created-folder");
-               assertTrue(createdFolder.exists());
-               assertTrue(createdFolder.isDirectory());
-               assertFalse(new File(sdcardPath + "oi-filemanager-tests/oi-rem-test.txt").exists());
-       }
-       
-       public void testBookmarks() throws IOException {
-               String fn = "oi-bookmark-" + random.nextInt(1000);
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createDirectory(sdcardPath + "oi-filemanager-tests/" + fn);
-               createFile(sdcardPath + "oi-filemanager-tests/" + fn + "/oi-inside-book.txt", "");
-               
-               // create bookmark
-               
-               solo.clickOnText("oi-filemanager-tests");
-               solo.clickLongOnText(fn);
-               solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_bookmark)); // Add to bookmarks
-               
-               // navigate to it
-               
-               solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.bookmarks)); // Bookmarks
-               solo.clickOnText(fn);
-               assertTrue(solo.searchText("oi-inside-book.txt"));
-               solo.goBack();
-               solo.goBack();
-               
-               // remove it
-               
-               solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.settings));
-               solo.clickOnText(getAppString(org.openintents.filemanager.R.string.bookmarks_manage));
-               solo.clickOnText(fn);
-               solo.clickOnText(getAppString(org.openintents.filemanager.R.string.bookmarks_delete));
-               solo.goBack();
-               
-               // make sure that it is deleted
-               
-               solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.bookmarks));
-               assertFalse(solo.searchText(fn));
-               solo.goBack();
-               solo.goBack();
-       }
-       
-       public void testActions() throws IOException {
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createDirectory(sdcardPath + "oi-filemanager-tests/oi-move-target");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-file-1.txt", "");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-file-2.txt", "");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-file-3.txt", "");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-file-4.txt", "");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-file-5.txt", "");
-               solo.clickOnText("oi-filemanager-tests");
-               
-               // copy
-               
-               solo.clickLongOnText("oi-file-1.txt");
-               solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_copy));
-               selectTargetAndCheck("oi-move-target", "oi-file-1.txt", null);
-               assertTrue(solo.searchText("oi-file-1.txt"));
-               
-               // move
-               
-               solo.clickLongOnText("oi-file-2.txt");
-               solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_move));
-               selectTargetAndCheck("oi-move-target", "oi-file-2.txt", null);
-               assertFalse(solo.searchText("oi-file-2.txt"));
-               
-               // multi select
-               
-               solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.menu_multi_select));
-               solo.clickOnText("oi-file-3.txt");
-               solo.clickOnText("oi-file-4.txt");
-               solo.clickOnText(getAppString(org.openintents.filemanager.R.string.move_button_multiselect));
-               selectTargetAndCheck("oi-move-target", "oi-file-3.txt", "oi-file-4.txt");
-               
-               // rename
-               
-               solo.clickLongOnText("oi-file-5.txt");
-               solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_rename));
-               solo.enterText(0, "oi-renamed-file.txt");
-               solo.clickOnText(getAppString(android.R.string.ok)); // not sure what to do
-               assertTrue(solo.searchText("oi-renamed-file.txt"));
-               
-               solo.goBack();
-               solo.goBack();
-       }
-       
-       private void selectTargetAndCheck(String dirname, String name1, String name2) throws IOException {
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               solo.clickOnText(dirname);
-               solo.clickOnButton(getAppString(org.openintents.filemanager.R.string.copy_button) + "|" + 
-                                                       getAppString(org.openintents.filemanager.R.string.move_button));
-               solo.clickOnText(dirname);
-               assertTrue(solo.searchText(name1));
-               if(name2 != null)
-                       assertTrue(solo.searchText(name2));
-               solo.goBack();
-       }
-       
-       public void testDetails() throws IOException {
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-detail.txt", "abcdefg");
-
-               solo.clickOnText("oi-filemanager-tests");
-               
-               solo.clickLongOnText("oi-detail.txt");
-               solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_details));
-               assertTrue(solo.searchText(getAppString(org.openintents.filemanager.R.string.details_type_file)));
-               // depending on locale:
-               assertTrue(solo.searchText("7.00B") || solo.searchText("7.00 B") || solo.searchText("7,00B") || solo.searchText("7,00 B"));
-               
-               // not sure:
-               //Calendar today = new GregorianCalendar();
-               //String todayString = today.get(Calendar.DAY_OF_MONTH) + "/" + today.get(Calendar.MONTH) + "/" + today.get(Calendar.YEAR);
-               //assertTrue(solo.searchText(todayString));
-
-               solo.goBack();
-               solo.goBack();
-               solo.goBack();
-       }
-       
-       public void testFilters() throws IOException {
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-not-filter.txt", "");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-filtered.py", "");
-               createDirectory(sdcardPath + "oi-filemanager-tests/oi-f-dir");
-               solo.clickOnText("oi-filemanager-tests");
-               
-               solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.menu_filter));
-               solo.enterText(0, ".py");
-               solo.clickOnButton(getAppString(android.R.string.ok));
-               
-               assertTrue(solo.searchText("oi-filtered.py"));
-               assertTrue(solo.searchText("oi-f-dir"));
-               assertFalse(solo.searchText("oi-not-filter.txt"));
-               
-               solo.goBack();
-               solo.goBack();
-       }
-       
-       public void testHiddenFiles() throws IOException {
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createFile(sdcardPath + "oi-filemanager-tests/.oi-hidden.txt", "");
-               solo.clickOnText("oi-filemanager-tests");
-               
-               boolean origState = solo.searchText(".oi-hidden.txt");
-               
-               solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.settings));
-               
-               solo.clickOnText(getAppString(org.openintents.filemanager.R.string.preference_displayhiddenfiles_title));
-               solo.goBack();
-               assertTrue(origState != solo.searchText(".oi-hidden.txt"));
-               
-               solo.goBack();
-               solo.goBack();
-       }
-       
-       public void testOrder() throws IOException, InterruptedException {
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-b.txt", "bbb");
-               Thread.sleep(10); // make sure that next file is younger
-               createFile(sdcardPath + "oi-filemanager-tests/oi-a.txt", "aaaaaa");
-               Thread.sleep(10);
-               createFile(sdcardPath + "oi-filemanager-tests/oi-c.txt", "");
-               solo.clickOnText("oi-filemanager-tests");
-               
-               String[] sortOrders = activity.getResources().getStringArray(org.openintents.filemanager.R.array.preference_sortby_names);
-               
-               setAscending(true);
-               setSortOrder(sortOrders[0]);
-               assertItemsInOrder("oi-a.txt", "oi-b.txt", "oi-c.txt");
-               
-               setSortOrder(sortOrders[1]);
-               assertItemsInOrder("oi-c.txt", "oi-b.txt", "oi-a.txt");
-               
-               setSortOrder(sortOrders[2]);
-               assertItemsInOrder("oi-b.txt", "oi-a.txt", "oi-c.txt");
-               
-               setAscending(false);
-               setSortOrder(sortOrders[0]);
-               assertItemsInOrder("oi-c.txt", "oi-b.txt", "oi-a.txt");
-       }
-       
-       private void setSortOrder(String name) {
-               solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.settings));
-               solo.clickOnText(getAppString(org.openintents.filemanager.R.string.preference_sortby));
-               solo.clickOnText(name);
-               solo.goBack();
-       }
-       
-       private void setAscending(boolean enabled) {
-               SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(activity);
-               SharedPreferences.Editor editor = settings.edit();
-               editor.putBoolean("ascending", enabled);
-               editor.commit();
-       }
-       
-       private void assertItemsInOrder(String a, String b, String c) {
-               int aPos = solo.getText(a).getTop();
-               int bPos = solo.getText(b).getTop();
-               int cPos = solo.getText(c).getTop();
-               if(aPos > bPos)
-                       fail("aPos > bPos");
-               if(bPos > cPos)
-                       fail("bpos > cPos");
-       }
-       
-       public void testIntentSaveAs() throws IOException {
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-to-open.txt", "bbb");
-
-               Uri uri = Uri.parse("file:///mnt/sdcard/oi-filemanager-tests/oi-to-open.txt");
-               intent = new Intent("android.intent.action.VIEW", uri);
-               intent.setClassName("org.openintents.filemanager",
-                               "org.openintents.filemanager.SaveAsActivity");
-               intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-               
-               activity = getInstrumentation().startActivitySync(intent);
-               
-               solo.enterText(0, "oi-target.txt");
-               solo.clickOnButton(getAppString(android.R.string.ok));
-               assertTrue(new File(sdcardPath + "oi-filemanager-tests/oi-to-open.txtoi-target.txt").exists());
-               solo.goBack();
-               solo.goBack();
-       }
-       
-       public void testIntentUrl() throws IOException {
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createDirectory(sdcardPath + "oi-filemanager-tests/oi-dir-to-open");
-               createDirectory(sdcardPath + "oi-filemanager-tests/oi-dir-to-open/oi-intent");
-               
-               Uri uri = Uri.parse("file:///mnt/sdcard/oi-filemanager-tests/oi-dir-to-open");
-               intent = new Intent("android.intent.action.VIEW", uri);
-               intent.setClassName("org.openintents.filemanager",
-                               "org.openintents.filemanager.FileManagerActivity");
-               intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-               
-               activity = getInstrumentation().startActivitySync(intent);
-               
-               assertTrue(solo.searchText("oi-intent"));
-               solo.goBack();
-               solo.goBack();
-       }
-       
-       public void testIntentUri() throws IOException {
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-to-open.txt", "bbb");          
-               
-               Intent intent = new Intent(Intent.ACTION_VIEW);
-               intent.setData(Uri.parse("file://" + sdcardPath + "oi-filemanager-tests/oi-to-open.txt"));
-               intent.setPackage("org.openintents.filemanager");
-               intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-               
-               activity = getInstrumentation().startActivitySync(intent);
-               
-               assertTrue(solo.searchText("oi-to-open.txt"));
-               solo.goBack();
-               solo.goBack();  
-       }
-       
-       public void testIntentPickFile() throws IOException {
-               // startActivityForResult is, I think, impossible to test on Robotinium
-               createDirectory(sdcardPath + "oi-filemanager-tests");
-               createFile(sdcardPath + "oi-filemanager-tests/oi-pick-file", "");
-               
-               Uri uri = Uri.parse("file:///mnt/sdcard/oi-filemanager-tests/oi-dir-to-open");
-               intent = new Intent("org.openintents.action.PICK_FILE", uri);
-               intent.setClassName("org.openintents.filemanager",
-                               "org.openintents.filemanager.FileManagerActivity");
-               intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-               
-               activity = getInstrumentation().startActivitySync(intent);
-               
-               solo.clickOnText("oi-pick-file");
-               solo.clickOnButton(getAppString(android.R.string.ok));
-               
-               solo.goBack();
-       }
-       
-       public void testIntentRememberPickFilePath() throws IOException {
-               String[] actions = new String[]{
-                       "org.openintents.action.PICK_FILE",
-                       "org.openintents.action.PICK_DIRECTORY",
-                       Intent.ACTION_GET_CONTENT
-               };
-               
-               for(int i=0;i<3;i++){
-                       createDirectory(sdcardPath + "oi-filemanager-tests");
-                       if(i==1){ //Pick directory
-                               createDirectory(sdcardPath + "oi-filemanager-tests/oi-dir-to-pick");
-                       }
-                       else{
-                               createFile(sdcardPath + "oi-filemanager-tests/oi-file-to-pick.txt", "bbb");
-                       }
-                       //Directory because PICK_DIRECTORY doesn't show files
-                       createDirectory(sdcardPath + "oi-to-pick-test-folder-deleted");
-                       
-
-                       // Pick a file first
-                       Uri uri = Uri.parse("file:///mnt/sdcard"); //If there was already a remembered pick file path
-                       intent = new Intent(actions[i], uri);
-                       intent.setClassName("org.openintents.filemanager",
-                                       "org.openintents.filemanager.FileManagerActivity");
-                       intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                       
-                       activity = getInstrumentation().startActivitySync(intent);
-                       
-                       solo.clickOnText("oi-filemanager-tests");
-                       if(i==1) //Pick directory
-                               solo.clickOnText("oi-dir-to-pick");
-                       else
-                               solo.clickOnText("oi-file-to-pick.txt");
-                       
-                       if(i != 2) // When ACTION_GET_CONTENT, the file is picked automatically, when clicked
-                               solo.clickOnButton(getAppString(android.R.string.ok));
-                       
-                       // Check, if we are in the oi-filemanager-tests directory
-                       intent = new Intent(actions[i]);
-                       intent.setClassName("org.openintents.filemanager",
-                                       "org.openintents.filemanager.FileManagerActivity");
-                       intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                       activity = getInstrumentation().startActivitySync(intent);
-                       
-                       solo.goBack();
-                       
-                       
-                       //Delete the oi-filemanager-tests directory
-                       deleteDirectory(sdcardPath + "oi-filemanager-tests");
-                       
-                       //Check, if the current directory is the default (sdcardPath)
-                       intent = new Intent(actions[i]);
-                       intent.setClassName("org.openintents.filemanager",
-                                       "org.openintents.filemanager.FileManagerActivity");
-                       intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                       activity = getInstrumentation().startActivitySync(intent);
-                       
-                       assertTrue(solo.searchText("oi-to-pick-test-folder-deleted"));
-                       
-                       //Clean up
-                       (new File(sdcardPath + "oi-to-pick-test-folder-deleted")).delete();
-                       
-                       solo.goBack();
-                       solo.goBack();
-               }
-       }
-
-       public void testBrowseToOnPressEnter() throws IOException {
-               String dirPath = "oi-filemanager-tests";
-               String filename = "oi-test-is-in-right-directory";
-               createDirectory(sdcardPath + dirPath);
-               createFile(sdcardPath + dirPath + "/" + filename, "");
-               
-               /*
-                *  We start at the SD card. Home ImageButton has index 0. Then there's a mnt classic button.
-                *  And finally SD card ImageButton with index 1. (Android 1.x and 2.x)
-                *  
-                *  Remark: On Android 3.x(?) and 4.x, the index may have to be set to 2?
-                */
-               int imageButtonIndex = 0;
-               if(android.os.Build.VERSION.SDK_INT < 11)
-                       imageButtonIndex = 1;
-               else
-                       imageButtonIndex = 2;
-               solo.clickOnImageButton(imageButtonIndex);
-               
-               solo.clickOnEditText(0); // Let the editText has focus to be able to send the enter key.
-               solo.enterText(0, "/"+dirPath);
-               solo.sendKey(Solo.ENTER);
-
-               assertTrue(solo.searchText(filename));
-               
-               solo.goBack();
-               solo.goBack();
-       }
-       
-       // Other possible tests:
-       //              testSend
-       //              testMore
-       //              testKeyboardFilter
-}
\ No newline at end of file