Closed Bug 1025062 Opened 7 years ago Closed 7 years ago

Verify that a site is not yet pinned before adding a dupe

Categories

(Firefox for Android Graveyard :: Awesomescreen, defect)

All
Android
defect
Not set
normal

Tracking

(firefox30 wontfix, firefox31 wontfix, firefox32 verified, firefox33 verified)

VERIFIED FIXED
Firefox 33
Tracking Status
firefox30 --- wontfix
firefox31 --- wontfix
firefox32 --- verified
firefox33 --- verified

People

(Reporter: ioana.chiorean, Assigned: lucasr)

References

Details

(Whiteboard: regression)

Attachments

(4 files)

Attached image Screenshot
OS: Android 4.4 
Device: Nexus 4

Steps:
1. Add one of the 4 suggested site as pin tabs in Top Sites Grid
2. Repeat step 1

Expected Results:
- you should not be able to add it twice

Actual Result:
- you are able to add it several time

Note:
- see attached photo
QA Contact: ioana.chiorean
Flags: needinfo?(lucasr.at.mozilla)
Also what's with the bottom right tile having faded text
Assignee: nobody → lucasr.at.mozilla
Flags: needinfo?(lucasr.at.mozilla)
I don't remember having this problem before. Looks like a regression. Can you please try to find a regression range?
During the regression window search I saw this is not related to Suggested Tiles and it goes way back in October: 

Last good: 10/29
First bad: 10/30

Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=518f5bff0ae4&tochange=829d7bef8b0a

//PS: For the gray part I've logged a different bug as it has a different regression for it (Bug 1025812 )
Summary: Verify that the suggested site is not yet pinned before adding a dupe → Verify that a site is not yet pinned before adding a dupe
Whiteboard: regression
From that range

7381dc390a7e	Brian Nicholson — Bug 924968 - Do an update or insert instead of multiple operations when pinning site. r=rnewman

?
I can't reproduce this bug using the STR in comment #0. Ioana, does it happen on any device with a fresh profile?
Flags: needinfo?(ioana.chiorean)
I tried on Nexus 4 (Android 4.4 ), Alcatel One Touch (Android 4.2.1) and HTC desire S (Android 2.3.3).

(If you try with pin tabs please take into account that at a first addition it will move the non pinned tab in the place you choose to add and adding the same one will dupe it)
Flags: needinfo?(ioana.chiorean)
(In reply to Ioana Chiorean from comment #0)
> Created attachment 8439952 [details]
> Screenshot
> 
> OS: Android 4.4 
> Device: Nexus 4
> 
> Steps:
> 1. Add one of the 4 suggested site as pin tabs in Top Sites Grid
> 2. Repeat step 1
> 
> Expected Results:
> - you should not be able to add it twice
> 
> Actual Result:
> - you are able to add it several time

Still can't reproduce it. Ioana, how to do add a pinned site in step 1? Typing the address manually or just picking an existing site from the list?
Flags: needinfo?(ioana.chiorean)
Just picking one from the 4 bookmarked ones. 
See video: https://www.youtube.com/watch?v=kMO3ydDwwOc
Flags: needinfo?(ioana.chiorean)
(In reply to Ioana Chiorean from comment #8)
> Just picking one from the 4 bookmarked ones. 
> See video: https://www.youtube.com/watch?v=kMO3ydDwwOc

Ah, now I understand what you meant :-) ibarlow, maybe we should hide URLs that are already pinned in the edit dialog's search?
Flags: needinfo?(ibarlow)
(In reply to Lucas Rocha (:lucasr) from comment #9)
> (In reply to Ioana Chiorean from comment #8)
> > Just picking one from the 4 bookmarked ones. 
> > See video: https://www.youtube.com/watch?v=kMO3ydDwwOc
> 
> Ah, now I understand what you meant :-) ibarlow, maybe we should hide URLs
> that are already pinned in the edit dialog's search?

Sounds reasonable
Flags: needinfo?(ibarlow)
Attachment #8451002 - Flags: review?(rnewman)
Attachment #8451003 - Flags: review?(rnewman)
Attachment #8451004 - Flags: review?(rnewman)
Status: NEW → ASSIGNED
OS: All → Android
Hardware: ARM → All
Comment on attachment 8451002 [details] [diff] [review]
Part 1: Add filter flag to exclude pinned sites in searches (r=rnewman)

Review of attachment 8451002 [details] [diff] [review]:
-----------------------------------------------------------------

::: mobile/android/base/db/LocalBrowserDB.java
@@ +510,5 @@
>  
>      @Override
> +    public Cursor filter(ContentResolver cr, CharSequence constraint, int limit,
> +                         EnumSet<FilterFlags> flags) {
> +        String selection = "";

null instead?

@@ +514,5 @@
> +        String selection = "";
> +        String[] selectionArgs = null;
> +
> +        if (flags.contains(FilterFlags.EXCLUDE_PINNED_SITES)) {
> +            selection = Combined.URL + " NOT IN (SELECT " +

I think there might be a better way of doing this -- we're only interested in the URL and the title, so we can group by URL, eliminating any groups with parent == pinned -- but this will do for now!
Attachment #8451002 - Flags: review?(rnewman) → review+
Comment on attachment 8451003 [details] [diff] [review]
Part 2: Add SearchLoader APIs to use the new BrowserDB.FilterFlags (r=rnewman)

Review of attachment 8451003 [details] [diff] [review]:
-----------------------------------------------------------------

::: mobile/android/base/home/SearchLoader.java
@@ +36,5 @@
>      public static Loader<Cursor> createInstance(Context context, Bundle args) {
>          if (args != null) {
>              final String searchTerm = args.getString(KEY_SEARCH_TERM);
> +            final EnumSet<FilterFlags> flags =
> +                    (EnumSet<FilterFlags>) args.getSerializable(KEY_FILTER_FLAGS);

Does this behave correctly if the flags are null?
Attachment #8451003 - Flags: review?(rnewman) → review+
Attachment #8451004 - Flags: review?(rnewman) → review+
Blocks: 1035131
(In reply to Richard Newman [:rnewman] from comment #15)
> Comment on attachment 8451003 [details] [diff] [review]
> Part 2: Add SearchLoader APIs to use the new BrowserDB.FilterFlags
> (r=rnewman)
> 
> Review of attachment 8451003 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: mobile/android/base/home/SearchLoader.java
> @@ +36,5 @@
> >      public static Loader<Cursor> createInstance(Context context, Bundle args) {
> >          if (args != null) {
> >              final String searchTerm = args.getString(KEY_SEARCH_TERM);
> > +            final EnumSet<FilterFlags> flags =
> > +                    (EnumSet<FilterFlags>) args.getSerializable(KEY_FILTER_FLAGS);
> 
> Does this behave correctly if the flags are null?

If the flags are null, we have a bug somewhere that needs fixing i.e. it will likely crash and that's good.
Comment on attachment 8451002 [details] [diff] [review]
Part 1: Add filter flag to exclude pinned sites in searches (r=rnewman)

Approval Request Comment
[Feature/regressing bug #]: bug 988366
[User impact if declined]: Include unnecessary result entries for URLs that have already been pinned.   
[Describe test coverage new/current, TBPL]: Local tests only. Let's bake this in Nightly for a couple days and then uplift.
[Risks and why]: Fairly low, simply filters out pinned URLs from the search query in the dialog to pin new sites.
[String/UUID change made/needed]: n/a
Attachment #8451002 - Flags: approval-mozilla-aurora?
Comment on attachment 8451003 [details] [diff] [review]
Part 2: Add SearchLoader APIs to use the new BrowserDB.FilterFlags (r=rnewman)

Approval Request Comment
[Feature/regressing bug #]: bug 988366
[User impact if declined]: Include unnecessary result entries for URLs that have already been pinned.   
[Describe test coverage new/current, TBPL]: Local tests only. Let's bake this in Nightly for a couple days and then uplift.
[Risks and why]: Fairly low, simply filters out pinned URLs from the search query in the dialog to pin new sites.
[String/UUID change made/needed]: n/a
Attachment #8451003 - Flags: approval-mozilla-aurora?
Comment on attachment 8451004 [details] [diff] [review]
Part 3: Exclude pinned sites from the pin dialog's search (r=rnewman)

Approval Request Comment
[Feature/regressing bug #]: bug 988366
[User impact if declined]: Include unnecessary result entries for URLs that have already been pinned.   
[Describe test coverage new/current, TBPL]: Local tests only. Let's bake this in Nightly for a couple days and then uplift.
[Risks and why]: Fairly low, simply filters out pinned URLs from the search query in the dialog to pin new sites.
[String/UUID change made/needed]: n/a
Attachment #8451004 - Flags: approval-mozilla-aurora?
I should have mentioned: this issue become more visible because of the new suggested images introduced in Fx32. Hence the uplift request.
Backed out for:
https://tbpl.mozilla.org/php/getParsedLog.php?id=43248582&tree=Fx-Team
make[5]: Entering directory `/builds/slave/fx-team-and-000000000000000000/build/obj-firefox/build/mobile/robocop'
rm -f '/builds/slave/fx-team-and-000000000000000000/build/obj-firefox/build/mobile/robocop/AndroidManifest.xml'
/builds/slave/fx-team-and-000000000000000000/build/obj-firefox/_virtualenv/bin/python -m mozbuild.action.preprocessor --depend .deps/AndroidManifest.xml.pp  -DANDROID_PACKAGE_NAME='org.mozilla.fennec' -DNO_NSPR_10_SUPPORT -DANDROID='1' -DCROSS_COMPILE='1' -DX_DISPLAY_MISSING='1' -DMOZ_THUMB2='1' -DHAVE_ARM_SIMD='1' -DHAVE_ARM_NEON='1' -DBUILD_ARM_NEON='1' -DMOZ_ENABLE_PROFILER_SPS='1' -DMOZ_PROFILING='1' -DMOZILLA_VERSION='"33.0a1"' -DMOZILLA_VERSION_U='33.0a1' -DMOZILLA_UAVERSION='"33.0"' -DNO_PW_GECOS='1' -DXP_LINUX='1' -DMOZ_LINKER='1' -DD_INO='d_ino' -DMOZ_DEBUG_SYMBOLS='1' -DSTDC_HEADERS='1' -DHAVE_SSIZE_T='1' -DHAVE_ST_BLKSIZE='1' -DHAVE_SIGINFO_T='1' -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE='1' -DHAVE_VISIBILITY_ATTRIBUTE='1' -DHAVE_DIRENT_H='1' -DHAVE_GETOPT_H='1' -DHAVE_MEMORY_H='1' -DHAVE_UNISTD_H='1' -DHAVE_MALLOC_H='1' -DHAVE_SYS_SYSMACROS_H='1' -DHAVE_LINUX_QUOTA_H='1' -DHAVE_LINUX_RTNETLINK_H='1' -DHAVE_SYS_TYPES_H='1' -DHAVE_NETINET_IN_H='1' -DHAVE_BYTESWAP_H='1' -DHAVE_SYS_CDEFS_H='1' -DHAVE_DLOPEN='1' -DHAVE_DLADDR='1' -DHAVE_MEMMEM='1' -DNO_X11='1' -DHAVE_LOCALTIME_R='1' -DHAVE_ARC4RANDOM='1' -DHAVE_ARC4RANDOM_BUF='1' -DHAVE_CLOCK_MONOTONIC='1' -DVA_COPY='va_copy' -DHAVE_VA_COPY='1' -DMALLOC_H='<malloc.h>' -DHAVE_STRNDUP='1' -DHAVE_MEMALIGN='1' -DHAVE_VALLOC='1' -DHAVE_I18N_LC_MESSAGES='1' -DTARGET_XPCOM_ABI='"arm-eabi-gcc3"' -DNS_ATTR_MALLOC='__attribute__((malloc))' -DNS_WARN_UNUSED_RESULT='__attribute__((warn_unused_result))' -DNIGHTLY_BUILD='1' -DMOZ_UPDATE_CHANNEL='default' -DEARLY_BETA_OR_EARLIER='1' -DMOZ_BUILD_APP='mobile/android' -DANDROID_TARGET_SDK='17' -DMOZ_WIDGET_ANDROID='1' -DMOZ_PDF_PRINTING='1' -DMOZ_INSTRUMENT_EVENT_LOOP='1' -DUSE_ARM_KUSER='1' -DNS_PRINTING='1' -DNS_PRINT_PREVIEW='1' -DMOZ_DISTRIBUTION_ID='"org.mozilla"' -DMOZ_ANDROID_HISTORY='1' -DMOZ_ANDROID_OMTC='1' -DMOZ_LOCALE_SWITCHER='1' -DMOZ_ANDROID_BEAM='1' -DACCESSIBILITY='1' -DMOZ_WEBRTC='1' -DMOZ_WEBRTC_ASSERT_ALWAYS='1' -DMOZ_WEBRTC_SIGNALING='1' -DMOZ_PEERCONNECTION='1' -DMOZ_SCTP='1' -DMOZ_SRTP='1' -DMOZ_SAMPLE_TYPE_S16='1' -DMOZ_WEBSPEECH='1' -DMOZ_RAW='1' -DATTRIBUTE_ALIGNED_MAX='64' -DMOZ_WEBM='1' -DMOZ_MEDIA_PLUGINS='1' -DMOZ_MEDIA_NAVIGATOR='1' -DMOZ_OMX_PLUGIN='1' -DMOZ_VPX='1' -DMOZ_VPX_ERROR_CONCEALMENT='1' -DVPX_ARM_ASM='1' -DMOZ_WAVE='1' -DMOZ_TREMOR='1' -DMOZ_OPUS='1' -DENABLE_SYSTEM_EXTENSION_DIRS='1' -DMOZ_WEBGL='1' -DMOZ_GAMEPAD='1' -DMOZ_CRASHREPORTER='1' -DMOZ_CRASHREPORTER_ENABLE_PERCENT='100' -DLIBJPEG_TURBO_ARM_ASM='1' -DMOZ_USE_NATIVE_POPUP_WINDOWS='1' -DMOZ_TREE_FREETYPE='1' -DHAVE_FT_BITMAP_SIZE_Y_PPEM='1' -DHAVE_FT_GLYPHSLOT_EMBOLDEN='1' -DHAVE_FT_LOAD_SFNT_TABLE='1' -DMOZ_SIGNING='1' -DMOZ_UPDATER='1' -DENABLE_TESTS='1' -DGTEST_HAS_RTTI='0' -DGTEST_OS_LINUX_ANDROID='1' -DGTEST_USE_OWN_TR1_TUPLE='1' -DGTEST_HAS_CLONE='0' -DMOZ_DISABLE_CRYPTOLEGACY='1' -DMOZ_CONTENT_SANDBOX_REPORTER='1' -DMOZ_FEEDS='1' -DMOZ_SAFE_BROWSING='1' -DMOZ_URL_CLASSIFIER='1' -DGL_PROVIDER_='1' -DMOZ_GFX_OPTIMIZE_MOBILE='1' -DMOZ_LOGGING='1' -DMOZ_MEMORY='1' -DMOZ_MEMORY_LINUX='1' -DMOZ_MEMORY_ANDROID='1' -DJSGC_INCREMENTAL='1' -DMOZ_PAY='1' -DMOZ_SERVICES_FXACCOUNTS='1' -DHAVE__UNWIND_BACKTRACE='1' -DJS_DEFAULT_JITREPORT_GRANULARITY='3' -DMOZ_OMNIJAR='1' -DMOZ_USER_DIR='".mozilla"' -DMOZ_TREE_PIXMAN='1' -DHAVE_STDINT_H='1' -DHAVE_INTTYPES_H='1' -DMOZ_TREE_CAIRO='1' -DMOZ_ENABLE_SKIA='1' -DUSE_SKIA='1' -DSK_BUILD_FOR_ANDROID_NDK='1' -DUSE_SKIA_GPU='1' -DMOZ_XUL='1' -DMOZ_PROFILELOCKING='1' -DBUILD_CTYPES='1' -DMOZ_LOOP='1' -DMOZ_SERVICES_HEALTHREPORT='1' -DMOZ_DEVICES='1' -DMOZ_APP_COMPONENT_INCLUDE='"nsBrowserComponents.h"' -DMOZ_MACBUNDLE_ID='org.mozilla.nightly' -DMOZ_B2G_VERSION='"1.0.0"' -DMOZ_B2G_OS_NAME='""' -DMOZ_APP_UA_NAME='"Firefox"' -DMOZ_APP_UA_VERSION='"33.0a1"' -DFIREFOX_VERSION='33.0a1' -DMOZ_TELEMETRY_DISPLAY_REV='2' -DMOZ_TELEMETRY_REPORTING='1' -DMOZ_TELEMETRY_ON_BY_DEFAULT='1' -DMOZ_DATA_REPORTING='1' -DMOZ_DLL_SUFFIX='".so"' -DXP_UNIX='1' -DA11Y_LOG='1' -DMOZ_STATIC_JS='1' -DNDEBUG -DTRIMMED '/builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/AndroidManifest.xml.in' -o '/builds/slave/fx-team-and-000000000000000000/build/obj-firefox/build/mobile/robocop/AndroidManifest.xml'
/builds/slave/fx-team-and-000000000000000000/build/android-sdk-linux/build-tools/19.0.2/aapt package -f -M /builds/slave/fx-team-and-000000000000000000/build/obj-firefox/build/mobile/robocop/AndroidManifest.xml -I /builds/slave/fx-team-and-000000000000000000/build/android-sdk-linux/platforms/android-17/android.jar -S /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/res -A /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/assets \
	-J . \
	-F robocop-debug.ap_
/builds/slave/fx-team-and-000000000000000000/build/android-sdk-linux/build-tools/19.0.2/aapt: /lib/libz.so.1: no version information available (required by /builds/slave/fx-team-and-000000000000000000/build/android-sdk-linux/build-tools/19.0.2/aapt)
/usr/bin/javac -target 1.5 -source 1.5 -classpath /builds/slave/fx-team-and-000000000000000000/build/android-sdk-linux/platforms/android-17/android.jar -bootclasspath /builds/slave/fx-team-and-000000000000000000/build/android-sdk-linux/platforms/android-17/android.jar:../../../mobile/android/base/gecko-mozglue.jar:../../../mobile/android/base/squareup-picasso.jar:../../../mobile/android/base/gecko-util.jar:../../../mobile/android/base/gecko-R.jar:../../../mobile/android/base/gecko-browser.jar:../../../mobile/android/base/sync-thirdparty.jar:../../../mobile/android/base/websockets.jar:../../../mobile/android/base/webrtc.jar:/builds/slave/fx-team-and-000000000000000000/build/android-sdk-linux/extras/android/support/v4/android-support-v4.jar -encoding UTF8 -g:source,lines -Werror  -d classes /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/Actions.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/Assert.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/Driver.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/Element.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/FennecInstrumentationTestRunner.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/FennecNativeActions.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/FennecMochitestAssert.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/FennecTalosAssert.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/FennecNativeDriver.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/FennecNativeElement.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/RoboCopException.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/RobocopShare1.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/RobocopShare2.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/RobocopUtils.java /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/PaintedSurface.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testCheck2.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/test_bug720538.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/ContentContextMenuTest.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testReaderMode.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testJavascriptBridge.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testAccounts.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testDebuggerServer.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testJarReader.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testSelectionHandler.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testAboutHomePageNavigation.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/DatabaseHelper.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testSessionOOMSave.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testAboutPage.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testBrowserSearchVisibility.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testInputUrlBar.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testFindInPage.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testPrivateBrowsing.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/BaseTest.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testImportFromAndroid.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testJNI.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testOrderedBroadcast.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testShareLink.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testOverscroll.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testThumbnails.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testFilterOpenTab.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testBookmark.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testBookmarkFolders.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/StringHelper.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testSearchSuggestions.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/AboutHomeTest.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/BaseRobocopTest.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testSessionHistory.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testPanCorrectness.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testBookmarksPanel.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testAboutHomeVisibility.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testBrowserProvider.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testBrowserDiscovery.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testAdobeFlash.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testMailToContextMenu.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/UITestContext.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testGetUserMedia.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testPasswordProvider.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testHomeBanner.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testPasswordEncrypt.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/SessionTest.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testANRReporter.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testVkbOverlap.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testMasterPassword.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testFormHistory.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testLoad.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testAwesomebar.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testBookmarkKeyword.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testPictureLinkContextMenu.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testMozPay.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testAndroidLog.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testNativeCrypto.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testNewTab.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testPan.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testFlingCorrectness.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testSimpleDiscovery.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testUITelemetry.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testHomeListsProvider.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testDeviceSearchEngine.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testCheck.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/PixelTest.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testTitleBar.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/MotionEventReplayer.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testPrefsObserver.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testSystemPages.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testClearPrivateData.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testVideoDiscovery.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testHomeProvider.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testAxisLocking.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testDoorHanger.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testAddonManager.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testPermissions.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testSettingsMenuItems.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testSharedPreferences.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testBookmarklets.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testBrowserProviderPerf.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testLinkContextMenu.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/JavascriptTest.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/UITest.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testAddSearchEngine.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/MotionEventHelper.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testPromptGridInput.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testSessionOOMRestore.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testHistory.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testEventDispatcher.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testDistribution.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testReadingListProvider.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/ContentProviderTest.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testInputConnection.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/components/ToolbarComponent.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/components/AboutHomeComponent.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/components/AppMenuComponent.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/components/GeckoViewComponent.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/components/BaseComponent.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/helpers/JavascriptBridge.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/helpers/JavascriptMessageParser.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/helpers/GeckoHelper.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/helpers/DeviceHelper.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/helpers/TextInputHelper.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/helpers/FrameworkHelper.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/helpers/WaitHelper.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/helpers/NavigationHelper.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/helpers/HelperInitializer.java /builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/helpers/AssertionHelper.java R.java \
	-classpath /builds/slave/fx-team-and-000000000000000000/build/build/mobile/robocop/robotium-solo-4.3.1.jar
/builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testBrowserProviderPerf.java:273: filter(android.content.ContentResolver,java.lang.CharSequence,int,java.util.EnumSet<org.mozilla.gecko.db.BrowserDB.FilterFlags>) in org.mozilla.gecko.db.LocalBrowserDB cannot be applied to (android.content.ContentResolver,java.lang.String,int)
        final Cursor before = db.filter(mResolver, KNOWN_PREFIX, limit);
                                ^
/builds/slave/fx-team-and-000000000000000000/build/mobile/android/base/tests/testBrowserProviderPerf.java:298: filter(android.content.ContentResolver,java.lang.CharSequence,int,java.util.EnumSet<org.mozilla.gecko.db.BrowserDB.FilterFlags>) in org.mozilla.gecko.db.LocalBrowserDB cannot be applied to (android.content.ContentResolver,java.lang.String,int)
        final Cursor c = db.filter(mResolver, KNOWN_PREFIX, limit);
                           ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors
make[5]: *** [classes.dex] Error 1
make[5]: Leaving directory `/builds/slave/fx-team-and-000000000000000000/build/obj-firefox/build/mobile/robocop'

remote:   https://hg.mozilla.org/integration/fx-team/rev/deca3a4f94f2
remote:   https://hg.mozilla.org/integration/fx-team/rev/6b6900bac99a
remote:   https://hg.mozilla.org/integration/fx-team/rev/f3f869b2927b
(Sorry didn't realise line length)
I assumed LocalBrowserDB was considered a private API and was only used through the BrowserDB. How naive :-)

Updated test with new flags argument and pushed again:
https://hg.mozilla.org/integration/fx-team/rev/f92bc2ea4fd7
https://hg.mozilla.org/integration/fx-team/rev/20da574bbbc9
https://hg.mozilla.org/integration/fx-team/rev/c9eb74c5f3fd
Verified as fixed in build:
Nightly 33.0a1 (2014-07-09)
Device:
Asus Transformer Pad TF300T (Android 4.2.1)
Comment on attachment 8451002 [details] [diff] [review]
Part 1: Add filter flag to exclude pinned sites in searches (r=rnewman)

Aurora+
Attachment #8451002 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment on attachment 8451003 [details] [diff] [review]
Part 2: Add SearchLoader APIs to use the new BrowserDB.FilterFlags (r=rnewman)

Aurora+
Attachment #8451003 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment on attachment 8451004 [details] [diff] [review]
Part 3: Exclude pinned sites from the pin dialog's search (r=rnewman)

Aurora+
Attachment #8451004 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Depends on: 1037429
Verified as fixed in:
Firefox for Android 32.0a2 (2014-07-13)
Device:
Galaxy Nexus (Android 4.2.1)
Samsung S3 (Android 4.3)
Status: RESOLVED → VERIFIED
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.