Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save barron9/c7c79f58f6306cdf338a376275546ee5 to your computer and use it in GitHub Desktop.
Save barron9/c7c79f58f6306cdf338a376275546ee5 to your computer and use it in GitHub Desktop.
exploreractivity.java
private class HideTask extends AsyncTask<Void, Integer, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
protected Void doInBackground(Void... voids) {
if (adapter.getSelectedList().size() > 0) {
selectedList = new ArrayList<>();
selectedList.addAll(adapter.getSelectedList());
}
final int count = selectedList.size();
for (int i = 0; i < count; i++) {
presenter.hideFiles(selectedList.get(i));
publishProgress((int) ((i / (float) count) * 100));
}
return null;
}
@Override
protected void onProgressUpdate(Integer... progress) {
}
@Override
protected void onPostExecute(Void aVoid) {
makeSnackbar(getString(R.string.hide_success));
adapter.cleanList();
updateMod(ExplorerMode.NORMAL_MODE, -1);
presenter.refresh();
}
}
@Override
public void hideFiles(final FileItem fileItem) {
if (dataSource instanceof LocalDataSource) {
// notifyAndroid(new File(fileItem.getPath()));
HiddenFile hiddenFile = new HiddenFile();
hiddenFile.setOldPath(fileItem.getPath());
hiddenFile.setPath(fileItem.getPath());
hiddenFile.setIsHidden(1);
HiddenFile dataHidden = daoSession.getHiddenFileDao().queryBuilder().where(HiddenFileDao.Properties.Path.eq(fileItem.getPath())).unique();
if (dataHidden != null) {
dataHidden.setIsHidden(1);
daoSession.getHiddenFileDao().update(dataHidden);
} else {
daoSession.getHiddenFileDao().insert(hiddenFile);
}
//File nomedia = new File(fileItem.getPath(), ".nomedia");
String uri = Prefs.getString("URI", "");
if (uri.isEmpty() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && FileUtils.isOnExtSdCard(new File(explorer.getCurrentPath(), fileItem.getName()))) {
view.requestSdCardPermission(fileItem.getName());
} else {
if (fileItem.isDirectory()) {
File file = new File(fileItem.getPath(), ".nomedia");
if (!file.exists()) {
if (FileUtils.isOnExtSdCard(file)) {
DocumentFile documentFile = FileUtils.getDocumentFile(file.getParentFile(), true);
if (documentFile != null)
documentFile.createFile("", ".nomedia");
} else {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
view.makeSnackbar(GmFileManagerApplication.getContext().getString(R.string.create_folder_success));
} else {
view.makeSnackbar(GmFileManagerApplication.getContext().getString(R.string.create_folder_error));
}
}
new Thread(new Runnable() {
@Override
public void run() {
FileUtils.notifyAndroid(new File(fileItem.getPath()));
}
}).start();
} else {
view.makeSnackbar(GmFileManagerApplication.getContext().getString(R.string.operation_not_support));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment