Remove gallery app and show its new location in the README (#358)
@ -1,79 +0,0 @@
|
||||
# Miscellaneous
|
||||
*.class
|
||||
*.log
|
||||
*.pyc
|
||||
*.swp
|
||||
.DS_Store
|
||||
.atom/
|
||||
.buildlog/
|
||||
.history
|
||||
.svn/
|
||||
.firebase/
|
||||
.flutter-plugins-dependencies
|
||||
|
||||
# IntelliJ related
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
.idea/
|
||||
|
||||
# The .vscode folder contains launch configuration and tasks you configure in
|
||||
# VS Code which you may wish to be included in version control, so this line
|
||||
# is commented out by default.
|
||||
#.vscode/
|
||||
|
||||
# Flutter/Dart/Pub related
|
||||
**/doc/api/
|
||||
.dart_tool/
|
||||
.flutter-plugins
|
||||
.flutter-plugins-dependencies
|
||||
.packages
|
||||
.pub-cache/
|
||||
.pub/
|
||||
/build/
|
||||
|
||||
# Android related
|
||||
**/android/**/gradle-wrapper.jar
|
||||
**/android/.gradle
|
||||
**/android/captures/
|
||||
**/android/gradlew
|
||||
**/android/gradlew.bat
|
||||
**/android/local.properties
|
||||
**/android/**/GeneratedPluginRegistrant.java
|
||||
|
||||
# iOS/XCode related
|
||||
**/ios/**/*.mode1v3
|
||||
**/ios/**/*.mode2v3
|
||||
**/ios/**/*.moved-aside
|
||||
**/ios/**/*.pbxuser
|
||||
**/ios/**/*.perspectivev3
|
||||
**/ios/**/*sync/
|
||||
**/ios/**/.sconsign.dblite
|
||||
**/ios/**/.tags*
|
||||
**/ios/**/.vagrant/
|
||||
**/ios/**/DerivedData/
|
||||
**/ios/**/Icon?
|
||||
**/ios/**/Pods/
|
||||
**/ios/**/.symlinks/
|
||||
**/ios/**/profile
|
||||
**/ios/**/xcuserdata
|
||||
**/ios/.generated/
|
||||
**/ios/Flutter/App.framework
|
||||
**/ios/Flutter/Flutter.framework
|
||||
**/ios/Flutter/Generated.xcconfig
|
||||
**/ios/Flutter/app.flx
|
||||
**/ios/Flutter/app.zip
|
||||
**/ios/Flutter/flutter_assets/
|
||||
**/ios/Flutter/flutter_export_environment.sh
|
||||
**/ios/ServiceDefinitions.json
|
||||
**/ios/Runner/GeneratedPluginRegistrant.*
|
||||
|
||||
# Web related
|
||||
lib/generated_plugin_registrant.dart
|
||||
|
||||
# Exceptions to above rules.
|
||||
!**/ios/**/default.mode1v3
|
||||
!**/ios/**/default.mode2v3
|
||||
!**/ios/**/default.pbxuser
|
||||
!**/ios/**/default.perspectivev3
|
||||
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
|
@ -1,10 +0,0 @@
|
||||
# This file tracks properties of this Flutter project.
|
||||
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
||||
#
|
||||
# This file should be version controlled and should not be manually edited.
|
||||
|
||||
version:
|
||||
revision: f5733f7a62ebc7c2ba324a2b410cd81215956b7d
|
||||
channel: master
|
||||
|
||||
project_type: app
|
@ -1,102 +1,3 @@
|
||||
# Flutter Gallery
|
||||
The Flutter Gallery has moved to [https://github.com/flutter/gallery].
|
||||
|
||||
Flutter Gallery is a resource to help developers evaluate and use Flutter.
|
||||
It is a collection of Material Design & Cupertino widgets, behaviors, and vignettes
|
||||
implemented with Flutter. We often get asked how one can see Flutter in action,
|
||||
and this gallery demonstrates what Flutter provides and how it behaves in the
|
||||
wild.
|
||||
|
||||

|
||||
|
||||
## Supported Platforms
|
||||
|
||||
Flutter Gallery has been built to support multiple platforms.
|
||||
This includes:
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- web
|
||||
- macOS
|
||||
- Linux
|
||||
- Windows
|
||||
|
||||
That being said, extra steps must be taken to [enable Desktop support](
|
||||
https://github.com/flutter/flutter/wiki/Desktop-shells#tooling). For
|
||||
example, to run the macOS app:
|
||||
|
||||
```
|
||||
cd gallery/
|
||||
flutter config --enable-macos-desktop
|
||||
flutter create .
|
||||
flutter run -d macos
|
||||
```
|
||||
|
||||
Additionally, the UI adapts between mobile and desktop layouts regardless of the
|
||||
platform it runs on. This is determined based on window size as outlined in
|
||||
[adaptive.dart](lib/layout/adaptive.dart).
|
||||
|
||||
## To include a new splash animation
|
||||
|
||||
1. Convert your animation to a `.gif` file.
|
||||
Ideally, use a background color of `0xFF030303` to ensure the animation
|
||||
blends into the background of the app.
|
||||
|
||||
2. Add your new `.gif` file to the assets directory under
|
||||
`assets/splash_effects`. Ensure the name follows the format
|
||||
`splash_effect_$num.gif`. The number should be the next number after the
|
||||
current largest number in the repository.
|
||||
|
||||
3. Update the map `_effectDurations` in
|
||||
[splash.dart](lib/pages/splash.dart) to include the number of the
|
||||
new `.gif` as well as its estimated duration. The duration is used to
|
||||
determine how long to display the splash animation at launch.
|
||||
|
||||
## Generating localized strings and highlighted code segments
|
||||
|
||||
To generate localized strings or highlighted code segments, make sure that you
|
||||
have [grinder](https://pub.dev/packages/grinder) installed. You can install it
|
||||
by getting the packages in `samples/gallery/`:
|
||||
```
|
||||
flutter pub get
|
||||
```
|
||||
|
||||
To generate localized strings (see separate [README](lib/l10n/README.md)
|
||||
for more details):
|
||||
|
||||
```
|
||||
flutter pub run grinder l10n
|
||||
```
|
||||
|
||||
To generate code segments (see separate [README](tool/codeviewer_cli/README.md) for
|
||||
more details):
|
||||
```
|
||||
flutter pub run grinder update-code-segments
|
||||
```
|
||||
|
||||
## Creating a new release (for Flutter org members)
|
||||
|
||||
1. Bump the version number up in the `pubspec.yaml`. Use semantic versioning to determine
|
||||
which number to increment. For example `2.2.0+020200` should become `2.3.0+020300`.
|
||||
|
||||
2. Create a tag on the `master` branch of this repo in the form of `gallery-v2.3`.
|
||||
* `git tag gallery-v2.3`
|
||||
* `git push --tags`
|
||||
|
||||
3. Publish the web release (using the [peanut package](https://pub.dev/packages/peanut)).
|
||||
* `flutter pub global activate peanut`
|
||||
* `flutter pub global run peanut:peanut`
|
||||
* `git push upstream gh-pages:gh-pages`
|
||||
* `git update-ref refs/heads/gh-pages upstream/gh-pages` if you need to align with upstream.
|
||||
|
||||
4. Publish the Android release (using the correct signing certificates).
|
||||
* Create the app bundle with `flutter build appbundle`.
|
||||
* Upload to the Play store console.
|
||||
* Publish the Play store release.
|
||||
* Create the APK with `flutter build apk` (this is for the Github release).
|
||||
|
||||
5. Draft a release in Github from the tag you created, call the release `Flutter Gallery 2.3`
|
||||
* Upload the Android APK from above.
|
||||
* Create and upload the macOS build by running `flutter build macos` and zipping the
|
||||
app inside `build/macos/Build/Products/Release`.
|
||||
* Optional: Create and upload the Linux/Windows builds.
|
||||
* Publish the release.
|
||||
The new URL for the Gallery running on web is [https://flutter.github.io/gallery].
|
@ -1,33 +0,0 @@
|
||||
include: package:pedantic/analysis_options.1.8.0.yaml
|
||||
|
||||
analyzer:
|
||||
exclude:
|
||||
- lib/l10n/messages_*.dart
|
||||
strong-mode:
|
||||
implicit-casts: false
|
||||
implicit-dynamic: false
|
||||
|
||||
linter:
|
||||
rules:
|
||||
- avoid_types_on_closure_parameters
|
||||
- avoid_void_async
|
||||
- await_only_futures
|
||||
- camel_case_types
|
||||
- cancel_subscriptions
|
||||
- close_sinks
|
||||
- constant_identifier_names
|
||||
- control_flow_in_finally
|
||||
- empty_statements
|
||||
- hash_and_equals
|
||||
- implementation_imports
|
||||
- non_constant_identifier_names
|
||||
- package_api_docs
|
||||
- package_names
|
||||
- package_prefixed_library_names
|
||||
- test_types_in_equals
|
||||
- throw_in_finally
|
||||
- unnecessary_brace_in_string_interps
|
||||
- unnecessary_getters_setters
|
||||
- unnecessary_new
|
||||
- unnecessary_statements
|
||||
- directives_ordering
|
@ -1,12 +0,0 @@
|
||||
gradle-wrapper.jar
|
||||
/.gradle
|
||||
/captures/
|
||||
/gradlew
|
||||
/gradlew.bat
|
||||
/local.properties
|
||||
GeneratedPluginRegistrant.java
|
||||
|
||||
# Visual Studio Code related
|
||||
.classpath
|
||||
.project
|
||||
.settings/
|
@ -1,66 +0,0 @@
|
||||
def localProperties = new Properties()
|
||||
def localPropertiesFile = rootProject.file('local.properties')
|
||||
if (localPropertiesFile.exists()) {
|
||||
localPropertiesFile.withReader('UTF-8') { reader ->
|
||||
localProperties.load(reader)
|
||||
}
|
||||
}
|
||||
|
||||
def flutterRoot = localProperties.getProperty('flutter.sdk')
|
||||
if (flutterRoot == null) {
|
||||
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
|
||||
}
|
||||
|
||||
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
|
||||
if (flutterVersionCode == null) {
|
||||
flutterVersionCode = '1'
|
||||
}
|
||||
|
||||
def flutterVersionName = localProperties.getProperty('flutter.versionName')
|
||||
if (flutterVersionName == null) {
|
||||
flutterVersionName = '1.0'
|
||||
}
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion 28
|
||||
|
||||
sourceSets {
|
||||
main.java.srcDirs += 'src/main/kotlin'
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
disable 'InvalidPackage'
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId "io.flutter.demo.gallery"
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 28
|
||||
versionCode flutterVersionCode.toInteger()
|
||||
versionName flutterVersionName
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
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.debug
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
flutter {
|
||||
source '../..'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
testImplementation 'junit:junit:4.12'
|
||||
androidTestImplementation 'androidx.test:runner:1.1.0'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="io.flutter.demo.gallery">
|
||||
<!-- Flutter 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>
|
@ -1,33 +0,0 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="io.flutter.demo.gallery">
|
||||
|
||||
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
|
||||
calls FlutterMain.startInitialization(this); in its onCreate method.
|
||||
In most cases you can leave this as-is, but you if you want to provide
|
||||
additional functionality it is fine to subclass or reimplement
|
||||
FlutterApplication and put your custom class here. -->
|
||||
<application
|
||||
android:name="io.flutter.app.FlutterApplication"
|
||||
android:label="Flutter Gallery"
|
||||
android:icon="@mipmap/ic_launcher">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
||||
android:launchMode="singleTop"
|
||||
android:theme="@style/LaunchTheme"
|
||||
android:hardwareAccelerated="true"
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
<!-- This keeps the window background of the activity showing
|
||||
until Flutter renders its first frame. It can be removed if
|
||||
there is no splash screen (such as the default splash screen
|
||||
defined in @style/LaunchTheme). -->
|
||||
<meta-data
|
||||
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
|
||||
android:value="true" />
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
</manifest>
|
Before Width: | Height: | Size: 23 KiB |
@ -1,13 +0,0 @@
|
||||
package io.flutter.demo.gallery
|
||||
|
||||
import android.os.Bundle
|
||||
|
||||
import io.flutter.app.FlutterActivity
|
||||
import io.flutter.plugins.GeneratedPluginRegistrant
|
||||
|
||||
class MainActivity: FlutterActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
GeneratedPluginRegistrant.registerWith(this)
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
<?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="@color/backgroundColor" />
|
||||
|
||||
<!-- You can insert your own image assets here -->
|
||||
<!-- <item>
|
||||
<bitmap
|
||||
android:gravity="center"
|
||||
android:src="@mipmap/launch_image" />
|
||||
</item> -->
|
||||
</layer-list>
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 375 B |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 240 B |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 517 B |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 905 B |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 12 KiB |
@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
|
||||
<!-- Show a splash screen on the activity. Automatically removed when
|
||||
Flutter draws its first frame -->
|
||||
<item name="android:windowBackground">@drawable/launch_background</item>
|
||||
</style>
|
||||
<color name="backgroundColor">#030303</color>
|
||||
</resources>
|
@ -1,7 +0,0 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="io.flutter.demo.gallery">
|
||||
<!-- Flutter 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>
|
@ -1,31 +0,0 @@
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.2.71'
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.2.1'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.buildDir = '../build'
|
||||
subprojects {
|
||||
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
||||
}
|
||||
subprojects {
|
||||
project.evaluationDependsOn(':app')
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
org.gradle.jvmargs=-Xmx1536M
|
||||
|
||||
android.enableR8=true
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
@ -1,6 +0,0 @@
|
||||
#Fri Jun 23 08:50:38 CEST 2017
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
|
@ -1,15 +0,0 @@
|
||||
include ':app'
|
||||
|
||||
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
|
||||
|
||||
def plugins = new Properties()
|
||||
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
|
||||
if (pluginsFile.exists()) {
|
||||
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
|
||||
}
|
||||
|
||||
plugins.each { name, path ->
|
||||
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
|
||||
include ":$name"
|
||||
project(":$name").projectDir = pluginDirectory
|
||||
}
|
Before Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 200 KiB |
Before Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 217 KiB |
Before Width: | Height: | Size: 157 KiB |
Before Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 173 KiB |
Before Width: | Height: | Size: 169 KiB |
Before Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 253 KiB |
Before Width: | Height: | Size: 201 KiB |
Before Width: | Height: | Size: 310 KiB |
Before Width: | Height: | Size: 192 KiB |
Before Width: | Height: | Size: 218 KiB |
Before Width: | Height: | Size: 194 KiB |
Before Width: | Height: | Size: 284 KiB |
Before Width: | Height: | Size: 237 KiB |
Before Width: | Height: | Size: 160 KiB |
Before Width: | Height: | Size: 232 KiB |
Before Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 194 KiB |
Before Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 209 KiB |
Before Width: | Height: | Size: 218 KiB |
Before Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 284 KiB |
Before Width: | Height: | Size: 158 KiB |
Before Width: | Height: | Size: 201 KiB |
Before Width: | Height: | Size: 140 KiB |
Before Width: | Height: | Size: 209 KiB |
Before Width: | Height: | Size: 253 KiB |
Before Width: | Height: | Size: 227 KiB |
Before Width: | Height: | Size: 421 KiB |
Before Width: | Height: | Size: 165 KiB |
Before Width: | Height: | Size: 381 KiB |
Before Width: | Height: | Size: 211 KiB |
Before Width: | Height: | Size: 151 KiB |
Before Width: | Height: | Size: 442 KiB |
Before Width: | Height: | Size: 335 KiB |
Before Width: | Height: | Size: 299 KiB |
Before Width: | Height: | Size: 365 KiB |
Before Width: | Height: | Size: 348 KiB |
Before Width: | Height: | Size: 343 KiB |
Before Width: | Height: | Size: 447 KiB |
Before Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 557 KiB |
Before Width: | Height: | Size: 425 KiB |
Before Width: | Height: | Size: 670 KiB |
Before Width: | Height: | Size: 409 KiB |
Before Width: | Height: | Size: 449 KiB |
Before Width: | Height: | Size: 417 KiB |
Before Width: | Height: | Size: 568 KiB |
Before Width: | Height: | Size: 480 KiB |
Before Width: | Height: | Size: 337 KiB |
Before Width: | Height: | Size: 463 KiB |