reimplement assist content

This commit is contained in:
sk
2023-06-01 18:02:33 +02:00
parent 89afc05d5c
commit b2d6879282
47 changed files with 689 additions and 470 deletions

View File

@@ -0,0 +1,32 @@
package org.joinmastodon.android.utils;
import android.app.Fragment;
import android.app.assist.AssistContent;
import android.net.Uri;
import org.joinmastodon.android.fragments.HasAccountID;
public interface ProvidesAssistContent {
void onProvideAssistContent(AssistContent assistContent);
default boolean callFragmentToProvideAssistContent(Fragment fragment, AssistContent assistContent) {
if (fragment instanceof ProvidesAssistContent assistiveFragment) {
assistiveFragment.onProvideAssistContent(assistContent);
return true;
} else {
return false;
}
}
interface ProvidesWebUri extends ProvidesAssistContent, HasAccountID {
Uri getWebUri(Uri.Builder base);
default Uri.Builder getUriBuilder() {
return getSession().getInstanceUri().buildUpon();
}
default void onProvideAssistContent(AssistContent assistContent) {
assistContent.setWebUri(getWebUri(getUriBuilder()));
}
}
}