use of com.nutomic.syncthingandroid.model.Folder in project syncthing-android by syncthing.
the class FolderActivity method initFolder.
private void initFolder() {
mFolder = new Folder();
mFolder.id = (getIntent().hasExtra(EXTRA_FOLDER_ID)) ? getIntent().getStringExtra(EXTRA_FOLDER_ID) : generateRandomFolderId();
mFolder.label = getIntent().getStringExtra(EXTRA_FOLDER_LABEL);
mFolder.fsWatcherEnabled = true;
mFolder.fsWatcherDelayS = 10;
/**
* Folder rescan interval defaults to 3600s as it is the default in
* syncthing when the file watcher is enabled and a new folder is created.
*/
mFolder.rescanIntervalS = 3600;
mFolder.paused = false;
mFolder.type = Constants.FOLDER_TYPE_SEND_RECEIVE;
mFolder.versioning = new Folder.Versioning();
}
use of com.nutomic.syncthingandroid.model.Folder in project syncthing-android by syncthing.
the class ShareActivity method onActivityResult.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == FolderPickerActivity.DIRECTORY_REQUEST_CODE && resultCode == RESULT_OK) {
Folder selectedFolder = (Folder) mFoldersSpinner.getSelectedItem();
String folderDirectory = Util.formatPath(selectedFolder.path);
String subDirectory = data.getStringExtra(FolderPickerActivity.EXTRA_RESULT_DIRECTORY);
// Remove the parent directory from the string, so it is only the Sub directory that is displayed to the user.
subDirectory = subDirectory.replace(folderDirectory, "");
mSubDirectoryTextView.setText(subDirectory);
PreferenceManager.getDefaultSharedPreferences(this).edit().putString(PREF_FOLDER_SAVED_SUBDIRECTORY + selectedFolder.id, subDirectory).apply();
}
}
use of com.nutomic.syncthingandroid.model.Folder in project syncthing-android by syncthing.
the class ShareActivity method onApiChange.
@Override
public void onApiChange(SyncthingService.State currentState) {
if (currentState != SyncthingService.State.ACTIVE || getApi() == null)
return;
List<Folder> folders = getApi().getFolders();
// Get the index of the previously selected folder.
int folderIndex = 0;
String savedFolderId = PreferenceManager.getDefaultSharedPreferences(this).getString(PREF_PREVIOUSLY_SELECTED_SYNCTHING_FOLDER, "");
for (Folder folder : folders) {
if (folder.id.equals(savedFolderId)) {
folderIndex = folders.indexOf(folder);
break;
}
}
ArrayAdapter<Folder> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, folders);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner sItems = findViewById(R.id.folders);
sItems.setAdapter(adapter);
sItems.setSelection(folderIndex);
}
use of com.nutomic.syncthingandroid.model.Folder in project syncthing-android by syncthing.
the class ShareActivity method onPause.
@Override
protected void onPause() {
super.onPause();
if (mFoldersSpinner.getSelectedItem() != null) {
Folder selectedFolder = (Folder) mFoldersSpinner.getSelectedItem();
PreferenceManager.getDefaultSharedPreferences(this).edit().putString(PREF_PREVIOUSLY_SELECTED_SYNCTHING_FOLDER, selectedFolder.id).apply();
}
}
use of com.nutomic.syncthingandroid.model.Folder in project syncthing-android by syncthing.
the class ShareActivity method onCreate.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_share);
getWindow().setSoftInputMode(SOFT_INPUT_STATE_ALWAYS_HIDDEN);
registerOnServiceConnectedListener(this);
Button mShareButton = findViewById(R.id.share_button);
Button mCancelButton = findViewById(R.id.cancel_button);
Button browseButton = findViewById(R.id.browse_button);
EditText mShareName = findViewById(R.id.name);
TextView mShareTitle = findViewById(R.id.namesTitle);
mSubDirectoryTextView = findViewById(R.id.sub_directory_Textview);
mFoldersSpinner = findViewById(R.id.folders);
// TODO: add support for EXTRA_TEXT (notes, memos sharing)
ArrayList<Uri> extrasToCopy = new ArrayList<>();
if (getIntent().getAction().equals(Intent.ACTION_SEND)) {
Uri uri = getIntent().getParcelableExtra(Intent.EXTRA_STREAM);
if (uri != null)
extrasToCopy.add(uri);
} else if (getIntent().getAction().equals(Intent.ACTION_SEND_MULTIPLE)) {
ArrayList<Uri> extras = getIntent().getParcelableArrayListExtra(Intent.EXTRA_STREAM);
if (extras != null)
extrasToCopy = extras;
}
if (extrasToCopy.isEmpty()) {
Toast.makeText(this, getString(R.string.nothing_share), Toast.LENGTH_SHORT).show();
finish();
}
Map<Uri, String> files = new HashMap<>();
for (Uri sourceUri : extrasToCopy) {
String displayName = getDisplayNameForUri(sourceUri);
if (displayName == null) {
displayName = generateDisplayName();
}
files.put(sourceUri, displayName);
}
mShareName.setText(TextUtils.join("\n", files.values()));
if (files.size() > 1) {
mShareName.setFocusable(false);
mShareName.setKeyListener(null);
}
mShareTitle.setText(getResources().getQuantityString(R.plurals.file_name_title, files.size() > 1 ? 2 : 1));
mShareButton.setOnClickListener(view -> {
if (files.size() == 1)
files.entrySet().iterator().next().setValue(mShareName.getText().toString());
Folder folder = (Folder) mFoldersSpinner.getSelectedItem();
File directory = new File(folder.path, getSavedSubDirectory());
CopyFilesTask mCopyFilesTask = new CopyFilesTask(this, files, folder, directory);
mCopyFilesTask.execute();
});
mFoldersSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
mSubDirectoryTextView.setText(getSavedSubDirectory());
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
browseButton.setOnClickListener(view -> {
Folder folder = (Folder) mFoldersSpinner.getSelectedItem();
File initialDirectory = new File(folder.path, getSavedSubDirectory());
startActivityForResult(FolderPickerActivity.createIntent(getApplicationContext(), initialDirectory.getAbsolutePath(), folder.path), FolderPickerActivity.DIRECTORY_REQUEST_CODE);
});
mCancelButton.setOnClickListener(view -> finish());
mSubDirectoryTextView.setText(getSavedSubDirectory());
}
Aggregations