aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* dead lock caselongyu.huang2016-01-031-0/+6
| | | | | | | | | | | [Procedures] 1.filemanager->security storage->create storage with password 2.after creat successfully->menu->add shortcut 3.filemanager->setting->storage option->delete/reset password->stay on input password view(don't input password) 3.press home key 4.enter filemanager from shortcut on home screen Change-Id: I00101d14adb89b271a974e8b292f81b7f315f942
* cmfm: this is TOYBOXGianmarco Reverberi2015-12-171-24/+29
| | | | | | | | * busybox is deprecated * remove awk usage * fix file system info Change-Id: I7c2bcbd5024e3be283c9fd6ad699183b6fb5bf1a
* CMFileManager: remove org.apache.http importDan Pasanen2015-12-171-2/+0
| | | | | | | * This is deprecated and doesn't appear to be used anyway * https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-apache-http-client Change-Id: Ifa7c3eeb01cbb5827dc3d504933f99e1b847e070
* Thumbnail update on copy and overwrite issue of picturesroot2015-10-218-5/+68
| | | | | issue-id: QRDL-1077 Change-Id: I10d3c861141590806a8e5b9c665b4f4f4b74141a
* Use System Resolverherriojr2015-10-165-198/+74
| | | | | | | | | | | | | | | | | | | | | Converting to using the system resolver. The logic has changed slightly in the following cases: Open -- Tries to start activity, falls back to EditorActivity on failure Open With -- Uses Chooser and populates Editor if not already there Falls back to EditorActivity on failure Click on FSObject -- Same as Open Sending Object -- Same as Open Cleaned up code around this a little since there were unused parameters. Note: The Chooser will only show EXTRA_INITIAL_INTENTS if there are other options as well, which is why we have to do the check up front to see if we need to add it, and falling back to just using the Editor if nothing exists to handle it. Issue-Id: CYNGNOS-1236 Change-Id: I803b86cf6bfec80bbc886025be43ce800afd3be1
* Secure file moving issue fixroot2015-10-151-0/+7
| | | | Change-Id: I684124bb32747a39d772b41c48d62c4c236b3ed2
* Prevent NPE collecting title, which was preventingMartin Brabham2015-10-122-10/+46
| | | | | | | | the print action. Use Uri for title and timestamp for print title. Change-Id: Ib21006b6e47fd18622c726e9f4beea721328ad6e Ticket-Id: HAM-874
* Check If System Wants Intentherriojr2015-09-301-5/+30
| | | | | | | | | | | | | | | | | | | | | | After much thought about this last night, I came to the conclusion that because applications can in fact do this, we need to be able to support it in a backwards compatible fashion. In doing so, there are a few cases which won't work with suggestions, however, the changes here are less severe than what they were before. Now just an extra check happens to see if the system wants to handle the intent if nothing was found to handle it. What this means is any application acting as its own resolver will not automatically have the system handle it in this case and we no longer can support suggestion outlined here: http://developer.android.com/training/basics/intents/sending.html#StartActivity The suggestion is wrong anyways as an activity isn't guaranteed to continue to exist after the query when the start is called. Maybe I'll try and push a documentation change upstream to AOSP for this. Change-Id: I8510660420ee52c09d03c719850fa14d6b1c4441 Issue-Id: CYNGNOS-1152
* [CMFileManager] Fix fail to move a folderkai.cao2015-09-161-1/+1
| | | | | | | | | | | | | Fix fail to move a folder to another folder when the one folder name contains the another folder name. [Reproduce] 1. Create a folder named such as aaa 2. Create another folder named such as aaab 3. Copy or Move the folder aaa to folder aaab The Operation Fail Change-Id: I27996f9b9530001fe01eddf80a0cac7a8531c163
* CMFileManager : Switch to checked statesDanesh M2015-09-112-27/+66
| | | | | | | | | | | | | | | | Selected states are not being tracked properly when rotated. Repro: 1. Click to open file 2. Tap on first item in resolver dialog 3. Rotate device 4. Press ok 5. Enjoy crash issue-id: CYNGNOS-991 Change-Id: I9ef5d0571201957eac40edc8bc5e47700752dcc3
* Indicate number of items to be deleted in confirmation dialogJames Hiew2015-09-071-1/+13
| | | | | | Re: CYAN-6559 Change-Id: I61bdc32feb2e46ad25c1060ea5eb3856e4aea37a
* Regex metacharacters result in error post searchRichard MacGregor2015-08-261-3/+17
| | | | | | | | | | | | | | | | | | | | After receiving search results, the user query was used to sort and highlight results. If a part of the search included an incomplete regex syntax (such as a regex metacharacter) it fails to compile the pattern. Repro steps: 1) Create file with regex metacharactes in name Example: "(test).txt" 2) Search for file using partial name, and only single regex character (from a set such as "()" or "[]"). Example: "(" Expected results: Search shows correct files Observed results: Search ends up crashing FileManager Change-Id: Idf5ee3b441481574a5bada1ca7e9048109a13435 Ticket: QRDL-1035
* Search: Fix race condition with results displayStephen Bird2015-08-261-26/+10
| | | | | | | | | Since results are now run through an asynctask before they are added this created a race condition which lead to the screen sometimes showing 'no results found' when results are actually available Ticket: QRDL-995 Change-Id: I5b7ddb44c16603fac7ceca3f955038cc3d646de8
* CMFM: don't apply search filter when search hasn't startedRoman Birg2015-08-261-1/+3
| | | | | | | | | Otherwise it can lead to crashes with short searches Ref: QRDL-950 Change-Id: Icf555435b4cc7107db328c757633a29ffacd62c5 Signed-off-by: Roman Birg <roman@cyngn.com>
* CMFM: fix search mime type filter not applyingRoman Birg2015-08-261-43/+46
| | | | | | | | | | - update count when selecting mime type filter - use original result list to narrow results Ref: QRDL-950 Change-Id: I8715f0831e51adf18257d735b0d455c368083411 Signed-off-by: Roman Birg <roman@cyngn.com>
* Bookmarks: check to see if a bookmark exists before adding itStephen Bird2015-08-242-1/+10
| | | | | | | | Previously, this would result in multiple bookmarks of the same location Ticket: QRDL-989 Change-Id: I0f19045bc7a6d5fa98c9ef4ee1a8ccda9c501eb1
* FileManager: Fix shortcutsRichard MacGregor2015-08-213-5/+16
| | | | | | | | | | | | | | | | | | | | Fix shortcuts behavior when FileManager is already open. Repro: 1) Open FileManager 2) Create shortcut for folder 3) Navigate to another folder (not including new folder) 4) Switch to homescreen (launcher) 5) Select the shortcut created in step 2 Expected behavior: Navigate to shortcut folder Observed behavior: FileManager shows last navigated directory (before going to launcher) Change-Id: I1db814a8990073f8d2de88f90b23b51a1e77cf8e Ticket: QRDL-1034
* Fix MediaScan issue w/ DeletingStephen Bird2015-08-211-6/+53
| | | | | | | | | | Mediascan wasn't working with deletion of items. We need to grab the items to delete before actually deleting them from the file system so that we know which items we should have deleted. Change-Id: Ia7b6d5c0612b8053d6b3f442dc9cc9312b02e47b Ticket: QRDL-982
* Fixed MediaScan Issue w/ Directoriesherriojr2015-08-191-12/+81
| | | | | | | | | | | MediaScan wasn't being done recursively, so moving a directory which had content to a different location wouldn't include the children in the scan. This implementation makes sure all files and folders within the directory are also scanned. Tested against a dataset of 1000 videos, so performance seems fine. Change-Id: If3c94f92d96d2d78bb0664112ea235f3e3669363 Ticket: QRDL-1009
* Fix Navigation back from Searchherriojr2015-08-182-12/+17
| | | | | | | | | When entering a search result and then backing out all the way, a history item wasn't being added for the directory the search was happening in. This fixes it. Change-Id: I28d5b290a18076f1156f699426420ca78fb3eee6 Cherry-Pick: b4fc75077143de0ff9e26d8d2644d879ccdc0e84
* Refresh: stop refreshes in actionStephen Bird2015-08-171-15/+18
| | | | | | | | | | | If a refresh happens while another refresh is occuring, make sure that that old refresh is cancelled. In addition to this, remove some old logic that conflicted with itself. Also, keep ahold of the previous directory before running the task. Ticket: QRDL-1002 Change-Id: Ibc1f3d468243bc124d3baf259af21464f3c03c84 (cherry picked from commit 080405b548865e6b118b56ca29ed6a6f0d10bcc5)
* Fix FileSystemInfo's ImageView shows incorrect picture in BreadcrumbView .kai.cao2015-08-131-7/+5
| | | | | | | | When we get MountPoint Information in FilesystemAsyncTask, It will return null.So,the FileSystemInfo's ImageView will setTag null,and then it will set picture filesystem_warning_drawable. Change-Id: Ia624312468935cc86956665a3da4824c19728afc
* Fix improper exception handling during copy operation.Matt Garnes2015-08-131-2/+6
| | | | | | | - Do not cast ClosedByInterruptException to CancelledOperationException; return a new CancelledOperationException instead. Change-Id: I41cb0c605c55fc896a3e483cb5b1f1fcc913676e
* CMFM: improved search performanceRoman Birg2015-08-133-197/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Search was usable with a small number of results, but when the result list grows to something > 1000, it can get really laggy. A few improvemnts: - The adapter was chunking items and adding them in bulk to the adapter, but it was doing all the work in the main thread. Now it will process one item at a time, doing all the rough work in an AsyncTask, and passing the final objects to the adapter. - We don't need to do any chunking of items to add them, but sorting the list as soon as they are added is expensive too, so re-use the streaming mechanism that was used to add items in chunks, and just sort the list during that time. - Cache common variables to not look them up on every result - Use a List instead of generating a new DataHolder array _every time_ a new object was added. It would end up GCing thousands of items every time a new result was added. - Make the adapter be as simple as possible and just display DataHolder objects so it doesn't have to do any processing. Ref: QRDL-950 Change-Id: I17dd606246556cdf2701bbf2b06933f138588d74 Signed-off-by: Roman Birg <roman@cyngn.com>
* Improve copy/move performance with nio and reintroduce cancel.Matt Garnes2015-08-124-42/+56
| | | | | | | | | | | | | | Utilize FileChannel.transferFrom to copy files faster. Chunk the file transfer so that we can check between each chunk if the user has cancelled the copy. In my tests copying a large file (650MB), this improved performance by 45%. Also, bring the cancel feature back for non secure storage. Fixes QRDL-976. Change-Id: I112cee7b9dfe682a438516f7f938dfd7538f1efb
* Fix don't pop up "Actions" menu when long pressing on a file/folderkai.cao2015-08-101-4/+8
| | | | | | | | | | after open and close "Use swipe gesture". The FlingerListView will setLongClickable false when open "Use swipe gesture", if we close "Use swipe gesture",the longClickable still false and don't pop up "Actions" menu. Change-Id: Ifccb655d619fd32bc569eddfa5f05b0ca3002a50
* Fixed ANR & Memory Leak Associated with 3GPherriojr2015-08-053-3/+23
| | | | | | | | | | We are now defaulting to treating 3GP files as video files for determining the default icon as it was parsing the video files for their metadata which was causing ANR problems. On top of this, it was discovered that the metadata parser was leaking memory. Change-Id: I88f6cf3d8ae1a62d1294bd3272b27715c2352525 Ticket: QRDL-931
* Fixed search to actually open the clicked folderherriojr2015-08-052-3/+8
| | | | | | | | | | | | | When a folder was clicked in a search, what was happening is the refresh() in onStart() was being executed after onActivityResult(), so the changeCurrentDir() executed in onActivityResult() was being overriden by the refresh in onStart(). Since the mCurrentDir wasn't being set until the NavigationTask ends, it would always go back to the original directory. The change is to make the refresh not happen if a NavigationTask is currently under way. Change-Id: I5c354554c9b15fc9d14b4665852b40fb6a1f8853 Ticket: QRDL-932
* Fixed ANR associated with SecureStorageherriojr2015-08-052-22/+17
| | | | | | | | | | | | | An ANR was happening on SecureConsole when a very large item was added, canceled, and click the parent in the Secure folder. This is caused by the locking mechanism used by SecureConsole. Consoles, long-term, need to be refactored to not synchronize on the SecureConsole object itself during execute. The only fix we can do without full refactoring is to not allow cancelling the operation because the Console doesn't support the cancel operation. Change-Id: I845372567b8656d63192bfde27952240915ecfe6 Ticket: QRDL-971
* Revert "Made NavigationView reliant on FileObserver to keep up to date."herriojr2015-08-056-234/+206
| | | | | | This reverts commit 7b09bb0f1390b72d0ac18484721998eaf805e605. Change-Id: I24b6115c89e568f6895a3a9d0c074151b85c0be2
* Made NavigationView reliant on FileObserver to keep up to date.herriojr2015-07-316-206/+234
| | | | | | | | | | | | | We no longer deal with having to refresh a directory upon reentering. Instead we now just listen on the directory for changes and update as necessary. This will make it much more difficult to get out of sync with the file system in pretty much all situations. Changed per comments on patch to no longer do refreshes for the list when items change as the FileObserver handles all of this. Change-Id: I28a6af965708ce76107a09d6b931f4c7bafb8365 Ticket: QRDL-932
* [CMFileManager] Fix can't copy after disconnect with pc.kai.cao2015-07-312-25/+51
| | | | | | | | | | | | | | | | | Preconditions 1.insert a sdcard. 2.the phone connect with pc and the usb computer connection as Mount Sd card. Procedures 1.Go to “File Manager”. 2.Copy a file in sdcard. 3.Connect to pc when the system is copying. 4.The CMFileManager will forced termination and switch off the connecting with pc. 5.Go to CMFileManager and copy a file in Sd card. The copy function is invalid and popup "The operation's command was not found ..." Change-Id: I042550ce69f4c31a6fe46dfc9aeb53b34588d53f
* ANR Caused by passes over Data Set on notifyDataSetChanged()herriojr2015-07-291-196/+71
| | | | | | | | | | | Logic existed which took a pass over the data on the UI thread each time notifyDataSetChange was called which can cause an ANR on a large data set. This fix removes a lot of the unnecessary logic associated with this and moves it to getView(). Performance still seems good on the OnePlus for scrolling. Change-Id: Idde74f0688fef0ba7e4b560b06d9494896a24174 Ticket: QRDL-931
* Secure Move: Check to make sure libtruecrypt correctly erroredStephen Bird2015-07-271-1/+6
| | | | | | | | When copying an item out of secure storage and into the regular file system truecrypt will sometimes report that the file operation failed. When in fact the operation was a complete success. Add a check to make sure truecrypt is correct. Change-Id: I1520455a9ce9dc403f2ca6fb50cf1a4f8604bc64
* Fix Secure SD Card Entry to open folder.herriojr2015-07-271-2/+2
| | | | | | | | | | | Whenever the secure folder was opened from the drawer, it would prompt for a password and then go to the root folder again. This was caused by the logic in onResume() which is all meant for when entering another activity and then coming back into this activity. This should really be the job on onStart() as onResume() also handles dialogs. Change-Id: I45e0e44e3e8f9031b0685628a3f24c02725e24e1 Ticket: QRDL-946
* Refactored the ImageLoader a bit, so that it doesn't have troubleherriojr2015-07-273-152/+157
| | | | | | | | | | loading images. There were a couple of problem causing this, so I felt it best to change the implementation. Change-Id: Ic77a94681d77fa4fba49f3f24f40e260220b925a Ticket: QRDL-905
* Moved the sort of the data set off the UI Thread.herriojr2015-07-221-9/+15
| | | | | | | | For large data sets, this can cause slowdown on older devices or if you have a significant data set size. Change-Id: I1eeea9132df0d4e5c8dad17009b648826e3386c6 Ticket: QRDL-931
* Changed NavigationView.refresh() in onResume() of the activity to tryherriojr2015-07-161-1/+1
| | | | | | | | | | | | to restore the original position. The only caveat is because the history items don't maintain the scroll offset, it's not a perfect restore. Ideally, we want to maintain the scroll offsets of the first item within the AdapterView and restore those as well. Change-Id: I69b01bef11e26a29aabd57d2bc3e7853b6f67e08 Ticket: QRDL-922
* ProgressDialog: Require user to explicitly use the cancel button.Stephen Bird2015-07-161-0/+1
| | | | | | This prevents accidental touches outside of the dialog during long operations Change-Id: I5d903a56aa8e72963967629bd4d844d19e3922dc
* Editor: Handle content uri's in the editorStephen Bird2015-07-161-58/+211
| | | | | | | | | | | | | | | | | Previously, files opened that were not contained inside the /data/media partition were considered invalid. Repo steps: - Open email with .txt attachment - Open attachment with Editor This also fixes similar issues all across the system where content uri's would not open in editor. Previously they would report that the user needed to gain root access. Change-Id: I15aa3fd81ae261f66920d253d6adebe28cf28e66
* Secure Storage: Fix unlock buttonStephen Bird2015-07-101-3/+3
| | | | Change-Id: I852fff76aef4f47bbd6d809c64afcc2f77165553
* Easy Mode: Fix exit on easy mode screenStephen Bird2015-07-081-4/+6
| | | | Change-Id: Iec39763194916c12c1947fb4f297e74c6dfa2f5f
* Shell console: fix bug in shell output streamRoman Birg2015-06-231-1/+1
| | | | | | | | | | The command is finished and the partial result may also have the command exit code. When the partial stream does have the exit code, we were writing *only* the contents of the exit code, but we need to write everything *until* the exit code, keeping the contents intact. Change-Id: I5e7af1125270c394f42fe7661cbefdd98c6a6052 Signed-off-by: Roman Birg <roman@cyngn.com>
* Fix parsing of shell command output regardless of encodingRoman Birg2015-06-221-34/+136
| | | | | | | | | | | We always know the start and end control patterns will be in UTF-8. However, the content in between could be encoded differently. Search for the patterns in the shell command output using raw bytes, instead of a string pattern match. Change-Id: I6cb019b644d371c37593fe26784f6e9d41844dec Signed-off-by: Roman Birg <roman@cyngn.com>
* Properly validate fields when resetting passwordd34d2015-06-131-2/+3
| | | | | | | | | | The logic for validating secure storage passwords is designed for when a user creates a new password and not when they reset it. This causes the dialog to enable the "Reset" button prematurely. This patch adds the necessary checks for when mResetPassword is true Change-Id: I6d52865b2316ff6eeffeb5eaf61e787f6222e9f7
* onResume: Refresh current viewStephen Bird2015-06-111-0/+1
| | | | | | | | | Sometimes files get deleted while FM is in the background. Let's update the list of current items every time we resume just in case. Change-Id: Ib3076ec97d9a0af23f57bb83bff6e0de9c728285
* Sizes: Let disk usage show sizes as doublesStephen Bird2015-06-111-5/+9
| | | | | | | | This way, weird file system sizes display nicely. Without this a mountpoint with a size of 1.68GB displays as 1GB. Change-Id: I72e0d8ff911dd942efd5860f2d86607ebbb30fcb
* MediaScanning: Update with calls to MediascannerStephen Bird2015-06-111-24/+22
| | | | | | | | With older versions of android, updating with .delete was the proper way to remove these items The issue is that, doing this does not update MTP. Change-Id: I9b7098927fbda6e78a9baedb5e5e35968c082108
* Delete destination file when copy failsd34d2015-06-111-0/+7
| | | | | | Change-Id: Ic398a2eaa7ac06d8c2ffccc10033d2d32a0dba60 (cherry picked from commit 766c7ba627fb8d685408429ce027c6826bb9c2ab) (cherry picked from commit b2dfe80d30f5e82ae231fe7392ed0786a4661dfa)
* Fix there are no folders in NavigationView Pinned file managerkai.cao2015-05-251-1/+5
| | | | | | | | | | | | | | | Procedures 1.Go to Settings -> Security ->Screen pinning and Open the screen pinning. 2.Go to FileManager and Callout the Recents Task. 3.Press the screen pinning button and lock the CMFileManager screen. 4.Press back key sometimes when the scren pinning toast show. 5.Open DrawerLayout and Press the Internal storage 6.Press the All to enter NavigationView. There are no folders in NavigationView. Change-Id: I7bbdad87812a66c346c4632886b42c3c79540373