diff options
author | Rohit Yengisetty <rohit@cyngn.com> | 2015-01-27 11:55:38 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2015-02-04 03:20:20 +0000 |
commit | 890171cdbbd57d3ec7aff859e022c223c772a486 (patch) | |
tree | 59ac455c026c7c26a4c61f148a5f16dac92a2d1e /src | |
parent | d95652487cb9f7e69399ad71b06754abc88a5183 (diff) | |
download | android_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.java | 42 | ||||
-rw-r--r-- | src/com/cyanogenmod/filemanager/activities/SearchActivity.java | 16 |
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: |