Flutter Engine
The Flutter Engine
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Properties
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Related Functions
:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
v
w
y
Enumerator
b
c
d
e
f
g
h
k
l
m
n
p
r
s
t
u
v
w
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
shell
platform
android
io
flutter
embedding
engine
plugins
activity
ActivityControlSurface.java
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
package
io.flutter.embedding.engine.plugins.activity;
6
7
import
android
.app.Activity;
8
import
android
.content.Intent;
9
import
android
.os.Bundle;
10
import
androidx.annotation.NonNull;
11
import
androidx.annotation.Nullable;
12
import
androidx.lifecycle.Lifecycle;
13
import
io.flutter.embedding.android.ExclusiveAppComponent;
14
15
/**
16
* Control surface through which an {@link android.app.Activity} attaches to a {@link
17
* io.flutter.embedding.engine.FlutterEngine}.
18
*
19
* <p>An {@link android.app.Activity} that contains a {@link
20
* io.flutter.embedding.android.FlutterView} and associated {@link
21
* io.flutter.embedding.engine.FlutterEngine} should coordinate itself with the {@link
22
* io.flutter.embedding.engine.FlutterEngine}'s {@code ActivityControlSurface}.
23
*
24
* <ol>
25
* <li>Once an {@link android.app.Activity} is created, and its associated {@link
26
* io.flutter.embedding.engine.FlutterEngine} is executing Dart code, the {@link
27
* android.app.Activity} should invoke {@link #attachToActivity( ExclusiveAppComponent,
28
* Lifecycle)}. At this point the {@link io.flutter.embedding.engine.FlutterEngine} is
29
* considered "attached" to the {@link android.app.Activity} and all {@link ActivityAware}
30
* plugins are given access to the {@link android.app.Activity}.
31
* <li>Just before an attached {@link android.app.Activity} is destroyed for configuration change
32
* purposes, that {@link android.app.Activity} should invoke {@link
33
* #detachFromActivityForConfigChanges()}, giving each {@link ActivityAware} plugin an
34
* opportunity to clean up its references before the {@link android.app.Activity is
35
* destroyed}.
36
* <li>When an {@link android.app.Activity} is destroyed for non-configuration-change purposes, or
37
* when the {@link android.app.Activity} is no longer interested in displaying a {@link
38
* io.flutter.embedding.engine.FlutterEngine}'s content, the {@link android.app.Activity}
39
* should invoke {@link #detachFromActivity()}.
40
* <li>When a {@link android.app.Activity} is being attached while an existing {@link
41
* ExclusiveAppComponent} is already attached, the existing {@link ExclusiveAppComponent} is
42
* given a chance to detach first via {@link ExclusiveAppComponent#detachFromFlutterEngine()}
43
* before the new activity attaches.
44
* </ol>
45
*
46
* The attached {@link android.app.Activity} should also forward all {@link android.app.Activity}
47
* calls that this {@code ActivityControlSurface} supports, e.g., {@link
48
* #onRequestPermissionsResult(int, String[], int[])}. These forwarded calls are made available to
49
* all {@link ActivityAware} plugins that are added to the attached {@link
50
* io.flutter.embedding.engine.FlutterEngine}.
51
*/
52
public
interface
ActivityControlSurface
{
53
/**
54
* Call this method from the {@link ExclusiveAppComponent} that is displaying the visual content
55
* of the {@link io.flutter.embedding.engine.FlutterEngine} that is associated with this {@code
56
* ActivityControlSurface}.
57
*
58
* <p>Once an {@link ExclusiveAppComponent} is created, and its associated {@link
59
* io.flutter.embedding.engine.FlutterEngine} is executing Dart code, the {@link
60
* ExclusiveAppComponent} should invoke this method. At that point the {@link
61
* io.flutter.embedding.engine.FlutterEngine} is considered "attached" to the {@link
62
* ExclusiveAppComponent} and all {@link ActivityAware} plugins are given access to the {@link
63
* ExclusiveAppComponent}'s {@link android.app.Activity}.
64
*/
65
void
attachToActivity
(
66
@NonNull
ExclusiveAppComponent<Activity>
exclusiveActivity, @NonNull Lifecycle lifecycle);
67
68
/**
69
* Call this method from the {@link android.app.Activity} that is attached to this {@code
70
* ActivityControlSurfaces}'s {@link io.flutter.embedding.engine.FlutterEngine} when the {@link
71
* android.app.Activity} is about to be destroyed due to configuration changes.
72
*
73
* <p>This method gives each {@link ActivityAware} plugin an opportunity to clean up its
74
* references before the {@link android.app.Activity is destroyed}.
75
*/
76
void
detachFromActivityForConfigChanges
();
77
78
/**
79
* Call this method from the {@link android.app.Activity} that is attached to this {@code
80
* ActivityControlSurfaces}'s {@link io.flutter.embedding.engine.FlutterEngine} when the {@link
81
* android.app.Activity} is about to be destroyed for non-configuration-change reasons.
82
*
83
* <p>This method gives each {@link ActivityAware} plugin an opportunity to clean up its
84
* references before the {@link android.app.Activity is destroyed}.
85
*/
86
void
detachFromActivity
();
87
88
/**
89
* Call this method from the {@link android.app.Activity} that is attached to this {@code
90
* ActivityControlSurface}'s {@link io.flutter.embedding.engine.FlutterEngine} and the associated
91
* method in the {@link Activity} is invoked.
92
*
93
* <p>Returns true if one or more plugins utilized this permission result.
94
*/
95
boolean
onRequestPermissionsResult
(
96
int
requestCode, @NonNull String[] permissions, @NonNull
int
[] grantResult);
97
98
/**
99
* Call this method from the {@link android.app.Activity} that is attached to this {@code
100
* ActivityControlSurface}'s {@link io.flutter.embedding.engine.FlutterEngine} and the associated
101
* method in the {@link Activity} is invoked.
102
*
103
* <p>Returns true if one or more plugins utilized this {@link android.app.Activity} result.
104
*/
105
boolean
onActivityResult
(
int
requestCode,
int
resultCode, @Nullable Intent
data
);
106
107
/**
108
* Call this method from the {@link android.app.Activity} that is attached to this {@code
109
* ActivityControlSurface}'s {@link io.flutter.embedding.engine.FlutterEngine} and the associated
110
* method in the {@link Activity} is invoked.
111
*/
112
void
onNewIntent
(@NonNull Intent intent);
113
114
/**
115
* Call this method from the {@link android.app.Activity} that is attached to this {@code
116
* ActivityControlSurface}'s {@link io.flutter.embedding.engine.FlutterEngine} and the associated
117
* method in the {@link Activity} is invoked.
118
*/
119
void
onUserLeaveHint
();
120
121
/**
122
* Call this method from the {@link android.app.Activity} or {@code Fragment} that is attached to
123
* this {@code ActivityControlSurface}'s {@link io.flutter.embedding.engine.FlutterEngine} when
124
* the associated method is invoked in the {@link android.app.Activity} or {@code Fragment}.
125
*/
126
void
onSaveInstanceState
(@NonNull Bundle bundle);
127
128
/**
129
* Call this method from the {@link android.app.Activity} or {@code Fragment} that is attached to
130
* this {@code ActivityControlSurface}'s {@link io.flutter.embedding.engine.FlutterEngine} when
131
* {@link android.app.Activity#onCreate(Bundle)} or {@code Fragment#onCreate(Bundle)} is invoked
132
* in the {@link android.app.Activity} or {@code Fragment}.
133
*/
134
void
onRestoreInstanceState
(@Nullable Bundle bundle);
135
}
io.flutter.embedding.android.ExclusiveAppComponent
Definition:
ExclusiveAppComponent.java:22
io.flutter.embedding.engine.plugins.activity.ActivityControlSurface
Definition:
ActivityControlSurface.java:52
io.flutter.embedding.engine.plugins.activity.ActivityControlSurface.onActivityResult
boolean onActivityResult(int requestCode, int resultCode, @Nullable Intent data)
io.flutter.embedding.engine.plugins.activity.ActivityControlSurface.detachFromActivity
void detachFromActivity()
io.flutter.embedding.engine.plugins.activity.ActivityControlSurface.attachToActivity
void attachToActivity( @NonNull ExclusiveAppComponent< Activity > exclusiveActivity, @NonNull Lifecycle lifecycle)
io.flutter.embedding.engine.plugins.activity.ActivityControlSurface.onNewIntent
void onNewIntent(@NonNull Intent intent)
io.flutter.embedding.engine.plugins.activity.ActivityControlSurface.detachFromActivityForConfigChanges
void detachFromActivityForConfigChanges()
io.flutter.embedding.engine.plugins.activity.ActivityControlSurface.onRequestPermissionsResult
boolean onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResult)
io.flutter.embedding.engine.plugins.activity.ActivityControlSurface.onSaveInstanceState
void onSaveInstanceState(@NonNull Bundle bundle)
io.flutter.embedding.engine.plugins.activity.ActivityControlSurface.onRestoreInstanceState
void onRestoreInstanceState(@Nullable Bundle bundle)
io.flutter.embedding.engine.plugins.activity.ActivityControlSurface.onUserLeaveHint
void onUserLeaveHint()
android
Definition:
BitmapRegionDecoder.cpp:14
data
std::shared_ptr< const fml::Mapping > data
Definition:
texture_gles.cc:63
Generated on Sun Jun 23 2024 21:55:09 for Flutter Engine by
1.9.4