Access FlutterFragmentActivity's root content view ID using ViewUtils.generateViewId (flutter/engine#30595)
This commit is contained in:
@@ -46,6 +46,7 @@ import io.flutter.embedding.engine.FlutterEngine;
|
||||
import io.flutter.embedding.engine.FlutterShellArgs;
|
||||
import io.flutter.embedding.engine.plugins.util.GeneratedPluginRegister;
|
||||
import io.flutter.plugin.platform.PlatformPlugin;
|
||||
import io.flutter.util.ViewUtils;
|
||||
|
||||
/**
|
||||
* A Flutter {@code Activity} that is based upon {@link FragmentActivity}.
|
||||
@@ -65,7 +66,8 @@ public class FlutterFragmentActivity extends FragmentActivity
|
||||
// FlutterFragment management.
|
||||
private static final String TAG_FLUTTER_FRAGMENT = "flutter_fragment";
|
||||
// TODO(mattcarroll): replace ID with R.id when build system supports R.java
|
||||
private static final int FRAGMENT_CONTAINER_ID = 609893468; // random number
|
||||
public static final int FRAGMENT_CONTAINER_ID =
|
||||
ViewUtils.generateViewId(609893468); // random number
|
||||
|
||||
/**
|
||||
* Creates an {@link Intent} that launches a {@code FlutterFragmentActivity}, which executes a
|
||||
|
||||
@@ -17,6 +17,7 @@ import android.content.Intent;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -104,6 +105,15 @@ public class FlutterFragmentActivityTest {
|
||||
activity.createFlutterFragment().getDartEntrypointLibraryUri(), "package:foo/bar.dart");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void hasRootLayoutId() {
|
||||
FlutterFragmentActivityWithRootLayout activity =
|
||||
Robolectric.buildActivity(FlutterFragmentActivityWithRootLayout.class).get();
|
||||
activity.onCreate(null);
|
||||
assertNotNull(activity.FRAGMENT_CONTAINER_ID);
|
||||
assertTrue(activity.FRAGMENT_CONTAINER_ID != View.NO_ID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void itRegistersPluginsAtConfigurationTime() {
|
||||
try (ActivityScenario<FlutterFragmentActivity> scenario =
|
||||
|
||||
Reference in New Issue
Block a user