import java.util.Date;
public class AboutTabFragment extends Fragment {
- // Declare the class variables.
+ // Define the class variables.
private int tabNumber;
private String[] blocklistVersions;
+ private View tabLayout;
public static AboutTabFragment createTab(int tabNumber, String[] blocklistVersions) {
// Create a bundle.
@Override
public View onCreateView(@NonNull LayoutInflater layoutInflater, ViewGroup container, Bundle savedInstanceState) {
- // Create a tab layout view.
- View tabLayout;
-
// Get a handle for the context and assert that it isn't null.
Context context = getContext();
assert context != null;
SpannableStringBuilder ultraListStringBuilder = new SpannableStringBuilder(ultraListLabel + blocklistVersions[4]);
SpannableStringBuilder ultraPrivacyStringBuilder = new SpannableStringBuilder(ultraPrivacyLabel + blocklistVersions[5]);
- // Create the `blueColorSpan` variable.
+ // Define the blue color span variable.
ForegroundColorSpan blueColorSpan;
// Set the blue color span according to the theme. The deprecated `getResources()` must be used until the minimum API >= 23.
if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
- blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_400));
+ blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.violet_500));
} else {
blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_700));
}
}
}
+ // Scroll the tab if the saved instance state is not null.
+ if (savedInstanceState != null) {
+ tabLayout.post(() -> {
+ tabLayout.setScrollX(savedInstanceState.getInt("scroll_x"));
+ tabLayout.setScrollY(savedInstanceState.getInt("scroll_y"));
+ });
+ }
+
// Return the formatted `tabLayout`.
return tabLayout;
}
+
+ @Override
+ public void onSaveInstanceState(@NonNull Bundle savedInstanceState) {
+ // Run the default commands.
+ super.onSaveInstanceState(savedInstanceState);
+
+ // Save the scroll positions if the tab layout is not null, which can happen if a tab is not currently selected.
+ if (tabLayout != null) {
+ savedInstanceState.putInt("scroll_x", tabLayout.getScrollX());
+ savedInstanceState.putInt("scroll_y", tabLayout.getScrollY());
+ }
+ }
}
\ No newline at end of file