aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRohit Yengisetty <rohit@cyngn.com>2015-01-27 11:55:38 -0800
committerGerrit Code Review <gerrit@cyanogenmod.org>2015-02-04 03:20:20 +0000
commit890171cdbbd57d3ec7aff859e022c223c772a486 (patch)
tree59ac455c026c7c26a4c61f148a5f16dac92a2d1e /src
parentd95652487cb9f7e69399ad71b06754abc88a5183 (diff)
downloadandroid_packages_apps_CMFileManager-890171cdbbd57d3ec7aff859e022c223c772a486.tar.gz
android_packages_apps_CMFileManager-890171cdbbd57d3ec7aff859e022c223c772a486.tar.bz2
android_packages_apps_CMFileManager-890171cdbbd57d3ec7aff859e022c223c772a486.zip
CM File Manager : Add Application category to Easy Mode List
* add shortcut to search for application mimetypes (apk, msi, deb etc) * fix layout inflater bug that was causing layout params to be ignored Change-Id: I4bd63fdbdf720a49b536bc811ec10255cc2427db
Diffstat (limited to 'src')
-rw-r--r--src/com/cyanogenmod/filemanager/activities/NavigationActivity.java42
-rw-r--r--src/com/cyanogenmod/filemanager/activities/SearchActivity.java16
2 files changed, 34 insertions, 24 deletions
diff --git a/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java b/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
index f7e769a4..5754f27c 100644
--- a/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
+++ b/src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
@@ -435,6 +435,7 @@ public class NavigationActivity extends Activity
add(VIDEO);
add(AUDIO);
add(DOCUMENT);
+ add(APP);
}
};
@@ -605,6 +606,8 @@ public class NavigationActivity extends Activity
.ic_em_music));
EASY_MODE_ICONS.put(MimeTypeCategory.DOCUMENT, getResources().getDrawable(R.drawable
.ic_em_document));
+ EASY_MODE_ICONS.put(MimeTypeCategory.APP, getResources().getDrawable(R.drawable
+ .ic_em_application));
//Save state
super.onCreate(state);
@@ -1421,7 +1424,7 @@ public class NavigationActivity extends Activity
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = (convertView == null) ?getLayoutInflater().inflate(R.layout
- .navigation_view_simple_item, null, true) : convertView;
+ .navigation_view_simple_item, parent, false) : convertView;
MimeTypeCategory item = getItem(position);
String typeTitle = MIME_TYPE_LOCALIZED_NAMES[item.ordinal()];
TextView typeTitleTV = (TextView) convertView
@@ -1447,28 +1450,23 @@ public class NavigationActivity extends Activity
intent.putExtra(SearchActivity.EXTRA_SEARCH_DIRECTORY,
getCurrentNavigationView().getCurrentDir());
intent.putExtra(SearchManager.QUERY, "*"); // Use wild-card '*'
- switch (position) {
- case 0:
- performHideEasyMode();
- return;
- case 1:
- intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE,
- new MimeTypeCategory[] { MimeTypeCategory.IMAGE });
- break;
- case 2:
- intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE,
- new MimeTypeCategory[] { MimeTypeCategory.VIDEO });
- break;
- case 3:
- intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE,
- new MimeTypeCategory[] { MimeTypeCategory.AUDIO });
- break;
- case 4:
- // search for both DOCUMENT and TEXT mime types
- MimeTypeCategory[] categories = { MimeTypeCategory.DOCUMENT, MimeTypeCategory.TEXT };
- intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE, categories);
- break;
+
+ if (position == 0) {
+ performHideEasyMode();
+ return;
+
+ } else {
+ ArrayList<MimeTypeCategory> searchCategories = new ArrayList<MimeTypeCategory>();
+ MimeTypeCategory selectedCategory = EASY_MODE_LIST.get(position);
+ searchCategories.add(selectedCategory);
+ // a one off case where we implicitly want to also search for TEXT mimetypes when the
+ // DOCUMENTS category is selected
+ if (selectedCategory == MimeTypeCategory.DOCUMENT) {
+ searchCategories.add(MimeTypeCategory.TEXT);
+ }
+ intent.putExtra(SearchActivity.EXTRA_SEARCH_MIMETYPE, searchCategories);
}
+
startActivity(intent);
}
diff --git a/src/com/cyanogenmod/filemanager/activities/SearchActivity.java b/src/com/cyanogenmod/filemanager/activities/SearchActivity.java
index 63e47998..7c6bb2f2 100644
--- a/src/com/cyanogenmod/filemanager/activities/SearchActivity.java
+++ b/src/com/cyanogenmod/filemanager/activities/SearchActivity.java
@@ -479,6 +479,10 @@ public class SearchActivity extends Activity
//Set out transition
overridePendingTransition(R.anim.hold_in, R.anim.translate_to_left_out);
super.onPause();
+ // stop search if the activity moves out of the foreground
+ if (mExecutable != null) {
+ mExecutable.cancel();
+ }
}
/**
@@ -621,10 +625,10 @@ public class SearchActivity extends Activity
Serializable mimeTypeExtra = getIntent().getSerializableExtra(EXTRA_SEARCH_MIMETYPE);
if (mimeTypeExtra != null) {
- MimeTypeCategory[] categories = (MimeTypeCategory[]) getIntent()
+ ArrayList<MimeTypeCategory> categories = (ArrayList<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);
+ mMimeTypeCategories = new HashSet<MimeTypeCategory>(categories.size(), 1);
for (MimeTypeCategory category : categories) {
mMimeTypeCategories.add(category);
}
@@ -967,6 +971,10 @@ public class SearchActivity extends Activity
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
+ // release Console lock held by the async search task
+ if (mExecutable != null) {
+ mExecutable.cancel();
+ }
back(true, null, false);
return true;
default:
@@ -981,6 +989,10 @@ public class SearchActivity extends Activity
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
+ // release Console lock held by the async search task
+ if (mExecutable != null) {
+ mExecutable.cancel();
+ }
back(true, null, false);
return true;
default: