implement assist url in instance rules

This commit is contained in:
sk 2023-06-01 18:38:45 +02:00
parent e12c0fb81f
commit 41cb0f2e09
2 changed files with 19 additions and 2 deletions

View File

@ -99,7 +99,7 @@ public class AccountSession{
public Uri getInstanceUri() { public Uri getInstanceUri() {
return new Uri.Builder() return new Uri.Builder()
.scheme("https") .scheme("https")
.authority(domain) .authority(getInstance().map(i -> i.uri).orElse(domain))
.build(); .build();
} }
} }

View File

@ -2,7 +2,9 @@ package org.joinmastodon.android.fragments.onboarding;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.app.assist.AssistContent;
import android.graphics.Typeface; import android.graphics.Typeface;
import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.text.Html; import android.text.Html;
@ -24,6 +26,7 @@ import org.joinmastodon.android.ui.DividerItemDecoration;
import org.joinmastodon.android.ui.text.HtmlParser; import org.joinmastodon.android.ui.text.HtmlParser;
import org.joinmastodon.android.ui.utils.UiUtils; import org.joinmastodon.android.ui.utils.UiUtils;
import org.joinmastodon.android.utils.ElevationOnScrollListener; import org.joinmastodon.android.utils.ElevationOnScrollListener;
import org.joinmastodon.android.utils.ProvidesAssistContent;
import org.parceler.Parcels; import org.parceler.Parcels;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -38,7 +41,7 @@ import me.grishka.appkit.utils.V;
import me.grishka.appkit.views.FragmentRootLinearLayout; import me.grishka.appkit.views.FragmentRootLinearLayout;
import me.grishka.appkit.views.UsableRecyclerView; import me.grishka.appkit.views.UsableRecyclerView;
public class InstanceRulesFragment extends ToolbarFragment{ public class InstanceRulesFragment extends ToolbarFragment implements ProvidesAssistContent {
private UsableRecyclerView list; private UsableRecyclerView list;
private MergeRecyclerAdapter adapter; private MergeRecyclerAdapter adapter;
private Button btn; private Button btn;
@ -47,6 +50,7 @@ public class InstanceRulesFragment extends ToolbarFragment{
private ElevationOnScrollListener onScrollListener; private ElevationOnScrollListener onScrollListener;
private static final int RULES_REQUEST=376; private static final int RULES_REQUEST=376;
private String domain;
@Override @Override
public void onCreate(Bundle savedInstanceState){ public void onCreate(Bundle savedInstanceState){
@ -59,6 +63,10 @@ public class InstanceRulesFragment extends ToolbarFragment{
super.onAttach(activity); super.onAttach(activity);
setNavigationBarColor(UiUtils.getThemeColor(activity, R.attr.colorWindowBackground)); setNavigationBarColor(UiUtils.getThemeColor(activity, R.attr.colorWindowBackground));
instance=Parcels.unwrap(getArguments().getParcelable("instance")); instance=Parcels.unwrap(getArguments().getParcelable("instance"));
// akkoma says uri is "https://example.social" while just "example.social" on mastodon
domain = instance.uri
.replaceFirst("^https://", "")
.replaceFirst("/$", "");
setTitle(R.string.instance_rules_title); setTitle(R.string.instance_rules_title);
} }
@ -130,6 +138,15 @@ public class InstanceRulesFragment extends ToolbarFragment{
} }
} }
@Override
public void onProvideAssistContent(AssistContent assistContent) {
assistContent.setWebUri(new Uri.Builder()
.scheme("https")
.authority(domain)
.path("/about")
.build());
}
private class ItemsAdapter extends RecyclerView.Adapter<ItemViewHolder>{ private class ItemsAdapter extends RecyclerView.Adapter<ItemViewHolder>{
@NonNull @NonNull