aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRohit Yengisetty <rohit@cyngn.com>2015-01-22 17:02:34 -0800
committerRohit Yengisetty <rohit@cyngn.com>2015-01-23 10:49:12 -0800
commit13be85a40ad87800d53cb790648525776a9354b4 (patch)
tree63845495692e5256e8a999e8c143154050e4c52b /src
parenta083297887366bc9756da38c1fa6e4fe21163ece (diff)
downloadandroid_packages_apps_CMFileManager-13be85a40ad87800d53cb790648525776a9354b4.tar.gz
android_packages_apps_CMFileManager-13be85a40ad87800d53cb790648525776a9354b4.tar.bz2
android_packages_apps_CMFileManager-13be85a40ad87800d53cb790648525776a9354b4.zip
CM File Manager : Change Document search to include TEXT mime types
> modify SearchActivity to accept multiple mime type categories > "Document" in EasyMode also searches for TEXT mime types Change-Id: I2a23b824d576500d5aeb0f5f7628e489a10e9456
Diffstat (limited to 'src')
-rw-r--r--src/com/cyanogenmod/filemanager/activities/NavigationActivity.java13
-rw-r--r--src/com/cyanogenmod/filemanager/activities/SearchActivity.java39
2 files changed, 36 insertions, 16 deletions
diff --git a/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java b/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
index 6c95ea1c..00028af2 100644
--- a/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
+++ b/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
@@ -1451,16 +1451,21 @@ public class NavigationActivity extends Activity
performHideEasyMode();
return;
case 1:
- intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE, MimeTypeCategory.IMAGE);
+ intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE,
+ new MimeTypeCategory[] { MimeTypeCategory.IMAGE });
break;
case 2:
- intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE, MimeTypeCategory.VIDEO);
+ intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE,
+ new MimeTypeCategory[] { MimeTypeCategory.VIDEO });
break;
case 3:
- intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE, MimeTypeCategory.AUDIO);
+ intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE,
+ new MimeTypeCategory[] { MimeTypeCategory.AUDIO });
break;
case 4:
- intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE, MimeTypeCategory.DOCUMENT);
+ // search for both DOCUMENT and TEXT mime types
+ MimeTypeCategory[] categories = { MimeTypeCategory.DOCUMENT, MimeTypeCategory.TEXT };
+ intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE, categories);
break;
}
startActivity(intent);
diff --git a/src/com/cyanogenmod/filemanager/activities/SearchActivity.java b/src/com/cyanogenmod/filemanager/activities/SearchActivity.java
index 2e5f4452..9177470b 100644
--- a/src/com/cyanogenmod/filemanager/activities/SearchActivity.java
+++ b/src/com/cyanogenmod/filemanager/activities/SearchActivity.java
@@ -90,7 +90,9 @@ import com.cyanogenmod.filemanager.util.MimeTypeHelper.MimeTypeCategory;
import com.cyanogenmod.filemanager.util.StorageHelper;
import java.io.FileNotFoundException;
+import java.io.Serializable;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
/**
@@ -270,15 +272,15 @@ public class SearchActivity extends Activity
//Saved in the global result list, for save at the end
if (partialResults instanceof FileSystemObject) {
FileSystemObject fso = (FileSystemObject) partialResults;
- if (mMimeTypeCategory == null || mMimeTypeCategory == MimeTypeHelper
- .getCategory(SearchActivity.this, fso)) {
+ if (mMimeTypeCategories == null || mMimeTypeCategories.contains(MimeTypeHelper
+ .getCategory(SearchActivity.this, fso))) {
SearchActivity.this.mResultList.add((FileSystemObject) partialResults);
}
} else {
List<FileSystemObject> fsoList = (List<FileSystemObject>) partialResults;
for (FileSystemObject fso : fsoList) {
- if (mMimeTypeCategory == null || mMimeTypeCategory == MimeTypeHelper
- .getCategory(SearchActivity.this, fso)) {
+ if (mMimeTypeCategories == null || mMimeTypeCategories.contains(MimeTypeHelper
+ .getCategory(SearchActivity.this, fso))) {
SearchActivity.this.mResultList.add(fso);
}
}
@@ -369,7 +371,7 @@ public class SearchActivity extends Activity
/**
* @hide
*/
- MimeTypeCategory mMimeTypeCategory;
+ HashSet<MimeTypeCategory> mMimeTypeCategories;
/**
* {@inheritDoc}
@@ -611,8 +613,18 @@ public class SearchActivity extends Activity
* Method that initializes the titlebar of the activity.
*/
private void initSearch() {
- mMimeTypeCategory = (MimeTypeCategory) getIntent()
- .getSerializableExtra(EXTRA_SEARCH_MIMETYPE);
+ Serializable mimeTypeExtra = getIntent().getSerializableExtra(EXTRA_SEARCH_MIMETYPE);
+
+ if (mimeTypeExtra != null) {
+ MimeTypeCategory[] categories = (MimeTypeCategory[]) getIntent()
+ .getSerializableExtra(EXTRA_SEARCH_MIMETYPE);
+ // setting load factor to 1 to avoid the backing map's resizing
+ mMimeTypeCategories = new HashSet<MimeTypeCategory>(categories.length, 1);
+ for (MimeTypeCategory category : categories) {
+ mMimeTypeCategories.add(category);
+ }
+ }
+
//Stop any pending action
try {
if (SearchActivity.this.mDrawingSearchResultTask != null
@@ -663,7 +675,7 @@ public class SearchActivity extends Activity
boolean ask = false;
// Mime type search uses '*' which needs to bypass
// length check
- if (mMimeTypeCategory == null) {
+ if (mMimeTypeCategories == null) {
//Check if some queries has lower than allowed, in this case
//request the user for stop the search
int cc = queries.size();
@@ -757,14 +769,17 @@ public class SearchActivity extends Activity
this.mSearchListView.setAdapter(adapter);
//Set terms
- if (mMimeTypeCategory == null) {
+ if (mMimeTypeCategories == null) {
this.mSearchTerms.setText(
Html.fromHtml(getString(R.string.search_terms, query.getTerms())));
} else {
+ ArrayList<String> localizedNames = new ArrayList<String>(mMimeTypeCategories.size());
+ for (MimeTypeCategory category : mMimeTypeCategories) {
+ localizedNames
+ .add(NavigationActivity.MIME_TYPE_LOCALIZED_NAMES[category.ordinal()]);
+ }
this.mSearchTerms.setText(
- Html.fromHtml(getString(R.string.search_terms,
- NavigationActivity.MIME_TYPE_LOCALIZED_NAMES[mMimeTypeCategory
- .ordinal()])));
+ Html.fromHtml(getString(R.string.search_terms, localizedNames)));
}
//Now, do the search in background