|
@@ -539,7 +539,7 @@ public abstract class DrawerActivity extends ToolbarActivity
|
|
} else if (itemId == R.id.nav_logout) {
|
|
} else if (itemId == R.id.nav_logout) {
|
|
mCheckedMenuItem = -1;
|
|
mCheckedMenuItem = -1;
|
|
MenuItem isNewMenuItemChecked = menuItem.setChecked(false);
|
|
MenuItem isNewMenuItemChecked = menuItem.setChecked(false);
|
|
- Log_OC.d(TAG, "onNavigationItemClicked nav_logout setChecked " + isNewMenuItemChecked);
|
|
|
|
|
|
+ Log_OC.d(TAG,"onNavigationItemClicked nav_logout setChecked " + isNewMenuItemChecked);
|
|
final Optional<User> optionalUser = getUser();
|
|
final Optional<User> optionalUser = getUser();
|
|
if (optionalUser.isPresent()) {
|
|
if (optionalUser.isPresent()) {
|
|
UserInfoActivity.openAccountRemovalDialog(optionalUser.get(), getSupportFragmentManager());
|
|
UserInfoActivity.openAccountRemovalDialog(optionalUser.get(), getSupportFragmentManager());
|
|
@@ -1164,7 +1164,7 @@ public abstract class DrawerActivity extends ToolbarActivity
|
|
public void avatarGenerated(Drawable avatarDrawable, Object callContext) {
|
|
public void avatarGenerated(Drawable avatarDrawable, Object callContext) {
|
|
if (callContext instanceof MenuItem menuItem) {
|
|
if (callContext instanceof MenuItem menuItem) {
|
|
MenuItem newIcon = menuItem.setIcon(avatarDrawable);
|
|
MenuItem newIcon = menuItem.setIcon(avatarDrawable);
|
|
- Log_OC.d(TAG, "avatarGenerated new icon: " + newIcon);
|
|
|
|
|
|
+ Log_OC.d(TAG,"avatarGenerated new icon: " + newIcon);
|
|
} else if (callContext instanceof ImageView imageView) {
|
|
} else if (callContext instanceof ImageView imageView) {
|
|
imageView.setImageDrawable(avatarDrawable);
|
|
imageView.setImageDrawable(avatarDrawable);
|
|
} else if (callContext instanceof MaterialButton materialButton) {
|
|
} else if (callContext instanceof MaterialButton materialButton) {
|
|
@@ -1240,20 +1240,26 @@ public abstract class DrawerActivity extends ToolbarActivity
|
|
}
|
|
}
|
|
|
|
|
|
Thread t = new Thread(() -> {
|
|
Thread t = new Thread(() -> {
|
|
- if ((getCapabilities() == null || getCapabilities().getAccountName() != null && getCapabilities().getAccountName().isEmpty()) && getStorageManager() != null) {
|
|
|
|
|
|
+ // fetch capabilities as early as possible
|
|
|
|
+ if ((getCapabilities() == null || getCapabilities().getAccountName() != null && getCapabilities().getAccountName().isEmpty())
|
|
|
|
+ && getStorageManager() != null) {
|
|
GetCapabilitiesOperation getCapabilities = new GetCapabilitiesOperation(getStorageManager());
|
|
GetCapabilitiesOperation getCapabilities = new GetCapabilitiesOperation(getStorageManager());
|
|
getCapabilities.execute(getBaseContext());
|
|
getCapabilities.execute(getBaseContext());
|
|
}
|
|
}
|
|
|
|
|
|
- if (getStorageManager() != null && CapabilityUtils.getCapability(user, this).getExternalLinks().isTrue()) {
|
|
|
|
- int count = arbitraryDataProvider.getIntegerValue(FilesSyncHelper.GLOBAL, FileActivity.APP_OPENED_COUNT);
|
|
|
|
|
|
+ if (getStorageManager() != null && CapabilityUtils.getCapability(user, this)
|
|
|
|
+ .getExternalLinks().isTrue()) {
|
|
|
|
+
|
|
|
|
+ int count = arbitraryDataProvider.getIntegerValue(FilesSyncHelper.GLOBAL,
|
|
|
|
+ FileActivity.APP_OPENED_COUNT);
|
|
|
|
|
|
if (count > 10 || count == -1 || force) {
|
|
if (count > 10 || count == -1 || force) {
|
|
if (force) {
|
|
if (force) {
|
|
Log_OC.d("ExternalLinks", "force update");
|
|
Log_OC.d("ExternalLinks", "force update");
|
|
}
|
|
}
|
|
|
|
|
|
- arbitraryDataProvider.storeOrUpdateKeyValue(FilesSyncHelper.GLOBAL, FileActivity.APP_OPENED_COUNT, "0");
|
|
|
|
|
|
+ arbitraryDataProvider.storeOrUpdateKeyValue(FilesSyncHelper.GLOBAL,
|
|
|
|
+ FileActivity.APP_OPENED_COUNT, "0");
|
|
|
|
|
|
Log_OC.d("ExternalLinks", "update via api");
|
|
Log_OC.d("ExternalLinks", "update via api");
|
|
RemoteOperation getExternalLinksOperation = new ExternalLinksOperation();
|
|
RemoteOperation getExternalLinksOperation = new ExternalLinksOperation();
|
|
@@ -1261,19 +1267,21 @@ public abstract class DrawerActivity extends ToolbarActivity
|
|
|
|
|
|
if (result.isSuccess() && result.getData() != null) {
|
|
if (result.isSuccess() && result.getData() != null) {
|
|
externalLinksProvider.deleteAllExternalLinks();
|
|
externalLinksProvider.deleteAllExternalLinks();
|
|
- ArrayList<ExternalLink> externalLinks = (ArrayList<ExternalLink>) result.getData();
|
|
|
|
|
|
+
|
|
|
|
+ ArrayList<ExternalLink> externalLinks = (ArrayList<ExternalLink>) (Object) result.getData();
|
|
|
|
+
|
|
for (ExternalLink link : externalLinks) {
|
|
for (ExternalLink link : externalLinks) {
|
|
externalLinksProvider.storeExternalLink(link);
|
|
externalLinksProvider.storeExternalLink(link);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- arbitraryDataProvider.storeOrUpdateKeyValue(FilesSyncHelper.GLOBAL, FileActivity.APP_OPENED_COUNT, String.valueOf(count + 1));
|
|
|
|
|
|
+ arbitraryDataProvider.storeOrUpdateKeyValue(FilesSyncHelper.GLOBAL,
|
|
|
|
+ FileActivity.APP_OPENED_COUNT, String.valueOf(count + 1));
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
externalLinksProvider.deleteAllExternalLinks();
|
|
externalLinksProvider.deleteAllExternalLinks();
|
|
Log_OC.d("ExternalLinks", "links disabled");
|
|
Log_OC.d("ExternalLinks", "links disabled");
|
|
}
|
|
}
|
|
-
|
|
|
|
runOnUiThread(this::updateExternalLinksInDrawer);
|
|
runOnUiThread(this::updateExternalLinksInDrawer);
|
|
});
|
|
});
|
|
t.start();
|
|
t.start();
|
|
@@ -1281,9 +1289,7 @@ public abstract class DrawerActivity extends ToolbarActivity
|
|
|
|
|
|
protected void handleDeepLink(@NonNull Uri uri) {
|
|
protected void handleDeepLink(@NonNull Uri uri) {
|
|
String path = uri.getLastPathSegment();
|
|
String path = uri.getLastPathSegment();
|
|
- if (path == null) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
|
|
+ if (path == null) return;
|
|
|
|
|
|
DeepLinkConstants deepLinkType = DeepLinkConstants.Companion.fromPath(path);
|
|
DeepLinkConstants deepLinkType = DeepLinkConstants.Companion.fromPath(path);
|
|
if (deepLinkType == null) {
|
|
if (deepLinkType == null) {
|