X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Factivities%2FGuideActivity.java;h=d9174c406488f8800f070819968ae3f4eea538ab;hp=bd459471876c591dd4f634cae61ed350377848cd;hb=1d656c562831f535aa33903d44198dd890393f4f;hpb=f0393ca22075be3e5fe9199c7db87381256236fa diff --git a/app/src/main/java/com/stoutner/privacybrowser/activities/GuideActivity.java b/app/src/main/java/com/stoutner/privacybrowser/activities/GuideActivity.java index bd459471..d9174c40 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/activities/GuideActivity.java +++ b/app/src/main/java/com/stoutner/privacybrowser/activities/GuideActivity.java @@ -1,5 +1,5 @@ /* - * Copyright © 2016-2019 Soren Stoutner . + * Copyright © 2016-2021 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -26,15 +26,12 @@ import android.view.WindowManager; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.Toolbar; // The AndroidX toolbar must be used until the minimum API is >= 21. -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentPagerAdapter; +import androidx.appcompat.widget.Toolbar; import androidx.viewpager.widget.ViewPager; import com.google.android.material.tabs.TabLayout; -import com.stoutner.privacybrowser.fragments.GuideTabFragment; +import com.stoutner.privacybrowser.adapters.GuidePagerAdapter; import com.stoutner.privacybrowser.R; public class GuideActivity extends AppCompatActivity { @@ -43,9 +40,9 @@ public class GuideActivity extends AppCompatActivity { // Get a handle for the shared preferences. SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); - // Get the theme and screenshot preferences. - boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false); - boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false); + // Get the preferences. + boolean allowScreenshots = sharedPreferences.getBoolean(getString(R.string.allow_screenshots_key), false); + boolean bottomAppBar = sharedPreferences.getBoolean(getString(R.string.bottom_app_bar_key), false); // Disable screenshots if not allowed. if (!allowScreenshots) { @@ -53,20 +50,22 @@ public class GuideActivity extends AppCompatActivity { } // Set the theme. - if (darkTheme) { - setTheme(R.style.PrivacyBrowserDark_SecondaryActivity); - } else { - setTheme(R.style.PrivacyBrowserLight_SecondaryActivity); - } + setTheme(R.style.PrivacyBrowser); // Run the default commands. super.onCreate(savedInstanceState); // Set the content view. - setContentView(R.layout.guide_coordinatorlayout); + if (bottomAppBar) { + setContentView(R.layout.guide_bottom_appbar); + } else { + setContentView(R.layout.guide_top_appbar); + } - // The AndroidX toolbar must be used until the minimum API is >= 21. + // Get a handle for the toolbar. Toolbar toolbar = findViewById(R.id.guide_toolbar); + + // Set the support action bar. setSupportActionBar(toolbar); // Get a handle for the action bar. @@ -78,72 +77,21 @@ public class GuideActivity extends AppCompatActivity { // Display the home arrow on the action bar. actionBar.setDisplayHomeAsUpEnabled(true); - // Setup the ViewPager. + // Get a handle for the view pager and the tab layout. ViewPager aboutViewPager = findViewById(R.id.guide_viewpager); - assert aboutViewPager != null; // This assert removes the incorrect warning in Android Studio on the following line that aboutViewPager might be null. - aboutViewPager.setAdapter(new guidePagerAdapter(getSupportFragmentManager())); - - // Setup the TabLayout and connect it to the ViewPager. TabLayout aboutTabLayout = findViewById(R.id.guide_tablayout); - assert aboutTabLayout != null; // This assert removes the incorrect warning in Android Studio on the following line that aboutTabLayout might be null. - aboutTabLayout.setupWithViewPager(aboutViewPager); - } - - private class guidePagerAdapter extends FragmentPagerAdapter { - private guidePagerAdapter(FragmentManager fragmentManager) { - // Run the default commands. - super(fragmentManager); - } - - @Override - // Get the count of the number of tabs. - public int getCount() { - return 10; - } - @Override - // Get the name of each tab. Tab numbers start at 0. - public CharSequence getPageTitle(int tab) { - switch (tab) { - case 0: - return getString(R.string.overview); + // Remove the incorrect lint warnings that the views might be null + assert aboutViewPager != null; + assert aboutTabLayout != null; - case 1: - return getString(R.string.javascript); + // Set the view pager adapter. + aboutViewPager.setAdapter(new GuidePagerAdapter(getSupportFragmentManager(), getApplicationContext())); - case 2: - return getString(R.string.local_storage); + // Keep all the tabs in memory. + aboutViewPager.setOffscreenPageLimit(10); - case 3: - return getString(R.string.user_agent); - - case 4: - return getString(R.string.requests); - - case 5: - return getString(R.string.domain_settings); - - case 6: - return getString(R.string.ssl_certificates); - - case 7: - return getString(R.string.tor); - - case 8: - return getString(R.string.tracking_ids); - - case 9: - return getString(R.string.bookmarks); - - default: - return ""; - } - } - - @Override - // Setup each tab. - public Fragment getItem(int tab) { - return GuideTabFragment.createTab(tab); - } + // Link the tab layout to the view pager. + aboutTabLayout.setupWithViewPager(aboutViewPager); } -} +} \ No newline at end of file