Loading app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java +56 −49 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ import app.fedilab.android.client.entities.app.RemoteInstance; import app.fedilab.android.client.entities.app.TagTimeline; import app.fedilab.android.client.entities.app.Timeline; import app.fedilab.android.databinding.ActivityMainBinding; import app.fedilab.android.databinding.TabCustomDefaultViewBinding; import app.fedilab.android.databinding.TabCustomViewBinding; import app.fedilab.android.exception.DBException; import app.fedilab.android.ui.fragment.timeline.FragmentMastodonConversation; Loading Loading @@ -250,6 +251,7 @@ public class PinnedTimelineHelper { name = pinnedTimeline.remoteInstance.host; break; } if (pinnedTimeline.type == Timeline.TimeLineEnum.LIST || pinnedTimeline.type == Timeline.TimeLineEnum.TAG || pinnedTimeline.type == Timeline.TimeLineEnum.REMOTE) { TabCustomViewBinding tabCustomViewBinding = TabCustomViewBinding.inflate(activity.getLayoutInflater()); tabCustomViewBinding.title.setText(name); switch (pinnedTimeline.type) { Loading Loading @@ -282,28 +284,33 @@ public class PinnedTimelineHelper { break; } break; } tab.setCustomView(tabCustomViewBinding.getRoot()); } else { TabCustomDefaultViewBinding tabCustomDefaultViewBinding = TabCustomDefaultViewBinding.inflate(activity.getLayoutInflater()); switch (pinnedTimeline.type) { case HOME: tabCustomViewBinding.icon.setImageResource(R.drawable.ic_baseline_home_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_home_24); break; case LOCAL: tabCustomViewBinding.icon.setImageResource(R.drawable.ic_baseline_supervisor_account_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_supervisor_account_24); break; case PUBLIC: tabCustomViewBinding.icon.setImageResource(R.drawable.ic_baseline_public_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_public_24); break; case NOTIFICATION: tabCustomViewBinding.icon.setImageResource(R.drawable.ic_baseline_notifications_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_notifications_24); break; case DIRECT: tabCustomViewBinding.icon.setImageResource(R.drawable.ic_baseline_mail_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_mail_24); break; } tab.setCustomView(tabCustomViewBinding.getRoot()); tab.setCustomView(tabCustomDefaultViewBinding.getRoot()); } activityMainBinding.tabLayout.addTab(tab); pinnedTimelineVisibleList.add(pinnedTimeline); } } LinearLayout tabStrip = (LinearLayout) activityMainBinding.tabLayout.getChildAt(0); int finalToRemove = toRemove; for (int i = 0; i < tabStrip.getChildCount(); i++) { Loading app/src/main/java/app/fedilab/android/ui/drawer/ReorderTabAdapter.java +20 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,26 @@ public class ReorderTabAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol holder.binding.icon.setImageResource(R.drawable.ic_baseline_view_list_24); holder.binding.text.setText(pinned.pinnedTimelines.get(position).mastodonList.title); break; case HOME: holder.binding.icon.setImageResource(R.drawable.ic_baseline_home_24); holder.binding.text.setText(R.string.home_menu); break; case LOCAL: holder.binding.icon.setImageResource(R.drawable.ic_baseline_supervisor_account_24); holder.binding.text.setText(R.string.local_menu); break; case PUBLIC: holder.binding.icon.setImageResource(R.drawable.ic_baseline_public_24); holder.binding.text.setText(R.string.v_public); break; case NOTIFICATION: holder.binding.icon.setImageResource(R.drawable.ic_baseline_notifications_24); holder.binding.text.setText(R.string.notifications); break; case DIRECT: holder.binding.icon.setImageResource(R.drawable.ic_baseline_mail_24); holder.binding.text.setText(R.string.v_direct); break; } Loading app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentInterfaceSettings.java +6 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,12 @@ public class FragmentInterfaceSettings extends PreferenceFragmentCompat implemen editor.putFloat(getString(R.string.SET_FONT_SCALE), scale); recreate = true; } if (key.compareToIgnoreCase(getString(R.string.SET_USE_SINGLE_TOPBAR)) == 0) { recreate = true; } if (key.compareToIgnoreCase(getString(R.string.SET_TIMELINES_IN_A_LIST)) == 0) { recreate = true; } editor.apply(); } } Loading app/src/main/res/layout/tab_custom_default_view.xml 0 → 100644 +11 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <androidx.appcompat.widget.AppCompatImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /> </RelativeLayout> Loading
app/src/main/java/app/fedilab/android/helper/PinnedTimelineHelper.java +56 −49 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ import app.fedilab.android.client.entities.app.RemoteInstance; import app.fedilab.android.client.entities.app.TagTimeline; import app.fedilab.android.client.entities.app.Timeline; import app.fedilab.android.databinding.ActivityMainBinding; import app.fedilab.android.databinding.TabCustomDefaultViewBinding; import app.fedilab.android.databinding.TabCustomViewBinding; import app.fedilab.android.exception.DBException; import app.fedilab.android.ui.fragment.timeline.FragmentMastodonConversation; Loading Loading @@ -250,6 +251,7 @@ public class PinnedTimelineHelper { name = pinnedTimeline.remoteInstance.host; break; } if (pinnedTimeline.type == Timeline.TimeLineEnum.LIST || pinnedTimeline.type == Timeline.TimeLineEnum.TAG || pinnedTimeline.type == Timeline.TimeLineEnum.REMOTE) { TabCustomViewBinding tabCustomViewBinding = TabCustomViewBinding.inflate(activity.getLayoutInflater()); tabCustomViewBinding.title.setText(name); switch (pinnedTimeline.type) { Loading Loading @@ -282,28 +284,33 @@ public class PinnedTimelineHelper { break; } break; } tab.setCustomView(tabCustomViewBinding.getRoot()); } else { TabCustomDefaultViewBinding tabCustomDefaultViewBinding = TabCustomDefaultViewBinding.inflate(activity.getLayoutInflater()); switch (pinnedTimeline.type) { case HOME: tabCustomViewBinding.icon.setImageResource(R.drawable.ic_baseline_home_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_home_24); break; case LOCAL: tabCustomViewBinding.icon.setImageResource(R.drawable.ic_baseline_supervisor_account_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_supervisor_account_24); break; case PUBLIC: tabCustomViewBinding.icon.setImageResource(R.drawable.ic_baseline_public_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_public_24); break; case NOTIFICATION: tabCustomViewBinding.icon.setImageResource(R.drawable.ic_baseline_notifications_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_notifications_24); break; case DIRECT: tabCustomViewBinding.icon.setImageResource(R.drawable.ic_baseline_mail_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_mail_24); break; } tab.setCustomView(tabCustomViewBinding.getRoot()); tab.setCustomView(tabCustomDefaultViewBinding.getRoot()); } activityMainBinding.tabLayout.addTab(tab); pinnedTimelineVisibleList.add(pinnedTimeline); } } LinearLayout tabStrip = (LinearLayout) activityMainBinding.tabLayout.getChildAt(0); int finalToRemove = toRemove; for (int i = 0; i < tabStrip.getChildCount(); i++) { Loading
app/src/main/java/app/fedilab/android/ui/drawer/ReorderTabAdapter.java +20 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,26 @@ public class ReorderTabAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol holder.binding.icon.setImageResource(R.drawable.ic_baseline_view_list_24); holder.binding.text.setText(pinned.pinnedTimelines.get(position).mastodonList.title); break; case HOME: holder.binding.icon.setImageResource(R.drawable.ic_baseline_home_24); holder.binding.text.setText(R.string.home_menu); break; case LOCAL: holder.binding.icon.setImageResource(R.drawable.ic_baseline_supervisor_account_24); holder.binding.text.setText(R.string.local_menu); break; case PUBLIC: holder.binding.icon.setImageResource(R.drawable.ic_baseline_public_24); holder.binding.text.setText(R.string.v_public); break; case NOTIFICATION: holder.binding.icon.setImageResource(R.drawable.ic_baseline_notifications_24); holder.binding.text.setText(R.string.notifications); break; case DIRECT: holder.binding.icon.setImageResource(R.drawable.ic_baseline_mail_24); holder.binding.text.setText(R.string.v_direct); break; } Loading
app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentInterfaceSettings.java +6 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,12 @@ public class FragmentInterfaceSettings extends PreferenceFragmentCompat implemen editor.putFloat(getString(R.string.SET_FONT_SCALE), scale); recreate = true; } if (key.compareToIgnoreCase(getString(R.string.SET_USE_SINGLE_TOPBAR)) == 0) { recreate = true; } if (key.compareToIgnoreCase(getString(R.string.SET_TIMELINES_IN_A_LIST)) == 0) { recreate = true; } editor.apply(); } } Loading
app/src/main/res/layout/tab_custom_default_view.xml 0 → 100644 +11 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <androidx.appcompat.widget.AppCompatImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /> </RelativeLayout>