summaryrefslogtreecommitdiffstats
path: root/app/src/main/java/app/fedilab/android/mastodon
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/app/fedilab/android/mastodon')
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/AccountReportActivity.java27
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/ActionActivity.java24
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/BaseActivity.java1
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/ComposeActivity.java579
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/ContextActivity.java150
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/CustomSharingActivity.java22
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/DirectMessageActivity.java87
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/EditProfileActivity.java21
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/FollowedTagActivity.java3
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/HashTagActivity.java76
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/InstanceHealthActivity.kt100
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/MastodonListActivity.java53
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/MediaActivity.java38
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/PartnerShipActivity.java16
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/ProfileActivity.java137
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/ReorderTimelinesActivity.java47
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/ReportActivity.java75
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/SearchResultTabActivity.java27
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/StatusInfoActivity.java24
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/TimelineActivity.java45
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/admin/AdminAccountActivity.java49
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/admin/AdminActionActivity.java27
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/admin/AdminDomainBlockActivity.java35
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/activities/admin/AdminReportActivity.java58
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/client/entities/api/EmojiInstance.java27
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/client/entities/api/Tag.java3
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/client/entities/app/CachedBundle.java413
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/BlurHashDecoder.kt32
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/ComposeHelper.java5
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/CrossActionHelper.java94
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/Helper.java131
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/PinnedTimelineHelper.java3
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/SpannableHelper.java135
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/ThemeHelper.java10
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/TranslateHelper.java2
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/itemtouchhelper/SimpleItemTouchHelperCallback.java6
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/helper/settings/TimePreferenceDialogFragment.java3
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/imageeditor/EditImageActivity.java22
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/imageeditor/base/BaseActivity.java6
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/jobs/ComposeWorker.java99
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/services/CustomReceiver.java8
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/AccountAdapter.java35
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/AccountFollowRequestAdapter.java18
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/AccountsSearchTopBarAdapter.java20
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ComposeAdapter.java54
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ConversationAdapter.java23
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/ImageAdapter.java38
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/NotificationAdapter.java70
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/SliderAdapter.java22
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java374
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusDirectMessageAdapter.java40
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusDraftAdapter.java15
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusScheduledAdapter.java14
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/SuggestionAdapter.java18
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/TagAdapter.java15
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/TagsSearchAdapter.java21
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/drawer/admin/AdminAccountAdapter.java17
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/media/FragmentMedia.java19
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/media/FragmentMediaProfile.java43
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentComposeSettings.java11
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentExtraFeaturesSettings.java15
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentHomeCacheSettings.java10
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentInterfaceSettings.java12
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentLanguageSettings.java9
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentNotificationsSettings.java32
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentThemingSettings.java16
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentTimelinesSettings.java14
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonAccount.java78
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonContext.java135
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonDirectMessage.java43
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonNotification.java72
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonTag.java2
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonTimeline.java253
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentNotificationContainer.java39
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentProfileTimeline.java62
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/pageadapter/FedilabNotificationPageAdapter.java60
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/pageadapter/FedilabProfilePageAdapter.java37
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/pageadapter/FedilabProfileTLPageAdapter.java17
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/pageadapter/FedilabScheduledPageAdapter.java14
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/viewmodel/mastodon/AccountsVM.java8
80 files changed, 2929 insertions, 1586 deletions
diff --git a/app/src/main/java/app/fedilab/android/mastodon/activities/AccountReportActivity.java b/app/src/main/java/app/fedilab/android/mastodon/activities/AccountReportActivity.java
index 8a1b2b083..84c454baf 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/activities/AccountReportActivity.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/activities/AccountReportActivity.java
@@ -15,6 +15,8 @@ package app.fedilab.android.mastodon.activities;
* see <http://www.gnu.org/licenses>. */
+import static app.fedilab.android.BaseMainActivity.currentAccount;
+
import android.app.Activity;
import android.graphics.PorterDuff;
import android.os.Bundle;
@@ -35,6 +37,7 @@ import app.fedilab.android.databinding.ActivityAdminReportBinding;
import app.fedilab.android.mastodon.client.entities.api.Status;
import app.fedilab.android.mastodon.client.entities.api.admin.AdminAccount;
import app.fedilab.android.mastodon.client.entities.api.admin.AdminReport;
+import app.fedilab.android.mastodon.client.entities.app.CachedBundle;
import app.fedilab.android.mastodon.helper.Helper;
import app.fedilab.android.mastodon.helper.ThemeHelper;
import app.fedilab.android.mastodon.ui.drawer.StatusReportAdapter;
@@ -48,6 +51,7 @@ public class AccountReportActivity extends BaseBarActivity {
private AdminReport report;
private ActivityAdminReportBinding binding;
private AdminVM adminVM;
+ private AdminAccount targeted_account;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -61,12 +65,22 @@ public class AccountReportActivity extends BaseBarActivity {
}
report = null;
- AdminAccount targeted_account = null;
- Bundle b = getIntent().getExtras();
- if (b != null) {
- account_id = b.getString(Helper.ARG_ACCOUNT_ID, null);
- targeted_account = (AdminAccount) b.getSerializable(Helper.ARG_ACCOUNT);
- report = (AdminReport) b.getSerializable(Helper.ARG_REPORT);
+ targeted_account = null;
+ Bundle args = getIntent().getExtras();
+ if (args != null) {
+ long bundleId = args.getLong(Helper.ARG_INTENT_ID, -1);
+ new CachedBundle(AccountReportActivity.this).getBundle(bundleId, currentAccount, this::initializeAfterBundle);
+ } else {
+ initializeAfterBundle(null);
+ }
+ }
+
+ private void initializeAfterBundle(Bundle bundle) {
+
+ if (bundle != null) {
+ account_id = bundle.getString(Helper.ARG_ACCOUNT_ID, null);
+ targeted_account = (AdminAccount) bundle.getSerializable(Helper.ARG_ACCOUNT);
+ report = (AdminReport) bundle.getSerializable(Helper.ARG_REPORT);
}
binding.allow.getBackground().setColorFilter(ThemeHelper.getAttColor(this, R.attr.colorPrimary), PorterDuff.Mode.MULTIPLY);
@@ -103,7 +117,6 @@ public class AccountReportActivity extends BaseBarActivity {
account_id = targeted_account.username;
}
-
}
private void fillReport(AdminAccount accountAdmin, actionType type) {
diff --git a/app/src/main/java/app/fedilab/android/mastodon/activities/ActionActivity.java b/app/src/main/java/app/fedilab/android/mastodon/activities/ActionActivity.java
index a943e6dd8..d3c89017e 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/activities/ActionActivity.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/activities/ActionActivity.java
@@ -100,24 +100,12 @@ public class ActionActivity extends BaseBarActivity {
}
switch (type) {
- case MUTED_TIMELINE:
- setTitle(R.string.muted_menu);
- break;
- case FAVOURITE_TIMELINE:
- setTitle(R.string.favourite);
- break;
- case BLOCKED_TIMELINE:
- setTitle(R.string.blocked_menu);
- break;
- case BOOKMARK_TIMELINE:
- setTitle(R.string.bookmarks);
- break;
- case BLOCKED_DOMAIN_TIMELINE:
- setTitle(R.string.blocked_domains);
- break;
- case MUTED_TIMELINE_HOME:
- setTitle(R.string.muted_menu_home);
- break;
+ case MUTED_TIMELINE -> setTitle(R.string.muted_menu);
+ case FAVOURITE_TIMELINE -> setTitle(R.string.favourite);
+ case BLOCKED_TIMELINE -> setTitle(R.string.blocked_menu);
+ case BOOKMARK_TIMELINE -> setTitle(R.string.bookmarks);
+ case BLOCKED_DOMAIN_TIMELINE -> setTitle(R.string.blocked_domains);
+ case MUTED_TIMELINE_HOME -> setTitle(R.string.muted_menu_home);
}
}
diff --git a/app/src/main/java/app/fedilab/android/mastodon/activities/BaseActivity.java b/app/src/main/java/app/fedilab/android/mastodon/activities/BaseActivity.java
index 6ab76c086..b0c2041d4 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/activities/BaseActivity.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/activities/BaseActivity.java
@@ -39,7 +39,6 @@ import org.conscrypt.Conscrypt;
import java.security.Security;
-import app.fedilab.android.BaseMainActivity;
import app.fedilab.android.R;
import app.fedilab.android.mastodon.helper.Helper;
import app.fedilab.android.mastodon.helper.ThemeHelper;
diff --git a/app/src/main/java/app/fedilab/android/mastodon/activities/ComposeActivity.java b/app/src/main/java/app/fedilab/android/mastodon/activities/ComposeActivity.java
index 6d9c24d59..1664337d4 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/activities/ComposeActivity.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/activities/ComposeActivity.java
@@ -50,7 +50,6 @@ import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.core.content.ContextCompat;
import androidx.lifecycle.ViewModelProvider;
-
import androidx.preference.PreferenceManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.work.Data;
@@ -88,6 +87,7 @@ import app.fedilab.android.mastodon.client.entities.api.Mention;
import app.fedilab.android.mastodon.client.entities.api.ScheduledStatus;
import app.fedilab.android.mastodon.client.entities.api.Status;
import app.fedilab.android.mastodon.client.entities.app.BaseAccount;
+import app.fedilab.android.mastodon.client.entities.app.CachedBundle;
import app.fedilab.android.mastodon.client.entities.app.StatusDraft;
import app.fedilab.android.mastodon.exception.DBException;
import app.fedilab.android.mastodon.helper.DividerDecorationSimple;
@@ -120,26 +120,31 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
private final BroadcastReceiver imageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(android.content.Context context, Intent intent) {
- String imgpath = intent.getStringExtra("imgpath");
- float focusX = intent.getFloatExtra("focusX", -2);
- float focusY = intent.getFloatExtra("focusY", -2);
- if (imgpath != null) {
- int position = 0;
- for (Status status : statusList) {
- if (status.media_attachments != null && status.media_attachments.size() > 0) {
- for (Attachment attachment : status.media_attachments) {
- if (attachment.local_path != null && attachment.local_path.equalsIgnoreCase(imgpath)) {
- if (focusX != -2) {
- attachment.focus = focusX + "," + focusY;
+ Bundle args = intent.getExtras();
+ if (args != null) {
+ long bundleId = args.getLong(Helper.ARG_INTENT_ID, -1);
+ new CachedBundle(ComposeActivity.this).getBundle(bundleId, currentAccount, bundle -> {
+ String imgpath = bundle.getString("imgpath");
+ float focusX = bundle.getFloat("focusX", -2);
+ float focusY = bundle.getFloat("focusY", -2);
+ if (imgpath != null) {
+ int position = 0;
+ for (Status status : statusList) {
+ if (status.media_attachments != null && status.media_attachments.size() > 0) {
+ for (Attachment attachment : status.media_attachments) {
+ if (attachment.local_path != null && attachment.local_path.equalsIgnoreCase(imgpath)) {
+ if (focusX != -2) {
+ attachment.focus = focusX + "," + focusY;
+ }
+ composeAdapter.notifyItemChanged(position);
+ break;
+ }
}
-
- composeAdapter.notifyItemChanged(position);
- break;
}
+ position++;
}
}
- position++;
- }
+ });
}
}
};
@@ -485,259 +490,275 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana
statusList = new ArrayList<>();
Bundle b = getIntent().getExtras();
if (b != null) {
- statusReply = (Status) b.getSerializable(Helper.ARG_STATUS_REPLY);
- statusQuoted = (Status) b.getSerializable(Helper.ARG_QUOTED_MESSAGE);
- statusDraft = (StatusDraft) b.getSerializable(Helper.ARG_STATUS_DRAFT);
- scheduledStatus = (ScheduledStatus) b.getSerializable(Helper.ARG_STATUS_SCHEDULED);
- statusReplyId = b.getString(Helper.ARG_STATUS_REPLY_ID);
- statusMention = (Status) b.getSerializable(Helper.ARG_STATUS_MENTION);
- account = (BaseAccount) b.getSerializable(Helper.ARG_ACCOUNT);
- if (account == null) {
- account = currentAccount;
- }
- editMessageId = b.getString(Helper.ARG_EDIT_STATUS_ID, null);
- instance = b.getString(Helper.ARG_INSTANCE, null);
- token = b.getString(Helper.ARG_TOKEN, null);
- visibility = b.getString(Helper.ARG_VISIBILITY, null);
- if (visibility == null && statusReply != null) {
- visibility = getVisibility(account, statusReply.visibility);
- } else if (vi