Loading app/build.gradle +1 −0 Original line number Diff line number Diff line Loading @@ -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" Loading app/src/main/AndroidManifest.xml +2 −0 Original line number Diff line number Diff line Loading @@ -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> Loading app/src/main/java/app/fedilab/android/BaseMainActivity.java +12 −8 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 -> { Loading Loading @@ -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(); } } Loading app/src/main/java/app/fedilab/android/activities/MediaActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -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)); Loading app/src/main/java/app/fedilab/android/activities/ProfileActivity.java +20 −27 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading
app/build.gradle +1 −0 Original line number Diff line number Diff line Loading @@ -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" Loading
app/src/main/AndroidManifest.xml +2 −0 Original line number Diff line number Diff line Loading @@ -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> Loading
app/src/main/java/app/fedilab/android/BaseMainActivity.java +12 −8 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 -> { Loading Loading @@ -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(); } } Loading
app/src/main/java/app/fedilab/android/activities/MediaActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -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)); Loading
app/src/main/java/app/fedilab/android/activities/ProfileActivity.java +20 −27 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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