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=00872252abe550c99e89876503bfcbab0a633133;hp=ea19f3a3b4b9c8161c37cf7219fcc9cdf8f74154;hb=81179d84ced6b43360d42a4b44eb8fb329532ff4;hpb=6a240a3d02f43dae2ae30962958db6927a8bab2a 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 ea19f3a3..00872252 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-2017 Soren Stoutner . + * Copyright © 2016-2019 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -19,24 +19,38 @@ package com.stoutner.privacybrowser.activities; +import android.content.SharedPreferences; import android.os.Bundle; -import android.support.design.widget.TabLayout; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; -import android.support.v4.view.ViewPager; -import android.support.v7.app.ActionBar; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; - -import com.stoutner.privacybrowser.fragments.GuideTabFragment; +import android.preference.PreferenceManager; +import android.view.WindowManager; + +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.viewpager.widget.ViewPager; + +import com.google.android.material.tabs.TabLayout; + +import com.stoutner.privacybrowser.adapters.GuidePagerAdapter; import com.stoutner.privacybrowser.R; public class GuideActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { + // 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); + + // Disable screenshots if not allowed. + if (!allowScreenshots) { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); + } + // Set the theme. - if (MainWebViewActivity.darkTheme) { + if (darkTheme) { setTheme(R.style.PrivacyBrowserDark_SecondaryActivity); } else { setTheme(R.style.PrivacyBrowserLight_SecondaryActivity); @@ -48,75 +62,27 @@ public class GuideActivity extends AppCompatActivity { // Set the content view. setContentView(R.layout.guide_coordinatorlayout); - // We need to use `SupportActionBar` from `android.support.v7.app.ActionBar` until the minimum API is >= 21. - Toolbar guideAppBar = (Toolbar) findViewById(R.id.guide_toolbar); - setSupportActionBar(guideAppBar); + // The AndroidX toolbar must be used until the minimum API is >= 21. + Toolbar toolbar = findViewById(R.id.guide_toolbar); + setSupportActionBar(toolbar); - // Display the home arrow on `ppBar`. - final ActionBar appBar = getSupportActionBar(); - assert appBar != null; // This assert removes the incorrect lint warning in Android Studio on the following line that `appBar` might be `null`. - appBar.setDisplayHomeAsUpEnabled(true); + // Get a handle for the action bar. + final ActionBar actionBar = getSupportActionBar(); + + // Remove the incorrect lint warning that the action bar might be null. + assert actionBar != null; + + // Display the home arrow on the action bar. + actionBar.setDisplayHomeAsUpEnabled(true); // Setup the ViewPager. - ViewPager aboutViewPager = (ViewPager) findViewById(R.id.guide_viewpager); + 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())); + aboutViewPager.setAdapter(new GuidePagerAdapter(getSupportFragmentManager(), getApplicationContext())); // Setup the TabLayout and connect it to the ViewPager. - TabLayout aboutTabLayout = (TabLayout) findViewById(R.id.guide_tablayout); + 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 fm) { - super(fm); - } - - @Override - // Get the count of the number of tabs. - public int getCount() { - return 7; - } - - @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); - - case 1: - return getString(R.string.javascript); - - case 2: - return getString(R.string.local_storage); - - case 3: - return getString(R.string.user_agent); - - case 4: - return getString(R.string.domain_settings); - - case 5: - return getString(R.string.ssl_certificate_pinning); - - case 6: - return getString(R.string.tor); - - case 7: - return getString(R.string.tracking_ids); - - default: - return ""; - } - } - - @Override - // Setup each tab. - public Fragment getItem(int tab) { - return GuideTabFragment.createTab(tab); - } - } - }