@@ -15,6 +15,7 @@ constexpr char kChannelName[] = "flutter/platform";
1515
1616constexpr char kGetClipboardDataMethod [] = " Clipboard.getData" ;
1717constexpr char kSetClipboardDataMethod [] = " Clipboard.setData" ;
18+ constexpr char kClipboardHasStringsMethod [] = " Clipboard.hasStrings" ;
1819constexpr char kPlaySoundMethod [] = " SystemSound.play" ;
1920constexpr char kHapticFeedbackVibrateMethod [] = " HapticFeedback.vibrate" ;
2021constexpr char kSystemNavigatorPopMethod [] = " SystemNavigator.pop" ;
@@ -32,6 +33,7 @@ constexpr char kSetSystemUIOverlayStyleMethod[] =
3233 " SystemChrome.setSystemUIOverlayStyle" ;
3334
3435constexpr char kTextKey [] = " text" ;
36+ constexpr char kValueKey [] = " value" ;
3537constexpr char kTextPlainFormat [] = " text/plain" ;
3638constexpr char kUnknownClipboardFormatError [] =
3739 " Unknown clipboard format error" ;
@@ -102,6 +104,13 @@ void PlatformChannel::HandleMethodCall(
102104 }
103105 text_clipboard = iter->value .GetString ();
104106 result->Success ();
107+ } else if (method == kClipboardHasStringsMethod ) {
108+ rapidjson::Document document;
109+ document.SetObject ();
110+ rapidjson::Document::AllocatorType& allocator = document.GetAllocator ();
111+ document.AddMember (rapidjson::Value (kValueKey , allocator),
112+ rapidjson::Value (!text_clipboard.empty ()), allocator);
113+ result->Success (document);
105114 } else if (method == kRestoreSystemUIOverlaysMethod ) {
106115 RestoreSystemUIOverlays ();
107116 result->Success ();
0 commit comments