Skip to content

Instantly share code, notes, and snippets.

@dnfield
Created April 3, 2023 21:36
Show Gist options
  • Select an option

  • Save dnfield/d8b0b1965a1b5c368e5e9bef0ad37017 to your computer and use it in GitHub Desktop.

Select an option

Save dnfield/d8b0b1965a1b5c368e5e9bef0ad37017 to your computer and use it in GitHub Desktop.

Revisions

  1. dnfield created this gist Apr 3, 2023.
    24 changes: 24 additions & 0 deletions check_folding.dart
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,24 @@
    import 'dart:ui' as ui;

    // import 'package:flutter/services.dart';
    import 'package:flutter/material.dart';

    void main() {
    WidgetsFlutterBinding.ensureInitialized().addObserver(FoldObserver());
    runApp(const MaterialApp(home: Text('Hello!')));
    }

    class FoldObserver extends WidgetsBindingObserver {
    @override
    void didChangeMetrics() {
    super.didChangeMetrics();
    print(ui.window.displayFeatures);
    if (ui.window.displayFeatures.any((ui.DisplayFeature feature) =>
    feature.state == ui.DisplayFeatureState.postureHalfOpened)) {
    print('Unfolding!');
    // SystemChrome.setPreferredOrientations([]);
    } else {
    print('Not unfolding');
    }
    }
    }