Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
io.flutter.plugin.text.ProcessTextPlugin Class Reference
Inheritance diagram for io.flutter.plugin.text.ProcessTextPlugin:

Public Member Functions

 ProcessTextPlugin (@NonNull ProcessTextChannel processTextChannel)
 
Map< String, String > queryTextActions ()
 
void processTextAction ( @NonNull String id, @NonNull String text, @NonNull boolean readOnly, @NonNull MethodChannel.Result result)
 
boolean onActivityResult (int requestCode, int resultCode, @Nullable Intent intent)
 
void destroy ()
 
void onAttachedToEngine (@NonNull FlutterPluginBinding binding)
 
void onDetachedFromEngine (@NonNull FlutterPluginBinding binding)
 
void onAttachedToActivity (@NonNull ActivityPluginBinding binding)
 
void onDetachedFromActivityForConfigChanges ()
 
void onReattachedToActivityForConfigChanges (@NonNull ActivityPluginBinding binding)
 
void onDetachedFromActivity ()
 

Detailed Description

Definition at line 28 of file ProcessTextPlugin.java.

Constructor & Destructor Documentation

◆ ProcessTextPlugin()

io.flutter.plugin.text.ProcessTextPlugin.ProcessTextPlugin ( @NonNull ProcessTextChannel  processTextChannel)
inline

Definition at line 44 of file ProcessTextPlugin.java.

44 {
45 this.processTextChannel = processTextChannel;
46 this.packageManager = processTextChannel.packageManager;
47
48 processTextChannel.setMethodHandler(this);
49 }

Member Function Documentation

◆ destroy()

void io.flutter.plugin.text.ProcessTextPlugin.destroy ( )
inline

Unregisters this ProcessTextPlugin as the
ProcessTextChannel.ProcessTextMethodHandler
, for the io.flutter.embedding.engine.systemchannels.ProcessTextChannel.

Do not invoke any methods on a ProcessTextPlugin after invoking this method.

Definition at line 162 of file ProcessTextPlugin.java.

162 {
163 processTextChannel.setMethodHandler(null);
164 }

◆ onActivityResult()

boolean io.flutter.plugin.text.ProcessTextPlugin.onActivityResult ( int  requestCode,
int  resultCode,
@Nullable Intent  intent 
)
inline

Executed when a text processing activity terminates.

When an activity returns a value, the request is completed successfully and returns the processed text.

When an activity does not return a value. the request is completed successfully and returns null.

Definition at line 141 of file ProcessTextPlugin.java.

141 {
142 // Return early if the result is not related to a request sent by this plugin.
143 if (!requestsByCode.containsKey(requestCode)) {
144 return false;
145 }
146
147 String result = null;
148 if (resultCode == Activity.RESULT_OK) {
149 result = intent.getStringExtra(Intent.EXTRA_PROCESS_TEXT);
150 }
151 requestsByCode.remove(requestCode).success(result);
152 return true;
153 }
GAsyncResult * result

◆ onAttachedToActivity()

void io.flutter.plugin.text.ProcessTextPlugin.onAttachedToActivity ( @NonNull ActivityPluginBinding  binding)
inline

Definition at line 180 of file ProcessTextPlugin.java.

180 {
181 this.activityBinding = binding;
182 this.activityBinding.addActivityResultListener(this);
183 };

◆ onAttachedToEngine()

void io.flutter.plugin.text.ProcessTextPlugin.onAttachedToEngine ( @NonNull FlutterPluginBinding  binding)
inline

Definition at line 168 of file ProcessTextPlugin.java.

168 {
169 // Nothing to do because this plugin is instantiated by the engine.
170 }

◆ onDetachedFromActivity()

void io.flutter.plugin.text.ProcessTextPlugin.onDetachedFromActivity ( )
inline

Definition at line 195 of file ProcessTextPlugin.java.

195 {
196 this.activityBinding.removeActivityResultListener(this);
197 this.activityBinding = null;
198 }

◆ onDetachedFromActivityForConfigChanges()

void io.flutter.plugin.text.ProcessTextPlugin.onDetachedFromActivityForConfigChanges ( )
inline

Definition at line 185 of file ProcessTextPlugin.java.

185 {
186 this.activityBinding.removeActivityResultListener(this);
187 this.activityBinding = null;
188 }

◆ onDetachedFromEngine()

void io.flutter.plugin.text.ProcessTextPlugin.onDetachedFromEngine ( @NonNull FlutterPluginBinding  binding)
inline

Definition at line 172 of file ProcessTextPlugin.java.

172 {
173 // Nothing to do because this plugin is instantiated by the engine.
174 }

◆ onReattachedToActivityForConfigChanges()

void io.flutter.plugin.text.ProcessTextPlugin.onReattachedToActivityForConfigChanges ( @NonNull ActivityPluginBinding  binding)
inline

Definition at line 190 of file ProcessTextPlugin.java.

190 {
191 this.activityBinding = binding;
192 this.activityBinding.addActivityResultListener(this);
193 }

◆ processTextAction()

void io.flutter.plugin.text.ProcessTextPlugin.processTextAction ( @NonNull String  id,
@NonNull String  text,
@NonNull boolean  readOnly,
@NonNull MethodChannel.Result  result 
)
inline

Definition at line 65 of file ProcessTextPlugin.java.

69 {
70 if (activityBinding == null) {
71 result.error("error", "Plugin not bound to an Activity", null);
72 return;
73 }
74
75 if (Build.VERSION.SDK_INT < API_LEVELS.API_23) {
76 result.error("error", "Android version not supported", null);
77 return;
78 }
79
80 if (resolveInfosById == null) {
81 result.error("error", "Can not process text actions before calling queryTextActions", null);
82 return;
83 }
84
85 final ResolveInfo info = resolveInfosById.get(id);
86 if (info == null) {
87 result.error("error", "Text processing activity not found", null);
88 return;
89 }
90
91 Integer requestCode = result.hashCode();
92 requestsByCode.put(requestCode, result);
93
94 Intent intent = new Intent();
95 intent.setClassName(info.activityInfo.packageName, info.activityInfo.name);
96 intent.setAction(Intent.ACTION_PROCESS_TEXT);
97 intent.setType("text/plain");
98 intent.putExtra(Intent.EXTRA_PROCESS_TEXT, text);
99 intent.putExtra(Intent.EXTRA_PROCESS_TEXT_READONLY, readOnly);
100
101 // Start the text processing activity. When the activity completes, the onActivityResult
102 // callback
103 // is called.
104 activityBinding.getActivity().startActivityForResult(intent, requestCode);
105 }
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
Definition DM.cpp:213
Build(configs, env, options)
Definition build.py:232

◆ queryTextActions()

Map< String, String > io.flutter.plugin.text.ProcessTextPlugin.queryTextActions ( )
inline

Definition at line 52 of file ProcessTextPlugin.java.

52 {
53 if (resolveInfosById == null) {
54 cacheResolveInfos();
55 }
56 Map<String, String> result = new HashMap<String, String>();
57 for (String id : resolveInfosById.keySet()) {
58 final ResolveInfo info = resolveInfosById.get(id);
59 result.put(id, info.loadLabel(packageManager).toString());
60 }
61 return result;
62 }

The documentation for this class was generated from the following file: