11package dev .flutter .scenarios ;
22
33import android .Manifest ;
4- import android .content .Context ;
54import android .content .Intent ;
65import android .net .Uri ;
76import android .os .Build ;
87import android .os .Bundle ;
98import android .os .Handler ;
10- import android .os .Looper ;
119import android .support .annotation .NonNull ;
1210import io .flutter .Log ;
1311import io .flutter .embedding .android .FlutterActivity ;
1412import io .flutter .embedding .engine .FlutterEngine ;
1513import io .flutter .embedding .engine .FlutterShellArgs ;
16- import io .flutter .embedding .engine .loader .FlutterLoader ;
1714import io .flutter .plugin .common .BasicMessageChannel ;
1815import io .flutter .plugin .common .BinaryCodec ;
1916import java .io .FileDescriptor ;
2017import java .io .FileOutputStream ;
2118import java .io .IOException ;
2219import java .nio .ByteBuffer ;
23- import java .util .concurrent .atomic .AtomicBoolean ;
2420
2521public class TextPlatformViewActivity extends FlutterActivity {
2622 static final String TAG = "Scenarios" ;
@@ -35,19 +31,7 @@ protected void onCreate(Bundle savedInstanceState) {
3531 }
3632 // Run for one minute, get the timeline data, write it, and finish.
3733 final Uri logFileUri = launchIntent .getData ();
38- new Handler ()
39- .postDelayed (
40- new Runnable () {
41- @ Override
42- public void run () {
43- writeTimelineData (logFileUri );
44-
45- testFlutterLoaderCallbackWhenInitializedTwice ();
46- }
47- },
48- 20000 );
49- } else {
50- testFlutterLoaderCallbackWhenInitializedTwice ();
34+ new Handler ().postDelayed (() -> writeTimelineData (logFileUri ), 20000 );
5135 }
5236 }
5337
@@ -96,46 +80,4 @@ private void writeTimelineData(Uri logFile) {
9680 finish ();
9781 });
9882 }
99-
100- /**
101- * This method verifies that {@link FlutterLoader#ensureInitializationCompleteAsync(Context,
102- * String[], Handler, Runnable)} invokes its callback when called after initialization.
103- */
104- private void testFlutterLoaderCallbackWhenInitializedTwice () {
105- FlutterLoader flutterLoader = new FlutterLoader ();
106-
107- // Flutter is probably already loaded in this app based on
108- // code that ran before this method. Nonetheless, invoke the
109- // blocking initialization here to ensure it's initialized.
110- flutterLoader .startInitialization (getApplicationContext ());
111- flutterLoader .ensureInitializationComplete (getApplication (), new String [] {});
112-
113- // Now that Flutter is loaded, invoke ensureInitializationCompleteAsync with
114- // a callback and verify that the callback is invoked.
115- Handler mainHandler = new Handler (Looper .getMainLooper ());
116-
117- final AtomicBoolean didInvokeCallback = new AtomicBoolean (false );
118-
119- flutterLoader .ensureInitializationCompleteAsync (
120- getApplication (),
121- new String [] {},
122- mainHandler ,
123- new Runnable () {
124- @ Override
125- public void run () {
126- didInvokeCallback .set (true );
127- }
128- });
129-
130- mainHandler .post (
131- new Runnable () {
132- @ Override
133- public void run () {
134- if (!didInvokeCallback .get ()) {
135- throw new RuntimeException (
136- "Failed test: FlutterLoader#ensureInitializationCompleteAsync() did not invoke its callback." );
137- }
138- }
139- });
140- }
14183}
0 commit comments