Index: chrome/android/java/src/org/chromium/chrome/browser/ChromiumApplication.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromiumApplication.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromiumApplication.java |
index 8110a8f504be4030f0ed67cb861147a731465c19..d396002296c482cf6b17536fccef35876d1aeee5 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromiumApplication.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromiumApplication.java |
@@ -13,8 +13,10 @@ import android.util.Log; |
import org.chromium.base.CalledByNative; |
import org.chromium.base.ThreadUtils; |
-import org.chromium.base.library_loader.LibraryProcessType;; |
+import org.chromium.base.TraceEvent; |
+import org.chromium.base.library_loader.LibraryProcessType; |
import org.chromium.base.library_loader.ProcessInitException; |
+import org.chromium.chrome.browser.firstrun.FirstRunActivity; |
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; |
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; |
import org.chromium.chrome.browser.preferences.LocationSettings; |
@@ -25,6 +27,7 @@ import org.chromium.chrome.browser.preferences.autofill.AutofillPreferences; |
import org.chromium.chrome.browser.preferences.password.ManageSavedPasswordsPreferences; |
import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferences; |
import org.chromium.chrome.browser.preferences.website.SingleWebsitePreferences; |
+import org.chromium.chrome.browser.services.AndroidEduOwnerCheckCallback; |
import org.chromium.content.app.ContentApplication; |
import org.chromium.content.browser.BrowserStartupController; |
@@ -44,11 +47,33 @@ public abstract class ChromiumApplication extends ContentApplication { |
} |
/** |
+ * Initiate AndroidEdu device check. |
+ * @param callback Callback that should receive the results of the AndroidEdu device check. |
+ */ |
+ public void checkIsAndroidEduDevice(AndroidEduOwnerCheckCallback callback) { |
+ } |
+ |
+ /** |
* Returns the class name of the Settings activity. |
*/ |
public abstract String getSettingsActivityName(); |
/** |
+ * Returns the class name of the FirstRun activity. |
+ */ |
+ public String getFirstRunActivityName() { |
+ return FirstRunActivity.class.getName(); |
+ } |
+ |
+ /** |
+ * Open Chrome Sync settings page. |
+ * @param accountName the name of the account that is being synced. |
+ */ |
+ public void openSyncSettings(String accountName) { |
+ // TODO(aurimas): implement this once SyncCustomizationFragment is upstreamed. |
+ } |
+ |
+ /** |
* Opens a protected content settings page, if available. |
*/ |
@CalledByNative |
@@ -157,5 +182,20 @@ public abstract class ChromiumApplication extends ContentApplication { |
return nativeGetBrowserUserAgent(); |
} |
+ /** |
+ * The host activity should call this during its onPause() handler to ensure |
+ * all state is saved when the app is suspended. Calling ChromiumApplication.onStop() does |
+ * this for you. |
+ */ |
+ public static void flushPersistentData() { |
+ try { |
+ TraceEvent.begin("ChromiumApplication.flushPersistentData"); |
+ nativeFlushPersistentData(); |
+ } finally { |
+ TraceEvent.end("ChromiumApplication.flushPersistentData"); |
+ } |
+ } |
+ |
private static native String nativeGetBrowserUserAgent(); |
+ private static native void nativeFlushPersistentData(); |
} |