summaryrefslogtreecommitdiffstats
path: root/app/src/main/java/app/fedilab
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/app/fedilab')
-rw-r--r--app/src/main/java/app/fedilab/android/BaseMainActivity.java333
-rw-r--r--app/src/main/java/app/fedilab/android/activities/AboutActivity.java20
-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
-rw-r--r--app/src/main/java/app/fedilab/android/peertube/activities/PeertubeActivity.java2
-rw-r--r--app/src/main/java/app/fedilab/android/peertube/activities/PeertubeMainActivity.java1
-rw-r--r--app/src/main/java/app/fedilab/android/peertube/client/RetrofitPeertubeAPI.java9
-rw-r--r--app/src/main/java/app/fedilab/android/peertube/fragment/SettingsFragment.java1
-rw-r--r--app/src/main/java/app/fedilab/android/peertube/helper/Helper.java3
-rw-r--r--app/src/main/java/app/fedilab/android/peertube/services/RetrieveInfoService.java2
-rw-r--r--app/src/main/java/app/fedilab/android/peertube/webview/MastalabWebChromeClient.java6
-rw-r--r--app/src/main/java/app/fedilab/android/sqlite/Sqlite.java19
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/FragmentLoginPickInstanceMastodon.java14
91 files changed, 3180 insertions, 1745 deletions
diff --git a/app/src/main/java/app/fedilab/android/BaseMainActivity.java b/app/src/main/java/app/fedilab/android/BaseMainActivity.java
index 850de4dec..9b5af2dae 100644
--- a/app/src/main/java/app/fedilab/android/BaseMainActivity.java
+++ b/app/src/main/java/app/fedilab/android/BaseMainActivity.java
@@ -36,7 +36,6 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
-import android.content.res.Configuration;
import android.database.MatrixCursor;
import android.graphics.PorterDuff;
import android.graphics.drawable.BitmapDrawable;
@@ -72,8 +71,8 @@ import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.PopupMenu;
import androidx.appcompat.widget.SearchView;
+import androidx.appcompat.widget.Toolbar;
import androidx.core.app.ActivityCompat;
-import androidx.core.app.ActivityOptionsCompat;
import androidx.core.content.ContextCompat;
import androidx.core.view.GravityCompat;
import androidx.cursoradapter.widget.CursorAdapter;
@@ -81,7 +80,7 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.lifecycle.ViewModelProvider;
-
+import androidx.multidex.BuildConfig;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
@@ -99,6 +98,7 @@ import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.CustomTarget;
import com.bumptech.glide.request.target.Target;
import com.bumptech.glide.request.transition.Transition;
+import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.navigation.NavigationView;
@@ -163,6 +163,7 @@ import app.fedilab.android.mastodon.client.entities.api.Tag;
import app.fedilab.android.mastodon.client.entities.app.Account;
import app.fedilab.android.mastodon.client.entities.app.BaseAccount;
import app.fedilab.android.mastodon.client.entities.app.BottomMenu;
+import app.fedilab.android.mastodon.client.entities.app.CachedBundle;
import app.fedilab.android.mastodon.client.entities.app.MutedAccounts;
import app.fedilab.android.mastodon.client.entities.app.Pinned;
import app.fedilab.android.mastodon.client.entities.app.PinnedTimeline;
@@ -222,24 +223,34 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
private final BroadcastReceiver broadcast_error_message = new BroadcastReceiver() {
@Override
public void onReceive(android.content.Context context, Intent intent) {
- Bundle b = intent.getExtras();
- if (b != null) {
- if (b.getBoolean(Helper.RECEIVE_COMPOSE_ERROR_MESSAGE, false)) {
- String errorMessage = b.getString(Helper.RECEIVE_ERROR_MESSAGE);
- StatusDraft statusDraft = (StatusDraft) b.getSerializable(Helper.ARG_STATUS_DRAFT);
- Snackbar snackbar = Snackbar.make(binding.getRoot(), errorMessage, 5000);
- View snackbarView = snackbar.getView();
- TextView textView = snackbarView.findViewById(com.google.android.material.R.id.snackbar_text);
- textView.setMaxLines(5);
- snackbar
- .setAction(getString(R.string.open_draft), view -> {
- Intent intentCompose = new Intent(context, ComposeActivity.class);
- intentCompose.putExtra(Helper.ARG_STATUS_DRAFT, statusDraft);
- intentCompose.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(intentCompose);
- })
- .show();
- }
+ Bundle args = intent.getExtras();
+ if (args != null) {
+ long bundleId = args.getLong(Helper.ARG_INTENT_ID, -1);
+ new CachedBundle(BaseMainActivity.this).getBundle(bundleId, currentAccount, bundle -> {
+ if (bundle.getBoolean(Helper.RECEIVE_COMPOSE_ERROR_MESSAGE, false)) {
+ String errorMessage = bundle.getString(Helper.RECEIVE_ERROR_MESSAGE);
+ StatusDraft statusDraft = (StatusDraft) bundle.getSerializable(Helper.ARG_STATUS_DRAFT);
+ Snackbar snackbar = Snackbar.make(binding.getRoot(), errorMessage, 5000);
+ View snackbarView = snackbar.getView();
+ TextView textView = snackbarView.findViewById(com.google.android.material.R.id.snackbar_text);
+ textView.setMaxLines(5);
+ snackbar
+ .setAction(getString(R.string.open_draft), view -> {
+ Intent intentCompose = new Intent(context, ComposeActivity.class);
+ Bundle args2 = new Bundle();
+ args2.putSerializable(Helper.ARG_STATUS_DRAFT, statusDraft);
+ new CachedBundle(BaseMainActivity.this).insertBundle(args2, currentAccount, bundleId2 -> {
+ Bundle bundle2 = new Bundle();
+ bundle2.putLong(Helper.ARG_INTENT_ID, bundleId2);
+ intentCompose.putExtras(bundle2);
+ intentCompose.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ context.startActivity(intentCompose);
+ });
+ })
+ .show();
+ }
+ });
+
}
}
};
@@ -248,88 +259,97 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
private final BroadcastReceiver broadcast_data = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- Bundle b = intent.getExtras();
- if (b != null) {
- if (b.getBoolean(Helper.RECEIVE_REDRAW_TOPBAR, false)) {
- List<MastodonList> mastodonLists = (List<MastodonList>) b.getSerializable(Helper.RECEIVE_MASTODON_LIST);
- redrawPinned(mastodonLists);
- }
- if (b.getBoolean(Helper.RECEIVE_REDRAW_BOTTOM, false)) {
- bottomMenu = new BottomMenu(BaseMainActivity.this).hydrate(currentAccount, binding.bottomNavView);
- if (bottomMenu != null) {
- //ManageClick on bottom menu items
- if (binding.bottomNavView.findViewById(R.id.nav_home) != null) {
- binding.bottomNavView.findViewById(R.id.nav_home).setOnLongClickListener(view -> {
- int position = BottomMenu.getPosition(bottomMenu, R.id.nav_home);
- if (position >= 0) {
- manageFilters(position);
- }
- return false;
- });
- }
- if (binding.bottomNavView.findViewById(R.id.nav_local) != null) {
- binding.bottomNavView.findViewById(R.id.nav_local).setOnLongClickListener(view -> {
- int position = BottomMenu.getPosition(bottomMenu, R.id.nav_local);
+ Bundle args = intent.getExtras();
+