OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.preferences; | 5 package org.chromium.chrome.browser.preferences; |
6 | 6 |
7 import android.app.Activity; | 7 import android.app.Activity; |
8 import android.content.Context; | 8 import android.content.Context; |
9 import android.content.Intent; | 9 import android.content.Intent; |
10 | 10 |
11 import org.chromium.base.ContextUtils; | 11 import org.chromium.base.ContextUtils; |
| 12 import org.chromium.base.Log; |
12 import org.chromium.base.annotations.CalledByNative; | 13 import org.chromium.base.annotations.CalledByNative; |
13 import org.chromium.chrome.browser.preferences.autofill.AutofillAndPaymentsPrefe
rences; | 14 import org.chromium.chrome.browser.preferences.autofill.AutofillAndPaymentsPrefe
rences; |
| 15 import org.chromium.chrome.browser.preferences.password.SavePasswordsPreferences
; |
14 import org.chromium.chrome.browser.preferences.privacy.ClearBrowsingDataPreferen
ces; | 16 import org.chromium.chrome.browser.preferences.privacy.ClearBrowsingDataPreferen
ces; |
15 import org.chromium.chrome.browser.preferences.privacy.ClearBrowsingDataTabsFrag
ment; | 17 import org.chromium.chrome.browser.preferences.privacy.ClearBrowsingDataTabsFrag
ment; |
| 18 import org.chromium.chrome.browser.tab.Tab; |
16 | 19 |
17 /** | 20 /** |
18 * A utility class for launching Chrome Settings. | 21 * A utility class for launching Chrome Settings. |
19 */ | 22 */ |
20 public class PreferencesLauncher { | 23 public class PreferencesLauncher { |
| 24 private static final String TAG = "PreferencesLauncher"; |
21 | 25 |
22 /** | 26 /** |
23 * Launches settings, either on the top-level page or on a subpage. | 27 * Launches settings, either on the top-level page or on a subpage. |
24 * | 28 * |
25 * @param context The current Activity, or an application context if no Acti
vity is available. | 29 * @param context The current Activity, or an application context if no Acti
vity is available. |
26 * @param fragmentName The name of the fragment to show, or null to show the
top-level page. | 30 * @param fragmentName The name of the fragment to show, or null to show the
top-level page. |
27 */ | 31 */ |
28 public static void launchSettingsPage(Context context, String fragmentName)
{ | 32 public static void launchSettingsPage(Context context, String fragmentName)
{ |
29 Intent intent = createIntentForSettingsPage(context, fragmentName); | 33 Intent intent = createIntentForSettingsPage(context, fragmentName); |
30 context.startActivity(intent); | 34 context.startActivity(intent); |
(...skipping 30 matching lines...) Expand all Loading... |
61 ? ClearBrowsingDataTabsFragment.class.getName() | 65 ? ClearBrowsingDataTabsFragment.class.getName() |
62 : ClearBrowsingDataPreferences.class.getName(); | 66 : ClearBrowsingDataPreferences.class.getName(); |
63 return createIntentForSettingsPage(context, fragmentName); | 67 return createIntentForSettingsPage(context, fragmentName); |
64 } | 68 } |
65 | 69 |
66 @CalledByNative | 70 @CalledByNative |
67 private static void showAutofillSettings() { | 71 private static void showAutofillSettings() { |
68 launchSettingsPage(ContextUtils.getApplicationContext(), | 72 launchSettingsPage(ContextUtils.getApplicationContext(), |
69 AutofillAndPaymentsPreferences.class.getName()); | 73 AutofillAndPaymentsPreferences.class.getName()); |
70 } | 74 } |
| 75 |
| 76 @CalledByNative |
| 77 private static void showPasswordSettings() { |
| 78 launchSettingsPage( |
| 79 ContextUtils.getApplicationContext(), SavePasswordsPreferences.c
lass.getName()); |
| 80 } |
| 81 |
| 82 /** |
| 83 * Opens the UI to clear browsing data. |
| 84 * @param tab The tab that triggered the request. |
| 85 */ |
| 86 @CalledByNative |
| 87 private static void openClearBrowsingData(Tab tab) { |
| 88 Activity activity = tab.getWindowAndroid().getActivity().get(); |
| 89 if (activity == null) { |
| 90 Log.e(TAG, "Attempting to open clear browsing data for a tab without
a valid activity"); |
| 91 return; |
| 92 } |
| 93 |
| 94 Intent intent = createIntentForClearBrowsingDataPage(activity); |
| 95 activity.startActivity(intent); |
| 96 } |
71 } | 97 } |
OLD | NEW |