use of com.nutomic.syncthingandroid.model.FolderStatus in project syncthing-android by syncthing.
the class RestApi method getFolderStatus.
/**
* Returns status information about the folder with the given id.
*/
public void getFolderStatus(final String folderId, final OnResultListener2<String, FolderStatus> listener) {
new GetRequest(mContext, mUrl, GetRequest.URI_STATUS, mApiKey, ImmutableMap.of("folder", folderId), result -> {
FolderStatus m = new Gson().fromJson(result, FolderStatus.class);
mCachedFolderStatuses.put(folderId, m);
listener.onResult(folderId, m);
});
}
use of com.nutomic.syncthingandroid.model.FolderStatus in project syncthing-android by syncthing.
the class FoldersAdapter method updateFolderStatusView.
private void updateFolderStatusView(ItemFolderListBinding binding, Folder folder) {
FolderStatus folderStatus = mLocalFolderStatuses.get(folder.id);
if (folderStatus == null) {
binding.items.setVisibility(GONE);
binding.override.setVisibility(GONE);
binding.size.setVisibility(GONE);
setTextOrHide(binding.invalid, folder.invalid);
return;
}
long neededItems = folderStatus.needFiles + folderStatus.needDirectories + folderStatus.needSymlinks + folderStatus.needDeletes;
boolean outOfSync = folderStatus.state.equals("idle") && neededItems > 0;
boolean overrideButtonVisible = folder.type.equals(Constants.FOLDER_TYPE_SEND_ONLY) && outOfSync;
binding.override.setVisibility(overrideButtonVisible ? VISIBLE : GONE);
if (outOfSync) {
binding.state.setText(mContext.getString(R.string.status_outofsync));
binding.state.setTextColor(ContextCompat.getColor(mContext, R.color.text_red));
} else {
if (folder.paused) {
binding.state.setText(mContext.getString(R.string.state_paused));
binding.state.setTextColor(ContextCompat.getColor(mContext, R.color.text_black));
} else {
binding.state.setText(getLocalizedState(mContext, folderStatus));
switch(folderStatus.state) {
case "idle":
binding.state.setTextColor(ContextCompat.getColor(mContext, R.color.text_green));
break;
case "scanning":
case "syncing":
binding.state.setTextColor(ContextCompat.getColor(mContext, R.color.text_blue));
break;
case "error":
default:
binding.state.setTextColor(ContextCompat.getColor(mContext, R.color.text_red));
}
}
}
binding.items.setVisibility(VISIBLE);
binding.items.setText(mContext.getResources().getQuantityString(R.plurals.files, (int) folderStatus.inSyncFiles, folderStatus.inSyncFiles, folderStatus.globalFiles));
binding.size.setVisibility(VISIBLE);
binding.size.setText(mContext.getString(R.string.folder_size_format, Util.readableFileSize(mContext, folderStatus.inSyncBytes), Util.readableFileSize(mContext, folderStatus.globalBytes)));
setTextOrHide(binding.invalid, folderStatus.invalid);
}
Aggregations