Commit 66c1b0c3 authored by Thomas's avatar Thomas
Browse files

Merge branch 'develop' into main

parents df8c5d12 06c3da5d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ dependencies {
    implementation "com.google.code.gson:gson:2.8.6"
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.squareup.retrofit2:converter-simplexml:2.9.0'
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
    implementation 'androidx.preference:preference:1.2.0'
    implementation "org.conscrypt:conscrypt-android:2.5.2"
+2 −0
Original line number Diff line number Diff line
@@ -18,12 +18,14 @@
        android:icon="@mipmap/ic_launcher"
        android:usesCleartextTraffic="true"
        android:label="@string/app_name"
        android:configChanges="orientation|screenSize"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppThemeDark"
       >
        <activity
            android:name=".activities.MainActivity"
            android:configChanges="orientation|screenSize"
            android:exported="true"
            >
            <intent-filter>
+12 −8
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ import androidx.core.app.ActivityOptionsCompat;
import androidx.core.content.ContextCompat;
import androidx.core.view.GravityCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import androidx.lifecycle.ViewModelProvider;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.navigation.NavController;
@@ -746,13 +747,11 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
            itemFilter.setTitle(show_filtered);
        }
        popup.setOnDismissListener(menu1 -> {
            if (binding.viewPager.getAdapter() != null) {
            Fragment fragment = getSupportFragmentManager().findFragmentByTag("f" + binding.viewPager.getCurrentItem());
            if (fragment instanceof FragmentMastodonTimeline && fragment.isVisible()) {
                FragmentMastodonTimeline fragmentMastodonTimeline = ((FragmentMastodonTimeline) fragment);
                fragmentMastodonTimeline.refreshAllAdapters();
            }
            }
        });
        String finalShow_filtered = show_filtered;
        popup.setOnMenuItemClickListener(item -> {
@@ -838,8 +837,13 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
    }

    public void refreshFragment() {
        if (binding.viewPager.getAdapter() != null) {
            binding.viewPager.getAdapter().notifyDataSetChanged();
        Fragment fragment = getSupportFragmentManager().findFragmentByTag("f" + binding.viewPager.getCurrentItem());
        if (fragment instanceof FragmentNotificationContainer) {
            FragmentTransaction fragTransaction = getSupportFragmentManager().beginTransaction();
            fragTransaction.detach(fragment).commit();
            FragmentTransaction fragTransaction2 = getSupportFragmentManager().beginTransaction();
            fragTransaction2.attach(fragment);
            fragTransaction2.commit();
        }
    }

+1 −1
Original line number Diff line number Diff line
@@ -125,7 +125,7 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface {

        ScreenSlidePagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(MediaActivity.this);
        binding.mediaViewpager.setAdapter(mPagerAdapter);

        binding.mediaViewpager.setSaveEnabled(false);
        binding.mediaViewpager.setCurrentItem(mediaPosition - 1);
        binding.haulerView.setOnDragDismissedListener(dragDirection -> ActivityCompat.finishAfterTransition(MediaActivity.this));
        registerReceiver(onDownloadComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
+20 −27
Original line number Diff line number Diff line
@@ -59,12 +59,11 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.preference.PreferenceManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.widget.ViewPager2;

import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.CustomTarget;
import com.bumptech.glide.request.transition.Transition;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;

import java.util.ArrayList;
import java.util.Date;
@@ -249,34 +248,28 @@ public class ProfileActivity extends BaseActivity {
        binding.accountTabLayout.removeAllTabs();
        //Tablayout for timelines/following/followers
        FedilabProfileTLPageAdapter fedilabProfileTLPageAdapter = new FedilabProfileTLPageAdapter(ProfileActivity.this, account);
        binding.accountTabLayout.addTab(binding.accountTabLayout.newTab().setText(getString(R.string.status_cnt, Helper.withSuffix(account.statuses_count))));
        binding.accountTabLayout.addTab(binding.accountTabLayout.newTab().setText(getString(R.string.following_cnt, Helper.withSuffix(account.following_count))));
        binding.accountTabLayout.addTab(binding.accountTabLayout.newTab().setText(getString(R.string.followers_cnt, Helper.withSuffix(account.followers_count))));
        binding.accountTabLayout.addTab(binding.accountTabLayout.newTab());
        binding.accountTabLayout.addTab(binding.accountTabLayout.newTab());
        binding.accountTabLayout.addTab(binding.accountTabLayout.newTab());
        binding.accountViewpager.setAdapter(fedilabProfileTLPageAdapter);
        binding.accountViewpager.setOffscreenPageLimit(3);
        binding.accountViewpager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                super.onPageScrolled(position, positionOffset, positionOffsetPixels);
                binding.accountTabLayout.selectTab(binding.accountTabLayout.getTabAt(position));
            }
        });
        binding.accountTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                binding.accountViewpager.setCurrentItem(tab.getPosition());
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {

        new TabLayoutMediator(binding.accountTabLayout, binding.accountViewpager,
                (tab, position) -> {
                    binding.accountViewpager.setCurrentItem(tab.getPosition(), true);
                    switch (position) {
                        case 0:
                            tab.setText(getString(R.string.status_cnt, Helper.withSuffix(account.statuses_count)));
                            break;
                        case 1:
                            tab.setText(getString(R.string.following_cnt, Helper.withSuffix(account.following_count)));
                            break;
                        case 2:
                            tab.setText(getString(R.string.followers_cnt, Helper.withSuffix(account.followers_count)));
                            break;
                    }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

                }
        });
        ).attach();
        binding.accountTabLayout.setTabTextColors(ThemeHelper.getAttColor(ProfileActivity.this, R.attr.mTextColor), ContextCompat.getColor(ProfileActivity.this, R.color.cyanea_accent_dark_reference));
        binding.accountTabLayout.setTabIconTint(ThemeHelper.getColorStateList(ProfileActivity.this));
        boolean disableGif = sharedpreferences.getBoolean(getString(R.string.SET_DISABLE_GIF), false);
Loading