diff --git a/engine/src/flutter/shell/platform/android/BUILD.gn b/engine/src/flutter/shell/platform/android/BUILD.gn index 56aba7abe3..82b5bf3b44 100644 --- a/engine/src/flutter/shell/platform/android/BUILD.gn +++ b/engine/src/flutter/shell/platform/android/BUILD.gn @@ -64,6 +64,7 @@ android_library("java") { visibility = [ ":*" ] java_files = [ + "io/flutter/plugin/common/ActivityLifecycleListener.java", "io/flutter/plugin/common/JSONMessageListener.java", "io/flutter/plugin/platform/PlatformPlugin.java", "io/flutter/view/AccessibilityBridge.java", @@ -71,6 +72,7 @@ android_library("java") { "io/flutter/view/FlutterView.java", "io/flutter/view/ResourceCleaner.java", "io/flutter/view/ResourceExtractor.java", + "io/flutter/view/ResourcePaths.java", "io/flutter/view/ServiceFactory.java", "io/flutter/view/ServiceProviderImpl.java", "io/flutter/view/ServiceRegistry.java", @@ -80,9 +82,6 @@ android_library("java") { deps = [ "//base:base_java", - "//flutter/services/activity:activity_lib", - "//flutter/services/activity:interfaces_java", - "//flutter/services/common:common_lib", "//flutter/services/editing:editing_lib", "//flutter/services/editing:interfaces_java", "//flutter/services/engine:interfaces_java", diff --git a/engine/src/flutter/shell/platform/android/io/flutter/plugin/common/ActivityLifecycleListener.java b/engine/src/flutter/shell/platform/android/io/flutter/plugin/common/ActivityLifecycleListener.java new file mode 100644 index 0000000000..5c27bd9613 --- /dev/null +++ b/engine/src/flutter/shell/platform/android/io/flutter/plugin/common/ActivityLifecycleListener.java @@ -0,0 +1,9 @@ +// Copyright 2016 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package io.flutter.plugin.common; + +public interface ActivityLifecycleListener { + void onPostResume(); +} diff --git a/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java b/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java index 8d701bb215..6626150472 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java @@ -12,10 +12,10 @@ import android.os.Build; import android.view.HapticFeedbackConstants; import android.view.SoundEffectConstants; import android.view.View; +import io.flutter.plugin.common.ActivityLifecycleListener; import io.flutter.plugin.common.JSONMessageListener; import io.flutter.view.FlutterView; import org.chromium.base.PathUtils; -import org.domokit.common.ActivityLifecycleListener; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; diff --git a/engine/src/flutter/shell/platform/android/io/flutter/view/FlutterMain.java b/engine/src/flutter/shell/platform/android/io/flutter/view/FlutterMain.java index ab5547a106..99954ed406 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/view/FlutterMain.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/view/FlutterMain.java @@ -34,10 +34,8 @@ import org.chromium.mojo.bindings.Interface.Binding; import org.chromium.mojo.system.Core; import org.chromium.mojo.system.impl.CoreImpl; import org.chromium.mojo.system.MessagePipeHandle; -import org.chromium.mojom.activity.Activity; import org.chromium.mojom.editing.Clipboard; import org.chromium.mojom.vsync.VSyncProvider; -import org.domokit.activity.ActivityImpl; import org.domokit.editing.ClipboardImpl; import org.domokit.vsync.VSyncProviderImpl; @@ -184,13 +182,6 @@ public class FlutterMain { private static native void nativeRecordStartTimestamp(long initTimeMillis); private static void onServiceRegistryAvailable(final Context applicationContext, ServiceRegistry registry) { - registry.register(Activity.MANAGER.getName(), new ServiceFactory() { - @Override - public Binding connectToService(FlutterView view, Core core, MessagePipeHandle pipe) { - return Activity.MANAGER.bind(new ActivityImpl(), pipe); - } - }); - registry.register(Clipboard.MANAGER.getName(), new ServiceFactory() { @Override public Binding connectToService(FlutterView view, Core core, MessagePipeHandle pipe) { diff --git a/engine/src/flutter/shell/platform/android/io/flutter/view/FlutterView.java b/engine/src/flutter/shell/platform/android/io/flutter/view/FlutterView.java index c40081d8a1..4cc23736da 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/view/FlutterView.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/view/FlutterView.java @@ -60,10 +60,9 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import io.flutter.plugin.common.ActivityLifecycleListener; import io.flutter.plugin.platform.PlatformPlugin; -import org.domokit.common.ActivityLifecycleListener; -import org.domokit.activity.ActivityImpl; import org.domokit.editing.KeyboardImpl; import org.domokit.editing.KeyboardViewState; import org.domokit.raw_keyboard.RawKeyboardServiceImpl; @@ -105,10 +104,6 @@ public class FlutterView extends SurfaceView public FlutterView(Context context, AttributeSet attrs) { super(context, attrs); - // TODO(abarth): Remove this static and instead make everything that - // depends on it into a view-associated service. - ActivityImpl.setCurrentActivity((Activity) context); - mMetrics = new ViewportMetrics(); mMetrics.devicePixelRatio = context.getResources().getDisplayMetrics().density; setFocusable(true); diff --git a/engine/src/flutter/shell/platform/android/io/flutter/view/ResourceCleaner.java b/engine/src/flutter/shell/platform/android/io/flutter/view/ResourceCleaner.java index 5f203d1b2b..c7d8ff4088 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/view/ResourceCleaner.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/view/ResourceCleaner.java @@ -13,8 +13,6 @@ import java.io.File; import java.io.FilenameFilter; import java.io.IOException; -import org.domokit.common.ResourcePaths; - /** * A class to clean up orphaned resource directories after unclean shutdowns. **/ diff --git a/engine/src/flutter/shell/platform/android/io/flutter/view/ResourcePaths.java b/engine/src/flutter/shell/platform/android/io/flutter/view/ResourcePaths.java new file mode 100644 index 0000000000..44bfb4a0a0 --- /dev/null +++ b/engine/src/flutter/shell/platform/android/io/flutter/view/ResourcePaths.java @@ -0,0 +1,21 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package io.flutter.view; + +import android.content.Context; + +import java.io.File; +import java.io.IOException; + +class ResourcePaths { + // The filename prefix used by Chromium temporary file APIs. + public static final String TEMPORARY_RESOURCE_PREFIX = ".org.chromium.Chromium."; + + // Return a temporary file that will be cleaned up by the ResourceCleaner. + public static File createTempFile(Context context, String suffix) throws IOException { + return File.createTempFile(TEMPORARY_RESOURCE_PREFIX, "_" + suffix, + context.getCacheDir()); + } +} diff --git a/engine/src/flutter/shell/platform/darwin/common/BUILD.gn b/engine/src/flutter/shell/platform/darwin/common/BUILD.gn index d303c16bba..60e15bc5d6 100644 --- a/engine/src/flutter/shell/platform/darwin/common/BUILD.gn +++ b/engine/src/flutter/shell/platform/darwin/common/BUILD.gn @@ -21,7 +21,6 @@ source_set("common") { "//base:i18n", "//dart/runtime:libdart", "//flutter/runtime", - "//flutter/services/activity", "//flutter/services/editing", "//flutter/services/engine:interfaces", "//flutter/services/platform", diff --git a/engine/src/flutter/shell/platform/darwin/common/platform_service_provider.cc b/engine/src/flutter/shell/platform/darwin/common/platform_service_provider.cc index 539211d223..7b87525a7f 100644 --- a/engine/src/flutter/shell/platform/darwin/common/platform_service_provider.cc +++ b/engine/src/flutter/shell/platform/darwin/common/platform_service_provider.cc @@ -5,7 +5,6 @@ #include "flutter/shell/platform/darwin/common/platform_service_provider.h" #if TARGET_OS_IPHONE -#include "flutter/services/activity/ios/activity_impl.h" #include "flutter/services/editing/ios/clipboard_impl.h" #include "flutter/services/vsync/ios/vsync_provider_ios_impl.h" #else @@ -24,11 +23,6 @@ void PlatformServiceProvider::ConnectToService( const mojo::String& service_name, mojo::ScopedMessagePipeHandle client_handle) { #if TARGET_OS_IPHONE - if (service_name == ::activity::Activity::Name_) { - new sky::services::activity::ActivityImpl( - mojo::InterfaceRequest<::activity::Activity>(client_handle.Pass())); - return; - } if (service_name == ::editing::Clipboard::Name_) { new sky::services::editing::ClipboardImpl( mojo::InterfaceRequest<::editing::Clipboard>(client_handle.Pass())); diff --git a/engine/src/flutter/shell/platform/darwin/ios/BUILD.gn b/engine/src/flutter/shell/platform/darwin/ios/BUILD.gn index c724275d31..e2e136c912 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/BUILD.gn +++ b/engine/src/flutter/shell/platform/darwin/ios/BUILD.gn @@ -49,7 +49,6 @@ shared_library("flutter_framework_dylib") { "//base:base", "//dart/runtime:libdart", "//flutter/lib/ui", - "//flutter/services/activity", "//flutter/services/editing", "//flutter/services/engine:interfaces", "//flutter/services/platform", diff --git a/engine/src/flutter/sky/BUILD.gn b/engine/src/flutter/sky/BUILD.gn index a02ba1d835..3591b2234d 100644 --- a/engine/src/flutter/sky/BUILD.gn +++ b/engine/src/flutter/sky/BUILD.gn @@ -16,8 +16,4 @@ group("sky") { if (dart_host_toolchain == host_toolchain) { deps += [ "//flutter/snapshotter($dart_host_toolchain)" ] } - - if (is_android) { - deps += [ "//flutter/services/activity" ] - } } diff --git a/engine/src/flutter/sky/packages/flutter_services/lib/activity.dart b/engine/src/flutter/sky/packages/flutter_services/lib/activity.dart deleted file mode 100644 index bb2c569052..0000000000 --- a/engine/src/flutter/sky/packages/flutter_services/lib/activity.dart +++ /dev/null @@ -1,6 +0,0 @@ -/// Copyright 2016 The Chromium Authors. All rights reserved. -/// Use of this source code is governed by a BSD-style license that can be -/// found in the LICENSE file. - -import 'package:sky_services/activity/activity.mojom.dart'; -export 'package:sky_services/activity/activity.mojom.dart'; diff --git a/engine/src/flutter/sky/packages/sky_services/BUILD.gn b/engine/src/flutter/sky/packages/sky_services/BUILD.gn index 1000ec339a..513506833b 100644 --- a/engine/src/flutter/sky/packages/sky_services/BUILD.gn +++ b/engine/src/flutter/sky/packages/sky_services/BUILD.gn @@ -23,7 +23,6 @@ dart_pkg("sky_services") { deps = [ ":copy_sky_services_license", - "//flutter/services/activity:interfaces", "//flutter/services/editing:interfaces", "//flutter/services/platform:interfaces", "//flutter/services/raw_keyboard:interfaces",