| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
* busybox is deprecated
* remove awk usage
* fix file system info
Change-Id: I7c2bcbd5024e3be283c9fd6ad699183b6fb5bf1a
|
| |
|
|
| |
Change-Id: I306922501daa030a3ab401771bca57506d160fed
|
| |
|
|
|
|
|
|
|
|
|
| |
M is using toybox instead of toolbox, some commands in filemanager
relies on toolbox utilities, there are minor difference in handling.
This change removes the "-Gn" argument pass to id command for retrival
the uid/gid, tested on both M and L, there is no need to add -Gn argument,
but in L, it seems -Gn is ignored. In M it will output wihtout the numerical
values causing parsing exception during startup.
Change-Id: I6aac8e94a80671df0a247ffcaf7d69364d7c9ad2
|
| |
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
| |
Changed how the java console handles detecting if a file rename
collides with another file to more represent how the particular
filesystem implementation handles it (I'm looking at you vfat).
Change-Id: I6ac9ae848ee47fa33f02225c310c92f2a03fb50d
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
Previously, this would result in multiple bookmarks
of the same location
Ticket: QRDL-989
Change-Id: I0f19045bc7a6d5fa98c9ef4ee1a8ccda9c501eb1
(cherry picked from commit 85032a699b4f9d6101599be230257eab7a8cd76a)
|
| |
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit 1a23b92dc1d3a1a2f9b386139c40281d9c24fc26)
|
| |
|
|
|
|
|
|
|
| |
Otherwise it can lead to crashes with short searches
Ref: QRDL-950
Change-Id: Icf555435b4cc7107db328c757633a29ffacd62c5
Signed-off-by: Roman Birg <roman@cyngn.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
(cherry picked from commit 8f0fb94de32e1ea773ce165bf5bc95122099171d)
Change-Id: Icd03d38aa1d879d46f1c9a6d4c7efb15c3fb0b3f
Ticket: QRDL-1034
|
| |
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit d5372f98c001a58cfdf332af0875a424ca0087da)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Cherry-Pick: 037d6356fca976106f3ddb85906cc2e85f5a244e
Ticket: QRDL-1009
Conflicts:
src/com/cyanogenmod/filemanager/util/CommandHelper.java
Change-Id: I1c0d33dca262e4215f5a41a9fc2e57196d6396d2
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
- 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>
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
- Do not cast ClosedByInterruptException to CancelledOperationException;
return a new CancelledOperationException instead.
Change-Id: I41cb0c605c55fc896a3e483cb5b1f1fcc913676e
(cherry picked from commit 2444ef323fc5920588f45c96a36533a969ab6be2)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
Change-Id: Ia6d6b1fd95f9def895b8d002ab0316ded6df9caf
(cherry picked from commit 602f3dea218626182db9c926877c731107864a22)
|
| |
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit 13879c7fd08c4279286addf28107ca66766edc8a)
|
| |
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit 6f6094da21960569b93f6171e39e211e8d37f41a)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We need to make sure that the list is the proper height
so that it does not draw off the screen.
Ideally, we would stop handling the orientation changes and allow
the app to do the orientation changes as android apps do normally.
This would require some significant changes to how our dialog
system works and could cause other potential issues.
Ticket: QRDL-882
Change-Id: I39176d56d8286ed93b71dbe4c770fe79f39ac753
|
| |
|
|
|
|
|
|
| |
main Activity"
This reverts commit 1b57d88ad06c2b4836b2b49400dcf019fc976982.
Change-Id: I18dcd06de292c62414b112d1ced95a3090d3982b
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit c740f92994c3e8dbbf985ef18d7d639756f1e0a9)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit ddb22bba80ce56ca77eca2faeace1d33aff85cc1)
|
| |
|
|
|
|
|
| |
This reverts commit 7b09bb0f1390b72d0ac18484721998eaf805e605.
Change-Id: I24b6115c89e568f6895a3a9d0c074151b85c0be2
(cherry picked from commit cb05075905b8271204bc2f0306f36f92c35fff80)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Ticket: QRDL-932
(cherry picked from commit 7b09bb0f1390b72d0ac18484721998eaf805e605)
Conflicts:
src/com/cyanogenmod/filemanager/activities/NavigationActivity.java
Change-Id: I1c2c4a852e61c6549d87ae07a03040d57f1fffdd
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
Ref: QRDL-950
Change-Id: I5e7af1125270c394f42fe7661cbefdd98c6a6052
Signed-off-by: Roman Birg <roman@cyngn.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
Ref: QRDL-950
Change-Id: I6cb019b644d371c37593fe26784f6e9d41844dec
Signed-off-by: Roman Birg <roman@cyngn.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit df55584ec69388fbc418c7236f20868e45f37caf)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit 9426b243dd41dea57718efa922e9c5f345338472)
|
| |
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit c310a84552206b25705d2e7d2113c95ce29d8ecf)
|
| |
|
|
|
|
|
|
|
| |
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
(cherry picked from commit 3303817816ef785de8d29d69dddd35b4fe22c5c4)
|
| |
|
|
|
|
|
|
|
| |
Let file manager redraw its actionbar on rotate.
Otherwise, strange things happen with popupwindows
Change-Id: I3c88e6df92251e895030bb80e4f3d7417716f505
(cherry picked from commit 8cd911bf2fd48aa9a1479486bff82a702cc37165)
(cherry picked from commit 25c26ac8ac712f4d365499e62d74d8799f4ec433)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit 84ff5edc9e6f3331a5324e3f273998e4bed13b58)
|
| |
|
|
|
|
|
|
|
|
| |
In some languages, this doesn't fit well into the switch
preference. This huge wall of text also looks pretty bad
when it shares a row with the switch itself. On its own
row, this fits quite nicely.
Change-Id: I0b35d84965a800e578d3557bfc522f34aabb79f0
(cherry picked from commit b8aa362e3bce47d4d0cd91dd19dea47081f790a0)
|
| |
|
|
|
|
|
| |
This prevents accidental touches outside of the dialog during long operations
Change-Id: I5d903a56aa8e72963967629bd4d844d19e3922dc
(cherry picked from commit 707e828f286373a2590ebf5e202afd3b9e854f02)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit e09d8433144ac84045e1fbd7bb4723c7cfb66c65)
|
| |
|
|
|
| |
Change-Id: I852fff76aef4f47bbd6d809c64afcc2f77165553
(cherry picked from commit c2832885bd00d45ac7277930cff68063e1cb4d3a)
|
| |
|
|
|
| |
Change-Id: Iec39763194916c12c1947fb4f297e74c6dfa2f5f
(cherry picked from commit b4d6b6ec45f4f3310220816a9ea85ac41b3b5995)
|
| |
|
|
| |
Change-Id: I883bd3587e91cfc6ee73eec45ea9840d781719bb
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"Secure storage" in File Manager
Procedures
1.Go to “File Manager”.
2.Press "Menu" icon on upper left corner,and then tap "Secure storage".
3.Select "CANCEL" when the note "Create storage" pops up.
4.Repeat Step2 again,check the phone
Have no response when pressing "Secure storage",wait about 10-20s,the note "File Manager isn't responding..." pops up.
Change-Id: I8ce4b55002d6fc34f89c4a59404469e7f3637cbc
(cherry picked from commit ebd0462a7320bf093d0209cfbbfa290df28cee69)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Selected text in the actionbar would be covered by the
actionbar options.
Eg: Search Repro steps:
- Click the search button in CMFM
- Type something into the searchbox
- Select that text
- Text is covered
Change-Id: Ie4978035b27d938becf847f6438baffd0a099f14
(cherry picked from commit dad28ad7e93f5bc28509387ff3404d053f575e1e)
|
| |
|
|
|
|
|
|
|
|
|
| |
If the use is in a sub settings, i.e. general settings, and changes
their language. Upon returning to File Manager and pressing back
to go to the main settings menu, the about text will remain in the
previous language. This is easily reproduced when the intial language
is set to Chinese and then switched to English. The about text will
still be in Chinese.
Change-Id: I1dff61a6a94e6aabf336d863e102c29044f3a649
|
| |
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit 215e74651e478c148a92695d86e36d100711ab63)
|
| |
|
|
|
|
|
|
|
|
|
| |
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
(cherry picked from commit 039ec12aef45822b744d4297f8808ec74c0c2daf)
(cherry picked from commit 1a897187749c43699cdeec5d6022b8381d277947)
|
| |
|
|
|
|
|
|
| |
This way, weird file system sizes display nicely.
Without this a mountpoint with a size of 1.68GB
displays as 1GB.
Change-Id: I72e0d8ff911dd942efd5860f2d86607ebbb30fcb
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Change-Id: Ic398a2eaa7ac06d8c2ffccc10033d2d32a0dba60
|
| |
|
|
|
|
|
|
|
|
|
| |
Procedures
1.Go into filemanager and select a directory(such as Music).
2.enter the Music and copy the folder.
The filemanager stay in "copying" interface.
Change-Id: I9a765d1d89c4736b26d57bdf99237f04a810f254
(cherry picked from commit 226460f8724fdc3f74e59e92862dd88087385b70)
|