Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
dev.flutter.scenarios.TestActivity Class Referenceabstract
Inheritance diagram for dev.flutter.scenarios.TestActivity:
dev.flutter.scenarios.TestableFlutterActivity dev.flutter.scenarios.ExternalTextureFlutterActivity dev.flutter.scenarios.GetBitmapActivity dev.flutter.scenarios.PlatformViewsActivity dev.flutter.scenarios.SpawnMultiEngineActivity dev.flutter.scenarios.SpawnedEngineActivity

Public Member Functions

FlutterShellArgs getFlutterShellArgs ()
 
void onFlutterUiDisplayed ()
 
- Public Member Functions inherited from dev.flutter.scenarios.TestableFlutterActivity
void configureFlutterEngine (@NonNull FlutterEngine flutterEngine)
 
void waitUntilFlutterRendered ()
 

Protected Member Functions

void onCreate (@Nullable Bundle savedInstanceState)
 
void onDestroy ()
 
void getScenarioParams (@NonNull Map< String, Object > args)
 
void testFlutterLoaderCallbackWhenInitializedTwice ()
 
- Protected Member Functions inherited from dev.flutter.scenarios.TestableFlutterActivity
void notifyFlutterRendered ()
 

Detailed Description

Definition at line 28 of file TestActivity.java.

Member Function Documentation

◆ getFlutterShellArgs()

FlutterShellArgs dev.flutter.scenarios.TestActivity.getFlutterShellArgs ( )
inline

Definition at line 43 of file TestActivity.java.

43 {
44 FlutterShellArgs args = FlutterShellArgs.fromIntent(getIntent());
45 args.add(FlutterShellArgs.ARG_TRACE_STARTUP);
46 args.add(FlutterShellArgs.ARG_ENABLE_DART_PROFILING);
47 args.add(FlutterShellArgs.ARG_VERBOSE_LOGGING);
48 return args;
49 }
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args

◆ getScenarioParams()

void dev.flutter.scenarios.TestActivity.getScenarioParams ( @NonNull Map< String, Object >  args)
inlineprotected

Populates test-specific parameters that are sent to the Dart test scenario.

Parameters
argsThe map of test arguments

Reimplemented in dev.flutter.scenarios.ExternalTextureFlutterActivity.

Definition at line 79 of file TestActivity.java.

79{}

◆ onCreate()

void dev.flutter.scenarios.TestActivity.onCreate ( @Nullable Bundle  savedInstanceState)
inlineprotected

Reimplemented from dev.flutter.scenarios.TestableFlutterActivity.

Reimplemented in dev.flutter.scenarios.ExternalTextureFlutterActivity.

Definition at line 30 of file TestActivity.java.

30 {
31 super.onCreate(savedInstanceState);
32 hideSystemBars(getWindow());
34 }

◆ onDestroy()

void dev.flutter.scenarios.TestActivity.onDestroy ( )
inlineprotected

Definition at line 37 of file TestActivity.java.

37 {
38 super.onDestroy();
39 }

◆ onFlutterUiDisplayed()

void dev.flutter.scenarios.TestActivity.onFlutterUiDisplayed ( )
inline

Reimplemented in dev.flutter.scenarios.ExternalTextureFlutterActivity.

Definition at line 52 of file TestActivity.java.

52 {
53 final Intent launchIntent = getIntent();
54 MethodChannel channel =
55 new MethodChannel(
56 Objects.requireNonNull(getFlutterEngine()).getDartExecutor(),
57 "driver",
58 JSONMethodCodec.INSTANCE);
59 Map<String, Object> test = new HashMap<>(2);
60 if (launchIntent.hasExtra("scenario_name")) {
61 test.put("name", launchIntent.getStringExtra("scenario_name"));
62 } else {
63 test.put("name", "animated_color_square");
64 }
65 test.put("use_android_view", launchIntent.getBooleanExtra("use_android_view", false));
66 test.put(
67 "expect_android_view_fallback",
68 launchIntent.getBooleanExtra("expect_android_view_fallback", false));
69 test.put("view_type", launchIntent.getStringExtra("view_type"));
71 channel.invokeMethod("set_scenario", test);
72 }
void getScenarioParams(@NonNull Map< String, Object > args)

◆ testFlutterLoaderCallbackWhenInitializedTwice()

void dev.flutter.scenarios.TestActivity.testFlutterLoaderCallbackWhenInitializedTwice ( )
inlineprotected

This method verifies that io.flutter.embedding.engine.loader.FlutterLoader#ensureInitializationCompleteAsync(Context, String[], Handler, Runnable) invokes its callback when called after initialization.

Definition at line 86 of file TestActivity.java.

86 {
87 FlutterLoader flutterLoader = FlutterInjector.instance().flutterLoader();
88
89 // Flutter is probably already loaded in this app based on
90 // code that ran before this method. Nonetheless, invoke the
91 // blocking initialization here to ensure it's initialized.
92 flutterLoader.startInitialization(getApplicationContext());
93 flutterLoader.ensureInitializationComplete(getApplication(), new String[] {});
94
95 // Now that Flutter is loaded, invoke ensureInitializationCompleteAsync with
96 // a callback and verify that the callback is invoked.
97 Handler mainHandler = new Handler(Looper.getMainLooper());
98
99 final AtomicBoolean didInvokeCallback = new AtomicBoolean(false);
100
101 flutterLoader.ensureInitializationCompleteAsync(
102 getApplication(), new String[] {}, mainHandler, () -> didInvokeCallback.set(true));
103
104 mainHandler.post(
105 () -> {
106 if (!didInvokeCallback.get()) {
107 throw new RuntimeException(
108 "Failed test: FlutterLoader#ensureInitializationCompleteAsync() did not invoke its callback.");
109 }
110 });
111 }

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