Loading app/src/main/java/app/fedilab/android/activities/MediaActivity.java +20 −39 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.graphics.Point; import android.graphics.drawable.ColorDrawable; Loading @@ -34,20 +33,15 @@ import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.Window; import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentStatePagerAdapter; import androidx.preference.PreferenceManager; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.ViewPager; import org.jetbrains.annotations.NotNull; import androidx.fragment.app.FragmentActivity; import androidx.viewpager2.adapter.FragmentStateAdapter; import androidx.viewpager2.widget.ViewPager2; import java.util.ArrayList; Loading Loading @@ -99,7 +93,6 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { private int minTouch, maxTouch; private float startX; private float startY; private FragmentMedia mCurrentFragment; private ActivityMediaPagerBinding binding; @Override Loading @@ -113,8 +106,6 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { fullscreen = false; SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(MediaActivity.this); final int med_desc_timeout = sharedpreferences.getInt(getString(R.string.SET_MED_DESC_TIMEOUT), 3) * 1000; flags = getWindow().getDecorView().getSystemUiVisibility(); Bundle b = getIntent().getExtras(); if (b != null) { Loading @@ -132,11 +123,10 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { setTitle(""); PagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); ScreenSlidePagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(MediaActivity.this); binding.mediaViewpager.setAdapter(mPagerAdapter); binding.mediaViewpager.setCurrentItem(mediaPosition - 1); binding.mediaViewpager.setOffscreenPageLimit(0); binding.haulerView.setOnDragDismissedListener(dragDirection -> ActivityCompat.finishAfterTransition(MediaActivity.this)); registerReceiver(onDownloadComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); String description = attachments.get(mediaPosition - 1).description; Loading @@ -145,14 +135,15 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { binding.mediaDescription.setText(description); } binding.mediaViewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { public void onPageScrollStateChanged(int state) { } binding.mediaViewpager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { super.onPageScrolled(position, positionOffset, positionOffsetPixels); } @Override public void onPageSelected(int position) { super.onPageSelected(position); String description = attachments.get(position).description; if (handler != null) { handler.removeCallbacksAndMessages(null); Loading @@ -162,8 +153,12 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { binding.mediaDescription.setText(description); } } }); @Override public void onPageScrollStateChanged(int state) { super.onPageScrollStateChanged(state); } }); setFullscreen(true); Display display = getWindowManager().getDefaultDisplay(); Loading Loading @@ -258,8 +253,6 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { @Override public boolean dispatchTouchEvent(MotionEvent event) { SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(MediaActivity.this); final int med_desc_timeout = sharedpreferences.getInt(getString(R.string.SET_MED_DESC_TIMEOUT), 3) * 1000; switch (event.getAction()) { case MotionEvent.ACTION_DOWN: startX = event.getX(); Loading Loading @@ -307,10 +300,6 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { super.onDestroy(); } public FragmentMedia getCurrentFragment() { return mCurrentFragment; } @Override public void onDownloaded(String saveFilePath, String downloadUrl, Error error) { Loading Loading @@ -372,15 +361,15 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { /** * Media Pager */ private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter { private class ScreenSlidePagerAdapter extends FragmentStateAdapter { ScreenSlidePagerAdapter(FragmentManager fm) { super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT); ScreenSlidePagerAdapter(FragmentActivity fa) { super(fa); } @NotNull @NonNull @Override public Fragment getItem(int position) { public Fragment createFragment(int position) { Bundle bundle = new Bundle(); FragmentMedia mediaSliderFragment = new FragmentMedia(); bundle.putInt(Helper.ARG_MEDIA_POSITION, position); Loading @@ -390,15 +379,7 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { } @Override public void setPrimaryItem(@NotNull ViewGroup container, int position, @NotNull Object object) { if (getCurrentFragment() != object) { mCurrentFragment = ((FragmentMedia) object); } super.setPrimaryItem(container, position, object); } @Override public int getCount() { public int getItemCount() { return attachments.size(); } } Loading app/src/main/java/app/fedilab/android/activities/ProfileActivity.java +10 −4 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ 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; Loading Loading @@ -125,7 +126,7 @@ public class ProfileActivity extends BaseActivity { if (b != null) { Account accountReceived = (Account) b.getSerializable(Helper.ARG_ACCOUNT); if (b.getBoolean(Helper.RECEIVE_REDRAW_PROFILE, false) && accountReceived != null) { if (account != null && accountReceived.id.equalsIgnoreCase(account.id)) { if (account != null && accountReceived.id != null && account.id != null && accountReceived.id.equalsIgnoreCase(account.id)) { initializeView(accountReceived); } } Loading Loading @@ -246,15 +247,20 @@ public class ProfileActivity extends BaseActivity { } binding.accountTabLayout.clearOnTabSelectedListeners(); binding.accountTabLayout.removeAllTabs(); binding.accountViewpager.clearOnPageChangeListeners(); //Tablayout for timelines/following/followers FedilabProfileTLPageAdapter fedilabProfileTLPageAdapter = new FedilabProfileTLPageAdapter(getSupportFragmentManager(), account); 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.accountViewpager.setAdapter(fedilabProfileTLPageAdapter); binding.accountViewpager.setOffscreenPageLimit(3); binding.accountViewpager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(binding.accountTabLayout)); 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) { Loading app/src/main/java/app/fedilab/android/activities/ScheduledActivity.java +1 −3 Original line number Diff line number Diff line Loading @@ -60,10 +60,8 @@ public class ScheduledActivity extends BaseActivity { binding.scheduleTablayout.addTab(binding.scheduleTablayout.newTab().setText(getString(R.string.toots_client))); binding.scheduleTablayout.addTab(binding.scheduleTablayout.newTab().setText(getString(R.string.reblog))); binding.scheduleViewpager.setAdapter(new FedilabScheduledPageAdapter(getSupportFragmentManager())); binding.scheduleViewpager.setAdapter(new FedilabScheduledPageAdapter(ScheduledActivity.this)); binding.scheduleViewpager.setOffscreenPageLimit(3); binding.scheduleViewpager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(binding.scheduleTablayout)); binding.scheduleTablayout.setTabTextColors(ThemeHelper.getAttColor(ScheduledActivity.this, R.attr.mTextColor), ContextCompat.getColor(ScheduledActivity.this, R.color.cyanea_accent_dark_reference)); binding.scheduleTablayout.setTabIconTint(ThemeHelper.getColorStateList(ScheduledActivity.this)); Loading app/src/main/java/app/fedilab/android/activities/SearchResultTabActivity.java +18 −20 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; import android.widget.Toast; Loading @@ -29,10 +28,9 @@ import androidx.annotation.NonNull; import androidx.appcompat.widget.SearchView; import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentStatePagerAdapter; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.ViewPager; import androidx.fragment.app.FragmentActivity; import androidx.viewpager2.adapter.FragmentStateAdapter; import androidx.viewpager2.widget.ViewPager2; import com.google.android.material.tabs.TabLayout; Loading Loading @@ -99,7 +97,7 @@ public class SearchResultTabActivity extends BaseActivity { public void onTabReselected(TabLayout.Tab tab) { Fragment fragment; if (binding.searchViewpager.getAdapter() != null) { fragment = (Fragment) binding.searchViewpager.getAdapter().instantiateItem(binding.searchViewpager, tab.getPosition()); fragment = (Fragment) getSupportFragmentManager().findFragmentByTag("f" + binding.searchViewpager.getCurrentItem()); if (fragment instanceof FragmentMastodonAccount) { FragmentMastodonAccount fragmentMastodonAccount = ((FragmentMastodonAccount) fragment); fragmentMastodonAccount.scrollToTop(); Loading Loading @@ -134,7 +132,7 @@ public class SearchResultTabActivity extends BaseActivity { imm.hideSoftInputFromWindow(binding.searchTabLayout.getWindowToken(), 0); query = query.replaceAll("^#+", ""); search = query.trim(); PagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); ScreenSlidePagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(SearchResultTabActivity.this); binding.searchViewpager.setAdapter(mPagerAdapter); searchView.clearFocus(); setTitle(search); Loading @@ -158,16 +156,19 @@ public class SearchResultTabActivity extends BaseActivity { }); PagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); ScreenSlidePagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(SearchResultTabActivity.this); binding.searchViewpager.setAdapter(mPagerAdapter); binding.searchViewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { binding.searchViewpager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { super.onPageScrolled(position, positionOffset, positionOffsetPixels); binding.searchTabLayout.selectTab(binding.searchTabLayout.getTabAt(position)); } @Override public void onPageSelected(int position) { super.onPageSelected(position); TabLayout.Tab tab = binding.searchTabLayout.getTabAt(position); if (tab != null) tab.select(); Loading @@ -175,6 +176,7 @@ public class SearchResultTabActivity extends BaseActivity { @Override public void onPageScrollStateChanged(int state) { super.onPageScrollStateChanged(state); } }); return true; Loading @@ -196,15 +198,16 @@ public class SearchResultTabActivity extends BaseActivity { /** * Pager adapter for the 4 fragments */ private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter { private class ScreenSlidePagerAdapter extends FragmentStateAdapter { ScreenSlidePagerAdapter(FragmentManager fm) { super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT); ScreenSlidePagerAdapter(FragmentActivity fa) { super(fa); } @NotNull @NonNull @Override public Fragment getItem(int position) { public Fragment createFragment(int position) { Bundle bundle = new Bundle(); switch (position) { case 0: Loading @@ -231,12 +234,7 @@ public class SearchResultTabActivity extends BaseActivity { } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { } @Override public int getCount() { public int getItemCount() { return 4; } } Loading app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java +1 −0 Original line number Diff line number Diff line Loading @@ -209,6 +209,7 @@ public class PinnedTimelineHelper { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { super.onPageScrolled(position, positionOffset, positionOffsetPixels); activityMainBinding.tabLayout.selectTab(activityMainBinding.tabLayout.getTabAt(position)); } @Override Loading Loading
app/src/main/java/app/fedilab/android/activities/MediaActivity.java +20 −39 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.graphics.Point; import android.graphics.drawable.ColorDrawable; Loading @@ -34,20 +33,15 @@ import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.Window; import androidx.annotation.NonNull; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentStatePagerAdapter; import androidx.preference.PreferenceManager; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.ViewPager; import org.jetbrains.annotations.NotNull; import androidx.fragment.app.FragmentActivity; import androidx.viewpager2.adapter.FragmentStateAdapter; import androidx.viewpager2.widget.ViewPager2; import java.util.ArrayList; Loading Loading @@ -99,7 +93,6 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { private int minTouch, maxTouch; private float startX; private float startY; private FragmentMedia mCurrentFragment; private ActivityMediaPagerBinding binding; @Override Loading @@ -113,8 +106,6 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { fullscreen = false; SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(MediaActivity.this); final int med_desc_timeout = sharedpreferences.getInt(getString(R.string.SET_MED_DESC_TIMEOUT), 3) * 1000; flags = getWindow().getDecorView().getSystemUiVisibility(); Bundle b = getIntent().getExtras(); if (b != null) { Loading @@ -132,11 +123,10 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { setTitle(""); PagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); ScreenSlidePagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(MediaActivity.this); binding.mediaViewpager.setAdapter(mPagerAdapter); binding.mediaViewpager.setCurrentItem(mediaPosition - 1); binding.mediaViewpager.setOffscreenPageLimit(0); binding.haulerView.setOnDragDismissedListener(dragDirection -> ActivityCompat.finishAfterTransition(MediaActivity.this)); registerReceiver(onDownloadComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); String description = attachments.get(mediaPosition - 1).description; Loading @@ -145,14 +135,15 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { binding.mediaDescription.setText(description); } binding.mediaViewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { public void onPageScrollStateChanged(int state) { } binding.mediaViewpager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { super.onPageScrolled(position, positionOffset, positionOffsetPixels); } @Override public void onPageSelected(int position) { super.onPageSelected(position); String description = attachments.get(position).description; if (handler != null) { handler.removeCallbacksAndMessages(null); Loading @@ -162,8 +153,12 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { binding.mediaDescription.setText(description); } } }); @Override public void onPageScrollStateChanged(int state) { super.onPageScrollStateChanged(state); } }); setFullscreen(true); Display display = getWindowManager().getDefaultDisplay(); Loading Loading @@ -258,8 +253,6 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { @Override public boolean dispatchTouchEvent(MotionEvent event) { SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(MediaActivity.this); final int med_desc_timeout = sharedpreferences.getInt(getString(R.string.SET_MED_DESC_TIMEOUT), 3) * 1000; switch (event.getAction()) { case MotionEvent.ACTION_DOWN: startX = event.getX(); Loading Loading @@ -307,10 +300,6 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { super.onDestroy(); } public FragmentMedia getCurrentFragment() { return mCurrentFragment; } @Override public void onDownloaded(String saveFilePath, String downloadUrl, Error error) { Loading Loading @@ -372,15 +361,15 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { /** * Media Pager */ private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter { private class ScreenSlidePagerAdapter extends FragmentStateAdapter { ScreenSlidePagerAdapter(FragmentManager fm) { super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT); ScreenSlidePagerAdapter(FragmentActivity fa) { super(fa); } @NotNull @NonNull @Override public Fragment getItem(int position) { public Fragment createFragment(int position) { Bundle bundle = new Bundle(); FragmentMedia mediaSliderFragment = new FragmentMedia(); bundle.putInt(Helper.ARG_MEDIA_POSITION, position); Loading @@ -390,15 +379,7 @@ public class MediaActivity extends BaseActivity implements OnDownloadInterface { } @Override public void setPrimaryItem(@NotNull ViewGroup container, int position, @NotNull Object object) { if (getCurrentFragment() != object) { mCurrentFragment = ((FragmentMedia) object); } super.setPrimaryItem(container, position, object); } @Override public int getCount() { public int getItemCount() { return attachments.size(); } } Loading
app/src/main/java/app/fedilab/android/activities/ProfileActivity.java +10 −4 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ 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; Loading Loading @@ -125,7 +126,7 @@ public class ProfileActivity extends BaseActivity { if (b != null) { Account accountReceived = (Account) b.getSerializable(Helper.ARG_ACCOUNT); if (b.getBoolean(Helper.RECEIVE_REDRAW_PROFILE, false) && accountReceived != null) { if (account != null && accountReceived.id.equalsIgnoreCase(account.id)) { if (account != null && accountReceived.id != null && account.id != null && accountReceived.id.equalsIgnoreCase(account.id)) { initializeView(accountReceived); } } Loading Loading @@ -246,15 +247,20 @@ public class ProfileActivity extends BaseActivity { } binding.accountTabLayout.clearOnTabSelectedListeners(); binding.accountTabLayout.removeAllTabs(); binding.accountViewpager.clearOnPageChangeListeners(); //Tablayout for timelines/following/followers FedilabProfileTLPageAdapter fedilabProfileTLPageAdapter = new FedilabProfileTLPageAdapter(getSupportFragmentManager(), account); 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.accountViewpager.setAdapter(fedilabProfileTLPageAdapter); binding.accountViewpager.setOffscreenPageLimit(3); binding.accountViewpager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(binding.accountTabLayout)); 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) { Loading
app/src/main/java/app/fedilab/android/activities/ScheduledActivity.java +1 −3 Original line number Diff line number Diff line Loading @@ -60,10 +60,8 @@ public class ScheduledActivity extends BaseActivity { binding.scheduleTablayout.addTab(binding.scheduleTablayout.newTab().setText(getString(R.string.toots_client))); binding.scheduleTablayout.addTab(binding.scheduleTablayout.newTab().setText(getString(R.string.reblog))); binding.scheduleViewpager.setAdapter(new FedilabScheduledPageAdapter(getSupportFragmentManager())); binding.scheduleViewpager.setAdapter(new FedilabScheduledPageAdapter(ScheduledActivity.this)); binding.scheduleViewpager.setOffscreenPageLimit(3); binding.scheduleViewpager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(binding.scheduleTablayout)); binding.scheduleTablayout.setTabTextColors(ThemeHelper.getAttColor(ScheduledActivity.this, R.attr.mTextColor), ContextCompat.getColor(ScheduledActivity.this, R.color.cyanea_accent_dark_reference)); binding.scheduleTablayout.setTabIconTint(ThemeHelper.getColorStateList(ScheduledActivity.this)); Loading
app/src/main/java/app/fedilab/android/activities/SearchResultTabActivity.java +18 −20 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; import android.widget.Toast; Loading @@ -29,10 +28,9 @@ import androidx.annotation.NonNull; import androidx.appcompat.widget.SearchView; import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentStatePagerAdapter; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.ViewPager; import androidx.fragment.app.FragmentActivity; import androidx.viewpager2.adapter.FragmentStateAdapter; import androidx.viewpager2.widget.ViewPager2; import com.google.android.material.tabs.TabLayout; Loading Loading @@ -99,7 +97,7 @@ public class SearchResultTabActivity extends BaseActivity { public void onTabReselected(TabLayout.Tab tab) { Fragment fragment; if (binding.searchViewpager.getAdapter() != null) { fragment = (Fragment) binding.searchViewpager.getAdapter().instantiateItem(binding.searchViewpager, tab.getPosition()); fragment = (Fragment) getSupportFragmentManager().findFragmentByTag("f" + binding.searchViewpager.getCurrentItem()); if (fragment instanceof FragmentMastodonAccount) { FragmentMastodonAccount fragmentMastodonAccount = ((FragmentMastodonAccount) fragment); fragmentMastodonAccount.scrollToTop(); Loading Loading @@ -134,7 +132,7 @@ public class SearchResultTabActivity extends BaseActivity { imm.hideSoftInputFromWindow(binding.searchTabLayout.getWindowToken(), 0); query = query.replaceAll("^#+", ""); search = query.trim(); PagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); ScreenSlidePagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(SearchResultTabActivity.this); binding.searchViewpager.setAdapter(mPagerAdapter); searchView.clearFocus(); setTitle(search); Loading @@ -158,16 +156,19 @@ public class SearchResultTabActivity extends BaseActivity { }); PagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); ScreenSlidePagerAdapter mPagerAdapter = new ScreenSlidePagerAdapter(SearchResultTabActivity.this); binding.searchViewpager.setAdapter(mPagerAdapter); binding.searchViewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { binding.searchViewpager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { super.onPageScrolled(position, positionOffset, positionOffsetPixels); binding.searchTabLayout.selectTab(binding.searchTabLayout.getTabAt(position)); } @Override public void onPageSelected(int position) { super.onPageSelected(position); TabLayout.Tab tab = binding.searchTabLayout.getTabAt(position); if (tab != null) tab.select(); Loading @@ -175,6 +176,7 @@ public class SearchResultTabActivity extends BaseActivity { @Override public void onPageScrollStateChanged(int state) { super.onPageScrollStateChanged(state); } }); return true; Loading @@ -196,15 +198,16 @@ public class SearchResultTabActivity extends BaseActivity { /** * Pager adapter for the 4 fragments */ private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter { private class ScreenSlidePagerAdapter extends FragmentStateAdapter { ScreenSlidePagerAdapter(FragmentManager fm) { super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT); ScreenSlidePagerAdapter(FragmentActivity fa) { super(fa); } @NotNull @NonNull @Override public Fragment getItem(int position) { public Fragment createFragment(int position) { Bundle bundle = new Bundle(); switch (position) { case 0: Loading @@ -231,12 +234,7 @@ public class SearchResultTabActivity extends BaseActivity { } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { } @Override public int getCount() { public int getItemCount() { return 4; } } Loading
app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java +1 −0 Original line number Diff line number Diff line Loading @@ -209,6 +209,7 @@ public class PinnedTimelineHelper { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { super.onPageScrolled(position, positionOffset, positionOffsetPixels); activityMainBinding.tabLayout.selectTab(activityMainBinding.tabLayout.getTabAt(position)); } @Override Loading