feat(openURL): open about in app (#750)

This commit is contained in:
FineFindus 2023-08-05 19:44:18 +02:00 committed by GitHub
parent 6d2385b6b3
commit df1a6cf764
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 0 deletions

View File

@ -73,6 +73,7 @@ import org.joinmastodon.android.api.requests.accounts.SetAccountMuted;
import org.joinmastodon.android.api.requests.accounts.SetDomainBlocked; import org.joinmastodon.android.api.requests.accounts.SetDomainBlocked;
import org.joinmastodon.android.api.requests.accounts.AuthorizeFollowRequest; import org.joinmastodon.android.api.requests.accounts.AuthorizeFollowRequest;
import org.joinmastodon.android.api.requests.accounts.RejectFollowRequest; import org.joinmastodon.android.api.requests.accounts.RejectFollowRequest;
import org.joinmastodon.android.api.requests.instance.GetInstance;
import org.joinmastodon.android.api.requests.lists.DeleteList; import org.joinmastodon.android.api.requests.lists.DeleteList;
import org.joinmastodon.android.api.requests.notifications.DismissNotification; import org.joinmastodon.android.api.requests.notifications.DismissNotification;
import org.joinmastodon.android.api.requests.search.GetSearchResults; import org.joinmastodon.android.api.requests.search.GetSearchResults;
@ -93,6 +94,8 @@ import org.joinmastodon.android.fragments.ComposeFragment;
import org.joinmastodon.android.fragments.HashtagTimelineFragment; import org.joinmastodon.android.fragments.HashtagTimelineFragment;
import org.joinmastodon.android.fragments.ProfileFragment; import org.joinmastodon.android.fragments.ProfileFragment;
import org.joinmastodon.android.fragments.ThreadFragment; import org.joinmastodon.android.fragments.ThreadFragment;
import org.joinmastodon.android.fragments.settings.SettingsServerAboutFragment;
import org.joinmastodon.android.fragments.settings.SettingsServerFragment;
import org.joinmastodon.android.model.Account; import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.AccountField; import org.joinmastodon.android.model.AccountField;
import org.joinmastodon.android.model.Emoji; import org.joinmastodon.android.model.Emoji;
@ -1239,6 +1242,23 @@ public class UiUtils {
} }
}) })
.exec(accountID)); .exec(accountID));
} else if (uri.getPath() != null && uri.getPath().matches("^/about$")) {
return Optional.of(new GetInstance()
.setCallback(new Callback<>(){
@Override
public void onSuccess(Instance result){
Bundle args = new Bundle();
args.putParcelable("instance", Parcels.wrap(result));
args.putString("account", accountID);
go.accept(SettingsServerFragment.class, args);
}
@Override
public void onError(ErrorResponse error){
go.accept(null, bundleError(error));
}
})
.execNoAuth(uri.getHost()));
} else if (looksLikeFediverseUrl(url)) { } else if (looksLikeFediverseUrl(url)) {
return Optional.of(new GetSearchResults(url, null, true) return Optional.of(new GetSearchResults(url, null, true)
.setCallback(new Callback<>() { .setCallback(new Callback<>() {