Skip to content

feat hide phone call floating button via developer settings toggle#6358

Open
krushnarout wants to merge 11 commits intomainfrom
feat/phone-call-button-toggle
Open

feat hide phone call floating button via developer settings toggle#6358
krushnarout wants to merge 11 commits intomainfrom
feat/phone-call-button-toggle

Conversation

@krushnarout
Copy link
Copy Markdown
Member

Summary

  • Adds a Show Phone Call Button toggle in Developer Settings → Experimental section (alongside Goal Tracker, Daily Score, Tasks)
  • When disabled, the floating phone call button on the home screen is hidden immediately (reactive via Consumer<DeveloperModeProvider>)
  • Useful for users with native call recording (e.g. Samsung) or without an Unlimited plan who don't need Omi's call recording UI

Demo

ScreenRecording_04-06-2026.18-53-42_1.MP4

Test plan

  • Open Developer Settings → Experimental section, verify "Show Phone Call Button" toggle is present
  • Toggle off → phone call button disappears from home screen immediately
  • Toggle on → phone call button reappears immediately
  • Preference persists across app restarts

🤖 Generated with Claude Code

krushnarout and others added 7 commits April 6, 2026 18:55
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ntal section

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…4 locales

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 6, 2026

Greptile Summary

This PR adds a Show Phone Call Button toggle in Developer Settings → Experimental, allowing users to hide the floating phone call button on the home screen. The implementation uses Consumer<DeveloperModeProvider> for immediate reactivity and SharedPreferences for persistence across restarts, defaulting to true so existing users see no change. All 33 non-English locales are translated and the pattern is consistent with existing experimental toggles (Goal Tracker, Daily Score, Tasks).

Confidence Score: 5/5

Safe to merge — feature is additive, default of true preserves existing behavior for all users, and all 33 locales are translated.

No P0 or P1 findings. The implementation follows established patterns in the codebase (identical structure to showGoalTrackerEnabled, showDailyScoreEnabled, showTasksEnabled toggles). The Consumer/Positioned nesting inside Stack is valid Flutter — Consumer is a StatelessWidget with no render object, so Positioned correctly applies StackParentData to the GestureDetector's render object which is a direct RenderStack child.

No files require special attention.

Important Files Changed

Filename Overview
app/lib/providers/developer_mode_provider.dart Adds showPhoneCallButton state field and onShowPhoneCallButtonChanged handler, consistent with existing toggle patterns in the provider
app/lib/backend/preferences.dart Adds showPhoneCallButton getter/setter backed by SharedPreferences with correct default of true — no regression for existing users
app/lib/pages/home/page.dart Wraps the phone call floating button in Consumer for reactive hide/show; DeveloperModeProvider is already in the widget tree via main.dart
app/lib/pages/settings/developer.dart Adds Show Phone Call Button toggle in Experimental section using _buildExperimentalItem with l10n strings and FontAwesomeIcons.phone icon
app/lib/providers/phone_call_provider.dart Formatting-only change to a multi-line ternary expression — no logic changes

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Developer Settings
Experimental Section] -->|Toggle| B[DeveloperModeProvider
onShowPhoneCallButtonChanged]
    B --> C[SharedPreferences
saveBool showPhoneCallButton]
    B --> D[notifyListeners]
    D --> E[Consumer<DeveloperModeProvider>
in home/page.dart]
    E -->|showPhoneCallButton == true| F[Positioned
Phone Call Button visible]
    E -->|showPhoneCallButton == false| G[SizedBox.shrink
Phone Call Button hidden]
    H[App Startup] --> I[DeveloperModeProvider.init
loadFromPreferences]
    I --> E
Loading

Reviews (1): Last reviewed commit: "chore(app) regenerate l10n dart files" | Re-trigger Greptile

@krushnarout krushnarout requested a review from mdmohsin7 April 6, 2026 13:31
@mdmohsin7
Copy link
Copy Markdown
Member

but why though? It isn't an experimental feature

@krushnarout
Copy link
Copy Markdown
Member Author

but why though?

image

Some users don’t like that button being there.

It isn't an experimental feature

Maybe we should create a separate section for goals, daily score, tasks, and the phone button toggle

@mdmohsin7
Copy link
Copy Markdown
Member

I see, let's create a separate section itself for these features instead of keeping them under experimental features, also remove the follow up experimental feature (it prob doesn't work or it doesn't exist). Also while at it, in settings we have a phone calls option which when clicked opens a new page where users can manage their phone numbers, move this page to the phone calls page (where you already have the contacts and keypad tab), on that page we can have settings icon or something on the top right which when clicked will open the page to manage the phone numbers

krushnarout and others added 3 commits April 9, 2026 22:15
…ettings, remove follow-up questions toggle

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…mbers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@krushnarout
Copy link
Copy Markdown
Member Author

separate section

IMG_652F5B3CC469-1

phone call setting

ScreenRecording_04-09-2026.22-13-22_1.MP4

…n-toggle

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Option to disable/hide phone call floating button

2 participants