Skip to content

Commit 3dcac22

Browse files
committed
ecosystem link handle
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
1 parent 97b3d44 commit 3dcac22

4 files changed

Lines changed: 61 additions & 19 deletions

File tree

app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
import com.nextcloud.android.sso.exceptions.TokenMismatchException;
8080
import com.nextcloud.android.sso.exceptions.UnknownErrorException;
8181
import com.nextcloud.android.sso.helper.SingleAccountHelper;
82+
import com.owncloud.android.lib.common.utils.Log_OC;
8283

8384
import org.jetbrains.annotations.NotNull;
8485

@@ -389,14 +390,20 @@ private void setupDrawerAppMenu() {
389390
}
390391

391392
private void setupDrawerAppMenuListener() {
392-
final var accountName = Objects.requireNonNull(mainViewModel.getCurrentAccount().getValue()).getAccountName();
393-
394-
// Add listeners to the ecosystem items to launch the app or app-store
395-
binding.drawerEcosystemFiles.setOnClickListener(v -> ecosystemManager.openApp(EcosystemApp.FILES, accountName));
396-
binding.drawerEcosystemTalk.setOnClickListener(v -> ecosystemManager.openApp(EcosystemApp.TALK, accountName));
393+
binding.drawerEcosystemFiles.setOnClickListener(v -> ecosystemManager.openApp(EcosystemApp.FILES, getAccountName()));
394+
binding.drawerEcosystemTalk.setOnClickListener(v -> ecosystemManager.openApp(EcosystemApp.TALK, getAccountName()));
397395
binding.drawerEcosystemMore.setOnClickListener(v -> LinkHelper.INSTANCE.openAppStore("Nextcloud", true, this));
398396
}
399397

398+
private String getAccountName() {
399+
final var currentAccount = mainViewModel.getCurrentAccount().getValue();
400+
if (currentAccount == null) {
401+
return null;
402+
}
403+
404+
return currentAccount.getAccountName();
405+
}
406+
400407
private void themeDrawerAppMenu(int color) {
401408
ColorStateList colorStateList = ColorStateList.valueOf(color);
402409
binding.drawerEcosystemFilesIcon.setImageTintList(colorStateList);
@@ -498,12 +505,17 @@ private void handleEcosystemIntent(Intent intent) {
498505
ecosystemManager.receiveAccount(intent, new AccountReceiverCallback() {
499506
@Override
500507
public void onAccountReceived(@NotNull String accountName) {
501-
508+
final var account = mainViewModel.getAccountByName(accountName);
509+
if (account != null) {
510+
mainViewModel.postCurrentAccount(account);
511+
} else {
512+
Log_OC.e(TAG, "account not found");
513+
}
502514
}
503515

504516
@Override
505517
public void onAccountError(@NotNull String reason) {
506-
518+
Log_OC.e(TAG,"on account error: " + reason);
507519
}
508520
});
509521
}

app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@ public LiveData<Account> getCurrentAccount() {
126126
return distinctUntilChanged(currentAccount);
127127
}
128128

129+
public Account getAccountByName(String accountName) {
130+
return repo.getAccountByName(accountName);
131+
}
132+
129133
public void postCurrentAccount(@NonNull Account account) {
130134
state.set(KEY_CURRENT_ACCOUNT, account);
131135
BrandingUtil.saveBrandColor(getApplication(), account.getColor());

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ buildscript {
1313
kotlinVersion = '2.3.0'
1414
commonsVersion = '2.4.1'
1515
androidCommonsVersion = '1.1.1'
16-
nextcloudAndroidCommonLib = "0.31.0"
16+
nextcloudAndroidCommonLib = "476368a869"
1717
singleSignOnVersion = "1.3.4"
1818
}
1919
repositories {

gradle/verification-metadata.xml

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -806,6 +806,11 @@
806806
<sha256 value="11c8654511c3926c5e8f32b909d7d5e6785a7282b5d01e1f6071ec3afa36e3a0" origin="Generated by Gradle" reason="Artifact is not signed"/>
807807
</artifact>
808808
</component>
809+
<component group="androidx.compose" name="compose-bom" version="2026.01.00">
810+
<artifact name="compose-bom-2026.01.00.pom">
811+
<sha256 value="9bc8c321324e7492f74ce7de4b6a2a12f8f37cafc4a7a2a882ab75da972779ce" origin="Generated by Gradle" reason="Artifact is not signed"/>
812+
</artifact>
813+
</component>
809814
<component group="androidx.compose.animation" name="animation" version="1.10.0">
810815
<artifact name="animation-1.10.0.module">
811816
<sha256 value="2158c1b57ce292ac2fd0d1541ece2cd08bbfbbd80aa6417a0668076693855458" origin="Generated by Gradle"/>
@@ -12760,17 +12765,14 @@
1276012765
<sha256 value="3d6cff63bad0d5a3846b4a8c2f9b912f61607cc277cf86932193588830513aee" origin="Generated by Gradle"/>
1276112766
</artifact>
1276212767
</component>
12763-
<component group="com.github.nextcloud" name="android-library"
12764-
version="a9732515be7fab2b8ab8523485df94782061d56a">
12765-
<artifact name="android-library-a9732515be7fab2b8ab8523485df94782061d56a.aar">
12766-
<sha256 value="ccc25bc4c7ac4ff45000009896667dbea827e67499027c3ea3f7f13adfca583e"
12767-
origin="Generated by Gradle" reason="Artifact is not signed" />
12768-
</artifact>
12769-
<artifact name="android-library-a9732515be7fab2b8ab8523485df94782061d56a.module">
12770-
<sha256 value="c24ae0654d238ba6b35507e39a65571c68feebfbc90ff16789831d8e2d4dc302"
12771-
origin="Generated by Gradle" reason="Artifact is not signed" />
12772-
</artifact>
12773-
</component>
12768+
<component group="com.github.nextcloud" name="android-library" version="a9732515be7fab2b8ab8523485df94782061d56a">
12769+
<artifact name="android-library-a9732515be7fab2b8ab8523485df94782061d56a.aar">
12770+
<sha256 value="ccc25bc4c7ac4ff45000009896667dbea827e67499027c3ea3f7f13adfca583e" origin="Generated by Gradle" reason="Artifact is not signed"/>
12771+
</artifact>
12772+
<artifact name="android-library-a9732515be7fab2b8ab8523485df94782061d56a.module">
12773+
<sha256 value="c24ae0654d238ba6b35507e39a65571c68feebfbc90ff16789831d8e2d4dc302" origin="Generated by Gradle" reason="Artifact is not signed"/>
12774+
</artifact>
12775+
</component>
1277412776
<component group="com.github.nextcloud" name="android-library" version="ffc47c75fabbcbcdcd32b30e9836fde58d5c59d5">
1277512777
<artifact name="android-library-ffc47c75fabbcbcdcd32b30e9836fde58d5c59d5.aar">
1277612778
<sha256 value="97068670e06306878153d4ea2aa8a2e00252f023deb18123b64f2f5e5920458e" origin="Generated by Gradle" reason="Artifact is not signed"/>
@@ -12939,6 +12941,14 @@
1293912941
<sha256 value="adf064cbf1c11039bff2350f6ea3ac73a877ca7d0cb861f369fe12858b19f6f3" origin="Generated by Gradle" reason="Artifact is not signed"/>
1294012942
</artifact>
1294112943
</component>
12944+
<component group="com.github.nextcloud.android-common" name="core" version="476368a869">
12945+
<artifact name="core-476368a869.aar">
12946+
<sha256 value="8d2de4299773928a47af135a9c3430a8f8ef9f55aced081fd8d05495511772a2" origin="Generated by Gradle"/>
12947+
</artifact>
12948+
<artifact name="core-476368a869.module">
12949+
<sha256 value="94801b37ccaebd44dd602836d8b44302854865d0d16b6988c3a2208ca932f8d2" origin="Generated by Gradle" reason="Artifact is not signed"/>
12950+
</artifact>
12951+
</component>
1294212952
<component group="com.github.nextcloud.android-common" name="core" version="48ed8e86d9">
1294312953
<artifact name="core-48ed8e86d9.aar">
1294412954
<sha256 value="933d612d1324b21d2e7e04a890bb2c7afda4ffdbe91b76fdea625976f14ba1fb" origin="Generated by Gradle"/>
@@ -13139,6 +13149,14 @@
1313913149
<sha256 value="699db9265400a1832f967cba4f4399b38e4829b2abfa559573b0eea3dd9a08af" origin="Generated by Gradle" reason="Artifact is not signed"/>
1314013150
</artifact>
1314113151
</component>
13152+
<component group="com.github.nextcloud.android-common" name="material-color-utilities" version="476368a869">
13153+
<artifact name="material-color-utilities-476368a869.jar">
13154+
<sha256 value="61568a8c8f0466aea4fec621653ca8d2c08c9c687ffd6e364f909a2d19185992" origin="Generated by Gradle" reason="Artifact is not signed"/>
13155+
</artifact>
13156+
<artifact name="material-color-utilities-476368a869.module">
13157+
<sha256 value="6ba38b5cf4555e5b541f9b5c6fecfcd5d8eaea32c01bbec8f2ef2af0c84dd37d" origin="Generated by Gradle" reason="Artifact is not signed"/>
13158+
</artifact>
13159+
</component>
1314213160
<component group="com.github.nextcloud.android-common" name="material-color-utilities" version="48ed8e86d9">
1314313161
<artifact name="material-color-utilities-48ed8e86d9.jar">
1314413162
<sha256 value="d4357ec309eb321f6d281cfef414005c72ebdd492a9df44bee68392f7b150f8d" origin="Generated by Gradle" reason="Artifact is not signed">
@@ -13343,6 +13361,14 @@
1334313361
<sha256 value="ce240a880584ee19c6f161f218f24852b442b558285dbd2066ec808efc19a54c" origin="Generated by Gradle" reason="Artifact is not signed"/>
1334413362
</artifact>
1334513363
</component>
13364+
<component group="com.github.nextcloud.android-common" name="ui" version="476368a869">
13365+
<artifact name="ui-476368a869.aar">
13366+
<sha256 value="041d67ffbb102dfa828719e35f1d416997706793c2674b9da4f135b3667c002c" origin="Generated by Gradle"/>
13367+
</artifact>
13368+
<artifact name="ui-476368a869.module">
13369+
<sha256 value="1b7be7c58cd90897adf7f2280ca5b24ec205408167f0a57382349e53c85fe29a" origin="Generated by Gradle" reason="Artifact is not signed"/>
13370+
</artifact>
13371+
</component>
1334613372
<component group="com.github.nextcloud.android-common" name="ui" version="48ed8e86d9">
1334713373
<artifact name="ui-48ed8e86d9.aar">
1334813374
<sha256 value="2c6d44febd77a3620a73b803bb577aed086af280276698736a81c26a4af292af" origin="Generated by Gradle"/>

0 commit comments

Comments
 (0)