Repository: MetaMask/metamask-mobile (2025-07-15T08:02:30Z)

Issue:
[Bug]: "No thanks" and "I agree" buttons sometimes are disabled
### Describe the bug

"No thanks" and "I agree" buttons sometimes are disabled
It does not happen frequently on every devices and every times
But it blocks the flow

### Expected behavior

Should be enabled every time

### Screenshots/Recordings

![Image](https://github.com/user-attachments/assets/827019d3-a71e-4d3a-8f6d-de8fc1464546)

### Steps to reproduce

1. Create new wallet / Import
2. Finish flow
3. Go to the metametric screen

### Error messages or log output

```shell

```

### Detection stage

On main branch

### Version

Main build

### Build type

Beta

### Device

Honor

### Operating system

Android

### Additional context

_No response_

### Severity

_No response_


Discussion:
Hi @smgv 
Here is the full steps to reproduce it:

- Open the app
- Close the app
- Open again
- Lock the wallet
- Reset the wallet
- Click Import
- Paste SRP
- Create password
- And see the issue

https://github.com/user-attachments/assets/264cc5a4-86c8-4d0e-a459-6aa7bc4e6f40





Patch:
diff --git a/app/components/UI/OptinMetrics/index.js b/app/components/UI/OptinMetrics/index.js
index 5b837679aac8..dcfba5b2557b 100644
--- a/app/components/UI/OptinMetrics/index.js
+++ b/app/components/UI/OptinMetrics/index.js
@@ -148,10 +148,6 @@ class OptinMetrics extends PureComponent {
   };
 
   state = {
-    /**
-     * Used to control the action buttons state.
-     */
-    isActionEnabled: false,
     /**
      * Tracks the scroll view's content height.
      */
@@ -499,7 +495,6 @@ class OptinMetrics extends PureComponent {
   };
 
   renderActionButtons = () => {
-    const { isActionEnabled } = this.state;
     const styles = this.getStyles();
 
     return (
@@ -513,7 +508,6 @@ class OptinMetrics extends PureComponent {
           style={styles.button}
           label={strings('privacy_policy.cta_no_thanks')}
           size={ButtonSize.Lg}
-          isDisabled={!isActionEnabled}
         />
         <View style={styles.buttonDivider} />
         <Button
@@ -523,7 +517,6 @@ class OptinMetrics extends PureComponent {
           style={styles.button}
           label={strings('privacy_policy.cta_i_agree')}
           size={ButtonSize.Lg}
-          isDisabled={!isActionEnabled}
         />
       </View>
     );
@@ -534,7 +527,6 @@ class OptinMetrics extends PureComponent {
    */
   onScrollEndReached = () => {
     this.setState({ isEndReached: true });
-    this.setState({ isActionEnabled: true });
   };
 
   /**


Test patch:
diff --git a/app/components/UI/OptinMetrics/__snapshots__/index.test.tsx.snap b/app/components/UI/OptinMetrics/__snapshots__/index.test.tsx.snap
index fb3ad611abb9..4691c95242de 100644
--- a/app/components/UI/OptinMetrics/__snapshots__/index.test.tsx.snap
+++ b/app/components/UI/OptinMetrics/__snapshots__/index.test.tsx.snap
@@ -688,7 +688,6 @@ exports[`OptinMetrics render matches snapshot 1`] = `
                           accessibilityRole="button"
                           accessible={true}
                           activeOpacity={1}
-                          disabled={true}
                           onPress={[Function]}
                           onPressIn={[Function]}
                           onPressOut={[Function]}
@@ -704,7 +703,6 @@ exports[`OptinMetrics render matches snapshot 1`] = `
                               "flexDirection": "row",
                               "height": 48,
                               "justifyContent": "center",
-                              "opacity": 0.5,
                               "overflow": "hidden",
                               "paddingHorizontal": 16,
                             }
@@ -737,7 +735,6 @@ exports[`OptinMetrics render matches snapshot 1`] = `
                           accessibilityRole="button"
                           accessible={true}
                           activeOpacity={1}
-                          disabled={true}
                           onPress={[Function]}
                           onPressIn={[Function]}
                           onPressOut={[Function]}
@@ -751,7 +748,6 @@ exports[`OptinMetrics render matches snapshot 1`] = `
                               "flexDirection": "row",
                               "height": 48,
                               "justifyContent": "center",
-                              "opacity": 0.5,
                               "overflow": "hidden",
                               "paddingHorizontal": 16,
                             }