Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
196 commits
Select commit Hold shift + click to select a range
f6418b1
move orignial cross file to new
bparrishMines Nov 3, 2025
6a0320b
initial flutter create for platform interface
bparrishMines Nov 3, 2025
4273a63
make same to other packages
bparrishMines Nov 3, 2025
bfdb21c
start of interface updateF
bparrishMines Nov 4, 2025
088fb2b
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Nov 4, 2025
7342a96
base xfile returns path
bparrishMines Nov 10, 2025
1613f52
initial android impl
bparrishMines Nov 10, 2025
326f932
create platform interface
bparrishMines Nov 11, 2025
2f2f17c
some android push
bparrishMines Nov 11, 2025
662321c
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Nov 12, 2025
e070cd3
new interface
bparrishMines Nov 13, 2025
191eea1
update android with base implemenation
bparrishMines Nov 13, 2025
a9c4202
start of impl
bparrishMines Nov 14, 2025
6aa763e
implementation of pigeon
bparrishMines Nov 14, 2025
b1838bb
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Nov 14, 2025
10400cf
example use for android working
bparrishMines Nov 14, 2025
7ad47ff
base ios flutter create
bparrishMines Nov 15, 2025
ff250a9
start of ios and some android notes
bparrishMines Nov 15, 2025
2196e74
add files
bparrishMines Nov 15, 2025
f8528c9
ios impl compiles
bparrishMines Nov 15, 2025
ae421eb
update ios impl
bparrishMines Nov 16, 2025
76adb9d
ios can read
bparrishMines Nov 16, 2025
ebdf3d9
some workign code on ios impl
bparrishMines Nov 18, 2025
a1dba72
add filemanager back to handle stuff
bparrishMines Nov 18, 2025
8e52ecf
open read for ios impl
bparrishMines Nov 18, 2025
eb0ff17
initial flutter create
bparrishMines Nov 20, 2025
dea1eea
add io stuff yo
bparrishMines Nov 26, 2025
b26162d
formatting
bparrishMines Nov 26, 2025
bb9b3b7
start of working on app facing
bparrishMines Dec 2, 2025
cf28ca6
the app facing impl
bparrishMines Dec 3, 2025
4eaac7c
implement io impl
bparrishMines Dec 5, 2025
6aa3319
initial web commit
bparrishMines Dec 10, 2025
dfca208
web impl
bparrishMines Dec 10, 2025
de3b931
docs for platform x file
bparrishMines Dec 11, 2025
ca99ada
some stuff done
bparrishMines Dec 11, 2025
0984f9a
some work
bparrishMines Dec 11, 2025
60d8e6c
new_crossfile
bparrishMines Dec 13, 2025
cf2777d
remove type annotations
bparrishMines Dec 14, 2025
fc9ef38
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Dec 14, 2025
01997fb
finish platform interface
bparrishMines Dec 14, 2025
7e5a2da
implemenation of cross file io
bparrishMines Dec 14, 2025
934fe93
io implementation
bparrishMines Dec 14, 2025
8c3771d
android impl
bparrishMines Dec 15, 2025
f30ffbc
finish android impl
bparrishMines Dec 15, 2025
1c4c018
web implementation
bparrishMines Dec 18, 2025
5bca2df
add extra space
bparrishMines Dec 18, 2025
a8a19da
create example app for file
bparrishMines Dec 29, 2025
b16163b
fix app
bparrishMines Dec 29, 2025
1211fe5
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Dec 29, 2025
91087f2
cross file io readme update
bparrishMines Dec 29, 2025
58813fa
update java version
bparrishMines Dec 29, 2025
5b4b0fe
update gradle to standard
bparrishMines Dec 29, 2025
572011e
add missing android resources for tests lolololol
bparrishMines Dec 30, 2025
c894645
fix unit tests
bparrishMines Dec 30, 2025
eb1e656
finish all tests
bparrishMines Dec 30, 2025
880a410
formatting
bparrishMines Dec 30, 2025
d267b0a
fix file names in android
bparrishMines Dec 30, 2025
867331f
fix file
bparrishMines Dec 30, 2025
55f434f
fix imports
bparrishMines Dec 30, 2025
0b0d674
update order
bparrishMines Dec 31, 2025
5d7b24c
fix android app pubspec
bparrishMines Dec 31, 2025
bad61df
first android test
bparrishMines Dec 31, 2025
e7dc9af
first open read test
bparrishMines Jan 5, 2026
b1a1de6
formatting and 2 tests
bparrishMines Jan 5, 2026
9d3e51f
add array subset test
bparrishMines Jan 5, 2026
b39f7fb
fix android test and finish file tests
bparrishMines Jan 5, 2026
4a84c85
formatting and other stuff
bparrishMines Jan 6, 2026
fc0946c
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Jan 6, 2026
0ab90e0
add display name support
bparrishMines Jan 6, 2026
6a0dfbc
add name implementation to file
bparrishMines Jan 6, 2026
46f56fc
implement cross_file
bparrishMines Jan 7, 2026
4707931
update web impl example app
bparrishMines Jan 7, 2026
1dfee63
fix registrar
bparrishMines Jan 7, 2026
f03e7fc
actual fix
bparrishMines Jan 7, 2026
0c70807
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Jan 7, 2026
767a770
web unit tests
bparrishMines Jan 7, 2026
eb7b6d9
test overrides
bparrishMines Jan 7, 2026
317702c
fix integration test
bparrishMines Jan 7, 2026
6933d77
some license stuff
bparrishMines Jan 7, 2026
5bda1d9
initial commit darwin impl
bparrishMines Jan 9, 2026
5db6f0b
update pubspecs and stuff
bparrishMines Jan 9, 2026
e3d62f0
extension doesnt exist
bparrishMines Jan 9, 2026
4e3c707
file is not needed
bparrishMines Jan 9, 2026
f836480
use uint8list for bytes
bparrishMines Jan 10, 2026
8e187ee
change web type
bparrishMines Jan 13, 2026
d1b666e
impl update
bparrishMines Jan 14, 2026
8b424e9
ios impl and update others
bparrishMines Jan 15, 2026
f77a560
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Jan 15, 2026
608d9fd
change to scoped storage
bparrishMines Jan 15, 2026
b9ff187
update docs
bparrishMines Jan 15, 2026
cd34c7c
return null on exception
bparrishMines Jan 15, 2026
b0dee72
update nullable methods
bparrishMines Jan 15, 2026
3fac71b
improve web tests
bparrishMines Jan 15, 2026
e5d762c
update descriptions
bparrishMines Jan 15, 2026
612271d
update android shared to scoped
bparrishMines Jan 15, 2026
14da44b
update android scoped storage
bparrishMines Jan 16, 2026
e44b6f4
add mocks
bparrishMines Jan 16, 2026
964a885
maybe improve android later
bparrishMines Jan 16, 2026
d2aaf84
basic impl
bparrishMines Jan 16, 2026
76d6c03
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Jan 16, 2026
3708c44
finish dart side of impl
bparrishMines Jan 16, 2026
bb6f65c
format and add generated impl
bparrishMines Jan 17, 2026
677c890
add file
bparrishMines Jan 17, 2026
9e51db5
ios impl hopefully
bparrishMines Jan 19, 2026
f92d3c1
it buildssssss
bparrishMines Jan 19, 2026
3e8918c
update old ios code
bparrishMines Jan 21, 2026
21fa116
fix impl
bparrishMines Jan 21, 2026
1cb4c11
use file url and defer
bparrishMines Jan 21, 2026
601ee95
update checking if thing exists
bparrishMines Jan 21, 2026
8b84b23
formatting and docs
bparrishMines Jan 21, 2026
14acd6e
make tests
bparrishMines Jan 21, 2026
82d4833
add extensions
bparrishMines Jan 21, 2026
dd280a2
export extensions and add exception docs
bparrishMines Jan 21, 2026
0373d5e
half of file tests
bparrishMines Jan 21, 2026
38eb1d9
dart unit tests for file
bparrishMines Jan 21, 2026
51a74e2
directory tests
bparrishMines Jan 21, 2026
97f60a6
add stuff and stuff
bparrishMines Jan 23, 2026
bfb9e0a
cross file impl
bparrishMines Jan 26, 2026
ae1aaf3
add context for android example
bparrishMines Jan 26, 2026
aac47fe
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Jan 26, 2026
e419342
update to new impl
bparrishMines Jan 28, 2026
295ea46
generally rewrite readme
bparrishMines Jan 28, 2026
39d4bbc
default implementations for cross file implementations
bparrishMines Jan 28, 2026
fa7f420
add tests for default impl
bparrishMines Jan 28, 2026
b88d137
update docs
bparrishMines Jan 28, 2026
e57c8bb
add base test files
bparrishMines Jan 28, 2026
cf7239e
fix platform implementations
bparrishMines Jan 28, 2026
4201466
directory tests
bparrishMines Jan 30, 2026
16c61f7
scoped storage tests
bparrishMines Jan 30, 2026
4ae04b7
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Feb 5, 2026
da418ab
update replace
bparrishMines Feb 5, 2026
55c6078
remove unused path dep
bparrishMines Feb 5, 2026
410451f
flutter create init
bparrishMines Feb 5, 2026
d4bb9c8
add txt file
bparrishMines Feb 5, 2026
224ac8c
update pubspec but no work
bparrishMines Feb 5, 2026
f91cc32
update to github dependencies
bparrishMines Feb 6, 2026
3420f3d
example version solved
bparrishMines Feb 6, 2026
e825b1a
delet e cross_file_ios
bparrishMines Feb 6, 2026
5a773b1
compiling code
bparrishMines Feb 6, 2026
abb58f2
undo file_selector changes
bparrishMines Feb 6, 2026
1fe476d
fix failing unit tests
bparrishMines Feb 6, 2026
3179eae
some lints
bparrishMines Feb 7, 2026
d447ee9
update android fix maybe
bparrishMines Feb 7, 2026
81597b3
remove old imports
bparrishMines Feb 7, 2026
60edb0d
remove unsued classes
bparrishMines Feb 7, 2026
4ebe1ef
fix example app on android
bparrishMines Feb 7, 2026
a211972
update references to test files
bparrishMines Feb 8, 2026
63d018a
update example app on darwin
bparrishMines Feb 8, 2026
d226f93
update android example app
bparrishMines Feb 8, 2026
4a8e246
try fix tests
bparrishMines Feb 8, 2026
1aa3ec6
fix inputstream test
bparrishMines Feb 8, 2026
92cc9b3
open directory example
bparrishMines Feb 10, 2026
a0aeddb
also works on ios
bparrishMines Feb 10, 2026
1e47058
update example app for main plugin
bparrishMines Feb 10, 2026
e571580
update for macos
bparrishMines Feb 10, 2026
644279b
macos runs
bparrishMines Feb 10, 2026
94c3858
compiles on ios
bparrishMines Feb 10, 2026
4841e6b
export io impl
bparrishMines Feb 10, 2026
1aee6e3
update cross file to ask for start of scoped resource
bparrishMines Feb 10, 2026
bbbc10f
export new files
bparrishMines Feb 10, 2026
9029901
fix code gen
bparrishMines Feb 11, 2026
303c0c5
also sho length
bparrishMines Feb 11, 2026
7e48889
keep bookmarking uris
bparrishMines Feb 11, 2026
b1f38e8
update unit tests
bparrishMines Feb 11, 2026
c1ddce9
start of swift tests maybe
bparrishMines Feb 11, 2026
d974867
create some semblance of unit tests
bparrishMines Feb 12, 2026
88c1c8f
bookmark doesn't call access
bparrishMines Feb 12, 2026
712ae02
ios and macos tests
bparrishMines Feb 12, 2026
f7a242e
darwin usese uri and not file path
bparrishMines Feb 12, 2026
55aa297
update tests
bparrishMines Feb 12, 2026
aac1e0a
update io and platform interface for uri
bparrishMines Feb 12, 2026
4610e83
update web impl
bparrishMines Feb 12, 2026
9be385c
update cross file dep
bparrishMines Feb 12, 2026
1402e67
add filename
bparrishMines Feb 12, 2026
551f04b
update web with factories
bparrishMines Feb 12, 2026
e013d14
add convenient method for xfile
bparrishMines Feb 12, 2026
c935c98
update example docs
bparrishMines Feb 12, 2026
54177e3
update cross_file
bparrishMines Feb 12, 2026
d2b4422
ios and macos run
bparrishMines Feb 12, 2026
87d2fe4
remove print
bparrishMines Feb 12, 2026
3b52614
fix darwin unit tests
bparrishMines Feb 12, 2026
7df932b
fix test running code
bparrishMines Feb 12, 2026
7f90065
remove old cross file
bparrishMines Feb 12, 2026
569cf17
format swift code
bparrishMines Feb 12, 2026
d9095fb
fix docs
bparrishMines Feb 12, 2026
831561b
format linux code
bparrishMines Feb 12, 2026
74d5d04
remove runner tests for darwin in cross_file
bparrishMines Feb 12, 2026
4352bc6
fix licenses
bparrishMines Feb 12, 2026
9bf79ca
add self as topic
bparrishMines Feb 12, 2026
27fcc87
missing web import, supported platform table
bparrishMines Feb 12, 2026
6a2c35e
add self as codeowner
bparrishMines Feb 12, 2026
2d501a2
update dependabot
bparrishMines Feb 12, 2026
7f40e97
fix project validations
bparrishMines Feb 13, 2026
30b062a
Merge branch 'main' of github.com:flutter/packages into new_crossfile
bparrishMines Feb 13, 2026
e2d0f15
change to scoped storage for darwin
bparrishMines Feb 13, 2026
7b34f3d
formatting and fix excerpts
bparrishMines Feb 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ updates:
- /packages/camera/camera_android/example/android/app
- /packages/camera/camera_android_camerax/example/android/app
- /packages/camera/camera/example/android/app
- /packages/cross_file/cross_file/example/android/app
- /packages/cross_file/cross_file_android/android
- /packages/cross_file/cross_file_android/example/android/app
- /packages/espresso/example/android/app
- /packages/extension_google_sign_in_as_googleapis_auth/example/android/app
- /packages/file_selector/file_selector/example/android/app
Expand Down
6 changes: 5 additions & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@

packages/animations/** @hannah-hyj
packages/camera/** @bparrishMines
packages/cross_file/** @stuartmorgan-g
packages/cross_file/** @bparrishMines
packages/cross_file/cross_file_io/** @bparrishMines
packages/extension_google_sign_in_as_googleapis_auth/** @stuartmorgan-g
packages/file_selector/** @stuartmorgan-g
packages/flutter_lints/** @chunhtai
Expand Down Expand Up @@ -54,6 +55,7 @@ third_party/packages/path_parsing/** @domesticmouse

# - Web
packages/camera/camera_web/** @mdebbar
packages/cross_file/cross_file_web/** @bparrishMines
packages/file_selector/file_selector_web/** @mdebbar
packages/google_maps_flutter/google_maps_flutter_web/** @mdebbar
packages/google_sign_in/google_sign_in_web/** @mdebbar
Expand All @@ -67,6 +69,7 @@ packages/webview_flutter/webview_flutter_web/** @mdebbar
# - Android
packages/camera/camera_android/** @camsim99
packages/camera/camera_android_camerax/** @camsim99
packages/cross_file/cross_file_android/** @bparrishMines
packages/espresso/** @jesswrd
packages/file_selector/file_selector_android/** @mboetger
packages/flutter_plugin_android_lifecycle/** @reidbaker
Expand All @@ -85,6 +88,7 @@ packages/webview_flutter/webview_flutter_android/** @bparrishMines

# - Darwin
packages/camera/camera_avfoundation/** @hellohuanlin @louisehsu
packages/cross_file/cross_file_darwin/** @bparrishMines
packages/file_selector/file_selector_ios/** @okorohelijah @vashworth
packages/file_selector/file_selector_macos/** @okorohelijah @vashworth
packages/google_maps_flutter/google_maps_flutter_ios/** @vashworth @LongCatIsLooong
Expand Down
63 changes: 0 additions & 63 deletions packages/cross_file/README.md

This file was deleted.

File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 0.4.0

* Updates `cross_file` to a package separated federated plugin.

## 0.3.5+2

* Separates "Save As" implementation details from XFile web class.
Expand Down
File renamed without changes.
112 changes: 112 additions & 0 deletions packages/cross_file/cross_file/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# cross_file

An abstraction to allow working with files across multiple platforms.

<?code-excerpt path-base="example/lib"?>

[![pub package](https://img.shields.io/pub/v/cross_file.svg)](https://pub.dartlang.org/packages/cross_file)

A Flutter plugin that manages files and interactions with file dialogs.

| | Android | iOS | Linux | macOS | Web | Windows |
|-------------|---------|---------|-------|--------|-----|-------------|
| **Support** | SDK 24+ | iOS 13+ | Any | 10.15+ | Any | Windows 10+ |

## Usage

Import `package:cross_file/cross_file.dart`, instantiate a `XFile`
using a path or byte array and use its methods and properties to
access the file and its metadata.

Example:

<?code-excerpt "readme_excerpts.dart (Instantiate)"?>
```dart
final file = XFile.fromUri(Uri.file('assets/hello.txt'));

debugPrint('File information:');
debugPrint('- URI: ${file.uri}');
debugPrint('- Name: ${await file.name()}');

if (await file.canRead()) {
final String fileContent = await file.readAsString();
debugPrint('Content of the file: $fileContent');
}
```

You will find links to the API docs on the [pub page](https://pub.dev/packages/cross_file).

### Implementation-Specific Features

Classes in this package contain an underlying platform implementation that provides features that
are specific to an implementation.

To access implementation-specific features, start by adding the platform implementation packages to
your app or package:

* **dart:io** [cross_file_io](https://pub.dev/packages/cross_file_io/install)
* **Android Scoped Storage**: [cross_file_android](https://pub.dev/packages/cross_file_android/install)
* **iOS/macOS App Sandbox**: [cross_file_darwin](https://pub.dev/packages/cross_file_darwin/install)
* **Web**: [cross_file_web](https://pub.dev/packages/cross_file_web/install)

Next, add the imports of the implementation packages to your app or package:

<?code-excerpt "readme_excerpts.dart (platform_imports)"?>
```dart
// Import for Darwin App Sandbox features.
import 'package:cross_file_darwin/cross_file_darwin.dart';
// Import for Web features.
import 'package:cross_file_web/cross_file_web.dart';
```

Now, additional features can be accessed through the platform implementations. Classes
[XFile], [XDirectory], [ScopedStorageXFile], and [ScopedStorageXDirectory] pass their
functionality to a class provided by the current platform. Below are a couple of ways to access
additional functionality provided by the platform and is followed by an example.

1. Pass a creation params class provided by a platform implementation to a `fromCreationParams`
constructor (e.g. `XFile.fromCreationParams`, `XDirectory.fromCreationParams`, etc.).
2. Call methods on an implementation of a class by using `getExtension`/`maybeGetExtension` methods (e.g.
`XFile.getExtension`, `XDirectory.maybeGetExtension`, etc.).

Below is an example of setting additional iOS/macOS and Android parameters on a `XFile`.

<?code-excerpt "readme_excerpts.dart (platform_features)"?>
```dart
late final XFile file;

if (CrossFilePlatform.instance is CrossFileWeb) {
final params = WebXFileCreationParams.fromObjectUrl(
objectUrl: 'blob:https://some/url:for/file',
);
file = XFile.fromCreationParams(params);
} else if (CrossFilePlatform.instance is CrossFileDarwin) {
final params = PlatformScopedStorageXFileCreationParams(
uri: Uri.file('/my/file.txt').toString(),
);
file = ScopedStorageXFile.fromCreationParams(params);

await file
.getExtension<DarwinScopedStorageXFileExtension>()
.startAccessingSecurityScopedResource();
} else {
file = XFile.fromUri(Uri.file('/my/file.txt'));
}

debugPrint(await file.readAsString());
await file
.maybeGetExtension<DarwinScopedStorageXFileExtension>()
?.stopAccessingSecurityScopedResource();
```

See https://pub.dev/documentation/cross_file_darwin/latest/cross_file_darwin/cross_file_darwin-library.html
for more details on iOS/macOS App Sandbox features.

See https://pub.dev/documentation/cross_file_android/latest/cross_file_android/cross_file_android-library.html
for more details on Android Scoped Storage features.

See https://pub.dev/documentation/cross_file_io/latest/cross_file_io/cross_file_io-library.html
for more details on `dart:io` features.

See https://pub.dev/documentation/cross_file_web/latest/cross_file_web/cross_file_web-library.html
for more details on Web features.
9 changes: 9 additions & 0 deletions packages/cross_file/cross_file/example/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Platform Implementation Test App

This is a test app for manual testing and automated integration testing
of this platform implementation. It is not intended to demonstrate actual use of
this package, since the intent is that plugin clients use the app-facing
package.

Unless you are making changes to this implementation package, this example is
very unlikely to be relevant.
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
plugins {
id("com.android.application")
id("kotlin-android")
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id("dev.flutter.flutter-gradle-plugin")
}

android {
namespace = "dev.flutter.packages.cross_file_example"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion

compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "dev.flutter.packages.cross_file_example"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
}

buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig = signingConfigs.getByName("debug")
}
}
}

flutter {
source = "../.."
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:label="cross_file_example"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:taskAffinity=""
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
<!-- Required to query activities that can process text, see:
https://developer.android.com/training/package-visibility and
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.

In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
<queries>
<intent>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<data android:mimeType="text/plain"/>
</intent>
</queries>
</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// Copyright 2013 The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

package dev.flutter.packages.cross_file_example

import io.flutter.embedding.android.FlutterActivity

class MainActivity : FlutterActivity()
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />

<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />

<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
Loading
Loading