Closed Bug 1885648 Opened 11 months ago Closed 8 months ago

[Menu Redesign] Implement Extensions menu states

Categories

(Fenix :: WebExtensions, task, P1)

All
Android
task

Tracking

(firefox129 fixed)

RESOLVED FIXED
129 Branch
Tracking Status
firefox129 --- fixed

People

(Reporter: royang, Assigned: gl)

References

Details

(Whiteboard: [fxdroid])

Attachments

(5 files, 1 obsolete file)

Depends on: 1885647
Whiteboard: [fxdroid]
Severity: -- → S2
Severity: S2 → S3
Severity: S3 → N/A
Blocks: menu-redesign-extension
No longer blocks: menu-redesign
No longer depends on: 1885647
Assignee: nobody → gl
Status: NEW → ASSIGNED
Keywords: leave-open
Pushed by gluong@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a5b5296afac8 Part 1: Add extension methods to get the display name and summary of an Addon r=android-reviewers,amejiamarmol
  • Fetches 4 extensions to be displayed as recommended extensions by pulling from the extensions API.

Figma spec https://www.figma.com/design/RFz9fYtotQCQuinwcZujZt/Menu-Redesign?node-id=14213-2413625&t=7ROZr25sZfohHa8g-4

  • Clicking the add button beside a recommended extension will install the extension in the extension submenu.

Figma: https://www.figma.com/design/RFz9fYtotQCQuinwcZujZt/Menu-Redesign?node-id=15846-369788&t=3vblyitXhM4RqM2e-0

Priority: -- → P1
Keywords: leave-open
  • Clicking the add button beside a recommended extension will install the extension in the extension submenu.

Figma: https://www.figma.com/design/RFz9fYtotQCQuinwcZujZt/Menu-Redesign?node-id=15846-369788&t=3vblyitXhM4RqM2e-0

Attachment #9410758 - Attachment is obsolete: true
Pushed by gluong@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c86a5557fe5c Part 2: Add recommended addons state in the MenuStore r=android-reviewers,amejiamarmol https://hg.mozilla.org/integration/autoland/rev/5381ebb304b8 Part 3: Display the recommended addons in the menu redesign r=android-reviewers,amejiamarmol https://hg.mozilla.org/integration/autoland/rev/3ecbec870920 Part 4: Implement navigation to extension details in the extension submenu r=android-reviewers,amejiamarmol https://hg.mozilla.org/integration/autoland/rev/55b70870a979 Part 5: Implement installing a recommended extension in the extension submenu r=android-reviewers,amejiamarmol

Backed out because of the conflicts caused while backing out 1895144.

[task 2024-07-02T06:37:49.475Z] SUITE: org.mozilla.fenix.home.privatebrowsing.DefaultPrivateBrowsingControllerTest
[task 2024-07-02T06:37:49.475Z]   TEST: WHEN private browsing learn more link is clicked THEN open support page in browser
[task 2024-07-02T06:37:49.575Z]   TEST-UNEXPECTED-FAIL | org.mozilla.fenix.home.privatebrowsing.DefaultPrivateBrowsingControllerTest.WHEN private browsing learn more link is clicked THEN open support page in browser | java.lang.AssertionError: Verification failed: call 1 of 1: HomeActivity(#790).openToBrowserAndLoad(eq(https://support.mozilla.org/en-US/kb/common-myths-about-private-browsing?as=u&utm_source=inproduct), eq(true), eq(FromHome), null(), null(), eq(false), eq(mozilla.components.concept.engine.EngineSession$LoadUrlFlags@0), eq(false), null(), null())). Only one matching call to HomeActivity(#790)/openToBrowserAndLoad(String, Boolean, BrowserDirection, String, SearchEngine, Boolean, LoadUrlFlags, Boolean, HistoryMetadataKey, Map) happened, but arguments are not matching:
[task 2024-07-02T06:37:49.575Z] [0]: argument: https://support.mozilla.org/ar/kb/common-myths-about-private-browsing?as=u&utm_source=inproduct, matcher: eq(https://support.mozilla.org/en-US/kb/common-myths-about-private-browsing?as=u&utm_source=inproduct), result: -
[task 2024-07-02T06:37:49.575Z] [1]: argument: true, matcher: eq(true), result: +
[task 2024-07-02T06:37:49.575Z] [2]: argument: FromHome, matcher: eq(FromHome), result: +
[task 2024-07-02T06:37:49.575Z] [3]: argument: null, matcher: null(), result: +
[task 2024-07-02T06:37:49.575Z] [4]: argument: null, matcher: null(), result: +
[task 2024-07-02T06:37:49.575Z] [5]: argument: false, matcher: eq(false), result: +
[task 2024-07-02T06:37:49.575Z] [6]: argument: mozilla.components.concept.engine.EngineSession$LoadUrlFlags@0, matcher: eq(mozilla.components.concept.engine.EngineSession$LoadUrlFlags@0), result: +
[task 2024-07-02T06:37:49.575Z] [7]: argument: false, matcher: eq(false), result: +
[task 2024-07-02T06:37:49.575Z] [8]: argument: null, matcher: null(), result: +
[task 2024-07-02T06:37:49.575Z] [9]: argument: null, matcher: null(), result: +
[task 2024-07-02T06:37:49.575Z] 
[task 2024-07-02T06:37:49.575Z] Stack trace:
[task 2024-07-02T06:37:49.575Z]                                                     io.mockk.impl.InternalPlatform.captureStackTrace                                                                  (InternalPlatform.kt:130)                    
[task 2024-07-02T06:37:49.575Z]                                                       io.mockk.impl.stub.MockKStub.handleInvocation                                                                   (MockKStub.kt:253)                           
[task 2024-07-02T06:37:49.575Z]                     io.mockk.impl.instantiation.JvmMockFactoryHelper$mockHandler$1.invocation                                                                         (JvmMockFactoryHelper.kt:24)                 
[task 2024-07-02T06:37:49.575Z]                                              io.mockk.proxy.jvm.advice.Interceptor.call                                                                               (Interceptor.kt:21)                          
[task 2024-07-02T06:37:49.575Z]                                                     org.mozilla.fenix.HomeActivity.openToBrowserAndLoad                                                               (HomeActivity.kt:1019)                       
[task 2024-07-02T06:37:49.575Z]                                                     org.mozilla.fenix.HomeActivity.openToBrowserAndLoad$default                                                       (HomeActivity.kt:996)                        
[task 2024-07-02T06:37:49.575Z] org.mozilla.fenix.home.privatebrowsing.controller.DefaultPrivateBrowsingController.handleLearnMoreClicked                                                             (PrivateBrowsingController.kt:47)            
[task 2024-07-02T06:37:49.575Z]        org.mozilla.fenix.home.privatebrowsing.DefaultPrivateBrowsingControllerTest.WHEN private browsing learn more link is clicked THEN open support page in browser (DefaultPrivateBrowsingControllerTest.kt:64) 
[task 2024-07-02T06:37:49.575Z]                                      jdk.internal.reflect.NativeMethodAccessorImpl.invoke0                                                                            (NativeMethodAccessorImpl.java:-2)N          
[task 2024-07-02T06:37:49.575Z]                                      jdk.internal.reflect.NativeMethodAccessorImpl.invoke                                                                             (NativeMethodAccessorImpl.java:77)           
[task 2024-07-02T06:37:49.575Z]                                  jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke                                                                             (DelegatingMethodAccessorImpl.java:43)       
[task 2024-07-02T06:37:49.575Z]                                                           java.lang.reflect.Method.invoke                                                                             (Method.java:568)                            
[task 2024-07-02T06:37:49.575Z]                                          org.junit.runners.model.FrameworkMethod$1.runReflectiveCall                                                                  (FrameworkMethod.java:59)                    
[task 2024-07-02T06:37:49.575Z]                                org.junit.internal.runners.model.ReflectiveCallable.run                                                                                (ReflectiveCallable.java:12)                 
[task 2024-07-02T06:37:49.575Z]                                            org.junit.runners.model.FrameworkMethod.invokeExplosively                                                                  (FrameworkMethod.java:56)                    
[task 2024-07-02T06:37:49.575Z]                                 org.junit.internal.runners.statements.InvokeMethod.evaluate                                                                           (InvokeMethod.java:17)                       
[task 2024-07-02T06:37:49.575Z]                                   org.junit.internal.runners.statements.RunBefores.evaluate                                                                           (RunBefores.java:26)                         
[task 2024-07-02T06:37:49.575Z]                                                   org.junit.runners.ParentRunner$3.evaluate                                                                           (ParentRunner.java:306)                      
[task 2024-07-02T06:37:49.575Z]                                         org.junit.runners.BlockJUnit4ClassRunner$1.evaluate                                                                           (BlockJUnit4ClassRunner.java:100)            
[task 2024-07-02T06:37:49.575Z]                                                     org.junit.runners.ParentRunner.runLeaf                                                                            (ParentRunner.java:366)                      
[task 2024-07-02T06:37:49.575Z]                                           org.junit.runners.BlockJUnit4ClassRunner.runChild                                                                           (BlockJUnit4ClassRunner.java:103)            
[task 2024-07-02T06:37:49.575Z]                                           org.junit.runners.BlockJUnit4ClassRunner.runChild                                                                           (BlockJUnit4ClassRunner.java:63)             
[task 2024-07-02T06:37:49.575Z]                                                   org.junit.runners.ParentRunner$4.run                                                                                (ParentRunner.java:331)                      
[task 2024-07-02T06:37:49.575Z]                                                   org.junit.runners.ParentRunner$1.schedule                                                                           (ParentRunner.java:79)                       
[task 2024-07-02T06:37:49.575Z]                                                     org.junit.runners.ParentRunner.runChildren                                                                        (ParentRunner.java:329)                      
[task 2024-07-02T06:37:49.575Z]                                                     org.junit.runners.ParentRunner.access$100                                                                         (ParentRunner.java:66)                       
[task 2024-07-02T06:37:49.575Z]                                                   org.junit.runners.ParentRunner$2.evaluate                                                                           (ParentRunner.java:293)                      
[task 2024-07-02T06:37:49.575Z]                                                   org.junit.runners.ParentRunner$3.evaluate                                                                           (ParentRunner.java:306)                      
[task 2024-07-02T06:37:49.575Z]                                                     org.junit.runners.ParentRunner.run                                                                                (ParentRunner.java:413)                      
[task 2024-07-02T06:37:49.575Z]                 org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass                                                                       (JUnitTestClassExecutor.java:112)            
[task 2024-07-02T06:37:49.575Z]                 org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute                                                                            (JUnitTestClassExecutor.java:58)             
[task 2024-07-02T06:37:49.575Z]                 org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute                                                                            (JUnitTestClassExecutor.java:40)             
[task 2024-07-02T06:37:49.575Z]        org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass                                                                   (AbstractJUnitTestClassProcessor.java:60)    
[task 2024-07-02T06:37:49.575Z]                      org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass                                                                   (SuiteTestClassProcessor.java:52)            
[task 2024-07-02T06:37:49.575Z]                                    jdk.internal.reflect.GeneratedMethodAccessor113.invoke                                                                             (-:-1)                                       
[task 2024-07-02T06:37:49.575Z]                                  jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke                                                                             (DelegatingMethodAccessorImpl.java:43)       
[task 2024-07-02T06:37:49.575Z]                                                           java.lang.reflect.Method.invoke                                                                             (Method.java:568)                            
[task 2024-07-02T06:37:49.575Z]                                    org.gradle.internal.dispatch.ReflectionDispatch.dispatch                                                                           (ReflectionDispatch.java:36)                 
[task 2024-07-02T06:37:49.575Z]                                    org.gradle.internal.dispatch.ReflectionDispatch.dispatch                                                                           (ReflectionDispatch.java:24)                 
[task 2024-07-02T06:37:49.575Z]                            org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch                                                                           (ContextClassLoaderDispatch.java:33)         
[task 2024-07-02T06:37:49.575Z]     org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke                                                                             (ProxyDispatchAdapter.java:94)               
[task 2024-07-02T06:37:49.575Z]                                                                 jdk.proxy2.$Proxy5.processTestClass                                                                   (-:-1)                                       
[task 2024-07-02T06:37:49.575Z]                          org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run                                                                                (TestWorker.java:176)                        
[task 2024-07-02T06:37:49.575Z]                            org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName                                                       (TestWorker.java:129)                        
[task 2024-07-02T06:37:49.575Z]                            org.gradle.api.internal.tasks.testing.worker.TestWorker.execute                                                                            (TestWorker.java:100)
[task 2024-07-02T06:37:49.575Z]                            org.gradle.api.internal.tasks.testing.worker.TestWorker.execute                                                                            (TestWorker.java:60)                         
[task 2024-07-02T06:37:49.575Z]                     org.gradle.process.internal.worker.child.ActionExecutionWorker.execute                                                                            (ActionExecutionWorker.java:56)              
[task 2024-07-02T06:37:49.575Z]        org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call                                                                               (SystemApplicationClassLoaderWorker.java:113)
[task 2024-07-02T06:37:49.575Z]        org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call                                                                               (SystemApplicationClassLoaderWorker.java:65) 
[task 2024-07-02T06:37:49.575Z]                         worker.org.gradle.process.internal.worker.GradleWorkerMain.run                                                                                (GradleWorkerMain.java:69)                   
[task 2024-07-02T06:37:49.575Z]                         worker.org.gradle.process.internal.worker.GradleWorkerMain.main                                                                               (GradleWorkerMain.java:74)                   
[task 2024-07-02T06:37:49.575Z] 
[task 2024-07-02T06:37:49.575Z]   TEST: WHEN private mode is deselected on home from behind search THEN handle mode change
[task 2024-07-02T06:37:49.775Z]   SUCCESS
Flags: needinfo?(gl)
Flags: needinfo?(gl)
Pushed by gluong@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b743361a9611 Part 2: Add recommended addons state in the MenuStore r=android-reviewers,amejiamarmol https://hg.mozilla.org/integration/autoland/rev/f13cc40b1712 Part 3: Display the recommended addons in the menu redesign r=android-reviewers,amejiamarmol https://hg.mozilla.org/integration/autoland/rev/28ffa23da0d8 Part 4: Implement navigation to extension details in the extension submenu r=android-reviewers,amejiamarmol https://hg.mozilla.org/integration/autoland/rev/be4e468e218e Part 5: Implement installing a recommended extension in the extension submenu r=android-reviewers,amejiamarmol
Duplicate of this bug: 1895142
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: