Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataTabsFragment.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataTabsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataTabsFragment.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c4707fe662a02b6cdc12945b7ecf42dab224538e |
| --- /dev/null |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/ClearBrowsingDataTabsFragment.java |
| @@ -0,0 +1,94 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +package org.chromium.chrome.browser.preferences.privacy; |
| + |
| +import android.app.Fragment; |
| +import android.app.FragmentManager; |
| +import android.os.Bundle; |
| +import android.support.design.widget.TabLayout; |
| +import android.support.v13.app.FragmentPagerAdapter; |
| +import android.support.v4.view.ViewPager; |
| +import android.view.LayoutInflater; |
| +import android.view.View; |
| +import android.view.ViewGroup; |
| + |
| +import org.chromium.chrome.R; |
| +import org.chromium.chrome.browser.ChromeFeatureList; |
| +import org.chromium.chrome.browser.preferences.Preferences; |
| + |
| +/** |
| + * Fragment with a {@link TabLayout} containing a basic and an advanced version of the CBD dialog. |
| + */ |
| +public class ClearBrowsingDataTabsFragment extends Fragment { |
| + public static final String TAG = ClearBrowsingDataTabsFragment.class.getSimpleName(); |
| + |
| + public ClearBrowsingDataTabsFragment() {} |
| + |
| + public static boolean isFeatureEnabled() { |
| + return ChromeFeatureList.isEnabled(ChromeFeatureList.TABS_IN_CBD); |
| + } |
| + |
| + @Override |
| + public void onCreate(Bundle savedInstanceState) { |
| + super.onCreate(savedInstanceState); |
| + } |
| + |
| + @Override |
| + public View onCreateView( |
| + LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { |
| + // Inflate the layout for this fragment |
|
msramek
2017/01/18 17:06:39
nit: Periods after sentences plz :) Also below.
dullweber
2017/01/19 13:16:14
Done.
|
| + View view = inflater.inflate(R.layout.clear_browsing_data_tabs, container, false); |
| + |
| + // Get the ViewPager and set it's PagerAdapter so that it can display items |
|
msramek
2017/01/18 17:06:39
typo: its
dullweber
2017/01/19 13:16:14
Done.
|
| + ViewPager viewPager = (ViewPager) view.findViewById(R.id.clear_browser_data_viewpager); |
| + viewPager.setAdapter(new ClearBrowsingDataPagerAdapter(getFragmentManager())); |
| + |
| + // Give the TabLayout the ViewPager |
| + TabLayout tabLayout = (TabLayout) view.findViewById(R.id.clear_browser_data_tabs); |
| + tabLayout.setupWithViewPager(viewPager); |
| + |
| + // Remove elevation to avoid shadow between title and tabs. |
| + Preferences activity = (Preferences) getActivity(); |
| + activity.getSupportActionBar().setElevation(0.0f); |
| + |
| + return view; |
| + } |
| + |
| + private static class ClearBrowsingDataPagerAdapter extends FragmentPagerAdapter { |
| + ClearBrowsingDataPagerAdapter(FragmentManager fm) { |
| + super(fm); |
| + } |
| + |
| + @Override |
| + public int getCount() { |
| + return 2; |
| + } |
| + |
| + @Override |
| + public Fragment getItem(int position) { |
| + switch (position) { |
| + case 0: |
| + return new ClearBrowsingDataPreferencesBasic(); |
| + case 1: |
| + return new ClearBrowsingDataPreferencesAdvanced(); |
| + default: |
| + throw new RuntimeException("invalid position: " + position); |
| + } |
| + } |
| + |
| + @Override |
| + public CharSequence getPageTitle(int position) { |
| + // TODO(dullweber): Use translated strings. |
|
msramek
2017/01/18 17:06:39
I know this is still behind a flag, but we general
dullweber
2017/01/19 13:16:14
Done.
|
| + switch (position) { |
| + case 0: |
| + return "basic"; |
| + case 1: |
| + return "advanced"; |
| + default: |
| + throw new RuntimeException("invalid position: " + position); |
| + } |
| + } |
| + } |
| +} |