43 Commits

Author SHA1 Message Date
Jason Simmons
4d1f1f6d8a Do not call restartInput twice when setting a new text input client. (#3808)
If restartInput is called twice in quick succession, then the IME may output
warnings related to usage of the obsolete connection resulting from the first
call.

Fixes https://github.com/flutter/flutter/issues/10730
2017-06-21 10:47:02 -07:00
Jason Simmons
e5b79ba63b Call Selection.removeSelection if the framework has cleared the selection (#3782)
Fixes https://github.com/flutter/flutter/issues/10748
2017-06-16 14:01:45 -07:00
Jason Simmons
ab2bc15fcc Align doubles to 8 bytes in the StandardMessageCodec (#3779)
See https://github.com/flutter/flutter/issues/10701
2017-06-15 21:15:25 -07:00
Jason Simmons
834fb9638e Simplify state management in the Android text editing plugin (#3769)
In particular, this avoids some unnecessary calls to InputMethodManager.restartInput
that caused noticeable lag when moving the cursor.

Fixes https://github.com/flutter/flutter/issues/9928
2017-06-14 10:24:41 -07:00
Todd Volkert
b91d2f1bb4 Fix some minor issues with Javadocs (#3761) 2017-06-09 07:35:50 -07:00
Todd Volkert
919f0ad063 Create FlutterFragmentActivity (#3757)
This creates a `FlutterFragmentActivity` class that extends
the Android v4 Support librray's `FragmentActivity` class.
However, we intentionally do not bundle the support library
with our engine, so apps that wish to use this class are
responsible for including the support library .jar file in
their runtime deps when creating the final app.

flutter/flutter#10072
2017-06-08 16:40:37 -07:00
Chris Bracken
bd09286e4a Improve auto-correct disabling on Android when obscureText is true (#3731)
Some keyboards (e.g., on some Samsung devices, SwiftKey) ignore
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS and require
InputType.TYPE_TEXT_VARIATION_PASSWORD.
2017-06-02 15:50:23 -07:00
Chris Bracken
5cd58ba4fa Add support for TextInputType.url (#3730)
Adds support for requesting a platform keyboard optimised for entering
URLs.
2017-06-02 15:13:37 -07:00
Chris Bracken
f990f8b0d3 Add support for TextInputType.emailAddress (#3729)
Adds support for requesting a platform keyboard optimised for entering
email addresses.
2017-06-02 15:04:35 -07:00
Chris Bracken
813623a3f8 Set Android keyboard actionLabel only if non-null (#3677) 2017-05-10 12:20:03 -07:00
Sarah Zakarias
d51126b56b Remove urlLauncher and pathProvider from FlutterPlatformPlugin (#3673) 2017-05-10 13:42:13 +02:00
Chris Bracken
ce14f6907b Disable auto-correct for text editing when obscureText is set (#3661) 2017-05-09 14:55:58 -07:00
Mikkel Nygaard Ravn
b273d1ad04 Android plugin registry (#3641) 2017-05-08 21:44:49 +02:00
Mikkel Nygaard Ravn
da8ebf40bd Document channel message value conversions (#3633) 2017-04-28 23:31:11 +02:00
Mikkel Nygaard Ravn
3211d2fca2 Fix corner case errors in platform channels (#3631) 2017-04-27 07:52:56 +02:00
Mikkel Nygaard Ravn
264b7a6dd5 Add hasArgument convenience to MethodCall (#3612) 2017-04-22 14:04:03 +02:00
Mikkel Nygaard Ravn
4eed7d2732 Clarify semantics of channel-related errors (#3607)
Mainly improvements to javadoc and error logging. A bit of refactoring.
2017-04-19 21:53:46 +02:00
Mikkel Nygaard Ravn
2a4434a058 Make naming consistent across channel APIs (#3574) 2017-04-18 14:30:31 +02:00
Mikkel Nygaard Ravn
6aa49b5657 Add convenience accessors to get arguments from MethodCall w/o unchecked warnings (#3559) 2017-04-09 17:36:05 +02:00
Mikkel Nygaard Ravn
68194b8df8 Distinguish between null platform message and one with zero-byte payload (#3577) 2017-04-09 00:07:28 +02:00
Jason Simmons
b4088b6479 Backport JSONObject.wrap in order to support Jellybean (#3566) 2017-04-06 10:15:06 -07:00
Mikkel Nygaard Ravn
46255fb845 Platform channel API cleanup (retake) (#3539) 2017-03-29 13:43:54 +02:00
Mikkel Nygaard Ravn
8a8fc02f53 Revert "Flutter channel API cleanup (#3532)" (#3538)
This reverts commit afb206d373da8edc30cdd0de43bfa495ece66ab6.
2017-03-29 12:08:39 +02:00
Mikkel Nygaard Ravn
afb206d373 Flutter channel API cleanup (#3532) 2017-03-29 11:38:14 +02:00
Jason Simmons
9ebebe1040 Fix Javadoc on FlutterMethodChannel (#3522) 2017-03-24 18:23:51 -07:00
Chinmay Garde
1c07ea530f Remove uses of //base from all //flutter projects and replace them with //fml variants. (#3492) 2017-03-22 15:42:51 -07:00
Mikkel Nygaard Ravn
c4edec7417 Remove old flutter messaging API (#3482)
Breaking change: removed facilities for JSON and string messaging from FlutterView/FlutterViewController, leaving only binary messaging there. All other use of flutter communication now goes through FlutterMessageChannel and FlutterMethodChannels. Retained use of String and JSON codecs for now.

Companion flutter PR: flutter/flutter#8837
2017-03-17 09:04:59 +01:00
Mikkel Nygaard Ravn
b97103b441 Flutter channels for iOS (#3470)
Flutter channels now also supported on iOS. Use FlutterMessageChannel or FlutterMethodChannel with binary/string/json/standard codecs.
2017-03-13 23:57:46 +01:00
Mikkel Nygaard Ravn
f9c1f5fa53 Remove usage of JDK7 features not available until Android SDK 19+ (#3462) 2017-03-06 13:22:29 +01:00
Mikkel Nygaard Ravn
74de13c0bd FlutterXxxChannel concepts added to support Flutter/Android interop (#3446)
New concepts: FlutterMessageChannel (basic message send/receive superseding existing FlutterView methods), FlutterMethodChannel (method invocation and event streams), pluggable codecs for messages and method calls: unencoded binary, string, json, and 'standard' flutter binary encoding.
2017-03-01 13:54:32 +01:00
Jason Simmons
e573c6b5a6 Do not pass negative selection indexes to InputConnection.setSelection (#3344)
This was causing exceptions on Jellybean
2017-01-17 17:43:24 -08:00
Jason Simmons
98c18190db Initialize the InputConnection with the text plugin's most recent state (either incoming or outgoing) (#3283)
Fixes https://github.com/flutter/flutter/issues/7033
2016-11-30 15:07:37 -08:00
Jason Simmons
5103e40b95 Set the IME action label to null if the label is null in the configuration JSON object (#3199)
(JSONObject.getString() will return the string "null" for a JSON null value)

Fixes https://github.com/flutter/flutter/issues/6643
2016-11-03 12:08:15 -07:00
Adam Barth
1bc79ded38 Number keyboard does not work on Android (#3185)
We had a typo in our decoding logic.

Fixes https://github.com/flutter/flutter/issues/6564
2016-10-28 12:26:56 -07:00
Adam Barth
525c947ece Fix typo 2016-10-19 13:53:24 -07:00
Adam Barth
8449f7788f Implement TextInputPlugin on Android (#3144)
This plugin will eventually replace keyboard.mojom.
2016-10-19 12:23:52 -07:00
Adam Barth
ca6d4fdec8 Add clipboard functionality to platform plugin (#3139)
This will eventually replace the clipboard mojom.
2016-10-17 15:46:47 -07:00
Adam Barth
d999f6c123 Remove Activity service (#3136)
This functionality has been replaced by the PlatformPlugin. Also move the
contents of //flutter/services/common to more sensible homes.
2016-10-14 16:12:01 -07:00
Adam Barth
da96a8bddd Add SystemNavigator.pop (#3130)
This method will let us remove the activity service.
2016-10-13 14:39:03 -07:00
Adam Barth
eb25d718b0 Don't start in fullscreen mode on Android (#3129)
Fixes https://github.com/flutter/flutter/issues/6303
2016-10-13 11:10:02 -07:00
Adam Barth
e6631a69ae Complete PlatformPlugin.java (#3123)
After this patch, the PlatformPlugin has all the required functionality on Android.
2016-10-12 14:29:57 -07:00
Adam Barth
ebb1a9f999 Add SystemChrome support to PlatformPlugin.java (#3122) 2016-10-12 14:09:18 -07:00
Adam Barth
e93d2c2755 Add PlatformPlugin.java (#3121)
The PlatformPlugin is the first of the built-in plugins that will replace the
mojom platform services.
2016-10-12 13:27:12 -07:00