Skip to content

Commit e609e0b

Browse files
committed
add missing places
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
1 parent 9dcefff commit e609e0b

5 files changed

Lines changed: 123 additions & 92 deletions

File tree

app/src/main/java/com/nextcloud/ui/composeActivity/ComposeActivity.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,12 @@ class ComposeActivity : DrawerActivity() {
130130
val dao = NextcloudDatabase.instance().assistantDao()
131131
val sessionId = (currentScreen as? ComposeDestination.AssistantScreen)?.sessionId
132132
val client = nextcloudClient ?: return
133-
val remoteRepository = AssistantRemoteRepositoryImpl(client, capabilities)
133+
val optionalCapability = capabilities
134+
if (optionalCapability.isEmpty) {
135+
return
136+
}
137+
val capability = optionalCapability.get()
138+
val remoteRepository = AssistantRemoteRepositoryImpl(client, capability)
134139

135140
AssistantScreen(
136141
composeViewModel = composeViewModel,
@@ -145,7 +150,7 @@ class ComposeActivity : DrawerActivity() {
145150
remoteRepository = ConversationRemoteRepositoryImpl(client)
146151
),
147152
activity = this,
148-
capability = capabilities
153+
capability = capability
149154
)
150155
}
151156

app/src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java

Lines changed: 49 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -327,12 +327,10 @@ private void themeBottomNavigationMenu() {
327327

328328
@SuppressFBWarnings("RV")
329329
private void checkAssistantBottomNavigationMenu() {
330-
final var capability = getCapabilities();
331-
boolean isAssistantAvailable;
332-
if (capability == null) {
333-
isAssistantAvailable = false;
334-
} else {
335-
isAssistantAvailable = capability.getAssistant().isTrue();
330+
final var optionalCapabilities = getCapabilities();
331+
boolean isAssistantAvailable = false;
332+
if (optionalCapabilities.isPresent()) {
333+
isAssistantAvailable = optionalCapabilities.get().getAssistant().isTrue();
336334
}
337335

338336
bottomNavigationView
@@ -415,26 +413,28 @@ private void setupQuotaElement() {
415413
public void updateHeader() {
416414
final var account = getAccount();
417415
boolean isClientBranded = getResources().getBoolean(R.bool.is_branded_client);
418-
final OCCapability capability = getCapabilities();
419-
420-
if (capability != null && account != null && capability.getServerBackground() != null && !isClientBranded) {
421-
int primaryColor = themeColorUtils.unchangedPrimaryColor(account, this);
422-
String serverLogoURL = capability.getServerLogo();
423-
424-
// set background to primary color
425-
LinearLayout drawerHeader = mNavigationViewHeader.findViewById(R.id.drawer_header_view);
426-
drawerHeader.setBackgroundColor(primaryColor);
427-
428-
if (!TextUtils.isEmpty(serverLogoURL) && URLUtil.isValidUrl(serverLogoURL)) {
429-
Target<Drawable> target = createSVGLogoTarget(primaryColor, capability);
430-
getClientRepository().getNextcloudClient(nextcloudClient -> {
431-
GlideHelper.INSTANCE.loadIntoTarget(DrawerActivity.this,
432-
nextcloudClient,
433-
serverLogoURL,
434-
target,
435-
R.drawable.background);
436-
return Unit.INSTANCE;
437-
});
416+
final var optionalCapability = getCapabilities();
417+
if (optionalCapability.isPresent()) {
418+
final var capability = optionalCapability.get();
419+
if (account != null && capability.getServerBackground() != null && !isClientBranded) {
420+
int primaryColor = themeColorUtils.unchangedPrimaryColor(account, this);
421+
String serverLogoURL = capability.getServerLogo();
422+
423+
// set background to primary color
424+
LinearLayout drawerHeader = mNavigationViewHeader.findViewById(R.id.drawer_header_view);
425+
drawerHeader.setBackgroundColor(primaryColor);
426+
427+
if (!TextUtils.isEmpty(serverLogoURL) && URLUtil.isValidUrl(serverLogoURL)) {
428+
Target<Drawable> target = createSVGLogoTarget(primaryColor, capability);
429+
getClientRepository().getNextcloudClient(nextcloudClient -> {
430+
GlideHelper.INSTANCE.loadIntoTarget(DrawerActivity.this,
431+
nextcloudClient,
432+
serverLogoURL,
433+
target,
434+
R.drawable.background);
435+
return Unit.INSTANCE;
436+
});
437+
}
438438
}
439439
}
440440

@@ -514,8 +514,14 @@ private void showTopBanner(ConstraintLayout banner) {
514514

515515
moreView.setOnClickListener(v -> LinkHelper.INSTANCE.openAppStore("Nextcloud", true, this));
516516
assistantView.setOnClickListener(v -> startAssistantScreen());
517-
if (getCapabilities() != null && getCapabilities().getAssistant().isTrue()) {
518-
assistantView.setVisibility(View.VISIBLE);
517+
final var optionalCapabilities = getCapabilities();
518+
if (optionalCapabilities.isPresent()) {
519+
final var capabilities = optionalCapabilities.get();
520+
if (capabilities.getAssistant().isTrue()) {
521+
assistantView.setVisibility(View.VISIBLE);
522+
} else {
523+
assistantView.setVisibility(View.GONE);
524+
}
519525
} else {
520526
assistantView.setVisibility(View.GONE);
521527
}
@@ -582,13 +588,16 @@ private void setupDrawerMenu(NavigationView navigationView) {
582588
}
583589

584590
private void filterDrawerMenu(final Menu menu, @NonNull final User user) {
585-
OCCapability capability = getCapabilities();
591+
final var optionalCapability = getCapabilities();
592+
if (optionalCapability.isPresent()) {
593+
final var capability = optionalCapability.get();
594+
DrawerMenuUtil.filterTrashbinMenuItem(menu, capability);
595+
DrawerMenuUtil.filterActivityMenuItem(menu, capability);
596+
DrawerMenuUtil.filterGroupfoldersMenuItem(menu, capability);
597+
DrawerMenuUtil.filterAssistantMenuItem(menu, capability, getResources());
598+
}
586599

587600
DrawerMenuUtil.filterSearchMenuItems(menu, user, getResources());
588-
DrawerMenuUtil.filterTrashbinMenuItem(menu, capability);
589-
DrawerMenuUtil.filterActivityMenuItem(menu, capability);
590-
DrawerMenuUtil.filterGroupfoldersMenuItem(menu, capability);
591-
DrawerMenuUtil.filterAssistantMenuItem(menu, capability, getResources());
592601
DrawerMenuUtil.setupHomeMenuItem(menu, getResources());
593602
DrawerMenuUtil.removeMenuItem(menu, R.id.nav_community, !getResources().getBoolean(R.bool.participate_enabled));
594603
DrawerMenuUtil.removeMenuItem(menu, R.id.nav_shared, !getResources().getBoolean(R.bool.shared_enabled));
@@ -1371,11 +1380,13 @@ public void fetchExternalLinks(final boolean force) {
13711380

13721381
Thread t = new Thread(() -> {
13731382
// fetch capabilities as early as possible
1374-
final OCCapability capability = getCapabilities();
1375-
if ((capability == null || capability.getAccountName() == null || !capability.getAccountName().isEmpty())
1376-
&& getStorageManager() != null) {
1377-
GetCapabilitiesOperation getCapabilities = new GetCapabilitiesOperation(getStorageManager());
1378-
getCapabilities.execute(getBaseContext());
1383+
final var optionalCapability = getCapabilities();
1384+
if (optionalCapability.isPresent()) {
1385+
final var capability = optionalCapability.get();
1386+
if ((capability.getAccountName() == null || !capability.getAccountName().isEmpty()) && getStorageManager() != null) {
1387+
GetCapabilitiesOperation getCapabilities = new GetCapabilitiesOperation(getStorageManager());
1388+
getCapabilities.execute(getBaseContext());
1389+
}
13791390
}
13801391

13811392
if (getStorageManager() != null && CapabilityUtils.getCapability(user, this)

app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
7070
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
7171
import com.owncloud.android.lib.common.utils.Log_OC;
72+
import com.owncloud.android.lib.resources.status.OCCapability;
7273
import com.owncloud.android.operations.CreateFolderOperation;
7374
import com.owncloud.android.operations.RefreshFolderOperation;
7475
import com.owncloud.android.operations.UploadFileOperation;
@@ -872,25 +873,11 @@ private void setupFileNameInputField() {
872873

873874
binding.userInput.setVisibility(View.VISIBLE);
874875
binding.userInput.setText(userProvidedFileName.isEmpty() ? fileName : userProvidedFileName);
875-
binding.userInput.addTextChangedListener(new FileNameTextWatcher(
876-
fileName,
877-
this,
878-
this::getCapabilities,
879-
() -> receiveExternalFilesAdapter.getFileNames(),
880-
validationError -> {
881-
binding.userInputContainer.setError(validationError);
882-
binding.uploaderChooseFolder.setEnabled(false);
883-
},
884-
validationWarning -> {
885-
binding.userInputContainer.setError(validationWarning);
886-
binding.uploaderChooseFolder.setEnabled(true);
887-
},
888-
() -> { // onValidationSuccess
889-
binding.userInputContainer.setError(null);
890-
binding.userInputContainer.setErrorEnabled(false);
891-
binding.uploaderChooseFolder.setEnabled(true);
892-
}
893-
));
876+
final var optionalCapabilities = getCapabilities();
877+
if (optionalCapabilities.isPresent()) {
878+
final var validator = getFileNameTextWatcher(optionalCapabilities.get(), fileName);
879+
binding.userInput.addTextChangedListener(validator);
880+
}
894881

895882
mFileDisplayNameTransformer = uri ->
896883
Objects.requireNonNullElse(binding.userInput.getText(), fileName).toString();
@@ -911,6 +898,29 @@ private void setupFileNameInputField() {
911898
});
912899
}
913900

901+
@NonNull
902+
private FileNameTextWatcher getFileNameTextWatcher(OCCapability capability, String fileName) {
903+
return new FileNameTextWatcher(
904+
fileName,
905+
this,
906+
() -> capability,
907+
() -> receiveExternalFilesAdapter.getFileNames(),
908+
validationError -> {
909+
binding.userInputContainer.setError(validationError);
910+
binding.uploaderChooseFolder.setEnabled(false);
911+
},
912+
validationWarning -> {
913+
binding.userInputContainer.setError(validationWarning);
914+
binding.uploaderChooseFolder.setEnabled(true);
915+
},
916+
() -> { // onValidationSuccess
917+
binding.userInputContainer.setError(null);
918+
binding.userInputContainer.setErrorEnabled(false);
919+
binding.uploaderChooseFolder.setEnabled(true);
920+
}
921+
);
922+
}
923+
914924
@Override
915925
public void onSavedCertificate() {
916926
startSyncFolderOperation(getCurrentDir());

app/src/main/java/com/owncloud/android/ui/adapter/UploadListAdapter.java

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -832,29 +832,32 @@ public SectionedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int vie
832832
public final void loadUploadItemsFromDb(Runnable onCompleted) {
833833
parentActivity.getUser().ifPresent(user -> {
834834
String accountName = user.getAccountName();
835-
836-
for (int i = 0; i < sections.size(); i++) {
837-
final int index = i;
838-
Section sec = sections.get(index);
839-
840-
uploadHelper.getUploadsByStatus(accountName,
841-
sec.status(),
842-
parentActivity.getCapabilities(),
843-
sec.collisionPolicy(),
844-
uploads -> {
845-
for (OCUpload upload : uploads) {
846-
upload.setDataFixed(uploadHelper);
847-
}
848-
Arrays.sort(uploads, new OCUploadComparator());
849-
850-
sections.set(index, sec.withItems(uploads));
851-
852-
parentActivity.runOnUiThread(() -> {
853-
notifyDataSetChanged();
854-
onCompleted.run();
855-
});
856-
return Unit.INSTANCE;
857-
});
835+
final var optionalCapabilities = parentActivity.getCapabilities();
836+
if (optionalCapabilities.isPresent()) {
837+
final var capabilities = optionalCapabilities.get();
838+
for (int i = 0; i < sections.size(); i++) {
839+
final int index = i;
840+
Section sec = sections.get(index);
841+
842+
uploadHelper.getUploadsByStatus(accountName,
843+
sec.status(),
844+
capabilities,
845+
sec.collisionPolicy(),
846+
uploads -> {
847+
for (OCUpload upload : uploads) {
848+
upload.setDataFixed(uploadHelper);
849+
}
850+
Arrays.sort(uploads, new OCUploadComparator());
851+
852+
sections.set(index, sec.withItems(uploads));
853+
854+
parentActivity.runOnUiThread(() -> {
855+
notifyDataSetChanged();
856+
onCompleted.run();
857+
});
858+
return Unit.INSTANCE;
859+
});
860+
}
858861
}
859862
});
860863
}

app/src/main/java/com/owncloud/android/ui/fragment/OCFileListBottomSheetDialog.kt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -126,16 +126,18 @@ class OCFileListBottomSheetDialog(
126126

127127
@Suppress("ComplexCondition")
128128
private fun checkTemplateVisibility() {
129-
val capability = fileActivity.capabilities
130-
if (capability != null &&
131-
capability.richDocuments.isTrue &&
132-
capability.richDocumentsDirectEditing.isTrue &&
133-
capability.richDocumentsTemplatesAvailable.isTrue &&
134-
!file.isEncrypted
135-
) {
136-
binding.menuNewDocument.visibility = View.VISIBLE
137-
binding.menuNewSpreadsheet.visibility = View.VISIBLE
138-
binding.menuNewPresentation.visibility = View.VISIBLE
129+
val optionalCapability = fileActivity.capabilities
130+
if (optionalCapability.isPresent) {
131+
val capability = optionalCapability.get()
132+
if (capability.richDocuments.isTrue &&
133+
capability.richDocumentsDirectEditing.isTrue &&
134+
capability.richDocumentsTemplatesAvailable.isTrue &&
135+
!file.isEncrypted
136+
) {
137+
binding.menuNewDocument.visibility = View.VISIBLE
138+
binding.menuNewSpreadsheet.visibility = View.VISIBLE
139+
binding.menuNewPresentation.visibility = View.VISIBLE
140+
}
139141
}
140142
}
141143

0 commit comments

Comments
 (0)