Repositories I maintain, and merged contributions to other people’s projects.
Sanaullah49/quiz_learning_app
Flutter Developer Assessment submission for a responsive Quiz Learning App that runs on **Web** and **Mobile**.
Sanaullah49/flutter_ar_easy
**A simplified AR integration wrapper for Flutter that makes AR usable in 5-10 lines of code.**
Sanaullah49/sanaullah
Personal Portfolio Website
Sanaullah49/expense_tracker
A comprehensive, feature-rich expense tracking application built with Flutter. Manage your finances with multiple accounts, budgets, detailed analytics, and complete data security.
flutter/flutter · #191938
This replaces #185975, which the stale bot auto-closed on Jul 1. The requested tests had been pushed on May 21 (commit "Add semantics tester regression tests"), but the waiting for response label was never cleared, so the timer kept running. #185975 could not be reopened, hence this PR. @chunhtai you'd reviewed #185975 and said it lgtm pending a test. That test is here — three regression tests, o…
androidx/androidx · #905
Proposed Changes Add ftp to PatternsCompat.PROTOCOL, matching android.util.Patterns, which added it in Android 12. This affects PatternsCompat.WEB_URL and PatternsCompat.AUTOLINK_WEB_URL, both of which currently fail to match ftp:// URLs that the platform matches on API 31+. PatternsCompatTest used ftp:// as its example of an invalid protocol in three places. Those are retargeted to gopher://, wh…
flutter/flutter · #184807
Part of #182636 Summary Remove the semantics_tester.dart cross-import from material_button_test.dart. What changed Replaced the deprecated SemanticsTester/TestSemantics assertions in the MaterialButton semantics test with tester.getSemantics(...) and matchesSemantics(...) Kept the semantic size verification for the enabled and disabled button states Removed the ../widgets/semantics_tester.dart im…
flutter/flutter · #184805
Part of #182636 Summary Remove the semantics_tester.dart cross-import from cupertino/slider_test.dart. What changed Replaced the deprecated SemanticsTester/TestSemantics assertion in the slider semantics test with tester.getSemantics(...) and matchesSemantics(...) Removed the ../widgets/semantics_tester.dart import Testing ../../bin/flutter analyze test/cupertino/slider_test.dart ../../bin/flutte…
flutter/flutter · #185976
Part of #103446. Summary On macOS / Linux / Windows / the web, native text fields desaturate their selection highlight to a neutral grey when their window loses focus. Flutter currently keeps the selection painted in the focused color regardless of FlutterView focus state. This PR adds the framework primitive needed to fix that: a new EditableText.unfocusedSelectionColor property the WidgetsBindi…
flutter/flutter · #185975
Fixes #185900 Summary Three small bugs in packages/flutter/test/widgets/semantics_tester.dart where the code accidentally compared a value to itself or shifted part of a logical expression into an assert message. What changed 1. controlsNodes self-comparison (line 511). The guard controlsNodes != controlsNodes is always false, so the setEquals(...) mismatch path was unreachable. Replaced with con…
flutter/flutter · #185974
Part of #182636 Summary Remove the semantics_tester.dart cross-import from animated_icons_test.dart. What changed Replaced SemanticsTester(tester) with tester.ensureSemantics() in the Semantic label test (the only site using this import) Replaced expect(semantics, includesNodeWith(label: 'a label')) with expect(find.bySemanticsLabel('a label'), findsOneWidget) Removed the ../widgets/semantics_tes…
flutter/flutter · #185973
Part of #182636 Summary Remove the semantics_tester.dart cross-import from autocomplete_test.dart. What changed Replaced SemanticsTester(tester) with tester.ensureSemantics() in the Autocomplete suggestions are hit-tested before ListTiles test (the only site using this import); the test only enables/disposes semantics and does not assert on the semantics tree Removed the ../widgets/semantics_test…
flutter/flutter · #185972
Part of #182636 Summary Remove the semantics_tester.dart cross-import from range_slider_test.dart. What changed Replaced SemanticsTester(tester) with tester.ensureSemantics() in the Semantic nodes do not throw an error after clearSemantics regression test (the only site using this import); the test only enables/disposes semantics and does not assert on the semantics tree Removed the ../widgets/se…
flutter/flutter · #185965
Part of #182636 Summary Remove the semantics_tester.dart cross-import from filled_button_test.dart. What changed Replaced the deprecated SemanticsTester/TestSemantics assertion in the Does FilledButton contribute semantics test with tester.getSemantics(...) and matchesSemantics(...) Removed the ../widgets/semantics_tester.dart import Testing ../../bin/flutter analyze test/material/filled_button_t…
flutter/flutter · #185964
Part of #182636 Summary Remove the semantics_tester.dart cross-import from outlined_button_test.dart. What changed Replaced the deprecated SemanticsTester/TestSemantics assertion in the OutlinedButton contributes semantics test with tester.getSemantics(...) and matchesSemantics(...) Removed the ../widgets/semantics_tester.dart import Testing ../../bin/flutter analyze test/material/outlined_button…
flutter/flutter · #185963
Part of #182636 Summary Remove the semantics_tester.dart cross-import from text_button_test.dart. What changed Replaced the deprecated SemanticsTester/TestSemantics assertion in the Does TextButton contribute semantics test with tester.getSemantics(...) and matchesSemantics(...) Removed the ../widgets/semantics_tester.dart import Testing ../../bin/flutter analyze test/material/text_button_test.da…
flutter/flutter · #184806
Part of #182636 Summary Remove the semantics_tester.dart cross-import from raw_material_button_test.dart. What changed Replaced the deprecated SemanticsTester/TestSemantics assertion in the padded tap target semantics test with tester.getSemantics(...) and matchesSemantics(...) Removed the ../widgets/semantics_tester.dart import Testing ../../bin/flutter analyze test/material/raw_material_button_…
flutter/flutter · #184809
Part of #182636 Summary Remove the semantics_tester.dart cross-import from user_accounts_drawer_header_test.dart. What changed Replaced the deprecated SemanticsTester/TestSemantics assertions with tester.semantics.find(...), find.semantics.ancestor(...), and matchesSemantics(...) Kept coverage for the merged header semantics, scoped route semantics, alternative account semantics, and the missing-…
flutter/flutter · #185736
Remove cross-directory test imports of semantics_tester.dart from material tests. Duplicates packages/flutter/test/widgets/semantics_tester.dart verbatim into packages/flutter/test/material/, and rewires the four importing tests (card_test.dart, elevated_button_test.dart, material_button_test.dart, data_table_test.dart) to use the local copy. This follows the duplication pattern used in the merge…
flutter/flutter · #184808
Part of #182636 Summary Remove the semantics_tester.dart cross-import from card_test.dart. What changed Replaced the deprecated SemanticsTester/TestSemantics assertions in the Card semantics tests with direct semantics lookups and matchesSemantics(...) Kept the existing coverage for separate child semantics and merged semantic container behavior Removed the ../widgets/semantics_tester.dart import…
flutter/flutter · #184802
Part of #182636 Summary Remove the feedback_tester.dart cross-import from calendar_date_picker_test.dart. What changed Inlined a private feedback tester helper into calendar_date_picker_test.dart Removed the ../widgets/feedback_tester.dart import Testing ../../bin/flutter analyze test/material/calendar_date_picker_test.dart ../../bin/flutter test test/material/calendar_date_picker_test.dart
flutter/flutter · #184651
Part of #182636 Summary Remove the feedback_tester.dart cross-import from checkbox_list_tile_test.dart. What changed Inlined the small feedback tester helper into checkbox_list_tile_test.dart Removed the ../widgets/feedback_tester.dart import Testing ../../bin/flutter analyze test/material/checkbox_list_tile_test.dart ../../bin/flutter test test/material/checkbox_list_tile_test.dart
flutter/flutter · #184193
Part of #182636 Summary Remove the cross-import of sliver_test_utils.dart from sliver_app_bar_test.dart. What changed Inlined the small verifySliverGeometry helper into sliver_app_bar_test.dart Removed the ../widgets/sliver_test_utils.dart import Testing ../../bin/flutter analyze test/material/sliver_app_bar_test.dart ../../bin/flutter test test/material/sliver_app_bar_test.dart
flutter/flutter · #184192
Fixes #179448 Summary Disable web hot reload when flutter run is invoked with --no-hot. What changed Make --no-hot disable web hot reload in the computed BuildInfo. Add a run-command regression test covering the flag propagation. Add a resident web runner regression test covering the web-server restart behavior. Testing flutter test test/commands.shard/hermetic/run_test.dart --plain-name "--no-ho…
flutter/flutter · #184189
Fixes #178582 Summary Preserve multiple Set-Cookie headers when proxying web responses. What changed Split merged Set-Cookie header values back into separate headers before returning the proxied response. Added an end-to-end regression test that verifies a client receives both cookies through the proxy. Testing dart analyze packages/flutter_tools/lib/src/isolated/proxy_middleware.dart packages/fl…