diff options
author | Bijan Amirzada <bijana@codeaurora.org> | 2014-02-26 17:08:10 -0800 |
---|---|---|
committer | Bijan Amirzada <bijana@codeaurora.org> | 2014-03-04 14:03:36 -0800 |
commit | 69b30beb16df7916c7679ed69d70e3ebcdeb2085 (patch) | |
tree | 9b81f4a397f041deb5f1ef54e91b92666712b385 /src | |
parent | 43555c9eb09b318276231eb31dab79f9f41f128c (diff) | |
download | android_packages_apps_Gello-69b30beb16df7916c7679ed69d70e3ebcdeb2085.tar.gz android_packages_apps_Gello-69b30beb16df7916c7679ed69d70e3ebcdeb2085.tar.bz2 android_packages_apps_Gello-69b30beb16df7916c7679ed69d70e3ebcdeb2085.zip |
Copy of new files from 1599
Modified folder structure - added swe folder
Change-Id: I2b48a1635ad0a6406398aa9f1021a1f43baebeef
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/swe/browser/AccountsChangedReceiver.java (renamed from src/com/android/browser/AccountsChangedReceiver.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/ActivityController.java (renamed from src/com/android/browser/ActivityController.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/AddBookmarkFolder.java (renamed from src/com/android/browser/AddBookmarkFolder.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/AddBookmarkPage.java (renamed from src/com/android/browser/AddBookmarkPage.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/AddNewBookmark.java (renamed from src/com/android/browser/AddNewBookmark.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/AutoFillProfileDatabase.java (renamed from src/com/android/browser/AutoFillProfileDatabase.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/AutoFillSettingsFragment.java (renamed from src/com/android/browser/AutoFillSettingsFragment.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/AutofillHandler.java (renamed from src/com/android/browser/AutofillHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/AutologinBar.java (renamed from src/com/android/browser/AutologinBar.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BackgroundHandler.java (renamed from src/com/android/browser/BackgroundHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BaseUi.java (renamed from src/com/android/browser/BaseUi.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BookmarkItem.java (renamed from src/com/android/browser/BookmarkItem.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BookmarkSearch.java (renamed from src/com/android/browser/BookmarkSearch.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BookmarkUtils.java (renamed from src/com/android/browser/BookmarkUtils.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/Bookmarks.java (renamed from src/com/android/browser/Bookmarks.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BookmarksLoader.java (renamed from src/com/android/browser/BookmarksLoader.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BreadCrumbView.java (renamed from src/com/android/browser/BreadCrumbView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/Browser.java (renamed from src/com/android/browser/Browser.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserActivity.java (renamed from src/com/android/browser/BrowserActivity.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserBackupAgent.java (renamed from src/com/android/browser/BrowserBackupAgent.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserBookmarksAdapter.java (renamed from src/com/android/browser/BrowserBookmarksAdapter.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserBookmarksAdapterItem.java (renamed from src/com/android/browser/BrowserBookmarksAdapterItem.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserBookmarksPage.java (renamed from src/com/android/browser/BrowserBookmarksPage.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserHistoryPage.java (renamed from src/com/android/browser/BrowserHistoryPage.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserPreferencesPage.java (renamed from src/com/android/browser/BrowserPreferencesPage.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserSettings.java (renamed from src/com/android/browser/BrowserSettings.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserSnapshotPage.java (renamed from src/com/android/browser/BrowserSnapshotPage.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserUtils.java (renamed from src/com/android/browser/BrowserUtils.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserWebView.java (renamed from src/com/android/browser/BrowserWebView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserWebViewFactory.java (renamed from src/com/android/browser/BrowserWebViewFactory.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/BrowserYesNoPreference.java (renamed from src/com/android/browser/BrowserYesNoPreference.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/CombinedBookmarksCallbacks.java (renamed from src/com/android/browser/CombinedBookmarksCallbacks.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/ComboViewActivity.java (renamed from src/com/android/browser/ComboViewActivity.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/Controller.java (renamed from src/com/android/browser/Controller.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/CrashRecoveryHandler.java (renamed from src/com/android/browser/CrashRecoveryHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/DataController.java (renamed from src/com/android/browser/DataController.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/DataUri.java (renamed from src/com/android/browser/DataUri.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/DateSortedExpandableListAdapter.java (renamed from src/com/android/browser/DateSortedExpandableListAdapter.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/DeviceAccountLogin.java (renamed from src/com/android/browser/DeviceAccountLogin.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/DownloadHandler.java (renamed from src/com/android/browser/DownloadHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/DownloadSettings.java (renamed from src/com/android/browser/DownloadSettings.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/DownloadTouchIcon.java (renamed from src/com/android/browser/DownloadTouchIcon.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/ErrorConsoleView.java (renamed from src/com/android/browser/ErrorConsoleView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/EventLogTags.logtags (renamed from src/com/android/browser/EventLogTags.logtags) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/FetchUrlMimeType.java (renamed from src/com/android/browser/FetchUrlMimeType.java) | 0 | ||||
-rwxr-xr-x | src/com/android/swe/browser/GeolocationPermissionsPrompt.java (renamed from src/com/android/browser/GeolocationPermissionsPrompt.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/GoogleAccountLogin.java (renamed from src/com/android/browser/GoogleAccountLogin.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/HistoryItem.java (renamed from src/com/android/browser/HistoryItem.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/HttpAuthenticationDialog.java (renamed from src/com/android/browser/HttpAuthenticationDialog.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/IntentHandler.java (renamed from src/com/android/browser/IntentHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/KeyChainLookup.java (renamed from src/com/android/browser/KeyChainLookup.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/LogTag.java (renamed from src/com/android/browser/LogTag.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/MemoryMonitor.java | 133 | ||||
-rw-r--r-- | src/com/android/swe/browser/MessagesReceiver.java (renamed from src/com/android/browser/MessagesReceiver.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/NavScreen.java (renamed from src/com/android/browser/NavScreen.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/NavTabScroller.java (renamed from src/com/android/browser/NavTabScroller.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/NavTabView.java (renamed from src/com/android/browser/NavTabView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/NavigationBarBase.java (renamed from src/com/android/browser/NavigationBarBase.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/NavigationBarPhone.java (renamed from src/com/android/browser/NavigationBarPhone.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/NavigationBarTablet.java (renamed from src/com/android/browser/NavigationBarTablet.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/NetworkStateHandler.java (renamed from src/com/android/browser/NetworkStateHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/NfcHandler.java (renamed from src/com/android/browser/NfcHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/OpenDownloadReceiver.java (renamed from src/com/android/browser/OpenDownloadReceiver.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/OptionsMenuHandler.java (renamed from src/com/android/browser/OptionsMenuHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/PageDialogsHandler.java (renamed from src/com/android/browser/PageDialogsHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/PageProgressView.java (renamed from src/com/android/browser/PageProgressView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/Performance.java (renamed from src/com/android/browser/Performance.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/PhoneUi.java (renamed from src/com/android/browser/PhoneUi.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/PieControl.java (renamed from src/com/android/browser/PieControl.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/PreferenceKeys.java (renamed from src/com/android/browser/PreferenceKeys.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/PreloadController.java (renamed from src/com/android/browser/PreloadController.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/PreloadRequestReceiver.java (renamed from src/com/android/browser/PreloadRequestReceiver.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/PreloadedTabControl.java (renamed from src/com/android/browser/PreloadedTabControl.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/Preloader.java (renamed from src/com/android/browser/Preloader.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/ShortcutActivity.java (renamed from src/com/android/browser/ShortcutActivity.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/SnapshotBar.java (renamed from src/com/android/browser/SnapshotBar.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/SnapshotTab.java (renamed from src/com/android/browser/SnapshotTab.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/SuggestionsAdapter.java (renamed from src/com/android/browser/SuggestionsAdapter.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/SystemAllowGeolocationOrigins.java (renamed from src/com/android/browser/SystemAllowGeolocationOrigins.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/Tab.java (renamed from src/com/android/browser/Tab.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/TabBar.java (renamed from src/com/android/browser/TabBar.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/TabControl.java (renamed from src/com/android/browser/TabControl.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/TabScrollView.java (renamed from src/com/android/browser/TabScrollView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/TitleBar.java (renamed from src/com/android/browser/TitleBar.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/UI.java (renamed from src/com/android/browser/UI.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/UiController.java (renamed from src/com/android/browser/UiController.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/UploadHandler.java (renamed from src/com/android/browser/UploadHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/UrlBarAutoShowManager.java (renamed from src/com/android/browser/UrlBarAutoShowManager.java) | 0 | ||||
-rwxr-xr-x | src/com/android/swe/browser/UrlHandler.java (renamed from src/com/android/browser/UrlHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/UrlInputView.java (renamed from src/com/android/browser/UrlInputView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/UrlSelectionActionMode.java (renamed from src/com/android/browser/UrlSelectionActionMode.java) | 0 | ||||
-rwxr-xr-x | src/com/android/swe/browser/UrlUtils.java (renamed from src/com/android/browser/UrlUtils.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/WallpaperHandler.java (renamed from src/com/android/browser/WallpaperHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/WebStorageSizeManager.java (renamed from src/com/android/browser/WebStorageSizeManager.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/WebViewController.java (renamed from src/com/android/browser/WebViewController.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/WebViewFactory.java (renamed from src/com/android/browser/WebViewFactory.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/WebViewProperties.java (renamed from src/com/android/browser/WebViewProperties.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/WebViewTimersControl.java (renamed from src/com/android/browser/WebViewTimersControl.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/XLargeUi.java (renamed from src/com/android/browser/XLargeUi.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/addbookmark/FolderSpinner.java (renamed from src/com/android/browser/addbookmark/FolderSpinner.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/addbookmark/FolderSpinnerAdapter.java (renamed from src/com/android/browser/addbookmark/FolderSpinnerAdapter.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/homepages/HomeProvider.java (renamed from src/com/android/browser/homepages/HomeProvider.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/homepages/RequestHandler.java (renamed from src/com/android/browser/homepages/RequestHandler.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/homepages/Template.java (renamed from src/com/android/browser/homepages/Template.java) | 0 | ||||
-rwxr-xr-x | src/com/android/swe/browser/mynavigation/AddMyNavigationPage.java (renamed from src/com/android/browser/mynavigation/AddMyNavigationPage.java) | 0 | ||||
-rwxr-xr-x | src/com/android/swe/browser/mynavigation/MyNavigationRequestHandler.java (renamed from src/com/android/browser/mynavigation/MyNavigationRequestHandler.java) | 0 | ||||
-rwxr-xr-x | src/com/android/swe/browser/mynavigation/MyNavigationTemplate.java (renamed from src/com/android/browser/mynavigation/MyNavigationTemplate.java) | 0 | ||||
-rwxr-xr-x | src/com/android/swe/browser/mynavigation/MyNavigationUtil.java (renamed from src/com/android/browser/mynavigation/MyNavigationUtil.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/platformsupport/BookmarkColumns.java | 80 | ||||
-rw-r--r-- | src/com/android/swe/browser/platformsupport/BrowserContract.java | 744 | ||||
-rw-r--r-- | src/com/android/swe/browser/platformsupport/Process.java | 48 | ||||
-rw-r--r-- | src/com/android/swe/browser/platformsupport/SeekBarPreference.java | 238 | ||||
-rw-r--r-- | src/com/android/swe/browser/platformsupport/SyncStateContentProviderHelper.java | 149 | ||||
-rw-r--r-- | src/com/android/swe/browser/platformsupport/WebAddress.java | 189 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/AccessibilityPreferencesFragment.java (renamed from src/com/android/browser/preferences/AccessibilityPreferencesFragment.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/AdvancedPreferencesFragment.java (renamed from src/com/android/browser/preferences/AdvancedPreferencesFragment.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/BandwidthPreferencesFragment.java (renamed from src/com/android/browser/preferences/BandwidthPreferencesFragment.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/DebugPreferencesFragment.java (renamed from src/com/android/browser/preferences/DebugPreferencesFragment.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/FontSizePreview.java (renamed from src/com/android/browser/preferences/FontSizePreview.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/GeneralPreferencesFragment.java (renamed from src/com/android/browser/preferences/GeneralPreferencesFragment.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/InvertedContrastPreview.java (renamed from src/com/android/browser/preferences/InvertedContrastPreview.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/LabPreferencesFragment.java (renamed from src/com/android/browser/preferences/LabPreferencesFragment.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/NonformattingListPreference.java (renamed from src/com/android/browser/preferences/NonformattingListPreference.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/PrivacySecurityPreferencesFragment.java (renamed from src/com/android/browser/preferences/PrivacySecurityPreferencesFragment.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/SeekBarSummaryPreference.java (renamed from src/com/android/browser/preferences/SeekBarSummaryPreference.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/WebViewPreview.java (renamed from src/com/android/browser/preferences/WebViewPreview.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/preferences/WebsiteSettingsFragment.java (renamed from src/com/android/browser/preferences/WebsiteSettingsFragment.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/provider/BrowserProvider.java (renamed from src/com/android/browser/provider/BrowserProvider.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/provider/BrowserProvider2.java (renamed from src/com/android/browser/provider/BrowserProvider2.java) | 0 | ||||
-rwxr-xr-x | src/com/android/swe/browser/provider/MyNavigationProvider.java (renamed from src/com/android/browser/provider/MyNavigationProvider.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/provider/SQLiteContentProvider.java (renamed from src/com/android/browser/provider/SQLiteContentProvider.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/provider/SnapshotProvider.java (renamed from src/com/android/browser/provider/SnapshotProvider.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/search/DefaultSearchEngine.java (renamed from src/com/android/browser/search/DefaultSearchEngine.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/search/OpenSearchSearchEngine.java (renamed from src/com/android/browser/search/OpenSearchSearchEngine.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/search/SearchEngine.java (renamed from src/com/android/browser/search/SearchEngine.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/search/SearchEngineInfo.java (renamed from src/com/android/browser/search/SearchEngineInfo.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/search/SearchEnginePreference.java (renamed from src/com/android/browser/search/SearchEnginePreference.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/search/SearchEngines.java (renamed from src/com/android/browser/search/SearchEngines.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/stub/NullController.java (renamed from src/com/android/browser/stub/NullController.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/util/ThreadedCursorAdapter.java (renamed from src/com/android/browser/util/ThreadedCursorAdapter.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/BasePieView.java (renamed from src/com/android/browser/view/BasePieView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/BookmarkContainer.java (renamed from src/com/android/browser/view/BookmarkContainer.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/BookmarkExpandableView.java (renamed from src/com/android/browser/view/BookmarkExpandableView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/CustomScreenLinearLayout.java (renamed from src/com/android/browser/view/CustomScreenLinearLayout.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/EventRedirectingFrameLayout.java (renamed from src/com/android/browser/view/EventRedirectingFrameLayout.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/PieItem.java (renamed from src/com/android/browser/view/PieItem.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/PieListView.java (renamed from src/com/android/browser/view/PieListView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/PieMenu.java (renamed from src/com/android/browser/view/PieMenu.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/PieStackView.java (renamed from src/com/android/browser/view/PieStackView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/ScrollerView.java (renamed from src/com/android/browser/view/ScrollerView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/SnapshotGridView.java (renamed from src/com/android/browser/view/SnapshotGridView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/view/StopProgressView.java (renamed from src/com/android/browser/view/StopProgressView.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/widget/BookmarkThumbnailWidgetProvider.java (renamed from src/com/android/browser/widget/BookmarkThumbnailWidgetProvider.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/widget/BookmarkThumbnailWidgetService.java (renamed from src/com/android/browser/widget/BookmarkThumbnailWidgetService.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/widget/BookmarkWidgetConfigure.java (renamed from src/com/android/browser/widget/BookmarkWidgetConfigure.java) | 0 | ||||
-rw-r--r-- | src/com/android/swe/browser/widget/BookmarkWidgetProxy.java (renamed from src/com/android/browser/widget/BookmarkWidgetProxy.java) | 0 |
156 files changed, 1581 insertions, 0 deletions
diff --git a/src/com/android/browser/AccountsChangedReceiver.java b/src/com/android/swe/browser/AccountsChangedReceiver.java index ba1b3cc9..ba1b3cc9 100644 --- a/src/com/android/browser/AccountsChangedReceiver.java +++ b/src/com/android/swe/browser/AccountsChangedReceiver.java diff --git a/src/com/android/browser/ActivityController.java b/src/com/android/swe/browser/ActivityController.java index ac248b8d..ac248b8d 100644 --- a/src/com/android/browser/ActivityController.java +++ b/src/com/android/swe/browser/ActivityController.java diff --git a/src/com/android/browser/AddBookmarkFolder.java b/src/com/android/swe/browser/AddBookmarkFolder.java index e67d84cc..e67d84cc 100644 --- a/src/com/android/browser/AddBookmarkFolder.java +++ b/src/com/android/swe/browser/AddBookmarkFolder.java diff --git a/src/com/android/browser/AddBookmarkPage.java b/src/com/android/swe/browser/AddBookmarkPage.java index a7ded1ef..a7ded1ef 100644 --- a/src/com/android/browser/AddBookmarkPage.java +++ b/src/com/android/swe/browser/AddBookmarkPage.java diff --git a/src/com/android/browser/AddNewBookmark.java b/src/com/android/swe/browser/AddNewBookmark.java index 5d6a1662..5d6a1662 100644 --- a/src/com/android/browser/AddNewBookmark.java +++ b/src/com/android/swe/browser/AddNewBookmark.java diff --git a/src/com/android/browser/AutoFillProfileDatabase.java b/src/com/android/swe/browser/AutoFillProfileDatabase.java index 96669268..96669268 100644 --- a/src/com/android/browser/AutoFillProfileDatabase.java +++ b/src/com/android/swe/browser/AutoFillProfileDatabase.java diff --git a/src/com/android/browser/AutoFillSettingsFragment.java b/src/com/android/swe/browser/AutoFillSettingsFragment.java index 68b325ea..68b325ea 100644 --- a/src/com/android/browser/AutoFillSettingsFragment.java +++ b/src/com/android/swe/browser/AutoFillSettingsFragment.java diff --git a/src/com/android/browser/AutofillHandler.java b/src/com/android/swe/browser/AutofillHandler.java index 5b0320da..5b0320da 100644 --- a/src/com/android/browser/AutofillHandler.java +++ b/src/com/android/swe/browser/AutofillHandler.java diff --git a/src/com/android/browser/AutologinBar.java b/src/com/android/swe/browser/AutologinBar.java index e57d614b..e57d614b 100644 --- a/src/com/android/browser/AutologinBar.java +++ b/src/com/android/swe/browser/AutologinBar.java diff --git a/src/com/android/browser/BackgroundHandler.java b/src/com/android/swe/browser/BackgroundHandler.java index a0d9243e..a0d9243e 100644 --- a/src/com/android/browser/BackgroundHandler.java +++ b/src/com/android/swe/browser/BackgroundHandler.java diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/swe/browser/BaseUi.java index 959d2ec9..959d2ec9 100644 --- a/src/com/android/browser/BaseUi.java +++ b/src/com/android/swe/browser/BaseUi.java diff --git a/src/com/android/browser/BookmarkItem.java b/src/com/android/swe/browser/BookmarkItem.java index 85c1fff2..85c1fff2 100644 --- a/src/com/android/browser/BookmarkItem.java +++ b/src/com/android/swe/browser/BookmarkItem.java diff --git a/src/com/android/browser/BookmarkSearch.java b/src/com/android/swe/browser/BookmarkSearch.java index 4d3ca0f3..4d3ca0f3 100644 --- a/src/com/android/browser/BookmarkSearch.java +++ b/src/com/android/swe/browser/BookmarkSearch.java diff --git a/src/com/android/browser/BookmarkUtils.java b/src/com/android/swe/browser/BookmarkUtils.java index 26e20722..26e20722 100644 --- a/src/com/android/browser/BookmarkUtils.java +++ b/src/com/android/swe/browser/BookmarkUtils.java diff --git a/src/com/android/browser/Bookmarks.java b/src/com/android/swe/browser/Bookmarks.java index 190ff9dd..190ff9dd 100644 --- a/src/com/android/browser/Bookmarks.java +++ b/src/com/android/swe/browser/Bookmarks.java diff --git a/src/com/android/browser/BookmarksLoader.java b/src/com/android/swe/browser/BookmarksLoader.java index 8601c98b..8601c98b 100644 --- a/src/com/android/browser/BookmarksLoader.java +++ b/src/com/android/swe/browser/BookmarksLoader.java diff --git a/src/com/android/browser/BreadCrumbView.java b/src/com/android/swe/browser/BreadCrumbView.java index c3bff59f..c3bff59f 100644 --- a/src/com/android/browser/BreadCrumbView.java +++ b/src/com/android/swe/browser/BreadCrumbView.java diff --git a/src/com/android/browser/Browser.java b/src/com/android/swe/browser/Browser.java index add8bdd5..add8bdd5 100644 --- a/src/com/android/browser/Browser.java +++ b/src/com/android/swe/browser/Browser.java diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/swe/browser/BrowserActivity.java index a58e2a4b..a58e2a4b 100644 --- a/src/com/android/browser/BrowserActivity.java +++ b/src/com/android/swe/browser/BrowserActivity.java diff --git a/src/com/android/browser/BrowserBackupAgent.java b/src/com/android/swe/browser/BrowserBackupAgent.java index 29504742..29504742 100644 --- a/src/com/android/browser/BrowserBackupAgent.java +++ b/src/com/android/swe/browser/BrowserBackupAgent.java diff --git a/src/com/android/browser/BrowserBookmarksAdapter.java b/src/com/android/swe/browser/BrowserBookmarksAdapter.java index 5747112c..5747112c 100644 --- a/src/com/android/browser/BrowserBookmarksAdapter.java +++ b/src/com/android/swe/browser/BrowserBookmarksAdapter.java diff --git a/src/com/android/browser/BrowserBookmarksAdapterItem.java b/src/com/android/swe/browser/BrowserBookmarksAdapterItem.java index 6b995787..6b995787 100644 --- a/src/com/android/browser/BrowserBookmarksAdapterItem.java +++ b/src/com/android/swe/browser/BrowserBookmarksAdapterItem.java diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/swe/browser/BrowserBookmarksPage.java index 0d310171..0d310171 100644 --- a/src/com/android/browser/BrowserBookmarksPage.java +++ b/src/com/android/swe/browser/BrowserBookmarksPage.java diff --git a/src/com/android/browser/BrowserHistoryPage.java b/src/com/android/swe/browser/BrowserHistoryPage.java index 9493b85e..9493b85e 100644 --- a/src/com/android/browser/BrowserHistoryPage.java +++ b/src/com/android/swe/browser/BrowserHistoryPage.java diff --git a/src/com/android/browser/BrowserPreferencesPage.java b/src/com/android/swe/browser/BrowserPreferencesPage.java index 6e6da178..6e6da178 100644 --- a/src/com/android/browser/BrowserPreferencesPage.java +++ b/src/com/android/swe/browser/BrowserPreferencesPage.java diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/swe/browser/BrowserSettings.java index 8d2d7b00..8d2d7b00 100644 --- a/src/com/android/browser/BrowserSettings.java +++ b/src/com/android/swe/browser/BrowserSettings.java diff --git a/src/com/android/browser/BrowserSnapshotPage.java b/src/com/android/swe/browser/BrowserSnapshotPage.java index 0d36c48f..0d36c48f 100644 --- a/src/com/android/browser/BrowserSnapshotPage.java +++ b/src/com/android/swe/browser/BrowserSnapshotPage.java diff --git a/src/com/android/browser/BrowserUtils.java b/src/com/android/swe/browser/BrowserUtils.java index e1a36002..e1a36002 100644 --- a/src/com/android/browser/BrowserUtils.java +++ b/src/com/android/swe/browser/BrowserUtils.java diff --git a/src/com/android/browser/BrowserWebView.java b/src/com/android/swe/browser/BrowserWebView.java index 99e05875..99e05875 100644 --- a/src/com/android/browser/BrowserWebView.java +++ b/src/com/android/swe/browser/BrowserWebView.java diff --git a/src/com/android/browser/BrowserWebViewFactory.java b/src/com/android/swe/browser/BrowserWebViewFactory.java index 441ac6af..441ac6af 100644 --- a/src/com/android/browser/BrowserWebViewFactory.java +++ b/src/com/android/swe/browser/BrowserWebViewFactory.java diff --git a/src/com/android/browser/BrowserYesNoPreference.java b/src/com/android/swe/browser/BrowserYesNoPreference.java index d5d52058..d5d52058 100644 --- a/src/com/android/browser/BrowserYesNoPreference.java +++ b/src/com/android/swe/browser/BrowserYesNoPreference.java diff --git a/src/com/android/browser/CombinedBookmarksCallbacks.java b/src/com/android/swe/browser/CombinedBookmarksCallbacks.java index cdffb6bf..cdffb6bf 100644 --- a/src/com/android/browser/CombinedBookmarksCallbacks.java +++ b/src/com/android/swe/browser/CombinedBookmarksCallbacks.java diff --git a/src/com/android/browser/ComboViewActivity.java b/src/com/android/swe/browser/ComboViewActivity.java index 91d574e1..91d574e1 100644 --- a/src/com/android/browser/ComboViewActivity.java +++ b/src/com/android/swe/browser/ComboViewActivity.java diff --git a/src/com/android/browser/Controller.java b/src/com/android/swe/browser/Controller.java index 00aac083..00aac083 100644 --- a/src/com/android/browser/Controller.java +++ b/src/com/android/swe/browser/Controller.java diff --git a/src/com/android/browser/CrashRecoveryHandler.java b/src/com/android/swe/browser/CrashRecoveryHandler.java index bcdf8b03..bcdf8b03 100644 --- a/src/com/android/browser/CrashRecoveryHandler.java +++ b/src/com/android/swe/browser/CrashRecoveryHandler.java diff --git a/src/com/android/browser/DataController.java b/src/com/android/swe/browser/DataController.java index 909c2a3d..909c2a3d 100644 --- a/src/com/android/browser/DataController.java +++ b/src/com/android/swe/browser/DataController.java diff --git a/src/com/android/browser/DataUri.java b/src/com/android/swe/browser/DataUri.java index 642b0601..642b0601 100644 --- a/src/com/android/browser/DataUri.java +++ b/src/com/android/swe/browser/DataUri.java diff --git a/src/com/android/browser/DateSortedExpandableListAdapter.java b/src/com/android/swe/browser/DateSortedExpandableListAdapter.java index a48efe67..a48efe67 100644 --- a/src/com/android/browser/DateSortedExpandableListAdapter.java +++ b/src/com/android/swe/browser/DateSortedExpandableListAdapter.java diff --git a/src/com/android/browser/DeviceAccountLogin.java b/src/com/android/swe/browser/DeviceAccountLogin.java index 8d734c23..8d734c23 100644 --- a/src/com/android/browser/DeviceAccountLogin.java +++ b/src/com/android/swe/browser/DeviceAccountLogin.java diff --git a/src/com/android/browser/DownloadHandler.java b/src/com/android/swe/browser/DownloadHandler.java index 1ce33da9..1ce33da9 100644 --- a/src/com/android/browser/DownloadHandler.java +++ b/src/com/android/swe/browser/DownloadHandler.java diff --git a/src/com/android/browser/DownloadSettings.java b/src/com/android/swe/browser/DownloadSettings.java index 698fa886..698fa886 100644 --- a/src/com/android/browser/DownloadSettings.java +++ b/src/com/android/swe/browser/DownloadSettings.java diff --git a/src/com/android/browser/DownloadTouchIcon.java b/src/com/android/swe/browser/DownloadTouchIcon.java index ba299b6d..ba299b6d 100644 --- a/src/com/android/browser/DownloadTouchIcon.java +++ b/src/com/android/swe/browser/DownloadTouchIcon.java diff --git a/src/com/android/browser/ErrorConsoleView.java b/src/com/android/swe/browser/ErrorConsoleView.java index ca5fed46..ca5fed46 100644 --- a/src/com/android/browser/ErrorConsoleView.java +++ b/src/com/android/swe/browser/ErrorConsoleView.java diff --git a/src/com/android/browser/EventLogTags.logtags b/src/com/android/swe/browser/EventLogTags.logtags index b3834cf1..b3834cf1 100644 --- a/src/com/android/browser/EventLogTags.logtags +++ b/src/com/android/swe/browser/EventLogTags.logtags diff --git a/src/com/android/browser/FetchUrlMimeType.java b/src/com/android/swe/browser/FetchUrlMimeType.java index 28bfc800..28bfc800 100644 --- a/src/com/android/browser/FetchUrlMimeType.java +++ b/src/com/android/swe/browser/FetchUrlMimeType.java diff --git a/src/com/android/browser/GeolocationPermissionsPrompt.java b/src/com/android/swe/browser/GeolocationPermissionsPrompt.java index afbf39f0..afbf39f0 100755 --- a/src/com/android/browser/GeolocationPermissionsPrompt.java +++ b/src/com/android/swe/browser/GeolocationPermissionsPrompt.java diff --git a/src/com/android/browser/GoogleAccountLogin.java b/src/com/android/swe/browser/GoogleAccountLogin.java index 2bd3c8c7..2bd3c8c7 100644 --- a/src/com/android/browser/GoogleAccountLogin.java +++ b/src/com/android/swe/browser/GoogleAccountLogin.java diff --git a/src/com/android/browser/HistoryItem.java b/src/com/android/swe/browser/HistoryItem.java index 8154be79..8154be79 100644 --- a/src/com/android/browser/HistoryItem.java +++ b/src/com/android/swe/browser/HistoryItem.java diff --git a/src/com/android/browser/HttpAuthenticationDialog.java b/src/com/android/swe/browser/HttpAuthenticationDialog.java index 0c16632f..0c16632f 100644 --- a/src/com/android/browser/HttpAuthenticationDialog.java +++ b/src/com/android/swe/browser/HttpAuthenticationDialog.java diff --git a/src/com/android/browser/IntentHandler.java b/src/com/android/swe/browser/IntentHandler.java index 45520d65..45520d65 100644 --- a/src/com/android/browser/IntentHandler.java +++ b/src/com/android/swe/browser/IntentHandler.java diff --git a/src/com/android/browser/KeyChainLookup.java b/src/com/android/swe/browser/KeyChainLookup.java index 4d5f694b..4d5f694b 100644 --- a/src/com/android/browser/KeyChainLookup.java +++ b/src/com/android/swe/browser/KeyChainLookup.java diff --git a/src/com/android/browser/LogTag.java b/src/com/android/swe/browser/LogTag.java index 38fea478..38fea478 100644 --- a/src/com/android/browser/LogTag.java +++ b/src/com/android/swe/browser/LogTag.java diff --git a/src/com/android/swe/browser/MemoryMonitor.java b/src/com/android/swe/browser/MemoryMonitor.java new file mode 100644 index 00000000..c9be967a --- /dev/null +++ b/src/com/android/swe/browser/MemoryMonitor.java @@ -0,0 +1,133 @@ +/* + * Copyright (c) 2013, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +package com.android.swe.browser; + +import android.app.ActivityManager; +import android.content.Context; +import android.util.Log; +import java.sql.Timestamp; + +public class MemoryMonitor { + + //This number is used with device memory class to calculate max number + //of active tabs. + private static int sMaxActiveTabs = 0; + private static MemoryMonitor sMemoryMonitor; + private TabControl mTabControl; + private final static String LOGTAG = "MemoryMonitor"; + + // Should be called only once + + public static MemoryMonitor getInstance(Context context, + Controller controller) { + if (sMemoryMonitor == null) { + sMemoryMonitor = new MemoryMonitor(context,controller); + } + return sMemoryMonitor; + } + + MemoryMonitor(Context context,Controller controller) { + mTabControl = controller.getTabControl(); + sMaxActiveTabs = getMaxActiveTabs(context); + Log.d(LOGTAG,"Max Active Tabs: "+ sMaxActiveTabs); + } + + private int getActiveTabs() { + int numNativeActiveTab = 0; + int size = mTabControl.getTabCount(); + + for (int i = 0; i < size; i++) { + Tab tab = mTabControl.getTab(i); + if (((Tab)tab).isNativeActive()){ + numNativeActiveTab++; + } + } + return numNativeActiveTab; + } + + /** + * if number of tabs whose native tab is active, is greater + * than MAX_ACTIVE_TABS destroy the nativetab of oldest used Tab + */ + + public void destroyLeastRecentlyActiveTab() { + int numActiveTabs = getActiveTabs(); + int numActiveTabsToRelease = numActiveTabs - sMaxActiveTabs; + + // The most common case will be that we need to delete one + // NativeTab to make room for a new one. So, find the most-stale. + if (numActiveTabsToRelease == 1) { + Tab mostStaleTab = null; + for (Tab t : mTabControl.getTabs()) { + if (t.isNativeActive() && !(t.inForeground())) { + if (mostStaleTab == null){ + mostStaleTab = t; + } + else { + if (t.getTimestamp().compareTo(mostStaleTab. + getTimestamp()) < 0) { + mostStaleTab = t; + } + } + } + } + if (mostStaleTab != null) { + mostStaleTab.destroy(); + } + } else if (numActiveTabsToRelease > 1) { + // Since there is more than 1 "extra" tab, just release all + // NativeTabs in the background. This would be true when + // tracking was turned on after multiple tabs already exists + for (Tab t : mTabControl.getTabs()) { + if (t.isNativeActive() && !(t.inForeground())) { + t.destroy(); + } + } + } + } + + /** + * Returns the default max number of active tabs based on device's + * memory class. + */ + static int getMaxActiveTabs(Context context) { + // We use device memory class to decide number of active tabs + // (minimum memory class is 16). + ActivityManager am =(ActivityManager)context. + getSystemService(Context.ACTIVITY_SERVICE); + if (am.getMemoryClass() < 33) { + return 1; // only 1 Tab can be active at a time + } + else { + return 2; // atleast 2 Tabs can be active at a time + } + } +} diff --git a/src/com/android/browser/MessagesReceiver.java b/src/com/android/swe/browser/MessagesReceiver.java index 876efdfb..876efdfb 100644 --- a/src/com/android/browser/MessagesReceiver.java +++ b/src/com/android/swe/browser/MessagesReceiver.java diff --git a/src/com/android/browser/NavScreen.java b/src/com/android/swe/browser/NavScreen.java index 1d2114e0..1d2114e0 100644 --- a/src/com/android/browser/NavScreen.java +++ b/src/com/android/swe/browser/NavScreen.java diff --git a/src/com/android/browser/NavTabScroller.java b/src/com/android/swe/browser/NavTabScroller.java index c940bf55..c940bf55 100644 --- a/src/com/android/browser/NavTabScroller.java +++ b/src/com/android/swe/browser/NavTabScroller.java diff --git a/src/com/android/browser/NavTabView.java b/src/com/android/swe/browser/NavTabView.java index b15e828f..b15e828f 100644 --- a/src/com/android/browser/NavTabView.java +++ b/src/com/android/swe/browser/NavTabView.java diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/swe/browser/NavigationBarBase.java index daeb1dea..daeb1dea 100644 --- a/src/com/android/browser/NavigationBarBase.java +++ b/src/com/android/swe/browser/NavigationBarBase.java diff --git a/src/com/android/browser/NavigationBarPhone.java b/src/com/android/swe/browser/NavigationBarPhone.java index 23176589..23176589 100644 --- a/src/com/android/browser/NavigationBarPhone.java +++ b/src/com/android/swe/browser/NavigationBarPhone.java diff --git a/src/com/android/browser/NavigationBarTablet.java b/src/com/android/swe/browser/NavigationBarTablet.java index adfd5e79..adfd5e79 100644 --- a/src/com/android/browser/NavigationBarTablet.java +++ b/src/com/android/swe/browser/NavigationBarTablet.java diff --git a/src/com/android/browser/NetworkStateHandler.java b/src/com/android/swe/browser/NetworkStateHandler.java index 9201f0f2..9201f0f2 100644 --- a/src/com/android/browser/NetworkStateHandler.java +++ b/src/com/android/swe/browser/NetworkStateHandler.java diff --git a/src/com/android/browser/NfcHandler.java b/src/com/android/swe/browser/NfcHandler.java index 0dd85769..0dd85769 100644 --- a/src/com/android/browser/NfcHandler.java +++ b/src/com/android/swe/browser/NfcHandler.java diff --git a/src/com/android/browser/OpenDownloadReceiver.java b/src/com/android/swe/browser/OpenDownloadReceiver.java index 4277ff49..4277ff49 100644 --- a/src/com/android/browser/OpenDownloadReceiver.java +++ b/src/com/android/swe/browser/OpenDownloadReceiver.java diff --git a/src/com/android/browser/OptionsMenuHandler.java b/src/com/android/swe/browser/OptionsMenuHandler.java index d602c7d3..d602c7d3 100644 --- a/src/com/android/browser/OptionsMenuHandler.java +++ b/src/com/android/swe/browser/OptionsMenuHandler.java diff --git a/src/com/android/browser/PageDialogsHandler.java b/src/com/android/swe/browser/PageDialogsHandler.java index dba52893..dba52893 100644 --- a/src/com/android/browser/PageDialogsHandler.java +++ b/src/com/android/swe/browser/PageDialogsHandler.java diff --git a/src/com/android/browser/PageProgressView.java b/src/com/android/swe/browser/PageProgressView.java index f512cefa..f512cefa 100644 --- a/src/com/android/browser/PageProgressView.java +++ b/src/com/android/swe/browser/PageProgressView.java diff --git a/src/com/android/browser/Performance.java b/src/com/android/swe/browser/Performance.java index e9ddfa26..e9ddfa26 100644 --- a/src/com/android/browser/Performance.java +++ b/src/com/android/swe/browser/Performance.java diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/swe/browser/PhoneUi.java index 89eae708..89eae708 100644 --- a/src/com/android/browser/PhoneUi.java +++ b/src/com/android/swe/browser/PhoneUi.java diff --git a/src/com/android/browser/PieControl.java b/src/com/android/swe/browser/PieControl.java index a33f8c66..a33f8c66 100644 --- a/src/com/android/browser/PieControl.java +++ b/src/com/android/swe/browser/PieControl.java diff --git a/src/com/android/browser/PreferenceKeys.java b/src/com/android/swe/browser/PreferenceKeys.java index ffbb39ab..ffbb39ab 100644 --- a/src/com/android/browser/PreferenceKeys.java +++ b/src/com/android/swe/browser/PreferenceKeys.java diff --git a/src/com/android/browser/PreloadController.java b/src/com/android/swe/browser/PreloadController.java index 881f19ed..881f19ed 100644 --- a/src/com/android/browser/PreloadController.java +++ b/src/com/android/swe/browser/PreloadController.java diff --git a/src/com/android/browser/PreloadRequestReceiver.java b/src/com/android/swe/browser/PreloadRequestReceiver.java index c654037a..c654037a 100644 --- a/src/com/android/browser/PreloadRequestReceiver.java +++ b/src/com/android/swe/browser/PreloadRequestReceiver.java diff --git a/src/com/android/browser/PreloadedTabControl.java b/src/com/android/swe/browser/PreloadedTabControl.java index 21dafa9d..21dafa9d 100644 --- a/src/com/android/browser/PreloadedTabControl.java +++ b/src/com/android/swe/browser/PreloadedTabControl.java diff --git a/src/com/android/browser/Preloader.java b/src/com/android/swe/browser/Preloader.java index 3273a8c8..3273a8c8 100644 --- a/src/com/android/browser/Preloader.java +++ b/src/com/android/swe/browser/Preloader.java diff --git a/src/com/android/browser/ShortcutActivity.java b/src/com/android/swe/browser/ShortcutActivity.java index 56e9c30b..56e9c30b 100644 --- a/src/com/android/browser/ShortcutActivity.java +++ b/src/com/android/swe/browser/ShortcutActivity.java diff --git a/src/com/android/browser/SnapshotBar.java b/src/com/android/swe/browser/SnapshotBar.java index 51e1226c..51e1226c 100644 --- a/src/com/android/browser/SnapshotBar.java +++ b/src/com/android/swe/browser/SnapshotBar.java diff --git a/src/com/android/browser/SnapshotTab.java b/src/com/android/swe/browser/SnapshotTab.java index e14f0959..e14f0959 100644 --- a/src/com/android/browser/SnapshotTab.java +++ b/src/com/android/swe/browser/SnapshotTab.java diff --git a/src/com/android/browser/SuggestionsAdapter.java b/src/com/android/swe/browser/SuggestionsAdapter.java index 9f66e3c4..9f66e3c4 100644 --- a/src/com/android/browser/SuggestionsAdapter.java +++ b/src/com/android/swe/browser/SuggestionsAdapter.java diff --git a/src/com/android/browser/SystemAllowGeolocationOrigins.java b/src/com/android/swe/browser/SystemAllowGeolocationOrigins.java index e0759ade..e0759ade 100644 --- a/src/com/android/browser/SystemAllowGeolocationOrigins.java +++ b/src/com/android/swe/browser/SystemAllowGeolocationOrigins.java diff --git a/src/com/android/browser/Tab.java b/src/com/android/swe/browser/Tab.java index e33a56bd..e33a56bd 100644 --- a/src/com/android/browser/Tab.java +++ b/src/com/android/swe/browser/Tab.java diff --git a/src/com/android/browser/TabBar.java b/src/com/android/swe/browser/TabBar.java index cf82e015..cf82e015 100644 --- a/src/com/android/browser/TabBar.java +++ b/src/com/android/swe/browser/TabBar.java diff --git a/src/com/android/browser/TabControl.java b/src/com/android/swe/browser/TabControl.java index 10de8a10..10de8a10 100644 --- a/src/com/android/browser/TabControl.java +++ b/src/com/android/swe/browser/TabControl.java diff --git a/src/com/android/browser/TabScrollView.java b/src/com/android/swe/browser/TabScrollView.java index 52dd6af0..52dd6af0 100644 --- a/src/com/android/browser/TabScrollView.java +++ b/src/com/android/swe/browser/TabScrollView.java diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/swe/browser/TitleBar.java index a0cc857d..a0cc857d 100644 --- a/src/com/android/browser/TitleBar.java +++ b/src/com/android/swe/browser/TitleBar.java diff --git a/src/com/android/browser/UI.java b/src/com/android/swe/browser/UI.java index 677c3d3b..677c3d3b 100644 --- a/src/com/android/browser/UI.java +++ b/src/com/android/swe/browser/UI.java diff --git a/src/com/android/browser/UiController.java b/src/com/android/swe/browser/UiController.java index 683e4732..683e4732 100644 --- a/src/com/android/browser/UiController.java +++ b/src/com/android/swe/browser/UiController.java diff --git a/src/com/android/browser/UploadHandler.java b/src/com/android/swe/browser/UploadHandler.java index 544419b6..544419b6 100644 --- a/src/com/android/browser/UploadHandler.java +++ b/src/com/android/swe/browser/UploadHandler.java diff --git a/src/com/android/browser/UrlBarAutoShowManager.java b/src/com/android/swe/browser/UrlBarAutoShowManager.java index 9f7827b2..9f7827b2 100644 --- a/src/com/android/browser/UrlBarAutoShowManager.java +++ b/src/com/android/swe/browser/UrlBarAutoShowManager.java diff --git a/src/com/android/browser/UrlHandler.java b/src/com/android/swe/browser/UrlHandler.java index ac8442ac..ac8442ac 100755 --- a/src/com/android/browser/UrlHandler.java +++ b/src/com/android/swe/browser/UrlHandler.java diff --git a/src/com/android/browser/UrlInputView.java b/src/com/android/swe/browser/UrlInputView.java index 02bba3cb..02bba3cb 100644 --- a/src/com/android/browser/UrlInputView.java +++ b/src/com/android/swe/browser/UrlInputView.java diff --git a/src/com/android/browser/UrlSelectionActionMode.java b/src/com/android/swe/browser/UrlSelectionActionMode.java index 56363884..56363884 100644 --- a/src/com/android/browser/UrlSelectionActionMode.java +++ b/src/com/android/swe/browser/UrlSelectionActionMode.java diff --git a/src/com/android/browser/UrlUtils.java b/src/com/android/swe/browser/UrlUtils.java index ff786474..ff786474 100755 --- a/src/com/android/browser/UrlUtils.java +++ b/src/com/android/swe/browser/UrlUtils.java diff --git a/src/com/android/browser/WallpaperHandler.java b/src/com/android/swe/browser/WallpaperHandler.java index 0c60664e..0c60664e 100644 --- a/src/com/android/browser/WallpaperHandler.java +++ b/src/com/android/swe/browser/WallpaperHandler.java diff --git a/src/com/android/browser/WebStorageSizeManager.java b/src/com/android/swe/browser/WebStorageSizeManager.java index 73a3bfbe..73a3bfbe 100644 --- a/src/com/android/browser/WebStorageSizeManager.java +++ b/src/com/android/swe/browser/WebStorageSizeManager.java diff --git a/src/com/android/browser/WebViewController.java b/src/com/android/swe/browser/WebViewController.java index e814ff9e..e814ff9e 100644 --- a/src/com/android/browser/WebViewController.java +++ b/src/com/android/swe/browser/WebViewController.java diff --git a/src/com/android/browser/WebViewFactory.java b/src/com/android/swe/browser/WebViewFactory.java index 1186e65b..1186e65b 100644 --- a/src/com/android/browser/WebViewFactory.java +++ b/src/com/android/swe/browser/WebViewFactory.java diff --git a/src/com/android/browser/WebViewProperties.java b/src/com/android/swe/browser/WebViewProperties.java index c6629579..c6629579 100644 --- a/src/com/android/browser/WebViewProperties.java +++ b/src/com/android/swe/browser/WebViewProperties.java diff --git a/src/com/android/browser/WebViewTimersControl.java b/src/com/android/swe/browser/WebViewTimersControl.java index d6d17263..d6d17263 100644 --- a/src/com/android/browser/WebViewTimersControl.java +++ b/src/com/android/swe/browser/WebViewTimersControl.java diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/swe/browser/XLargeUi.java index df7a586e..df7a586e 100644 --- a/src/com/android/browser/XLargeUi.java +++ b/src/com/android/swe/browser/XLargeUi.java diff --git a/src/com/android/browser/addbookmark/FolderSpinner.java b/src/com/android/swe/browser/addbookmark/FolderSpinner.java index dd85cda3..dd85cda3 100644 --- a/src/com/android/browser/addbookmark/FolderSpinner.java +++ b/src/com/android/swe/browser/addbookmark/FolderSpinner.java diff --git a/src/com/android/browser/addbookmark/FolderSpinnerAdapter.java b/src/com/android/swe/browser/addbookmark/FolderSpinnerAdapter.java index f86c9c6e..f86c9c6e 100644 --- a/src/com/android/browser/addbookmark/FolderSpinnerAdapter.java +++ b/src/com/android/swe/browser/addbookmark/FolderSpinnerAdapter.java diff --git a/src/com/android/browser/homepages/HomeProvider.java b/src/com/android/swe/browser/homepages/HomeProvider.java index 6ccc94a2..6ccc94a2 100644 --- a/src/com/android/browser/homepages/HomeProvider.java +++ b/src/com/android/swe/browser/homepages/HomeProvider.java diff --git a/src/com/android/browser/homepages/RequestHandler.java b/src/com/android/swe/browser/homepages/RequestHandler.java index c75ffcba..c75ffcba 100644 --- a/src/com/android/browser/homepages/RequestHandler.java +++ b/src/com/android/swe/browser/homepages/RequestHandler.java diff --git a/src/com/android/browser/homepages/Template.java b/src/com/android/swe/browser/homepages/Template.java index e918b07d..e918b07d 100644 --- a/src/com/android/browser/homepages/Template.java +++ b/src/com/android/swe/browser/homepages/Template.java diff --git a/src/com/android/browser/mynavigation/AddMyNavigationPage.java b/src/com/android/swe/browser/mynavigation/AddMyNavigationPage.java index 1db9fa51..1db9fa51 100755 --- a/src/com/android/browser/mynavigation/AddMyNavigationPage.java +++ b/src/com/android/swe/browser/mynavigation/AddMyNavigationPage.java diff --git a/src/com/android/browser/mynavigation/MyNavigationRequestHandler.java b/src/com/android/swe/browser/mynavigation/MyNavigationRequestHandler.java index e1f9ebee..e1f9ebee 100755 --- a/src/com/android/browser/mynavigation/MyNavigationRequestHandler.java +++ b/src/com/android/swe/browser/mynavigation/MyNavigationRequestHandler.java diff --git a/src/com/android/browser/mynavigation/MyNavigationTemplate.java b/src/com/android/swe/browser/mynavigation/MyNavigationTemplate.java index 85d1baf5..85d1baf5 100755 --- a/src/com/android/browser/mynavigation/MyNavigationTemplate.java +++ b/src/com/android/swe/browser/mynavigation/MyNavigationTemplate.java diff --git a/src/com/android/browser/mynavigation/MyNavigationUtil.java b/src/com/android/swe/browser/mynavigation/MyNavigationUtil.java index 3b1836d1..3b1836d1 100755 --- a/src/com/android/browser/mynavigation/MyNavigationUtil.java +++ b/src/com/android/swe/browser/mynavigation/MyNavigationUtil.java diff --git a/src/com/android/swe/browser/platformsupport/BookmarkColumns.java b/src/com/android/swe/browser/platformsupport/BookmarkColumns.java new file mode 100644 index 00000000..d63c81f7 --- /dev/null +++ b/src/com/android/swe/browser/platformsupport/BookmarkColumns.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2013 The Linux Foundation. All rights reserved. + * Not a contribution. + * + * Copyright (C) 2006 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.swe.browser.platformsupport; + +public class BookmarkColumns { + /** + * The URL of the bookmark or history item. + * <p>Type: TEXT (URL)</p> + */ + public static final String URL = "url"; + + /** + * The number of time the item has been visited. + * <p>Type: NUMBER</p> + */ + public static final String VISITS = "visits"; + + /** + * The date the item was last visited, in milliseconds since the epoch. + * <p>Type: NUMBER (date in milliseconds since January 1, 1970)</p> + */ + public static final String DATE = "date"; + + /** + * Flag indicating that an item is a bookmark. A value of 1 indicates a bookmark, a value + * of 0 indicates a history item. + * <p>Type: INTEGER (boolean)</p> + */ + public static final String BOOKMARK = "bookmark"; + + /** + * The user visible title of the bookmark or history item. + * <p>Type: TEXT</p> + */ + public static final String TITLE = "title"; + + /** + * The date the item created, in milliseconds since the epoch. + * <p>Type: NUMBER (date in milliseconds since January 1, 1970)</p> + */ + public static final String CREATED = "created"; + + /** + * The favicon of the bookmark. Must decode via {@link BitmapFactory#decodeByteArray}. + * <p>Type: BLOB (image)</p> + */ + public static final String FAVICON = "favicon"; + + /** + * @hide + */ + public static final String THUMBNAIL = "thumbnail"; + + /** + * @hide + */ + public static final String TOUCH_ICON = "touch_icon"; + + /** + * @hide + */ + public static final String USER_ENTERED = "user_entered"; +} diff --git a/src/com/android/swe/browser/platformsupport/BrowserContract.java b/src/com/android/swe/browser/platformsupport/BrowserContract.java new file mode 100644 index 00000000..29d1f87d --- /dev/null +++ b/src/com/android/swe/browser/platformsupport/BrowserContract.java @@ -0,0 +1,744 @@ +/* + * Copyright (c) 2013 The Linux Foundation. All rights reserved. + * Not a contribution. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.swe.browser.platformsupport; + +import android.accounts.Account; +import android.content.ContentProviderClient; +import android.content.ContentProviderOperation; +import android.content.ContentResolver; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.RemoteException; +import android.util.Pair; +import android.provider.SyncStateContract; +/** + * <p> + * The contract between the browser provider and applications. Contains the definition + * for the supported URIS and columns. + * </p> + * <h3>Overview</h3> + * <p> + * BrowserContract defines an database of browser-related information which are bookmarks, + * history, images and the mapping between the image and URL. + * </p> + * @hide + */ +public class BrowserContract { + /** The authority for the browser provider */ + public static final String AUTHORITY = "com.android.swe.browser"; + + /** A content:// style uri to the authority for the browser provider */ + public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY); + + /** + * An optional insert, update or delete URI parameter that allows the caller + * to specify that it is a sync adapter. The default value is false. If true + * the dirty flag is not automatically set and the "syncToNetwork" parameter + * is set to false when calling + * {@link ContentResolver#notifyChange(android.net.Uri, android.database.ContentObserver, boolean)}. + * @hide + */ + public static final String CALLER_IS_SYNCADAPTER = "caller_is_syncadapter"; + + /** + * A parameter for use when querying any table that allows specifying a limit on the number + * of rows returned. + * @hide + */ + public static final String PARAM_LIMIT = "limit"; + + /** + * Generic columns for use by sync adapters. The specific functions of + * these columns are private to the sync adapter. Other clients of the API + * should not attempt to either read or write these columns. + * + * @hide + */ + interface BaseSyncColumns { + /** Generic column for use by sync adapters. */ + public static final String SYNC1 = "sync1"; + /** Generic column for use by sync adapters. */ + public static final String SYNC2 = "sync2"; + /** Generic column for use by sync adapters. */ + public static final String SYNC3 = "sync3"; + /** Generic column for use by sync adapters. */ + public static final String SYNC4 = "sync4"; + /** Generic column for use by sync adapters. */ + public static final String SYNC5 = "sync5"; + } + + /** + * Convenience definitions for use in implementing chrome bookmarks sync in the Bookmarks table. + * @hide + */ + public static final class ChromeSyncColumns { + private ChromeSyncColumns() {} + + /** The server unique ID for an item */ + public static final String SERVER_UNIQUE = BaseSyncColumns.SYNC3; + + public static final String FOLDER_NAME_ROOT = "google_chrome"; + public static final String FOLDER_NAME_BOOKMARKS = "google_chrome_bookmarks"; + public static final String FOLDER_NAME_BOOKMARKS_BAR = "bookmark_bar"; + public static final String FOLDER_NAME_OTHER_BOOKMARKS = "other_bookmarks"; + + /** The client unique ID for an item */ + public static final String CLIENT_UNIQUE = BaseSyncColumns.SYNC4; + } + + /** + * Columns that appear when each row of a table belongs to a specific + * account, including sync information that an account may need. + * @hide + */ + interface SyncColumns extends BaseSyncColumns { + /** + * The name of the account instance to which this row belongs, which when paired with + * {@link #ACCOUNT_TYPE} identifies a specific account. + * <P>Type: TEXT</P> + */ + public static final String ACCOUNT_NAME = "account_name"; + + /** + * The type of account to which this row belongs, which when paired with + * {@link #ACCOUNT_NAME} identifies a specific account. + * <P>Type: TEXT</P> + */ + public static final String ACCOUNT_TYPE = "account_type"; + + /** + * String that uniquely identifies this row to its source account. + * <P>Type: TEXT</P> + */ + public static final String SOURCE_ID = "sourceid"; + + /** + * Version number that is updated whenever this row or its related data + * changes. + * <P>Type: INTEGER</P> + */ + public static final String VERSION = "version"; + + /** + * Flag indicating that {@link #VERSION} has changed, and this row needs + * to be synchronized by its owning account. + * <P>Type: INTEGER (boolean)</P> + */ + public static final String DIRTY = "dirty"; + + /** + * The time that this row was last modified by a client (msecs since the epoch). + * <P>Type: INTEGER</P> + */ + public static final String DATE_MODIFIED = "modified"; + } + + interface CommonColumns { + /** + * The unique ID for a row. + * <P>Type: INTEGER (long)</P> + */ + public static final String _ID = "_id"; + + /** + * This column is valid when the row is a URL. The history table's URL + * can not be updated. + * <P>Type: TEXT (URL)</P> + */ + public static final String URL = "url"; + + /** + * The user visible title. + * <P>Type: TEXT</P> + */ + public static final String TITLE = "title"; + + /** + * The time that this row was created on its originating client (msecs + * since the epoch). + * <P>Type: INTEGER</P> + * @hide + */ + public static final String DATE_CREATED = "created"; + } + + /** + * @hide + */ + interface ImageColumns { + /** + * The favicon of the bookmark, may be NULL. + * Must decode via {@link BitmapFactory#decodeByteArray}. + * <p>Type: BLOB (image)</p> + */ + public static final String FAVICON = "favicon"; + + /** + * A thumbnail of the page,may be NULL. + * Must decode via {@link BitmapFactory#decodeByteArray}. + * <p>Type: BLOB (image)</p> + */ + public static final String THUMBNAIL = "thumbnail"; + + /** + * The touch icon for the web page, may be NULL. + * Must decode via {@link BitmapFactory#decodeByteArray}. + * <p>Type: BLOB (image)</p> + */ + public static final String TOUCH_ICON = "touch_icon"; + } + + interface HistoryColumns { + /** + * The date the item was last visited, in milliseconds since the epoch. + * <p>Type: INTEGER (date in milliseconds since January 1, 1970)</p> + */ + public static final String DATE_LAST_VISITED = "date"; + + /** + * The number of times the item has been visited. + * <p>Type: INTEGER</p> + */ + public static final String VISITS = "visits"; + + /** + * @hide + */ + public static final String USER_ENTERED = "user_entered"; + } + + interface ImageMappingColumns { + /** + * The ID of the image in Images. One image can map onto the multiple URLs. + * <P>Type: INTEGER (long)</P> + */ + public static final String IMAGE_ID = "image_id"; + + /** + * The URL. The URL can map onto the different type of images. + * <P>Type: TEXT (URL)</P> + */ + public static final String URL = "url"; + } + + /** + * The bookmarks table, which holds the user's browser bookmarks. + */ + public static final class Bookmarks implements CommonColumns, ImageColumns, SyncColumns { + /** + * This utility class cannot be instantiated. + */ + private Bookmarks() {} + + /** + * The content:// style URI for this table + */ + public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "bookmarks"); + + /** + * Used in {@link Bookmarks#TYPE} column and indicats the row is a bookmark. + */ + public static final int BOOKMARK_TYPE_BOOKMARK = 1; + + /** + * Used in {@link Bookmarks#TYPE} column and indicats the row is a folder. + */ + public static final int BOOKMARK_TYPE_FOLDER = 2; + + /** + * Used in {@link Bookmarks#TYPE} column and indicats the row is the bookmark bar folder. + */ + public static final int BOOKMARK_TYPE_BOOKMARK_BAR_FOLDER = 3; + + /** + * Used in {@link Bookmarks#TYPE} column and indicats the row is other folder and + */ + public static final int BOOKMARK_TYPE_OTHER_FOLDER = 4; + + /** + * Used in {@link Bookmarks#TYPE} column and indicats the row is other folder, . + */ + public static final int BOOKMARK_TYPE_MOBILE_FOLDER = 5; + + /** + * The type of the item. + * <P>Type: INTEGER</P> + * <p>Allowed values are:</p> + * <p> + * <ul> + * <li>{@link #BOOKMARK_TYPE_BOOKMARK}</li> + * <li>{@link #BOOKMARK_TYPE_FOLDER}</li> + * <li>{@link #BOOKMARK_TYPE_BOOKMARK_BAR_FOLDER}</li> + * <li>{@link #BOOKMARK_TYPE_OTHER_FOLDER}</li> + * <li>{@link #BOOKMARK_TYPE_MOBILE_FOLDER}</li> + * </ul> + * </p> + * <p> The TYPE_BOOKMARK_BAR_FOLDER, TYPE_OTHER_FOLDER and TYPE_MOBILE_FOLDER + * can not be updated or deleted.</p> + */ + public static final String TYPE = "type"; + + /** + * The content:// style URI for the default folder + * @hide + */ + public static final Uri CONTENT_URI_DEFAULT_FOLDER = + Uri.withAppendedPath(CONTENT_URI, "folder"); + + /** + * Query parameter used to specify an account name + * @hide + */ + public static final String PARAM_ACCOUNT_NAME = "acct_name"; + + /** + * Query parameter used to specify an account type + * @hide + */ + public static final String PARAM_ACCOUNT_TYPE = "acct_type"; + + /** + * Builds a URI that points to a specific folder. + * @param folderId the ID of the folder to point to + * @hide + */ + public static final Uri buildFolderUri(long folderId) { + return ContentUris.withAppendedId(CONTENT_URI_DEFAULT_FOLDER, folderId); + } + + /** + * The MIME type of {@link #CONTENT_URI} providing a directory of bookmarks. + */ + public static final String CONTENT_TYPE = "vnd.android.cursor.dir/bookmark"; + + /** + * The MIME type of a {@link #CONTENT_URI} of a single bookmark. + */ + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/bookmark"; + + /** + * Query parameter to use if you want to see deleted bookmarks that are still + * around on the device and haven't been synced yet. + * @see #IS_DELETED + * @hide + */ + public static final String QUERY_PARAMETER_SHOW_DELETED = "show_deleted"; + + /** + * Flag indicating if an item is a folder or bookmark. Non-zero values indicate + * a folder and zero indicates a bookmark. + * <P>Type: INTEGER (boolean)</P> + * @hide + */ + public static final String IS_FOLDER = "folder"; + + /** + * The ID of the parent folder. ID 0 is the root folder. + * <P>Type: INTEGER (reference to item in the same table)</P> + */ + public static final String PARENT = "parent"; + + /** + * The source ID for an item's parent. Read-only. + * @see #PARENT + * @hide + */ + public static final String PARENT_SOURCE_ID = "parent_source"; + + /** + * The position of the bookmark in relation to it's siblings that share the same + * {@link #PARENT}. May be negative. + * <P>Type: INTEGER</P> + * @hide + */ + public static final String POSITION = "position"; + + /** + * The item that the bookmark should be inserted after. + * May be negative. + * <P>Type: INTEGER</P> + * @hide + */ + public static final String INSERT_AFTER = "insert_after"; + + /** + * The source ID for the item that the bookmark should be inserted after. Read-only. + * May be negative. + * <P>Type: INTEGER</P> + * @see #INSERT_AFTER + * @hide + */ + public static final String INSERT_AFTER_SOURCE_ID = "insert_after_source"; + + /** + * A flag to indicate if an item has been deleted. Queries will not return deleted + * entries unless you add the {@link #QUERY_PARAMETER_SHOW_DELETED} query paramter + * to the URI when performing your query. + * <p>Type: INTEGER (non-zero if the item has been deleted, zero if it hasn't) + * @see #QUERY_PARAMETER_SHOW_DELETED + * @hide + */ + public static final String IS_DELETED = "deleted"; + } + + /** + * Read-only table that lists all the accounts that are used to provide bookmarks. + * @hide + */ + public static final class Accounts { + /** + * Directory under {@link Bookmarks#CONTENT_URI} + */ + public static final Uri CONTENT_URI = + AUTHORITY_URI.buildUpon().appendPath("accounts").build(); + + /** + * The name of the account instance to which this row belongs, which when paired with + * {@link #ACCOUNT_TYPE} identifies a specific account. + * <P>Type: TEXT</P> + */ + public static final String ACCOUNT_NAME = "account_name"; + + /** + * The type of account to which this row belongs, which when paired with + * {@link #ACCOUNT_NAME} identifies a specific account. + * <P>Type: TEXT</P> + */ + public static final String ACCOUNT_TYPE = "account_type"; + + /** + * The ID of the account's root folder. This will be the ID of the folder + * returned when querying {@link Bookmarks#CONTENT_URI_DEFAULT_FOLDER}. + * <P>Type: INTEGER</P> + */ + public static final String ROOT_ID = "root_id"; + } + + /** + * The history table, which holds the browsing history. + */ + public static final class History implements CommonColumns, HistoryColumns, ImageColumns { + /** + * This utility class cannot be instantiated. + */ + private History() {} + + /** + * The content:// style URI for this table + */ + public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "history"); + + /** + * The MIME type of {@link #CONTENT_URI} providing a directory of browser history items. + */ + public static final String CONTENT_TYPE = "vnd.android.cursor.dir/browser-history"; + + /** + * The MIME type of a {@link #CONTENT_URI} of a single browser history item. + */ + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/browser-history"; + } + + /** + * The search history table. + * @hide + */ + public static final class Searches { + private Searches() {} + + /** + * The content:// style URI for this table + */ + public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "searches"); + + /** + * The MIME type of {@link #CONTENT_URI} providing a directory of browser search items. + */ + public static final String CONTENT_TYPE = "vnd.android.cursor.dir/searches"; + + /** + * The MIME type of a {@link #CONTENT_URI} of a single browser search item. + */ + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/searches"; + + /** + * The unique ID for a row. + * <P>Type: INTEGER (long)</P> + */ + public static final String _ID = "_id"; + + /** + * The user entered search term. + */ + public static final String SEARCH = "search"; + + /** + * The date the search was performed, in milliseconds since the epoch. + * <p>Type: NUMBER (date in milliseconds since January 1, 1970)</p> + */ + public static final String DATE = "date"; + } + + /** + * A table provided for sync adapters to use for storing private sync state data. + * + * @see SyncStateContract + * @hide + */ + public static final class SyncState implements SyncStateContract.Columns { + /** + * This utility class cannot be instantiated + */ + private SyncState() {} + + public static final String CONTENT_DIRECTORY = + SyncStateContract.Constants.CONTENT_DIRECTORY; + + /** + * The content:// style URI for this table + */ + public static final Uri CONTENT_URI = + Uri.withAppendedPath(AUTHORITY_URI, CONTENT_DIRECTORY); + + /** + * @see android.provider.SyncStateContract.Helpers#get + */ + public static byte[] get(ContentProviderClient provider, Account account) + throws RemoteException { + return SyncStateContract.Helpers.get(provider, CONTENT_URI, account); + } + + /** + * @see android.provider.SyncStateContract.Helpers#get + */ + public static Pair<Uri, byte[]> getWithUri(ContentProviderClient provider, Account account) + throws RemoteException { + return SyncStateContract.Helpers.getWithUri(provider, CONTENT_URI, account); + } + + /** + * @see android.provider.SyncStateContract.Helpers#set + */ + public static void set(ContentProviderClient provider, Account account, byte[] data) + throws RemoteException { + SyncStateContract.Helpers.set(provider, CONTENT_URI, account, data); + } + + /** + * @see android.provider.SyncStateContract.Helpers#newSetOperation + */ + public static ContentProviderOperation newSetOperation(Account account, byte[] data) { + return SyncStateContract.Helpers.newSetOperation(CONTENT_URI, account, data); + } + } + + /** + * <p> + * Stores images for URLs. + * </p> + * <p> + * The rows in this table can not be updated since there might have multiple URLs mapping onto + * the same image. If you want to update a URL's image, you need to add the new image in this + * table, then update the mapping onto the added image. + * </p> + * <p> + * Every image should be at least associated with one URL, otherwise it will be removed after a + * while. + * </p> + */ + public static final class Images implements ImageColumns { + /** + * This utility class cannot be instantiated + */ + private Images() {} + + /** + * The content:// style URI for this table + */ + public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "images"); + + /** + * The MIME type of {@link #CONTENT_URI} providing a directory of images. + */ + public static final String CONTENT_TYPE = "vnd.android.cursor.dir/images"; + + /** + * The MIME type of a {@link #CONTENT_URI} of a single image. + */ + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/images"; + + /** + * Used in {@link Images#TYPE} column and indicats the row is a favicon. + */ + public static final int IMAGE_TYPE_FAVICON = 1; + + /** + * Used in {@link Images#TYPE} column and indicats the row is a precomposed touch icon. + */ + public static final int IMAGE_TYPE_PRECOMPOSED_TOUCH_ICON = 2; + + /** + * Used in {@link Images#TYPE} column and indicats the row is a touch icon. + */ + public static final int IMAGE_TYPE_TOUCH_ICON = 4; + + /** + * The type of item in the table. + * <P>Type: INTEGER</P> + * <p>Allowed values are:</p> + * <p> + * <ul> + * <li>{@link #IMAGE_TYPE_FAVICON}</li> + * <li>{@link #IMAGE_TYPE_PRECOMPOSED_TOUCH_ICON}</li> + * <li>{@link #IMAGE_TYPE_TOUCH_ICON}</li> + * </ul> + * </p> + */ + public static final String TYPE = "type"; + + /** + * The image data. + * <p>Type: BLOB (image)</p> + */ + public static final String DATA = "data"; + + /** + * The URL the images came from. + * <P>Type: TEXT (URL)</P> + * @hide + */ + public static final String URL = "url_key"; + } + + /** + * <p> + * A table that stores the mappings between the image and the URL. + * </p> + * <p> + * Deleting or Updating a mapping might also deletes the mapped image if there is no other URL + * maps onto it. + * </p> + */ + public static final class ImageMappings implements ImageMappingColumns { + /** + * This utility class cannot be instantiated + */ + private ImageMappings() {} + + /** + * The content:// style URI for this table + */ + public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "image_mappings"); + + /** + * The MIME type of {@link #CONTENT_URI} providing a directory of image mappings. + */ + public static final String CONTENT_TYPE = "vnd.android.cursor.dir/image_mappings"; + + /** + * The MIME type of a {@link #CONTENT_URI} of a single image mapping. + */ + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/image_mappings"; + } + + /** + * A combined view of bookmarks and history. All bookmarks in all folders are included and + * no folders are included. + * @hide + */ + public static final class Combined implements CommonColumns, HistoryColumns, ImageColumns { + /** + * This utility class cannot be instantiated + */ + private Combined() {} + + /** + * The content:// style URI for this table + */ + public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "combined"); + + /** + * Flag indicating that an item is a bookmark. A value of 1 indicates a bookmark, a value + * of 0 indicates a history item. + * <p>Type: INTEGER (boolean)</p> + */ + public static final String IS_BOOKMARK = "bookmark"; + } + + /** + * A table that stores settings specific to the browser. Only support query and insert. + * @hide + */ + public static final class Settings { + /** + * This utility class cannot be instantiated + */ + private Settings() {} + + /** + * The content:// style URI for this table + */ + public static final Uri CONTENT_URI = Uri.withAppendedPath(AUTHORITY_URI, "settings"); + + /** + * Key for a setting value. + */ + public static final String KEY = "key"; + + /** + * Value for a setting. + */ + public static final String VALUE = "value"; + + /** + * If set to non-0 the user has opted into bookmark sync. + */ + public static final String KEY_SYNC_ENABLED = "sync_enabled"; + + /** + * Returns true if bookmark sync is enabled + */ + static public boolean isSyncEnabled(Context context) { + Cursor cursor = null; + try { + cursor = context.getContentResolver().query(CONTENT_URI, new String[] { VALUE }, + KEY + "=?", new String[] { KEY_SYNC_ENABLED }, null); + if (cursor == null || !cursor.moveToFirst()) { + return false; + } + return cursor.getInt(0) != 0; + } finally { + if (cursor != null) cursor.close(); + } + } + + /** + * Sets the bookmark sync enabled setting. + */ + static public void setSyncEnabled(Context context, boolean enabled) { + ContentValues values = new ContentValues(); + values.put(KEY, KEY_SYNC_ENABLED); + values.put(VALUE, enabled ? 1 : 0); + context.getContentResolver().insert(CONTENT_URI, values); + } + } +} diff --git a/src/com/android/swe/browser/platformsupport/Process.java b/src/com/android/swe/browser/platformsupport/Process.java new file mode 100644 index 00000000..e33fd3ce --- /dev/null +++ b/src/com/android/swe/browser/platformsupport/Process.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2013, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +package com.android.swe.browser.platformsupport; + +public class Process { + + public static final int PROC_SPACE_TERM = (int)' '; + public static final int PROC_COMBINE = 0x100; + public static final int PROC_OUT_LONG = 0x2000; + + + public static long getElapsedCpuTime() { + return 0; + } + + public static boolean readProcFile(String s, int[] systemCpuFormat, Object o, long[] + sysCpu, Object o1) { + return false; + } +} diff --git a/src/com/android/swe/browser/platformsupport/SeekBarPreference.java b/src/com/android/swe/browser/platformsupport/SeekBarPreference.java new file mode 100644 index 00000000..9801c0a5 --- /dev/null +++ b/src/com/android/swe/browser/platformsupport/SeekBarPreference.java @@ -0,0 +1,238 @@ +package com.android.swe.browser.platformsupport; + +import android.content.Context; +import android.content.res.TypedArray; +import android.os.Parcel; +import android.os.Parcelable; +import android.preference.Preference; +import android.util.AttributeSet; +import android.view.KeyEvent; +import android.view.View; +import android.widget.SeekBar; +import android.widget.SeekBar.OnSeekBarChangeListener; + +public class SeekBarPreference extends Preference + implements OnSeekBarChangeListener { + + private int mProgress; + private int mMax; + private boolean mTrackingTouch; + + public SeekBarPreference( + Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + + int[] attrs2 = new int[] { android.R.attr.indeterminateDrawable /* index 0 */}; + TypedArray a = context.obtainStyledAttributes(android.R.style.Widget_ProgressBar, attrs2); + setMax(100); + a.recycle(); + setLayoutResource(com.android.swe.browser.R.layout.preference_widget_seekbar); + /*SWE_TODO: Fix w Reflection + TypedArray a = context.obtainStyledAttributes(attrs, + com.android.internal.R.styleable.ProgressBar, defStyle, 0); + setMax(a.getInt(com.android.internal.R.styleable.ProgressBar_max, mMax)); + a.recycle(); + setLayoutResource(com.android.internal.R.layout.preference_widget_seekbar); + */ + } + + public SeekBarPreference(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public SeekBarPreference(Context context) { + this(context, null); + } + + @Override + protected void onBindView(View view) { + super.onBindView(view); + SeekBar seekBar = (SeekBar) view.findViewById( + com.android.swe.browser.R.id.seekbar2); + seekBar.setOnSeekBarChangeListener(this); + seekBar.setMax(mMax); + seekBar.setProgress(mProgress); + seekBar.setEnabled(isEnabled()); + } + + @Override + public CharSequence getSummary() { + return null; + } + + @Override + protected void onSetInitialValue(boolean restoreValue, Object defaultValue) { + setProgress(restoreValue ? getPersistedInt(mProgress) + : (Integer) defaultValue); + } + + @Override + protected Object onGetDefaultValue(TypedArray a, int index) { + return a.getInt(index, 0); + } + + //@Override + //TODO : Verify the interface and Uncommend the override + public boolean onKey(View v, int keyCode, KeyEvent event) { + if (event.getAction() != KeyEvent.ACTION_UP) { + if (keyCode == KeyEvent.KEYCODE_PLUS + || keyCode == KeyEvent.KEYCODE_EQUALS) { + setProgress(getProgress() + 1); + return true; + } + if (keyCode == KeyEvent.KEYCODE_MINUS) { + setProgress(getProgress() - 1); + return true; + } + } + return false; + } + + public void setMax(int max) { + if (max != mMax) { + mMax = max; + notifyChanged(); + } + } + + public void setProgress(int progress) { + setProgress(progress, true); + } + + private void setProgress(int progress, boolean notifyChanged) { + if (progress > mMax) { + progress = mMax; + } + if (progress < 0) { + progress = 0; + } + if (progress != mProgress) { + mProgress = progress; + persistInt(progress); + if (notifyChanged) { + notifyChanged(); + } + } + } + + public int getProgress() { + return mProgress; + } + + /** + * Persist the seekBar's progress value if callChangeListener + * returns true, otherwise set the seekBar's progress to the stored value + */ + void syncProgress(SeekBar seekBar) { + int progress = seekBar.getProgress(); + if (progress != mProgress) { + if (callChangeListener(progress)) { + setProgress(progress, false); + } else { + seekBar.setProgress(mProgress); + } + } + } + + @Override + public void onProgressChanged( + SeekBar seekBar, int progress, boolean fromUser) { + if (fromUser && !mTrackingTouch) { + syncProgress(seekBar); + } + } + + @Override + public void onStartTrackingTouch(SeekBar seekBar) { + mTrackingTouch = true; + } + + @Override + public void onStopTrackingTouch(SeekBar seekBar) { + mTrackingTouch = false; + if (seekBar.getProgress() != mProgress) { + syncProgress(seekBar); + } + } + + @Override + protected Parcelable onSaveInstanceState() { + /* + * Suppose a client uses this preference type without persisting. We + * must save the instance state so it is able to, for example, survive + * orientation changes. + */ + + final Parcelable superState = super.onSaveInstanceState(); + if (isPersistent()) { + // No need to save instance state since it's persistent + return superState; + } + + // Save the instance state + final SavedState myState = new SavedState(superState); + myState.progress = mProgress; + myState.max = mMax; + return myState; + } + + @Override + protected void onRestoreInstanceState(Parcelable state) { + if (!state.getClass().equals(SavedState.class)) { + // Didn't save state for us in onSaveInstanceState + super.onRestoreInstanceState(state); + return; + } + + // Restore the instance state + SavedState myState = (SavedState) state; + super.onRestoreInstanceState(myState.getSuperState()); + mProgress = myState.progress; + mMax = myState.max; + notifyChanged(); + } + + /** + * SavedState, a subclass of {@link BaseSavedState}, will store the state + * of MyPreference, a subclass of Preference. + * <p> + * It is important to always call through to super methods. + */ + private static class SavedState extends BaseSavedState { + int progress; + int max; + + public SavedState(Parcel source) { + super(source); + + // Restore the click counter + progress = source.readInt(); + max = source.readInt(); + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + super.writeToParcel(dest, flags); + + // Save the click counter + dest.writeInt(progress); + dest.writeInt(max); + } + + public SavedState(Parcelable superState) { + super(superState); + } + + @SuppressWarnings("unused") + public static final Parcelable.Creator<SavedState> CREATOR = + new Parcelable.Creator<SavedState>() { + public SavedState createFromParcel(Parcel in) { + return new SavedState(in); + } + + public SavedState[] newArray(int size) { + return new SavedState[size]; + } + }; + } +} diff --git a/src/com/android/swe/browser/platformsupport/SyncStateContentProviderHelper.java b/src/com/android/swe/browser/platformsupport/SyncStateContentProviderHelper.java new file mode 100644 index 00000000..4fd4e1ab --- /dev/null +++ b/src/com/android/swe/browser/platformsupport/SyncStateContentProviderHelper.java @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2013 The Linux Foundation. All rights reserved. + * Not a contribution. + * + * Copyright (C) 2007 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.swe.browser.platformsupport; + +import android.accounts.Account; +import android.content.ContentValues; +import android.database.Cursor; +import android.database.DatabaseUtils; +import android.database.sqlite.SQLiteDatabase; +import android.provider.SyncStateContract; + +/** + * Extends the schema of a ContentProvider to include the _sync_state table + * and implements query/insert/update/delete to access that table using the + * authority "syncstate". This can be used to store the sync state for a + * set of accounts. + */ +public class SyncStateContentProviderHelper { + private static final String SELECT_BY_ACCOUNT = + SyncStateContract.Columns.ACCOUNT_NAME + "=? AND " + + SyncStateContract.Columns.ACCOUNT_TYPE + "=?"; + + private static final String SYNC_STATE_TABLE = "_sync_state"; + private static final String SYNC_STATE_META_TABLE = "_sync_state_metadata"; + private static final String SYNC_STATE_META_VERSION_COLUMN = "version"; + + private static long DB_VERSION = 1; + + private static final String[] ACCOUNT_PROJECTION = + new String[]{SyncStateContract.Columns.ACCOUNT_NAME, + SyncStateContract.Columns.ACCOUNT_TYPE}; + + public static final String PATH = "syncstate"; + + private static final String QUERY_COUNT_SYNC_STATE_ROWS = + "SELECT count(*)" + + " FROM " + SYNC_STATE_TABLE + + " WHERE " + SyncStateContract.Columns._ID + "=?"; + + public void createDatabase(SQLiteDatabase db) { + db.execSQL("DROP TABLE IF EXISTS " + SYNC_STATE_TABLE); + db.execSQL("CREATE TABLE " + SYNC_STATE_TABLE + " (" + + SyncStateContract.Columns._ID + " INTEGER PRIMARY KEY," + + SyncStateContract.Columns.ACCOUNT_NAME + " TEXT NOT NULL," + + SyncStateContract.Columns.ACCOUNT_TYPE + " TEXT NOT NULL," + + SyncStateContract.Columns.DATA + " TEXT," + + "UNIQUE(" + SyncStateContract.Columns.ACCOUNT_NAME + ", " + + SyncStateContract.Columns.ACCOUNT_TYPE + "));"); + + db.execSQL("DROP TABLE IF EXISTS " + SYNC_STATE_META_TABLE); + db.execSQL("CREATE TABLE " + SYNC_STATE_META_TABLE + " (" + + SYNC_STATE_META_VERSION_COLUMN + " INTEGER);"); + ContentValues values = new ContentValues(); + values.put(SYNC_STATE_META_VERSION_COLUMN, DB_VERSION); + db.insert(SYNC_STATE_META_TABLE, SYNC_STATE_META_VERSION_COLUMN, values); + } + + public void onDatabaseOpened(SQLiteDatabase db) { + long version = DatabaseUtils.longForQuery(db, + "SELECT " + SYNC_STATE_META_VERSION_COLUMN + " FROM " + SYNC_STATE_META_TABLE, + null); + if (version != DB_VERSION) { + createDatabase(db); + } + } + + public Cursor query(SQLiteDatabase db, String[] projection, + String selection, String[] selectionArgs, String sortOrder) { + return db.query(SYNC_STATE_TABLE, projection, selection, selectionArgs, + null, null, sortOrder); + } + + public long insert(SQLiteDatabase db, ContentValues values) { + return db.replace(SYNC_STATE_TABLE, SyncStateContract.Columns.ACCOUNT_NAME, values); + } + + public int delete(SQLiteDatabase db, String userWhere, String[] whereArgs) { + return db.delete(SYNC_STATE_TABLE, userWhere, whereArgs); + } + + public int update(SQLiteDatabase db, ContentValues values, + String selection, String[] selectionArgs) { + return db.update(SYNC_STATE_TABLE, values, selection, selectionArgs); + } + + public int update(SQLiteDatabase db, long rowId, Object data) { + if (DatabaseUtils.longForQuery(db, QUERY_COUNT_SYNC_STATE_ROWS, + new String[]{Long.toString(rowId)}) < 1) { + return 0; + } + db.execSQL("UPDATE " + SYNC_STATE_TABLE + + " SET " + SyncStateContract.Columns.DATA + "=?" + + " WHERE " + SyncStateContract.Columns._ID + "=" + rowId, + new Object[]{data}); + // assume a row was modified since we know it exists + return 1; + } + + public void onAccountsChanged(SQLiteDatabase db, Account[] accounts) { + Cursor c = db.query(SYNC_STATE_TABLE, ACCOUNT_PROJECTION, null, null, null, null, null); + try { + while (c.moveToNext()) { + final String accountName = c.getString(0); + final String accountType = c.getString(1); + Account account = new Account(accountName, accountType); + if (!contains(accounts, account)) { + db.delete(SYNC_STATE_TABLE, SELECT_BY_ACCOUNT, + new String[]{accountName, accountType}); + } + } + } finally { + c.close(); + } + } + + /** + * Checks that value is present as at least one of the elements of the array. + * @param array the array to check in + * @param value the value to check for + * @return true if the value is present in the array + */ + private static <T> boolean contains(T[] array, T value) { + for (T element : array) { + if (element == null) { + if (value == null) return true; + } else { + if (value != null && element.equals(value)) return true; + } + } + return false; + } +} diff --git a/src/com/android/swe/browser/platformsupport/WebAddress.java b/src/com/android/swe/browser/platformsupport/WebAddress.java new file mode 100644 index 00000000..2fbf20a8 --- /dev/null +++ b/src/com/android/swe/browser/platformsupport/WebAddress.java @@ -0,0 +1,189 @@ +/* + * Copyright (c) 2013 The Linux Foundation. All rights reserved. + * Not a contribution. + * + * Copyright (C) 2006 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.swe.browser.platformsupport; + +import static android.util.Patterns.GOOD_IRI_CHAR; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * {@hide} + * + * Web Address Parser + * + * This is called WebAddress, rather than URL or URI, because it + * attempts to parse the stuff that a user will actually type into a + * browser address widget. + * + * Unlike java.net.uri, this parser will not choke on URIs missing + * schemes. It will only throw a ParseException if the input is + * really hosed. + * + * If given an https scheme but no port, fills in port + * + */ +public class WebAddress { + + private String mScheme; + private String mHost; + private int mPort; + private String mPath; + private String mAuthInfo; + + static final int MATCH_GROUP_SCHEME = 1; + static final int MATCH_GROUP_AUTHORITY = 2; + static final int MATCH_GROUP_HOST = 3; + static final int MATCH_GROUP_PORT = 4; + static final int MATCH_GROUP_PATH = 5; + + /* ENRICO: imported the ParseExeption here */ + public static class ParseException extends RuntimeException { + public String response; + + ParseException(String response) { + this.response = response; + } + } + + static Pattern sAddressPattern = Pattern.compile( + /* scheme */ "(?:(http|https|file)\\:\\/\\/)?" + + /* authority */ "(?:([-A-Za-z0-9$_.+!*'(),;?&=]+(?:\\:[-A-Za-z0-9$_.+!*'(),;?&=]+)?)@)?" + + /* host */ "([" + GOOD_IRI_CHAR + "%_-][" + GOOD_IRI_CHAR + "%_\\.-]*|\\[[0-9a-fA-F:\\.]+\\])?" + + /* port */ "(?:\\:([0-9]*))?" + + /* path */ "(\\/?[^#]*)?" + + /* anchor */ ".*", Pattern.CASE_INSENSITIVE); + + /** parses given uriString. */ + public WebAddress(String address) throws ParseException { + if (address == null) { + throw new NullPointerException(); + } + + // android.util.Log.d(LOGTAG, "WebAddress: " + address); + + mScheme = ""; + mHost = ""; + mPort = -1; + mPath = "/"; + mAuthInfo = ""; + + Matcher m = sAddressPattern.matcher(address); + String t; + if (m.matches()) { + t = m.group(MATCH_GROUP_SCHEME); + if (t != null) mScheme = t.toLowerCase(); + t = m.group(MATCH_GROUP_AUTHORITY); + if (t != null) mAuthInfo = t; + t = m.group(MATCH_GROUP_HOST); + if (t != null) mHost = t; + t = m.group(MATCH_GROUP_PORT); + if (t != null && t.length() > 0) { + // The ':' character is not returned by the regex. + try { + mPort = Integer.parseInt(t); + } catch (NumberFormatException ex) { + throw new ParseException("Bad port"); + } + } + t = m.group(MATCH_GROUP_PATH); + if (t != null && t.length() > 0) { + /* handle busted myspace frontpage redirect with + missing initial "/" */ + if (t.charAt(0) == '/') { + mPath = t; + } else { + mPath = "/" + t; + } + } + + } else { + // nothing found... outa here + throw new ParseException("Bad address"); + } + + /* Get port from scheme or scheme from port, if necessary and + possible */ + if (mPort == 443 && mScheme.equals("")) { + mScheme = "https"; + } else if (mPort == -1) { + if (mScheme.equals("https")) + mPort = 443; + else + mPort = 80; // default + } + if (mScheme.equals("")) mScheme = "http"; + } + + @Override + public String toString() { + String port = ""; + if ((mPort != 443 && mScheme.equals("https")) || + (mPort != 80 && mScheme.equals("http"))) { + port = ":" + Integer.toString(mPort); + } + String authInfo = ""; + if (mAuthInfo.length() > 0) { + authInfo = mAuthInfo + "@"; + } + + return mScheme + "://" + authInfo + mHost + port + mPath; + } + + public void setScheme(String scheme) { + mScheme = scheme; + } + + public String getScheme() { + return mScheme; + } + + public void setHost(String host) { + mHost = host; + } + + public String getHost() { + return mHost; + } + + public void setPort(int port) { + mPort = port; + } + + public int getPort() { + return mPort; + } + + public void setPath(String path) { + mPath = path; + } + + public String getPath() { + return mPath; + } + + public void setAuthInfo(String authInfo) { + mAuthInfo = authInfo; + } + + public String getAuthInfo() { + return mAuthInfo; + } +} diff --git a/src/com/android/browser/preferences/AccessibilityPreferencesFragment.java b/src/com/android/swe/browser/preferences/AccessibilityPreferencesFragment.java index 364d3378..364d3378 100644 --- a/src/com/android/browser/preferences/AccessibilityPreferencesFragment.java +++ b/src/com/android/swe/browser/preferences/AccessibilityPreferencesFragment.java diff --git a/src/com/android/browser/preferences/AdvancedPreferencesFragment.java b/src/com/android/swe/browser/preferences/AdvancedPreferencesFragment.java index acc26ce2..acc26ce2 100644 --- a/src/com/android/browser/preferences/AdvancedPreferencesFragment.java +++ b/src/com/android/swe/browser/preferences/AdvancedPreferencesFragment.java diff --git a/src/com/android/browser/preferences/BandwidthPreferencesFragment.java b/src/com/android/swe/browser/preferences/BandwidthPreferencesFragment.java index 0cb064ab..0cb064ab 100644 --- a/src/com/android/browser/preferences/BandwidthPreferencesFragment.java +++ b/src/com/android/swe/browser/preferences/BandwidthPreferencesFragment.java diff --git a/src/com/android/browser/preferences/DebugPreferencesFragment.java b/src/com/android/swe/browser/preferences/DebugPreferencesFragment.java index 24821d16..24821d16 100644 --- a/src/com/android/browser/preferences/DebugPreferencesFragment.java +++ b/src/com/android/swe/browser/preferences/DebugPreferencesFragment.java diff --git a/src/com/android/browser/preferences/FontSizePreview.java b/src/com/android/swe/browser/preferences/FontSizePreview.java index 8825f3d8..8825f3d8 100644 --- a/src/com/android/browser/preferences/FontSizePreview.java +++ b/src/com/android/swe/browser/preferences/FontSizePreview.java diff --git a/src/com/android/browser/preferences/GeneralPreferencesFragment.java b/src/com/android/swe/browser/preferences/GeneralPreferencesFragment.java index 2453f462..2453f462 100644 --- a/src/com/android/browser/preferences/GeneralPreferencesFragment.java +++ b/src/com/android/swe/browser/preferences/GeneralPreferencesFragment.java diff --git a/src/com/android/browser/preferences/InvertedContrastPreview.java b/src/com/android/swe/browser/preferences/InvertedContrastPreview.java index 2b8ad473..2b8ad473 100644 --- a/src/com/android/browser/preferences/InvertedContrastPreview.java +++ b/src/com/android/swe/browser/preferences/InvertedContrastPreview.java diff --git a/src/com/android/browser/preferences/LabPreferencesFragment.java b/src/com/android/swe/browser/preferences/LabPreferencesFragment.java index 222b5fa4..222b5fa4 100644 --- a/src/com/android/browser/preferences/LabPreferencesFragment.java +++ b/src/com/android/swe/browser/preferences/LabPreferencesFragment.java diff --git a/src/com/android/browser/preferences/NonformattingListPreference.java b/src/com/android/swe/browser/preferences/NonformattingListPreference.java index 51b3231e..51b3231e 100644 --- a/src/com/android/browser/preferences/NonformattingListPreference.java +++ b/src/com/android/swe/browser/preferences/NonformattingListPreference.java diff --git a/src/com/android/browser/preferences/PrivacySecurityPreferencesFragment.java b/src/com/android/swe/browser/preferences/PrivacySecurityPreferencesFragment.java index 35e6e432..35e6e432 100644 --- a/src/com/android/browser/preferences/PrivacySecurityPreferencesFragment.java +++ b/src/com/android/swe/browser/preferences/PrivacySecurityPreferencesFragment.java diff --git a/src/com/android/browser/preferences/SeekBarSummaryPreference.java b/src/com/android/swe/browser/preferences/SeekBarSummaryPreference.java index 481fbc72..481fbc72 100644 --- a/src/com/android/browser/preferences/SeekBarSummaryPreference.java +++ b/src/com/android/swe/browser/preferences/SeekBarSummaryPreference.java diff --git a/src/com/android/browser/preferences/WebViewPreview.java b/src/com/android/swe/browser/preferences/WebViewPreview.java index 1f938f05..1f938f05 100644 --- a/src/com/android/browser/preferences/WebViewPreview.java +++ b/src/com/android/swe/browser/preferences/WebViewPreview.java diff --git a/src/com/android/browser/preferences/WebsiteSettingsFragment.java b/src/com/android/swe/browser/preferences/WebsiteSettingsFragment.java index c84c6693..c84c6693 100644 --- a/src/com/android/browser/preferences/WebsiteSettingsFragment.java +++ b/src/com/android/swe/browser/preferences/WebsiteSettingsFragment.java diff --git a/src/com/android/browser/provider/BrowserProvider.java b/src/com/android/swe/browser/provider/BrowserProvider.java index 744032c9..744032c9 100644 --- a/src/com/android/browser/provider/BrowserProvider.java +++ b/src/com/android/swe/browser/provider/BrowserProvider.java diff --git a/src/com/android/browser/provider/BrowserProvider2.java b/src/com/android/swe/browser/provider/BrowserProvider2.java index 95b34e7f..95b34e7f 100644 --- a/src/com/android/browser/provider/BrowserProvider2.java +++ b/src/com/android/swe/browser/provider/BrowserProvider2.java diff --git a/src/com/android/browser/provider/MyNavigationProvider.java b/src/com/android/swe/browser/provider/MyNavigationProvider.java index 3dc2954b..3dc2954b 100755 --- a/src/com/android/browser/provider/MyNavigationProvider.java +++ b/src/com/android/swe/browser/provider/MyNavigationProvider.java diff --git a/src/com/android/browser/provider/SQLiteContentProvider.java b/src/com/android/swe/browser/provider/SQLiteContentProvider.java index 75e298e5..75e298e5 100644 --- a/src/com/android/browser/provider/SQLiteContentProvider.java +++ b/src/com/android/swe/browser/provider/SQLiteContentProvider.java diff --git a/src/com/android/browser/provider/SnapshotProvider.java b/src/com/android/swe/browser/provider/SnapshotProvider.java index e005c367..e005c367 100644 --- a/src/com/android/browser/provider/SnapshotProvider.java +++ b/src/com/android/swe/browser/provider/SnapshotProvider.java diff --git a/src/com/android/browser/search/DefaultSearchEngine.java b/src/com/android/swe/browser/search/DefaultSearchEngine.java index e4e0e968..e4e0e968 100644 --- a/src/com/android/browser/search/DefaultSearchEngine.java +++ b/src/com/android/swe/browser/search/DefaultSearchEngine.java diff --git a/src/com/android/browser/search/OpenSearchSearchEngine.java b/src/com/android/swe/browser/search/OpenSearchSearchEngine.java index e600aa98..e600aa98 100644 --- a/src/com/android/browser/search/OpenSearchSearchEngine.java +++ b/src/com/android/swe/browser/search/OpenSearchSearchEngine.java diff --git a/src/com/android/browser/search/SearchEngine.java b/src/com/android/swe/browser/search/SearchEngine.java index 8f2d58db..8f2d58db 100644 --- a/src/com/android/browser/search/SearchEngine.java +++ b/src/com/android/swe/browser/search/SearchEngine.java diff --git a/src/com/android/browser/search/SearchEngineInfo.java b/src/com/android/swe/browser/search/SearchEngineInfo.java index ec304f64..ec304f64 100644 --- a/src/com/android/browser/search/SearchEngineInfo.java +++ b/src/com/android/swe/browser/search/SearchEngineInfo.java diff --git a/src/com/android/browser/search/SearchEnginePreference.java b/src/com/android/swe/browser/search/SearchEnginePreference.java index 62ce97bc..62ce97bc 100644 --- a/src/com/android/browser/search/SearchEnginePreference.java +++ b/src/com/android/swe/browser/search/SearchEnginePreference.java diff --git a/src/com/android/browser/search/SearchEngines.java b/src/com/android/swe/browser/search/SearchEngines.java index 2484ce01..2484ce01 100644 --- a/src/com/android/browser/search/SearchEngines.java +++ b/src/com/android/swe/browser/search/SearchEngines.java diff --git a/src/com/android/browser/stub/NullController.java b/src/com/android/swe/browser/stub/NullController.java index 149fe4ef..149fe4ef 100644 --- a/src/com/android/browser/stub/NullController.java +++ b/src/com/android/swe/browser/stub/NullController.java diff --git a/src/com/android/browser/util/ThreadedCursorAdapter.java b/src/com/android/swe/browser/util/ThreadedCursorAdapter.java index 72a07eaf..72a07eaf 100644 --- a/src/com/android/browser/util/ThreadedCursorAdapter.java +++ b/src/com/android/swe/browser/util/ThreadedCursorAdapter.java diff --git a/src/com/android/browser/view/BasePieView.java b/src/com/android/swe/browser/view/BasePieView.java index b9178be0..b9178be0 100644 --- a/src/com/android/browser/view/BasePieView.java +++ b/src/com/android/swe/browser/view/BasePieView.java diff --git a/src/com/android/browser/view/BookmarkContainer.java b/src/com/android/swe/browser/view/BookmarkContainer.java index 5175589d..5175589d 100644 --- a/src/com/android/browser/view/BookmarkContainer.java +++ b/src/com/android/swe/browser/view/BookmarkContainer.java diff --git a/src/com/android/browser/view/BookmarkExpandableView.java b/src/com/android/swe/browser/view/BookmarkExpandableView.java index 5c0f0307..5c0f0307 100644 --- a/src/com/android/browser/view/BookmarkExpandableView.java +++ b/src/com/android/swe/browser/view/BookmarkExpandableView.java diff --git a/src/com/android/browser/view/CustomScreenLinearLayout.java b/src/com/android/swe/browser/view/CustomScreenLinearLayout.java index f5341e8d..f5341e8d 100644 --- a/src/com/android/browser/view/CustomScreenLinearLayout.java +++ b/src/com/android/swe/browser/view/CustomScreenLinearLayout.java diff --git a/src/com/android/browser/view/EventRedirectingFrameLayout.java b/src/com/android/swe/browser/view/EventRedirectingFrameLayout.java index 901b0217..901b0217 100644 --- a/src/com/android/browser/view/EventRedirectingFrameLayout.java +++ b/src/com/android/swe/browser/view/EventRedirectingFrameLayout.java diff --git a/src/com/android/browser/view/PieItem.java b/src/com/android/swe/browser/view/PieItem.java index 9e04ecbf..9e04ecbf 100644 --- a/src/com/android/browser/view/PieItem.java +++ b/src/com/android/swe/browser/view/PieItem.java diff --git a/src/com/android/browser/view/PieListView.java b/src/com/android/swe/browser/view/PieListView.java index 1043fc77..1043fc77 100644 --- a/src/com/android/browser/view/PieListView.java +++ b/src/com/android/swe/browser/view/PieListView.java diff --git a/src/com/android/browser/view/PieMenu.java b/src/com/android/swe/browser/view/PieMenu.java index 1699c274..1699c274 100644 --- a/src/com/android/browser/view/PieMenu.java +++ b/src/com/android/swe/browser/view/PieMenu.java diff --git a/src/com/android/browser/view/PieStackView.java b/src/com/android/swe/browser/view/PieStackView.java index e1f41bd8..e1f41bd8 100644 --- a/src/com/android/browser/view/PieStackView.java +++ b/src/com/android/swe/browser/view/PieStackView.java diff --git a/src/com/android/browser/view/ScrollerView.java b/src/com/android/swe/browser/view/ScrollerView.java index 545dd25f..545dd25f 100644 --- a/src/com/android/browser/view/ScrollerView.java +++ b/src/com/android/swe/browser/view/ScrollerView.java diff --git a/src/com/android/browser/view/SnapshotGridView.java b/src/com/android/swe/browser/view/SnapshotGridView.java index ab12060b..ab12060b 100644 --- a/src/com/android/browser/view/SnapshotGridView.java +++ b/src/com/android/swe/browser/view/SnapshotGridView.java diff --git a/src/com/android/browser/view/StopProgressView.java b/src/com/android/swe/browser/view/StopProgressView.java index 64fa5d03..64fa5d03 100644 --- a/src/com/android/browser/view/StopProgressView.java +++ b/src/com/android/swe/browser/view/StopProgressView.java diff --git a/src/com/android/browser/widget/BookmarkThumbnailWidgetProvider.java b/src/com/android/swe/browser/widget/BookmarkThumbnailWidgetProvider.java index f3d26759..f3d26759 100644 --- a/src/com/android/browser/widget/BookmarkThumbnailWidgetProvider.java +++ b/src/com/android/swe/browser/widget/BookmarkThumbnailWidgetProvider.java diff --git a/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java b/src/com/android/swe/browser/widget/BookmarkThumbnailWidgetService.java index 209faadf..209faadf 100644 --- a/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java +++ b/src/com/android/swe/browser/widget/BookmarkThumbnailWidgetService.java diff --git a/src/com/android/browser/widget/BookmarkWidgetConfigure.java b/src/com/android/swe/browser/widget/BookmarkWidgetConfigure.java index a74bed9c..a74bed9c 100644 --- a/src/com/android/browser/widget/BookmarkWidgetConfigure.java +++ b/src/com/android/swe/browser/widget/BookmarkWidgetConfigure.java diff --git a/src/com/android/browser/widget/BookmarkWidgetProxy.java b/src/com/android/swe/browser/widget/BookmarkWidgetProxy.java index 8ab57fc3..8ab57fc3 100644 --- a/src/com/android/browser/widget/BookmarkWidgetProxy.java +++ b/src/com/android/swe/browser/widget/BookmarkWidgetProxy.java |