use of com.amaze.filemanager.utils.BookSorter in project AmazeFileManager by TeamAmaze.
the class Drawer method refreshDrawer.
public void refreshDrawer() {
Menu menu = navView.getMenu();
menu.clear();
actionViewStateManager.deselectCurrentActionView();
int order = 0;
ArrayList<String> storageDirectories = mainActivity.getStorageDirectories();
storage_count = 0;
for (String file : storageDirectories) {
File f = new File(file);
String name;
@DrawableRes int icon1 = R.drawable.ic_sd_storage_white_24dp;
if ("/storage/emulated/legacy".equals(file) || "/storage/emulated/0".equals(file)) {
name = resources.getString(R.string.storage);
} else if ("/storage/sdcard1".equals(file)) {
name = resources.getString(R.string.extstorage);
} else if ("/".equals(file)) {
name = resources.getString(R.string.rootdirectory);
icon1 = R.drawable.ic_drawer_root_white;
} else if (file.contains(OTGUtil.PREFIX_OTG)) {
name = "OTG";
icon1 = R.drawable.ic_usb_white_24dp;
} else
name = f.getName();
if (!f.isDirectory() || f.canExecute()) {
addNewItem(menu, STORAGES_GROUP, order++, name, new MenuMetadata(file), icon1, R.drawable.ic_show_chart_black_24dp);
if (storage_count == 0)
firstPath = file;
else if (storage_count == 1)
secondPath = file;
storage_count++;
}
}
dataUtils.setStorages(storageDirectories);
if (dataUtils.getServers().size() > 0) {
Collections.sort(dataUtils.getServers(), new BookSorter());
synchronized (dataUtils.getServers()) {
for (String[] file : dataUtils.getServers()) {
addNewItem(menu, SERVERS_GROUP, order++, file[0], new MenuMetadata(file[1]), R.drawable.ic_settings_remote_white_24dp, R.drawable.ic_edit_24dp);
}
}
}
ArrayList<String[]> accountAuthenticationList = new ArrayList<>();
if (CloudSheetFragment.isCloudProviderAvailable(mainActivity)) {
for (CloudStorage cloudStorage : dataUtils.getAccounts()) {
if (cloudStorage instanceof Dropbox) {
addNewItem(menu, CLOUDS_GROUP, order++, CloudHandler.CLOUD_NAME_DROPBOX, new MenuMetadata(CloudHandler.CLOUD_PREFIX_DROPBOX + "/"), R.drawable.ic_dropbox_white_24dp, R.drawable.ic_edit_24dp);
accountAuthenticationList.add(new String[] { CloudHandler.CLOUD_NAME_DROPBOX, CloudHandler.CLOUD_PREFIX_DROPBOX + "/" });
} else if (cloudStorage instanceof Box) {
addNewItem(menu, CLOUDS_GROUP, order++, CloudHandler.CLOUD_NAME_BOX, new MenuMetadata(CloudHandler.CLOUD_PREFIX_BOX + "/"), R.drawable.ic_box_white_24dp, R.drawable.ic_edit_24dp);
accountAuthenticationList.add(new String[] { CloudHandler.CLOUD_NAME_BOX, CloudHandler.CLOUD_PREFIX_BOX + "/" });
} else if (cloudStorage instanceof OneDrive) {
addNewItem(menu, CLOUDS_GROUP, order++, CloudHandler.CLOUD_NAME_ONE_DRIVE, new MenuMetadata(CloudHandler.CLOUD_PREFIX_ONE_DRIVE + "/"), R.drawable.ic_onedrive_white_24dp, R.drawable.ic_edit_24dp);
accountAuthenticationList.add(new String[] { CloudHandler.CLOUD_NAME_ONE_DRIVE, CloudHandler.CLOUD_PREFIX_ONE_DRIVE + "/" });
} else if (cloudStorage instanceof GoogleDrive) {
addNewItem(menu, CLOUDS_GROUP, order++, CloudHandler.CLOUD_NAME_GOOGLE_DRIVE, new MenuMetadata(CloudHandler.CLOUD_PREFIX_GOOGLE_DRIVE + "/"), R.drawable.ic_google_drive_white_24dp, R.drawable.ic_edit_24dp);
accountAuthenticationList.add(new String[] { CloudHandler.CLOUD_NAME_GOOGLE_DRIVE, CloudHandler.CLOUD_PREFIX_GOOGLE_DRIVE + "/" });
}
}
Collections.sort(accountAuthenticationList, new BookSorter());
}
if (mainActivity.getBoolean(PREFERENCE_SHOW_SIDEBAR_FOLDERS)) {
if (dataUtils.getBooks().size() > 0) {
Collections.sort(dataUtils.getBooks(), new BookSorter());
synchronized (dataUtils.getBooks()) {
for (String[] file : dataUtils.getBooks()) {
addNewItem(menu, FOLDERS_GROUP, order++, file[0], new MenuMetadata(file[1]), R.drawable.ic_folder_white_24dp, R.drawable.ic_edit_24dp);
}
}
}
}
Boolean[] quickAccessPref = TinyDB.getBooleanArray(mainActivity.getPrefs(), QuickAccessPref.KEY, QuickAccessPref.DEFAULT);
if (mainActivity.getBoolean(PREFERENCE_SHOW_SIDEBAR_QUICKACCESSES)) {
if (quickAccessPref[0]) {
addNewItem(menu, QUICKACCESSES_GROUP, order++, R.string.quick, new MenuMetadata("5"), R.drawable.ic_star_white_24dp, null);
}
if (quickAccessPref[1]) {
addNewItem(menu, QUICKACCESSES_GROUP, order++, R.string.recent, new MenuMetadata("6"), R.drawable.ic_history_white_24dp, null);
}
if (quickAccessPref[2]) {
addNewItem(menu, QUICKACCESSES_GROUP, order++, R.string.images, new MenuMetadata("0"), R.drawable.ic_photo_library_white_24dp, null);
}
if (quickAccessPref[3]) {
addNewItem(menu, QUICKACCESSES_GROUP, order++, R.string.videos, new MenuMetadata("1"), R.drawable.ic_video_library_white_24dp, null);
}
if (quickAccessPref[4]) {
addNewItem(menu, QUICKACCESSES_GROUP, order++, R.string.audio, new MenuMetadata("2"), R.drawable.ic_library_music_white_24dp, null);
}
if (quickAccessPref[5]) {
addNewItem(menu, QUICKACCESSES_GROUP, order++, R.string.documents, new MenuMetadata("3"), R.drawable.ic_library_books_white_24dp, null);
}
if (quickAccessPref[6]) {
addNewItem(menu, QUICKACCESSES_GROUP, order++, R.string.apks, new MenuMetadata("4"), R.drawable.ic_apk_library_white_24dp, null);
}
}
addNewItem(menu, LASTGROUP, order++, R.string.ftp, new MenuMetadata(() -> {
FragmentTransaction transaction2 = mainActivity.getSupportFragmentManager().beginTransaction();
transaction2.replace(R.id.content_frame, new FTPServerFragment());
mainActivity.getAppbar().getAppbarLayout().animate().translationY(0).setInterpolator(new DecelerateInterpolator(2)).start();
pending_fragmentTransaction = transaction2;
if (!isDrawerLocked)
close();
else
onDrawerClosed();
}), R.drawable.ic_ftp_white_24dp, null);
addNewItem(menu, LASTGROUP, order++, R.string.apps, new MenuMetadata(() -> {
FragmentTransaction transaction2 = mainActivity.getSupportFragmentManager().beginTransaction();
transaction2.replace(R.id.content_frame, new AppsListFragment());
mainActivity.getAppbar().getAppbarLayout().animate().translationY(0).setInterpolator(new DecelerateInterpolator(2)).start();
pending_fragmentTransaction = transaction2;
if (!isDrawerLocked)
close();
else
onDrawerClosed();
}), R.drawable.ic_android_white_24dp, null);
addNewItem(menu, LASTGROUP, order++, R.string.setting, new MenuMetadata(() -> {
Intent in = new Intent(mainActivity, PreferencesActivity.class);
mainActivity.startActivity(in);
}), R.drawable.ic_settings_white_24dp, null);
for (int i = 0; i < navView.getMenu().size(); i++) {
navView.getMenu().getItem(i).setEnabled(true);
}
for (int group : GROUPS) {
menu.setGroupCheckable(group, true, true);
}
MenuItem item = navView.getSelected();
if (item != null) {
item.setChecked(true);
actionViewStateManager.selectActionView(item);
isSomethingSelected = true;
}
}
use of com.amaze.filemanager.utils.BookSorter in project AmazeFileManager by TeamAmaze.
the class MainActivity method addConnection.
@Override
public void addConnection(boolean edit, final String name, final String path, final String encryptedPath, final String oldname, final String oldPath) {
String[] s = new String[] { name, path };
if (!edit) {
if ((dataUtils.containsServer(path)) == -1) {
dataUtils.addServer(s);
drawer.refreshDrawer();
AppConfig.runInBackground(() -> {
utilsHandler.addSmb(name, encryptedPath);
});
// grid.addPath(name, encryptedPath, DataUtils.SMB, 1);
MainFragment ma = getCurrentMainFragment();
if (ma != null)
getCurrentMainFragment().loadlist(path, false, OpenMode.UNKNOWN);
} else {
Snackbar.make(findViewById(R.id.navigation), getString(R.string.connection_exists), Snackbar.LENGTH_SHORT).show();
}
} else {
int i = dataUtils.containsServer(new String[] { oldname, oldPath });
if (i != -1) {
dataUtils.removeServer(i);
AppConfig.runInBackground(() -> {
utilsHandler.renameSMB(oldname, oldPath, name, path);
});
// mainActivity.grid.removePath(oldname, oldPath, DataUtils.SMB);
}
dataUtils.addServer(s);
Collections.sort(dataUtils.getServers(), new BookSorter());
drawer.refreshDrawer();
// mainActivity.grid.addPath(name, encryptedPath, DataUtils.SMB, 1);
}
}
use of com.amaze.filemanager.utils.BookSorter in project AmazeFileManager by TeamAmaze.
the class SftpConnectDialog method authenticateAndSaveSetup.
private boolean authenticateAndSaveSetup(String connectionName, String hostname, int port, String hostKeyFingerprint, String username, String password, String selectedParsedKeyPairName, KeyPair selectedParsedKeyPair, boolean isEdit) {
if (isEdit)
password = getArguments().getString("password", null);
final String path = deriveSftpPathFrom(hostname, port, username, password, selectedParsedKeyPair);
final String encryptedPath = SshClientUtils.encryptSshPathAsNecessary(path);
if (!isEdit) {
try {
AsyncTaskResult<SSHClient> taskResult = new SshAuthenticationTask(hostname, port, hostKeyFingerprint, username, password, selectedParsedKeyPair).execute().get();
SSHClient result = taskResult.result;
if (result != null) {
if (DataUtils.getInstance().containsServer(path) == -1) {
DataUtils.getInstance().addServer(new String[] { connectionName, path });
((MainActivity) getActivity()).getDrawer().refreshDrawer();
utilsHandler.addSsh(connectionName, encryptedPath, hostKeyFingerprint, selectedParsedKeyPairName, getPemContents());
MainFragment ma = ((MainActivity) getActivity()).getCurrentMainFragment();
ma.loadlist(path, false, OpenMode.UNKNOWN);
dismiss();
} else {
Snackbar.make(getActivity().findViewById(R.id.content_frame), getResources().getString(R.string.connection_exists), Snackbar.LENGTH_SHORT).show();
dismiss();
}
return true;
} else {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
} else {
DataUtils.getInstance().removeServer(DataUtils.getInstance().containsServer(path));
DataUtils.getInstance().addServer(new String[] { connectionName, path });
Collections.sort(DataUtils.getInstance().getServers(), new BookSorter());
((MainActivity) getActivity()).getDrawer().refreshDrawer();
AppConfig.runInBackground(() -> {
utilsHandler.updateSsh(connectionName, getArguments().getString("name"), encryptedPath, selectedParsedKeyPairName, getPemContents());
});
dismiss();
return true;
}
}
Aggregations