Compare commits

...

4 Commits

Author SHA1 Message Date
LucasGGamerM b29189ad2a refactor: move mastodon/session/session to mastodon/session package 2023-05-14 14:43:57 -03:00
LucasGGamerM f725e46bb2 refactor: move mastodon api calls to own package
This should help organization for implementing the misskey side of the api
2023-05-14 11:24:18 -03:00
LucasGGamerM 3c14ec8195 feat: hacking together a prototype for the api abstraction layer
So far it works for the home timelines, next I gotta figure out how to see what type of server a logged in account is from
2023-05-14 11:24:18 -03:00
LucasGGamerM eb78823cb1 feat: initial commit for the ApiAdapter class
This needs a *lot* of work to make moshidon *key compatible
2023-05-14 11:24:18 -03:00
158 changed files with 336 additions and 448 deletions

View File

@ -1,10 +1,8 @@
package org.joinmastodon.android.test;
import android.app.Instrumentation;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
@ -14,10 +12,10 @@ import org.joinmastodon.android.GlobalUserPreferences;
import org.joinmastodon.android.MainActivity;
import org.joinmastodon.android.MastodonApp;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.instance.GetInstance;
import org.joinmastodon.android.api.requests.statuses.GetStatusByID;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.mastodon.requests.instance.GetInstance;
import org.joinmastodon.android.api.mastodon.requests.statuses.GetStatusByID;
import org.joinmastodon.android.api.mastodon.session.AccountSession;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.fragments.ComposeFragment;
import org.joinmastodon.android.fragments.ThreadFragment;
import org.joinmastodon.android.fragments.onboarding.InstanceRulesFragment;
@ -32,12 +30,9 @@ import org.parceler.Parcels;
import java.io.File;
import java.io.IOException;
import java.util.concurrent.BrokenBarrierException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.TimeoutException;
import androidx.test.core.app.ActivityScenario;
import androidx.test.espresso.PerformException;
import androidx.test.espresso.UiController;
import androidx.test.espresso.ViewAction;
@ -47,18 +42,15 @@ import androidx.test.ext.junit.rules.ActivityScenarioRule;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.runner.screenshot.ScreenCapture;
import androidx.test.runner.screenshot.Screenshot;
import me.grishka.appkit.api.Callback;
import me.grishka.appkit.api.ErrorResponse;
import okio.BufferedSink;
import okio.Okio;
import okio.Sink;
import okio.Source;
import static androidx.test.espresso.Espresso.*;
import static androidx.test.espresso.action.ViewActions.*;
import static androidx.test.espresso.assertion.ViewAssertions.*;
import static androidx.test.espresso.matcher.ViewMatchers.*;
@RunWith(AndroidJUnit4.class)

View File

@ -1,62 +1,5 @@
package org.joinmastodon.android;
import android.app.Activity;
import android.app.NotificationManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.graphics.drawable.Icon;
import android.net.Uri;
import android.os.Build;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.browser.customtabs.CustomTabsIntent;
import org.joinmastodon.android.api.MastodonAPIController;
import org.joinmastodon.android.api.PushSubscriptionManager;
import org.joinmastodon.android.api.requests.accounts.GetOwnAccount;
import org.joinmastodon.android.api.requests.accounts.GetPreferences;
import org.joinmastodon.android.api.requests.accounts.GetWordFilters;
import org.joinmastodon.android.api.requests.instance.GetCustomEmojis;
import org.joinmastodon.android.api.requests.instance.GetInstance;
import org.joinmastodon.android.api.requests.oauth.CreateOAuthApp;
import org.joinmastodon.android.api.session.AccountActivationInfo;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.events.EmojiUpdatedEvent;
import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.Application;
import org.joinmastodon.android.model.Emoji;
import org.joinmastodon.android.model.EmojiCategory;
import org.joinmastodon.android.model.Filter;
import org.joinmastodon.android.model.Instance;
import org.joinmastodon.android.model.Preferences;
import org.joinmastodon.android.model.Token;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import me.grishka.appkit.api.Callback;
import me.grishka.appkit.api.ErrorResponse;
public class DomainManager {
private static final String TAG="DomainManager";

View File

@ -9,8 +9,8 @@ import android.os.Bundle;
import android.text.TextUtils;
import android.widget.Toast;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.mastodon.session.AccountSession;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.fragments.ComposeFragment;
import org.joinmastodon.android.ui.AccountSwitcherSheet;
import org.joinmastodon.android.ui.utils.UiUtils;

View File

@ -11,8 +11,8 @@ import android.os.Bundle;
import android.util.Log;
import org.joinmastodon.android.api.ObjectValidationException;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.mastodon.session.AccountSession;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.fragments.ComposeFragment;
import org.joinmastodon.android.fragments.HomeFragment;
import org.joinmastodon.android.fragments.ProfileFragment;

View File

@ -6,12 +6,11 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;
import org.joinmastodon.android.api.requests.accounts.GetOwnAccount;
import org.joinmastodon.android.api.requests.oauth.GetOauthToken;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.mastodon.requests.accounts.GetOwnAccount;
import org.joinmastodon.android.api.mastodon.requests.oauth.GetOauthToken;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.Application;
import org.joinmastodon.android.model.Instance;

View File

@ -12,28 +12,25 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.opengl.Visibility;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import org.joinmastodon.android.api.MastodonAPIController;
import org.joinmastodon.android.api.requests.accounts.SetAccountFollowed;
import org.joinmastodon.android.api.requests.notifications.GetNotificationByID;
import org.joinmastodon.android.api.requests.statuses.CreateStatus;
import org.joinmastodon.android.api.requests.statuses.SetStatusBookmarked;
import org.joinmastodon.android.api.requests.statuses.SetStatusFavorited;
import org.joinmastodon.android.api.requests.statuses.SetStatusReblogged;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.mastodon.requests.accounts.SetAccountFollowed;
import org.joinmastodon.android.api.mastodon.requests.notifications.GetNotificationByID;
import org.joinmastodon.android.api.mastodon.requests.statuses.CreateStatus;
import org.joinmastodon.android.api.mastodon.requests.statuses.SetStatusBookmarked;
import org.joinmastodon.android.api.mastodon.requests.statuses.SetStatusFavorited;
import org.joinmastodon.android.api.mastodon.requests.statuses.SetStatusReblogged;
import org.joinmastodon.android.api.mastodon.session.AccountSession;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.events.NotificationReceivedEvent;
import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.NotificationAction;
import org.joinmastodon.android.model.Preferences;
import org.joinmastodon.android.model.PushNotification;
import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.model.StatusPrivacy;
import org.joinmastodon.android.model.StatusPrivacy;
import org.joinmastodon.android.ui.utils.UiUtils;
import org.parceler.Parcels;

View File

@ -11,15 +11,14 @@ import android.util.Log;
import org.joinmastodon.android.BuildConfig;
import org.joinmastodon.android.MastodonApp;
import org.joinmastodon.android.api.requests.notifications.GetNotifications;
import org.joinmastodon.android.api.requests.timelines.GetHomeTimeline;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.adapter.ApiAdapter;
import org.joinmastodon.android.api.mastodon.requests.notifications.GetNotifications;
import org.joinmastodon.android.api.mastodon.session.AccountSession;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.model.CacheablePaginatedResponse;
import org.joinmastodon.android.model.Filter;
import org.joinmastodon.android.model.Instance;
import org.joinmastodon.android.model.Notification;
import org.joinmastodon.android.model.PaginatedResponse;
import org.joinmastodon.android.model.SearchResult;
import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.utils.StatusFilterPredicate;
@ -88,7 +87,8 @@ public class CacheController{
Log.w(TAG, "getHomeTimeline: corrupted status object in database", x);
}
}
new GetHomeTimeline(maxID, null, count, null)
ApiAdapter apiAdapter = new ApiAdapter(ApiAdapter.ServerType.MASTODON);
apiAdapter.getHomeTimeline(maxID, null, count, null)
.setCallback(new Callback<>(){
@Override
public void onSuccess(List<Status> result){

View File

@ -15,7 +15,7 @@ import org.joinmastodon.android.BuildConfig;
import org.joinmastodon.android.MastodonApp;
import org.joinmastodon.android.api.gson.IsoInstantTypeAdapter;
import org.joinmastodon.android.api.gson.IsoLocalDateTypeAdapter;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.mastodon.session.AccountSession;
import org.joinmastodon.android.model.Status;
import java.io.BufferedReader;

View File

@ -9,8 +9,8 @@ import android.util.Pair;
import com.google.gson.reflect.TypeToken;
import org.joinmastodon.android.BuildConfig;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.mastodon.session.AccountSession;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.model.BaseModel;
import org.joinmastodon.android.model.Token;

View File

@ -12,10 +12,10 @@ import android.util.Log;
import org.joinmastodon.android.BuildConfig;
import org.joinmastodon.android.MastodonApp;
import org.joinmastodon.android.api.requests.notifications.RegisterForPushNotifications;
import org.joinmastodon.android.api.requests.notifications.UpdatePushSettings;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.mastodon.requests.notifications.RegisterForPushNotifications;
import org.joinmastodon.android.api.mastodon.requests.notifications.UpdatePushSettings;
import org.joinmastodon.android.api.mastodon.session.AccountSession;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.model.PushNotification;
import org.joinmastodon.android.model.PushSubscription;
@ -45,7 +45,6 @@ import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyAgreement;
import javax.crypto.Mac;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.spec.GCMParameterSpec;
import javax.crypto.spec.SecretKeySpec;

View File

@ -4,9 +4,9 @@ import android.os.Looper;
import org.joinmastodon.android.E;
import org.joinmastodon.android.MastodonApp;
import org.joinmastodon.android.api.requests.statuses.SetStatusBookmarked;
import org.joinmastodon.android.api.requests.statuses.SetStatusFavorited;
import org.joinmastodon.android.api.requests.statuses.SetStatusReblogged;
import org.joinmastodon.android.api.mastodon.requests.statuses.SetStatusBookmarked;
import org.joinmastodon.android.api.mastodon.requests.statuses.SetStatusFavorited;
import org.joinmastodon.android.api.mastodon.requests.statuses.SetStatusReblogged;
import org.joinmastodon.android.events.StatusCountersUpdatedEvent;
import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.model.StatusPrivacy;

View File

@ -0,0 +1,47 @@
package org.joinmastodon.android.api.adapter;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.api.mastodon.requests.statuses.GetStatusByID;
import org.joinmastodon.android.api.mastodon.requests.timelines.GetHomeTimeline;
import org.joinmastodon.android.model.Status;
import java.util.List;
public class ApiAdapter {
public final ServerType serverType;
public ApiAdapter(ServerType serverType){
this.serverType = serverType;
}
public MastodonAPIRequest<?> getPostById(String id){
switch (serverType){
case MASTODON -> {
return new GetStatusByID(id);
}
case MISSKEY -> {
return null;
}
}
return null;
}
public MastodonAPIRequest<List<Status>> getHomeTimeline(String maxID, String minID, int limit, String sinceID){
switch (serverType){
case MASTODON -> {
return new GetHomeTimeline(maxID, minID, limit, sinceID);
}
case MISSKEY -> {
return null;
}
}
return null;
}
public enum ServerType {
MASTODON,
MISSKEY,
}
}

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests;
package org.joinmastodon.android.api.mastodon.requests;
import android.net.Uri;
import android.text.TextUtils;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Relationship;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Account;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Account;

View File

@ -1,8 +1,8 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import com.google.gson.reflect.TypeToken;
import org.joinmastodon.android.api.requests.HeaderPaginationRequest;
import org.joinmastodon.android.api.mastodon.requests.HeaderPaginationRequest;
import org.joinmastodon.android.model.Account;
public class GetAccountFollowers extends HeaderPaginationRequest<Account>{

View File

@ -1,8 +1,8 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import com.google.gson.reflect.TypeToken;
import org.joinmastodon.android.api.requests.HeaderPaginationRequest;
import org.joinmastodon.android.api.mastodon.requests.HeaderPaginationRequest;
import org.joinmastodon.android.model.Account;
public class GetAccountFollowing extends HeaderPaginationRequest<Account>{

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import com.google.gson.reflect.TypeToken;

View File

@ -1,8 +1,8 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import com.google.gson.reflect.TypeToken;
import org.joinmastodon.android.api.requests.HeaderPaginationRequest;
import org.joinmastodon.android.api.mastodon.requests.HeaderPaginationRequest;
import org.joinmastodon.android.model.Account;
public class GetFollowRequests extends HeaderPaginationRequest<Account>{

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Account;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Preferences;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Token;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Relationship;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Relationship;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Relationship;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Relationship;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Relationship;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.accounts;
package org.joinmastodon.android.api.mastodon.requests.accounts;
import android.net.Uri;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.announcements;
package org.joinmastodon.android.api.mastodon.requests.announcements;
import org.joinmastodon.android.api.MastodonAPIRequest;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.announcements;
package org.joinmastodon.android.api.mastodon.requests.announcements;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.catalog;
package org.joinmastodon.android.api.mastodon.requests.catalog;
import android.net.Uri;
import android.text.TextUtils;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.catalog;
package org.joinmastodon.android.api.mastodon.requests.catalog;
import android.net.Uri;
import android.text.TextUtils;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.instance;
package org.joinmastodon.android.api.mastodon.requests.instance;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.instance;
package org.joinmastodon.android.api.mastodon.requests.instance;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Instance;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.lists;
package org.joinmastodon.android.api.mastodon.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import java.util.List;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.lists;
package org.joinmastodon.android.api.mastodon.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import java.util.List;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.lists;
package org.joinmastodon.android.api.mastodon.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.ListTimeline;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.lists;
package org.joinmastodon.android.api.mastodon.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.ListTimeline;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.lists;
package org.joinmastodon.android.api.mastodon.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import java.util.List;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.lists;
package org.joinmastodon.android.api.mastodon.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.ListTimeline;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.lists;
package org.joinmastodon.android.api.mastodon.requests.lists;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.lists;
package org.joinmastodon.android.api.mastodon.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import java.util.List;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.lists;
package org.joinmastodon.android.api.mastodon.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import java.util.List;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.lists;
package org.joinmastodon.android.api.mastodon.requests.lists;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.ListTimeline;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.markers;
package org.joinmastodon.android.api.mastodon.requests.markers;
import org.joinmastodon.android.api.ApiUtils;
import org.joinmastodon.android.api.MastodonAPIRequest;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.markers;
package org.joinmastodon.android.api.mastodon.requests.markers;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.api.gson.JsonObjectBuilder;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.notifications;
package org.joinmastodon.android.api.mastodon.requests.notifications;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.notifications;
package org.joinmastodon.android.api.mastodon.requests.notifications;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Notification;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.notifications;
package org.joinmastodon.android.api.mastodon.requests.notifications;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.notifications;
package org.joinmastodon.android.api.mastodon.requests.notifications;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.PushSubscription;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.notifications;
package org.joinmastodon.android.api.mastodon.requests.notifications;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.PushSubscription;

View File

@ -1,7 +1,7 @@
package org.joinmastodon.android.api.requests.oauth;
package org.joinmastodon.android.api.mastodon.requests.oauth;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.model.Application;
public class CreateOAuthApp extends MastodonAPIRequest<Application>{

View File

@ -1,9 +1,9 @@
package org.joinmastodon.android.api.requests.oauth;
package org.joinmastodon.android.api.mastodon.requests.oauth;
import com.google.gson.annotations.SerializedName;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.model.Token;
public class GetOauthToken extends MastodonAPIRequest<Token>{

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.oauth;
package org.joinmastodon.android.api.mastodon.requests.oauth;
import org.joinmastodon.android.api.MastodonAPIRequest;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.polls;
package org.joinmastodon.android.api.mastodon.requests.polls;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Poll;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.reports;
package org.joinmastodon.android.api.mastodon.requests.reports;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.ReportReason;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.search;
package org.joinmastodon.android.api.mastodon.requests.search;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.SearchResults;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.ScheduledStatus;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Status;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Status;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Attachment;

View File

@ -1,8 +1,8 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import com.google.gson.reflect.TypeToken;
import org.joinmastodon.android.api.requests.HeaderPaginationRequest;
import org.joinmastodon.android.api.mastodon.requests.HeaderPaginationRequest;
import org.joinmastodon.android.model.Status;
public class GetBookmarkedStatuses extends HeaderPaginationRequest<Status>{

View File

@ -1,8 +1,8 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import com.google.gson.reflect.TypeToken;
import org.joinmastodon.android.api.requests.HeaderPaginationRequest;
import org.joinmastodon.android.api.mastodon.requests.HeaderPaginationRequest;
import org.joinmastodon.android.model.Status;
public class GetFavoritedStatuses extends HeaderPaginationRequest<Status>{

View File

@ -1,8 +1,8 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import com.google.gson.reflect.TypeToken;
import org.joinmastodon.android.api.requests.HeaderPaginationRequest;
import org.joinmastodon.android.api.mastodon.requests.HeaderPaginationRequest;
import org.joinmastodon.android.model.ScheduledStatus;
public class GetScheduledStatuses extends HeaderPaginationRequest<ScheduledStatus>{

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Status;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.StatusContext;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import com.google.gson.reflect.TypeToken;

View File

@ -1,8 +1,8 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import com.google.gson.reflect.TypeToken;
import org.joinmastodon.android.api.requests.HeaderPaginationRequest;
import org.joinmastodon.android.api.mastodon.requests.HeaderPaginationRequest;
import org.joinmastodon.android.model.Account;
public class GetStatusFavorites extends HeaderPaginationRequest<Account>{

View File

@ -1,8 +1,8 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import com.google.gson.reflect.TypeToken;
import org.joinmastodon.android.api.requests.HeaderPaginationRequest;
import org.joinmastodon.android.api.mastodon.requests.HeaderPaginationRequest;
import org.joinmastodon.android.model.Account;
public class GetStatusReblogs extends HeaderPaginationRequest<Account>{

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.AllFieldsAreRequired;
import org.joinmastodon.android.api.MastodonAPIRequest;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Status;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Status;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Status;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Status;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.TranslatedStatus;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Attachment;

View File

@ -1,11 +1,8 @@
package org.joinmastodon.android.api.requests.statuses;
package org.joinmastodon.android.api.mastodon.requests.statuses;
import android.database.Cursor;
import android.net.Uri;
import android.provider.OpenableColumns;
import android.text.TextUtils;
import org.joinmastodon.android.MastodonApp;
import org.joinmastodon.android.api.ContentUriRequestBody;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.api.ProgressListener;

View File

@ -1,13 +1,10 @@
package org.joinmastodon.android.api.requests.tags;
package org.joinmastodon.android.api.mastodon.requests.tags;
import com.google.gson.reflect.TypeToken;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.api.requests.HeaderPaginationRequest;
import org.joinmastodon.android.api.mastodon.requests.HeaderPaginationRequest;
import org.joinmastodon.android.model.Hashtag;
import java.util.List;
public class GetFollowedHashtags extends HeaderPaginationRequest<Hashtag> {
public GetFollowedHashtags() {
this(null, null, -1, null);

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.tags;
package org.joinmastodon.android.api.mastodon.requests.tags;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Hashtag;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.tags;
package org.joinmastodon.android.api.mastodon.requests.tags;
import org.joinmastodon.android.api.MastodonAPIRequest;
import org.joinmastodon.android.model.Hashtag;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.timelines;
package org.joinmastodon.android.api.mastodon.requests.timelines;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.timelines;
package org.joinmastodon.android.api.mastodon.requests.timelines;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.timelines;
package org.joinmastodon.android.api.mastodon.requests.timelines;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.timelines;
package org.joinmastodon.android.api.mastodon.requests.timelines;
import android.text.TextUtils;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.trends;
package org.joinmastodon.android.api.mastodon.requests.trends;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.trends;
package org.joinmastodon.android.api.mastodon.requests.trends;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.requests.trends;
package org.joinmastodon.android.api.mastodon.requests.trends;
import com.google.gson.reflect.TypeToken;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.session;
package org.joinmastodon.android.api.mastodon.session;
public class AccountActivationInfo{
public String email;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.session;
package org.joinmastodon.android.api.mastodon.session;
import org.joinmastodon.android.api.CacheController;
import org.joinmastodon.android.api.MastodonAPIController;

View File

@ -1,4 +1,4 @@
package org.joinmastodon.android.api.session;
package org.joinmastodon.android.api.mastodon.session;
import android.app.Activity;
import android.app.NotificationManager;
@ -20,13 +20,13 @@ import org.joinmastodon.android.MastodonApp;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.MastodonAPIController;
import org.joinmastodon.android.api.PushSubscriptionManager;
import org.joinmastodon.android.api.requests.accounts.GetPreferences;
import org.joinmastodon.android.api.requests.accounts.GetWordFilters;
import org.joinmastodon.android.api.requests.instance.GetCustomEmojis;
import org.joinmastodon.android.api.requests.accounts.GetOwnAccount;
import org.joinmastodon.android.api.requests.instance.GetInstance;
import org.joinmastodon.android.api.requests.markers.GetMarkers;
import org.joinmastodon.android.api.requests.oauth.CreateOAuthApp;
import org.joinmastodon.android.api.mastodon.requests.accounts.GetPreferences;
import org.joinmastodon.android.api.mastodon.requests.accounts.GetWordFilters;
import org.joinmastodon.android.api.mastodon.requests.instance.GetCustomEmojis;
import org.joinmastodon.android.api.mastodon.requests.accounts.GetOwnAccount;
import org.joinmastodon.android.api.mastodon.requests.instance.GetInstance;
import org.joinmastodon.android.api.mastodon.requests.markers.GetMarkers;
import org.joinmastodon.android.api.mastodon.requests.oauth.CreateOAuthApp;
import org.joinmastodon.android.events.EmojiUpdatedEvent;
import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.Application;

View File

@ -3,14 +3,10 @@ package org.joinmastodon.android.fragments;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.TranslateAnimation;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.accounts.GetAccountStatuses;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.mastodon.requests.accounts.GetAccountStatuses;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.events.RemoveAccountPostsEvent;
import org.joinmastodon.android.events.StatusCreatedEvent;
import org.joinmastodon.android.events.StatusUnpinnedEvent;

View File

@ -3,43 +3,23 @@ package org.joinmastodon.android.fragments;
import static java.util.stream.Collectors.toList;
import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageButton;
import com.squareup.otto.Subscribe;
import org.joinmastodon.android.E;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.announcements.GetAnnouncements;
import org.joinmastodon.android.api.requests.statuses.CreateStatus;
import org.joinmastodon.android.api.requests.statuses.GetScheduledStatuses;
import org.joinmastodon.android.api.session.AccountSession;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.events.ScheduledStatusCreatedEvent;
import org.joinmastodon.android.events.ScheduledStatusDeletedEvent;
import org.joinmastodon.android.api.mastodon.requests.announcements.GetAnnouncements;
import org.joinmastodon.android.api.mastodon.session.AccountSession;
import org.joinmastodon.android.api.mastodon.session.AccountSessionManager;
import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.Announcement;
import org.joinmastodon.android.model.HeaderPaginationList;
import org.joinmastodon.android.model.Instance;
import org.joinmastodon.android.model.ScheduledStatus;
import org.joinmastodon.android.model.Status;
import org.joinmastodon.android.ui.displayitems.HeaderStatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.StatusDisplayItem;
import org.joinmastodon.android.ui.displayitems.TextStatusDisplayItem;
import org.joinmastodon.android.ui.text.HtmlParser;
import org.joinmastodon.android.ui.utils.UiUtils;
import org.parceler.Parcels;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import me.grishka.appkit.Nav;
import me.grishka.appkit.api.PaginatedList;
import me.grishka.appkit.api.SimpleCallback;
public class AnnouncementsFragment extends BaseStatusListFragment<Announcement> {

View File

@ -13,7 +13,6 @@ import android.text.Layout;
import android.text.StaticLayout;
import android.text.TextPaint;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowInsets;
@ -21,14 +20,11 @@ import android.view.animation.TranslateAnimation;
import android.widget.ImageButton;
import android.widget.Toolbar;
import org.joinmastodon.android.DomainManager;
import org.joinmastodon.android.E;
import org.joinmastodon.android.GlobalUserPreferences;
import org.joinmastodon.android.MainActivity;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.accounts.GetAccountRelationships;
import org.joinmastodon.android.api.requests.polls.SubmitPollVote;
import org.joinmastodon.android.api.session.AccountSessionManager;
import org.joinmastodon.android.api.mastodon.requests.accounts.GetAccountRelationships;
import org.joinmastodon.android.api.mastodon.requests.polls.SubmitPollVote;
import org.joinmastodon.android.events.PollUpdatedEvent;
import org.joinmastodon.android.model.Account;
import org.joinmastodon.android.model.DisplayItemsParent;

View File

@ -3,7 +3,7 @@ package org.joinmastodon.android.fragments;
import android.app.Activity;
import org.joinmastodon.android.R;
import org.joinmastodon.android.api.requests.statuses.GetBookmarkedStatuses;
import org.joinmastodon.android.api.mastodon.requests.statuses.GetBookmarkedStatuses;
import org.joinmastodon.android.model.HeaderPaginationList;
import org.joinmastodon.android.model.Status;

Some files were not shown because too many files have changed in this diff Show More