diff --git a/.husky/.gitignore b/.husky/.gitignore
new file mode 100644
index 000000000..31354ec13
--- /dev/null
+++ b/.husky/.gitignore
@@ -0,0 +1 @@
+_
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100644
index 000000000..146c0dfd0
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/bin/sh
+. "$(dirname "$0")/_/husky.sh"
+
+npx lint-staged --allow-empty
diff --git a/README.md b/README.md
index 4754899a3..1db8858b7 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,69 @@ npm start
- @nativescript/canvas-polyfill
- @nativescript/canvas-three
+# How to use?
-## License
+This workspace manages the suite of plugins listed above.
+
+In general, when in doubt with what to do, just `npm start`.
+
+```bash
+npm run setup
+npm start
+
+// Ensure all plugins build properly first
+> type "build-all" (and hit ENTER)
+```
+
+If you don't build all the plugins, you will at least need to build `localize` to run the demos because it contains `hooks` that need to be built first.
+
+If building only `localize`, type: `npm start` > `localize` (this will narrow down menu to `@nativescript.localize.build`) and then hit 'enter'. You can now run the demo apps.
+
+In general, when in doubt with what to do, just `npm start`.
+
+## How to add a new package to workspace?
+
+```bash
+npm run add
+```
+
+At the prompt, enter the name of the new package.
+
+- This adds a plugin harness in `packages` with the necessary boilerplate to just start developing
+- Updates all demo app flavors to support demoing the new package
+- Adds shared code in `tools/demo` where you can write demo code **once** and share across all demo flavors
+- Updates build tooling to support the new package
+- Updates the `npm start` interactive display
+- Updates the README here to list the new package
+
+## How to add Angular compatibility to a package
+
+```bash
+npm run add-angular
+```
+
+At the prompt, enter the name of the package to add an `angular` folder to it with the necessary boilerplate to provide Angular support to the package.
+
+## How to focus on just 1 package to develop in isolation
+
+```bash
+npm start
+```
+
+- Choose the focus commands for the package you wish to focus on and hit enter.
+- All the demo app's will be updated to isolate that 1 package and for supported IDE's (currently VS Code), the source code will also become isolated in the workspace.
+
+Note: _good to always clean the demo you plan to run after focusing. (You can clean any demo from `npm start` as well)_
+
+## How to publish packages?
+
+```bash
+npm run publish-packages
+```
+
+- You will be prompted for the package names to publish. Leaving blank and hitting enter will publish them all.
+- You will then be prompted for the version to use. Leaving blank will auto bump the patch version (it also handles prerelease types like alpha, beta, rc, etc. - It even auto tags the corresponding prelease type on npm).
+- You will then be given a brief sanity check 🧠😊
+
+
Made with ❤️
-Apache License 2.0
diff --git a/apps/demo-angular/package.json b/apps/demo-angular/package.json
index 61b88655a..a267708c1 100644
--- a/apps/demo-angular/package.json
+++ b/apps/demo-angular/package.json
@@ -1,20 +1,7 @@
{
- "main": "main.js",
+ "main": "./src/main.ts",
"dependencies": {
- "@angular/animations": "file:../../node_modules/@angular/animations",
- "@angular/common": "file:../../node_modules/@angular/common",
- "@angular/compiler": "file:../../node_modules/@angular/compiler",
- "@angular/core": "file:../../node_modules/@angular/core",
- "@angular/forms": "file:../../node_modules/@angular/forms",
- "@angular/platform-browser": "file:../../node_modules/@angular/platform-browser",
- "@angular/platform-browser-dynamic": "file:../../node_modules/@angular/platform-browser-dynamic",
- "@angular/router": "file:../../node_modules/@angular/router",
- "@nativescript/angular": "file:../../node_modules/@nativescript/angular",
"@nativescript/core": "file:../../node_modules/@nativescript/core",
- "nativescript-theme-core": "file:../../node_modules/nativescript-theme-core",
- "reflect-metadata": "file:../../node_modules/reflect-metadata",
- "rxjs": "file:../../node_modules/rxjs",
- "zone.js": "file:../../node_modules/zone.js",
"@nativescript/canvas-media": "file:../../dist/packages/canvas-media",
"@nativescript/canvas": "file:../../dist/packages/canvas",
"@nativescript/canvas-babylon": "file:../../dist/packages/canvas-babylon",
@@ -25,11 +12,7 @@
"@nativescript/canvas-three": "file:../../dist/packages/canvas-three"
},
"devDependencies": {
- "@angular/compiler-cli": "file:../../node_modules/@angular/compiler-cli",
- "@nativescript/android": "~7.0.0",
- "@nativescript/ios": "7.0.0",
- "@nativescript/webpack": "~3.0.0",
- "@ngtools/webpack": "file:../../node_modules/@ngtools/webpack",
- "typescript": "file:../../node_modules/typescript"
+ "@nativescript/android": "8.0.0",
+ "@nativescript/ios": "8.0.0"
}
-}
+}
\ No newline at end of file
diff --git a/apps/demo-angular/src/app.css b/apps/demo-angular/src/app.scss
similarity index 70%
rename from apps/demo-angular/src/app.css
rename to apps/demo-angular/src/app.scss
index 386a8eec0..882864e33 100644
--- a/apps/demo-angular/src/app.css
+++ b/apps/demo-angular/src/app.scss
@@ -1,4 +1,5 @@
-@import '~nativescript-theme-core/css/core.light.css';
+@import 'nativescript-theme-core/scss/light';
+ @import 'nativescript-theme-core/scss/index';
button, label, stack-layout {
horizontal-align: center;
diff --git a/apps/demo-angular/src/main.ts b/apps/demo-angular/src/main.ts
index b6b1db38e..1658c2cf6 100644
--- a/apps/demo-angular/src/main.ts
+++ b/apps/demo-angular/src/main.ts
@@ -1,4 +1,7 @@
-import { platformNativeScriptDynamic } from "@nativescript/angular";
-import { AppModule } from "./app.module";
+import { runNativeScriptAngularApp, platformNativeScript } from '@nativescript/angular';
+import { AppModule } from './app.module';
-platformNativeScriptDynamic().bootstrapModule(AppModule);
\ No newline at end of file
+runNativeScriptAngularApp({
+ appModuleBootstrap: () => platformNativeScript().bootstrapModule(AppModule),
+});
+
\ No newline at end of file
diff --git a/apps/demo-angular/src/polyfills.ts b/apps/demo-angular/src/polyfills.ts
new file mode 100644
index 000000000..8880ecc7e
--- /dev/null
+++ b/apps/demo-angular/src/polyfills.ts
@@ -0,0 +1,21 @@
+/**
+* NativeScript Polyfills
+*/
+
+// Install @nativescript/core polyfills (XHR, setTimeout, requestAnimationFrame)
+import '@nativescript/core/globals';
+// Install @nativescript/angular specific polyfills
+import '@nativescript/angular/polyfills';
+
+/**
+* Zone.js and patches
+*/
+// Add pre-zone.js patches needed for the NativeScript platform
+import '@nativescript/zone-js/dist/pre-zone-polyfills';
+
+// Zone JS is required by default for Angular itself
+import 'zone.js';
+
+// Add NativeScript specific Zone JS patches
+import '@nativescript/zone-js';
+
\ No newline at end of file
diff --git a/apps/demo-angular/tsconfig.json b/apps/demo-angular/tsconfig.json
index 73c4fc206..e3e8d80e6 100644
--- a/apps/demo-angular/tsconfig.json
+++ b/apps/demo-angular/tsconfig.json
@@ -1,13 +1,26 @@
{
- "extends": "../../tsconfig.base.json",
- "compilerOptions": {
- "rootDirs": [".", "../.."],
- "baseUrl": ".",
- "paths": {
- "~/*": ["src/*"],
- "@nativescript/*": ["../../dist/packages/*"],
- "@demo/shared": ["../../tools/demo/index.ts"]
- }
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "rootDirs": [
+ ".",
+ "../.."
+ ],
+ "baseUrl": ".",
+ "paths": {
+ "~/*": [
+ "src/*"
+ ],
+ "@nativescript/*": [
+ "../../dist/packages/*"
+ ],
+ "@demo/shared": [
+ "../../tools/demo/index.ts"
+ ]
+ }
},
- "files": ["./references.d.ts", "./src/main.ts"],
-}
+ "files": [
+ "./references.d.ts",
+ "./src/main.ts",
+ "./src/polyfills.ts"
+ ]
+}
\ No newline at end of file
diff --git a/apps/demo-angular/webpack.config.js b/apps/demo-angular/webpack.config.js
index fe48a4331..daf3cbd95 100644
--- a/apps/demo-angular/webpack.config.js
+++ b/apps/demo-angular/webpack.config.js
@@ -1,436 +1,22 @@
-const { join, relative, resolve, sep, dirname } = require('path');
-const fs = require('fs');
+const webpack = require('@nativescript/webpack');
+const { resolve } = require('path');
-const webpack = require('webpack');
-const nsWebpack = require('@nativescript/webpack');
-const nativescriptTarget = require('@nativescript/webpack/nativescript-target');
-const {
- nsSupportHmrNg
-} = require('@nativescript/webpack/transformers/ns-support-hmr-ng');
-const { nsTransformNativeClassesNg } = require("@nativescript/webpack/transformers/ns-transform-native-classes-ng");
-const {
- getMainModulePath
-} = require('@nativescript/webpack/utils/ast-utils');
-const { getNoEmitOnErrorFromTSConfig, getCompilerOptionsFromTSConfig } = require("@nativescript/webpack/utils/tsconfig-utils");
-const { CleanWebpackPlugin } = require('clean-webpack-plugin');
-const CopyWebpackPlugin = require('copy-webpack-plugin');
-const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
-const {
- NativeScriptWorkerPlugin
-} = require('nativescript-worker-loader/NativeScriptWorkerPlugin');
-const TerserPlugin = require('terser-webpack-plugin');
-const {
- getAngularCompilerPlugin
-} = require('@nativescript/webpack/plugins/NativeScriptAngularCompilerPlugin');
-const hashSalt = Date.now().toString();
+module.exports = (env) => {
-module.exports = env => {
- // Add your custom Activities, Services and other Android app components here.
- const appComponents = [
- "@nativescript/core/ui/frame", "@nativescript/core/ui/frame/activity"
- ];
+ webpack.init(env);
+ webpack.useConfig('angular');
- const platform = env && ((env.android && 'android') || (env.ios && 'ios'));
- if (!platform) {
- throw new Error('You need to provide a target platform!');
- }
-
- const AngularCompilerPlugin = getAngularCompilerPlugin(platform);
- const projectRoot = __dirname;
-
- // Default destination inside platforms//...
- const dist = resolve(
- projectRoot,
- nsWebpack.getAppPath(platform, projectRoot)
- );
-
- const {
- // The 'appPath' and 'appResourcesPath' values are fetched from
- // the nsconfig.json configuration file
- // when bundling with `tns run android|ios --bundle`.
- appPath = 'src',
- appResourcesPath = 'App_Resources',
-
- // You can provide the following flags when running 'tns run android|ios'
- snapshot, // --env.snapshot,
- production, // --env.production
- uglify, // --env.uglify
- report, // --env.report
- sourceMap, // --env.sourceMap
- hiddenSourceMap, // --env.hiddenSourceMap
- hmr, // --env.hmr,
- unitTesting, // --env.unitTesting
- testing, // --env.testing
- verbose, // --env.verbose
- ci, // --env.ci
- snapshotInDocker, // --env.snapshotInDocker
- skipSnapshotTools, // --env.skipSnapshotTools
- compileSnapshot // --env.compileSnapshot
- } = env;
-
- const useLibs = compileSnapshot;
- const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap;
- const externals = nsWebpack.getConvertedExternals(env.externals);
- const appFullPath = resolve(projectRoot, appPath);
- const appResourcesFullPath = resolve(projectRoot, appResourcesPath);
- let tsConfigName = 'tsconfig.json';
- let tsConfigTnsName = 'tsconfig.tns.json';
- let tsConfigPath = resolve(projectRoot, tsConfigName);
- const tsConfigTnsPath = resolve(projectRoot, tsConfigTnsName);
- if (fs.existsSync(tsConfigTnsPath)) {
- // still support shared angular app configurations
- tsConfigName = tsConfigTnsName;
- tsConfigPath = tsConfigTnsPath;
- }
- const entryModule = `${nsWebpack.getEntryModule(appFullPath, platform)}.ts`;
- const entryPath = `.${sep}${entryModule}`;
- const entries = { bundle: entryPath };
- const areCoreModulesExternal =
- Array.isArray(env.externals) &&
- env.externals.some(e => e.indexOf('@nativescript') > -1);
- if (platform === 'ios' && !areCoreModulesExternal && !testing) {
- entries['tns_modules/@nativescript/core/inspector_modules'] =
- 'inspector_modules';
- }
-
- const compilerOptions = getCompilerOptionsFromTSConfig(tsConfigPath);
- nsWebpack.processTsPathsForScopedModules({ compilerOptions });
- nsWebpack.processTsPathsForScopedAngular({ compilerOptions });
-
- const ngCompilerTransformers = [nsTransformNativeClassesNg];
- const additionalLazyModuleResources = [];
-
- const copyIgnore = { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] };
- const copyTargets = [
- { from: 'assets/**', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } },
- { from: 'fonts/**', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } },
- ];
-
- if (!production) {
- // for development purposes only
- // for example, include mock json folder
- // copyTargets.push({ from: 'tools/mockdata', to: 'assets/mockdata' });
-
- if (hmr) {
- ngCompilerTransformers.push(nsSupportHmrNg);
- }
- }
-
- // when "@angular/core" is external, it's not included in the bundles. In this way, it will be used
- // directly from node_modules and the Angular modules loader won't be able to resolve the lazy routes
- // fixes https://github.com/NativeScript/nativescript-cli/issues/4024
- if (env.externals && env.externals.indexOf('@angular/core') > -1) {
- const appModuleRelativePath = getMainModulePath(
- resolve(appFullPath, entryModule),
- tsConfigName
- );
- if (appModuleRelativePath) {
- const appModuleFolderPath = dirname(
- resolve(appFullPath, appModuleRelativePath)
- );
- // include the new lazy loader path in the allowed ones
- additionalLazyModuleResources.push(appModuleFolderPath);
- }
- }
-
- const ngCompilerPlugin = new AngularCompilerPlugin({
- hostReplacementPaths: nsWebpack.getResolver([platform, 'tns']),
- platformTransformers: ngCompilerTransformers.map(t =>
- t(() => ngCompilerPlugin, resolve(appFullPath, entryModule), projectRoot)
- ),
- mainPath: join(appFullPath, entryModule),
- tsConfigPath,
- skipCodeGeneration: false,
- sourceMap: !!isAnySourceMapEnabled,
- additionalLazyModuleResources: additionalLazyModuleResources,
- compilerOptions: { paths: compilerOptions.paths }
+ webpack.chainWebpack((config) => {
+ // shared demo code
+ config.resolve.alias.set('@demo/shared', resolve(__dirname, '..', '..', 'tools', 'demo'));
});
- let sourceMapFilename = nsWebpack.getSourceMapFilename(
- hiddenSourceMap,
- __dirname,
- dist
- );
-
- const itemsToClean = [`${dist}/**/*`];
- if (platform === 'android') {
- itemsToClean.push(
- `${join(
- projectRoot,
- 'platforms',
- 'android',
- 'app',
- 'src',
- 'main',
- 'assets',
- 'snapshots'
- )}`
- );
- itemsToClean.push(
- `${join(
- projectRoot,
- 'platforms',
- 'android',
- 'app',
- 'build',
- 'configurations',
- 'nativescript-android-snapshot'
- )}`
- );
- }
-
- const noEmitOnErrorFromTSConfig = getNoEmitOnErrorFromTSConfig(tsConfigName);
-
- nsWebpack.processAppComponents(appComponents, platform);
- const config = {
- mode: production ? 'production' : 'development',
- context: appFullPath,
- externals,
- watchOptions: {
- ignored: [
- appResourcesFullPath,
- // Don't watch hidden files
- '**/.*'
- ]
- },
- target: nativescriptTarget,
- entry: entries,
- output: {
- pathinfo: false,
- path: dist,
- sourceMapFilename,
- libraryTarget: 'commonjs2',
- filename: '[name].js',
- globalObject: 'global',
- hashSalt
- },
- resolve: {
- extensions: ['.ts', '.js', '.scss', '.css'],
- // Resolve {N} system modules from @nativescript/core
- modules: [
- resolve(__dirname, 'node_modules/@nativescript/core'),
- resolve(__dirname, 'node_modules'),
- 'node_modules/@nativescript/core',
- 'node_modules'
- ],
- alias: {
- '~/package.json': resolve(projectRoot, 'package.json'),
- '~': appFullPath,
- "tns-core-modules": "@nativescript/core",
- "nativescript-angular": "@nativescript/angular",
- '@demo/shared': resolve(projectRoot, '..', '..', 'tools', 'demo')
- },
- symlinks: true
- },
- resolveLoader: {
- symlinks: false
- },
- node: {
- // Disable node shims that conflict with NativeScript
- http: false,
- timers: false,
- setImmediate: false,
- fs: 'empty',
- __dirname: false
- },
- devtool: hiddenSourceMap
- ? 'hidden-source-map'
- : sourceMap
- ? 'inline-source-map'
- : 'none',
- optimization: {
- runtimeChunk: 'single',
- noEmitOnErrors: noEmitOnErrorFromTSConfig,
- splitChunks: {
- cacheGroups: {
- vendor: {
- name: 'vendor',
- chunks: 'all',
- test: (module, chunks) => {
- const moduleName = module.nameForCondition
- ? module.nameForCondition()
- : '';
- return (
- /[\\/]node_modules[\\/]/.test(moduleName) ||
- appComponents.some(comp => comp === moduleName)
- );
- },
- enforce: true
- }
- }
- },
- minimize: !!uglify,
- minimizer: [
- new TerserPlugin({
- parallel: true,
- cache: !ci,
- sourceMap: isAnySourceMapEnabled,
- terserOptions: {
- output: {
- comments: false,
- semicolons: !isAnySourceMapEnabled
- },
- compress: {
- // The Android SBG has problems parsing the output
- // when these options are enabled
- collapse_vars: platform !== 'android',
- sequences: platform !== 'android',
- // custom
- drop_console: true,
- drop_debugger: true,
- ecma: 6,
- keep_infinity: platform === 'android', // for Chrome/V8
- reduce_funcs: platform !== 'android', // for Chrome/V8
- global_defs: {
- __UGLIFIED__: true
- }
- },
- // custom
- ecma: 6,
- safari10: platform !== 'android'
- }
- })
- ]
- },
- module: {
- rules: [
- {
- include: join(appFullPath, entryPath),
- use: [
- // Require all Android app components
- platform === 'android' && {
- loader: '@nativescript/webpack/helpers/android-app-components-loader',
- options: { modules: appComponents }
- },
-
- {
- loader: '@nativescript/webpack/bundle-config-loader',
- options: {
- angular: true,
- loadCss: !snapshot, // load the application css if in debug mode
- unitTesting,
- appFullPath,
- projectRoot,
- ignoredFiles: nsWebpack.getUserDefinedEntries(entries, platform)
- }
- }
- ].filter(loader => !!loader)
- },
-
- { test: /\.html$|\.xml$/, use: 'raw-loader' },
-
- {
- test: /[\/|\\]app\.css$/,
- use: [
- '@nativescript/webpack/helpers/style-hot-loader',
- {
- loader: "@nativescript/webpack/helpers/css2json-loader",
- options: { useForImports: true }
- },
- ],
- },
- {
- test: /[\/|\\]app\.scss$/,
- use: [
- '@nativescript/webpack/helpers/style-hot-loader',
- {
- loader: "@nativescript/webpack/helpers/css2json-loader",
- options: { useForImports: true }
- },
- 'sass-loader',
- ],
- },
-
- // Angular components reference css files and their imports using raw-loader
- { test: /\.css$/, exclude: /[\/|\\]app\.css$/, use: 'raw-loader' },
- {
- test: /\.scss$/,
- exclude: /[\/|\\]app\.scss$/,
- use: ['raw-loader', 'resolve-url-loader', 'sass-loader']
- },
-
- {
- test: /(?:\.ngfactory\.js|\.ngstyle\.js|\.ts)$/,
- use: [
- '@nativescript/webpack/helpers/moduleid-compat-loader',
- '@nativescript/webpack/helpers/lazy-ngmodule-hot-loader',
- '@ngtools/webpack'
- ]
- },
-
- // Mark files inside `@angular/core` as using SystemJS style dynamic imports.
- // Removing this will cause deprecation warnings to appear.
- {
- test: /[\/\\]@angular[\/\\]core[\/\\].+\.js$/,
- parser: { system: true }
- }
- ]
- },
- plugins: [
- // Define useful constants like TNS_WEBPACK
- new webpack.DefinePlugin({
- 'global.TNS_WEBPACK': 'true',
- 'global.isAndroid': platform === 'android',
- 'global.isIOS': platform === 'ios',
- process: 'global.process'
- }),
- // Remove all files from the out dir.
- new CleanWebpackPlugin({
- cleanOnceBeforeBuildPatterns: itemsToClean,
- verbose: !!verbose
- }),
- // Copy assets
- new CopyWebpackPlugin({
- patterns: copyTargets,
- }),
- new nsWebpack.GenerateNativeScriptEntryPointsPlugin('bundle'),
- // For instructions on how to set up workers with webpack
- // check out https://github.com/nativescript/worker-loader
- new NativeScriptWorkerPlugin(),
- ngCompilerPlugin,
- // Does IPC communication with the {N} CLI to notify events when running in watch mode.
- new nsWebpack.WatchStateLoggerPlugin()
- ]
- };
-
- if (report) {
- // Generate report files for bundles content
- config.plugins.push(
- new BundleAnalyzerPlugin({
- analyzerMode: 'static',
- openAnalyzer: false,
- generateStatsFile: true,
- reportFilename: resolve(projectRoot, 'report', `report.html`),
- statsFilename: resolve(projectRoot, 'report', `stats.json`)
- })
- );
- }
-
- if (snapshot) {
- config.plugins.push(
- new nsWebpack.NativeScriptSnapshotPlugin({
- chunk: 'vendor',
- angular: true,
- requireModules: [
- 'reflect-metadata',
- '@angular/platform-browser',
- '@angular/core',
- '@angular/common',
- '@angular/router',
- '@nativescript/angular'
- ],
- projectRoot,
- webpackConfig: config,
- snapshotInDocker,
- skipSnapshotTools,
- useLibs
- })
- );
- }
-
- if (!production && hmr) {
- config.plugins.push(new webpack.HotModuleReplacementPlugin());
- }
+ // Example if you need to share images across demo apps:
+ // webpack.Utils.addCopyRule({
+ // from: '../../../tools/images',
+ // to: 'images',
+ // context: webpack.Utils.project.getProjectFilePath('node_modules')
+ // });
- return config;
-};
\ No newline at end of file
+ return webpack.resolveConfig();
+};
diff --git a/apps/demo-vue/package.json b/apps/demo-vue/package.json
index 6a93fa7d2..b045095ec 100644
--- a/apps/demo-vue/package.json
+++ b/apps/demo-vue/package.json
@@ -1,7 +1,6 @@
{
- "main": "app.js",
+ "main": "./app/app.ts",
"dependencies": {
- "nativescript-theme-core": "file:../../node_modules/nativescript-theme-core",
"nativescript-vue": "file:../../node_modules/nativescript-vue",
"@nativescript/core": "file:../../node_modules/@nativescript/core",
"@nativescript/canvas-media": "file:../../packages/canvas-media",
@@ -14,23 +13,7 @@
"@nativescript/canvas-three": "file:../../packages/canvas-three"
},
"devDependencies": {
- "@types/chai": "^4.1.4",
- "@types/mocha": "^5.2.5",
- "@types/node": "10.5.7",
- "@babel/core": "~7.1.0",
- "@babel/preset-env": "~7.1.0",
- "babel-loader": "~8.0.0",
- "chai": "~4.1.2",
- "chai-as-promised": "~7.1.1",
- "mocha": "^3.3.0",
- "mocha-junit-reporter": "^1.18.0",
- "mocha-multi": "^1.0.1",
- "mochawesome": "^3.1.1",
- "@nativescript/android": "~7.0.0",
- "@nativescript/ios": "~7.0.0",
- "@nativescript/webpack": "^2.1.3",
- "nativescript-vue-template-compiler": "file:../../node_modules/nativescript-vue-template-compiler",
- "vue-loader": "~15.9.3",
- "typescript": "file:../../node_modules/typescript"
+ "@nativescript/android": "8.0.0",
+ "@nativescript/ios": "8.0.0"
}
-}
+}
\ No newline at end of file
diff --git a/apps/demo/package.json b/apps/demo/package.json
index 1bfe9c087..03ecf20ec 100644
--- a/apps/demo/package.json
+++ b/apps/demo/package.json
@@ -1,10 +1,17 @@
{
- "main": "app.js",
+ "main": "./src/app.ts",
"description": "NativeScript Application",
"license": "SEE LICENSE IN ",
"repository": "",
"dependencies": {
- "nativescript-theme-core": "file:../../node_modules/nativescript-theme-core",
+ "@nativescript/canvas": "file:../../packages/canvas",
+ "@nativescript/canvas-babylon": "file:../../packages/canvas-babylon",
+ "@nativescript/canvas-media": "file:../../packages/canvas-media",
+ "@nativescript/canvas-phaser": "file:../../packages/canvas-phaser",
+ "@nativescript/canvas-phaser-ce": "file:../../packages/canvas-phaser-ce",
+ "@nativescript/canvas-pixi": "file:../../packages/canvas-pixi",
+ "@nativescript/canvas-polyfill": "file:../../packages/canvas-polyfill",
+ "@nativescript/canvas-three": "file:../../packages/canvas-three",
"@nativescript/core": "file:../../node_modules/@nativescript/core",
"babylonjs": "file:../../node_modules/babylonjs",
"babylonjs-materials": "file:../../node_modules/babylonjs-materials",
@@ -17,21 +24,10 @@
"pixi.js": "file:../../node_modules/pixi.js",
"three": "file:../../node_modules/three",
"vexflow": "file:../../node_modules/vexflow",
- "zen-3d": "file:../../node_modules/zen-3d",
- "@nativescript/canvas-media": "file:../../packages/canvas-media",
- "@nativescript/canvas": "file:../../packages/canvas",
- "@nativescript/canvas-babylon": "file:../../packages/canvas-babylon",
- "@nativescript/canvas-phaser": "file:../../packages/canvas-phaser",
- "@nativescript/canvas-phaser-ce": "file:../../packages/canvas-phaser-ce",
- "@nativescript/canvas-pixi": "file:../../packages/canvas-pixi",
- "@nativescript/canvas-polyfill": "file:../../packages/canvas-polyfill",
- "@nativescript/canvas-three": "file:../../packages/canvas-three"
+ "zen-3d": "file:../../node_modules/zen-3d"
},
"devDependencies": {
- "@nativescript/android": "7.0.0",
- "@nativescript/ios": "7.0.0",
- "@nativescript/webpack": "~3.0.0",
- "copy-webpack-plugin": "4.6.0",
- "typescript": "file:../../node_modules/typescript"
+ "@nativescript/android": "8.0.0",
+ "@nativescript/ios": "8.0.0"
}
}
diff --git a/apps/demo/src/app.css b/apps/demo/src/app.css
deleted file mode 100644
index 50170bdda..000000000
--- a/apps/demo/src/app.css
+++ /dev/null
@@ -1 +0,0 @@
-@import '~nativescript-theme-core/css/core.light.css';
\ No newline at end of file
diff --git a/apps/demo/src/app.scss b/apps/demo/src/app.scss
new file mode 100644
index 000000000..68ac3e3d4
--- /dev/null
+++ b/apps/demo/src/app.scss
@@ -0,0 +1,2 @@
+@import 'nativescript-theme-core/scss/light';
+ @import 'nativescript-theme-core/scss/index';
\ No newline at end of file
diff --git a/apps/demo/webpack.config.js b/apps/demo/webpack.config.js
index f9a261b5b..05d00ce0a 100644
--- a/apps/demo/webpack.config.js
+++ b/apps/demo/webpack.config.js
@@ -1,353 +1,22 @@
-const { join, relative, resolve, sep } = require('path');
-const fs = require('fs');
-
-const webpack = require('webpack');
-const nsWebpack = require('@nativescript/webpack');
-const nativescriptTarget = require('@nativescript/webpack/nativescript-target');
-const { getNoEmitOnErrorFromTSConfig } = require('@nativescript/webpack/utils/tsconfig-utils');
-const { CleanWebpackPlugin } = require('clean-webpack-plugin');
-const CopyWebpackPlugin = require('copy-webpack-plugin');
-const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
-const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
-const { NativeScriptWorkerPlugin } = require('nativescript-worker-loader/NativeScriptWorkerPlugin');
-const TerserPlugin = require('terser-webpack-plugin');
-const hashSalt = Date.now().toString();
+const webpack = require('@nativescript/webpack');
+const { resolve } = require('path');
module.exports = (env) => {
- // Add your custom Activities, Services and other Android app components here.
- const appComponents = env.appComponents || [];
- appComponents.push(...['@nativescript/core/ui/frame', '@nativescript/core/ui/frame/activity']);
-
- const platform = env && ((env.android && 'android') || (env.ios && 'ios') || env.platform);
- if (!platform) {
- throw new Error('You need to provide a target platform!');
- }
-
- const platforms = ['ios', 'android'];
- const projectRoot = __dirname;
-
- if (env.platform) {
- platforms.push(env.platform);
- }
-
- // Default destination inside platforms//...
- const dist = resolve(projectRoot, nsWebpack.getAppPath(platform, projectRoot));
-
- const {
- // The 'appPath' and 'appResourcesPath' values are fetched from
- // the nsconfig.json configuration file.
- appPath = 'src',
- appResourcesPath = 'App_Resources',
-
- // You can provide the following flags when running 'tns run android|ios'
- snapshot, // --env.snapshot
- production, // --env.production
- uglify, // --env.uglify
- report, // --env.report
- sourceMap, // --env.sourceMap
- hiddenSourceMap, // --env.hiddenSourceMap
- hmr, // --env.hmr,
- unitTesting, // --env.unitTesting,
- testing, // --env.testing
- verbose, // --env.verbose
- snapshotInDocker, // --env.snapshotInDocker
- skipSnapshotTools, // --env.skipSnapshotTools
- compileSnapshot, // --env.compileSnapshot
- } = env;
-
- const useLibs = compileSnapshot;
- const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap;
- const externals = nsWebpack.getConvertedExternals(env.externals);
-
- let appFullPath = resolve(projectRoot, appPath);
- if (!fs.existsSync(appFullPath)) {
- // some apps use 'app' directory
- appFullPath = resolve(projectRoot, 'app');
- }
- const hasRootLevelScopedModules = nsWebpack.hasRootLevelScopedModules({ projectDir: projectRoot });
- let coreModulesPackageName = 'tns-core-modules';
- const alias = env.alias || {};
- alias['~/package.json'] = resolve(projectRoot, 'package.json');
- alias['~'] = appFullPath;
- alias['@demo/shared'] = resolve(projectRoot, '..', '..', 'tools', 'demo');
-
- if (hasRootLevelScopedModules) {
- coreModulesPackageName = '@nativescript/core';
- alias['tns-core-modules'] = coreModulesPackageName;
- }
- const appResourcesFullPath = resolve(projectRoot, appResourcesPath);
-
- const copyIgnore = { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] };
-
- const entryModule = nsWebpack.getEntryModule(appFullPath, platform);
- const entryPath = `.${sep}${entryModule}.ts`;
- const entries = env.entries || {};
- entries.bundle = entryPath;
-
- const tsConfigPath = resolve(projectRoot, 'tsconfig.json');
-
- const areCoreModulesExternal = Array.isArray(env.externals) && env.externals.some((e) => e.indexOf('@nativescript') > -1);
- if (platform === 'ios' && !areCoreModulesExternal && !testing) {
- entries['tns_modules/@nativescript/core/inspector_modules'] = 'inspector_modules';
- }
-
- let sourceMapFilename = nsWebpack.getSourceMapFilename(hiddenSourceMap, __dirname, dist);
-
- const itemsToClean = [`${dist}/**/*`];
- if (platform === 'android') {
- itemsToClean.push(`${join(projectRoot, 'platforms', 'android', 'app', 'src', 'main', 'assets', 'snapshots')}`);
- itemsToClean.push(`${join(projectRoot, 'platforms', 'android', 'app', 'build', 'configurations', 'nativescript-android-snapshot')}`);
- }
-
- const noEmitOnErrorFromTSConfig = getNoEmitOnErrorFromTSConfig(tsConfigPath);
-
- nsWebpack.processAppComponents(appComponents, platform);
- const config = {
- mode: production ? 'production' : 'development',
- context: appFullPath,
- externals,
- watchOptions: {
- ignored: [
- appResourcesFullPath,
- // Don't watch hidden files
- '**/.*',
- ],
- },
- target: nativescriptTarget,
- entry: entries,
- output: {
- pathinfo: false,
- path: dist,
- sourceMapFilename,
- libraryTarget: 'commonjs2',
- filename: '[name].js',
- globalObject: 'global',
- hashSalt,
- },
- resolve: {
- extensions: ['.ts', '.js', '.scss', '.css'],
- // Resolve {N} system modules from @nativescript/core
- modules: [resolve(__dirname, `node_modules/${coreModulesPackageName}`), resolve(__dirname, 'node_modules'), `node_modules/${coreModulesPackageName}`, 'node_modules'],
- alias,
- // resolve symlinks to symlinked modules
- symlinks: true,
- },
- resolveLoader: {
- // don't resolve symlinks to symlinked loaders
- symlinks: false,
- },
- node: {
- // Disable node shims that conflict with NativeScript
- http: false,
- timers: false,
- setImmediate: false,
- fs: 'empty',
- __dirname: false,
- },
- devtool: hiddenSourceMap ? 'hidden-source-map' : sourceMap ? 'inline-source-map' : 'none',
- optimization: {
- runtimeChunk: 'single',
- noEmitOnErrors: noEmitOnErrorFromTSConfig,
- splitChunks: {
- cacheGroups: {
- vendor: {
- name: 'vendor',
- chunks: 'all',
- test: (module, chunks) => {
- const moduleName = module.nameForCondition ? module.nameForCondition() : '';
- return /[\\/]node_modules[\\/]/.test(moduleName) || appComponents.some((comp) => comp === moduleName);
- },
- enforce: true,
- },
- },
- },
- minimize: !!uglify,
- minimizer: [
- new TerserPlugin({
- parallel: true,
- cache: true,
- sourceMap: isAnySourceMapEnabled,
- terserOptions: {
- output: {
- comments: false,
- semicolons: !isAnySourceMapEnabled,
- },
- compress: {
- // The Android SBG has problems parsing the output
- // when these options are enabled
- collapse_vars: platform !== 'android',
- sequences: platform !== 'android',
- },
- },
- }),
- ],
- },
- module: {
- rules: [
- {
- include: join(appFullPath, entryPath),
- use: [
- // Require all Android app components
- platform === 'android' && {
- loader: '@nativescript/webpack/helpers/android-app-components-loader',
- options: { modules: appComponents },
- },
-
- {
- loader: '@nativescript/webpack/bundle-config-loader',
- options: {
- loadCss: !snapshot, // load the application css if in debug mode
- unitTesting,
- appFullPath,
- projectRoot,
- ignoredFiles: nsWebpack.getUserDefinedEntries(entries, platform),
- },
- },
- ].filter((loader) => !!loader),
- },
-
- {
- test: /\.(ts|css|scss|html|xml)$/,
- use: '@nativescript/webpack/hmr/hot-loader',
- },
-
- { test: /\.(html|xml)$/, use: '@nativescript/webpack/helpers/xml-namespace-loader' },
-
- {
- test: /\.css$/,
- use: '@nativescript/webpack/helpers/css2json-loader',
- },
-
- {
- test: /\.scss$/,
- use: ['@nativescript/webpack/helpers/css2json-loader', 'sass-loader'],
- },
-
- {
- test: /\.ts$/,
- use: {
- loader: 'ts-loader',
- options: {
- configFile: tsConfigPath,
- // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#faster-builds
- // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#hot-module-replacement
- transpileOnly: true,
- allowTsInNodeModules: true,
- compilerOptions: {
- sourceMap: isAnySourceMapEnabled,
- declaration: false,
- },
- getCustomTransformers: (program) => ({
- before: [require('@nativescript/webpack/transformers/ns-transform-native-classes').default],
- }),
- },
- },
- },
- ],
- },
- plugins: [
- // Define useful constants like TNS_WEBPACK
- new webpack.DefinePlugin({
- 'global.TNS_WEBPACK': 'true',
- 'global.isAndroid': platform === 'android',
- 'global.isIOS': platform === 'ios',
- process: 'global.process',
- }),
- // Remove all files from the out dir.
- new CleanWebpackPlugin({
- cleanOnceBeforeBuildPatterns: itemsToClean,
- verbose: !!verbose,
- }),
- // Copy assets
- new CopyWebpackPlugin([
- { from: 'assets/**', dot: false },
- { from: 'fonts/**', dot: false },
- { from: '**/*.jpg', dot: false },
- { from: '**/*.png', dot: false },
- { from: '**/*.jpeg', dot: false },
- { from: '**/*.gif', dot: false },
- { from: '**/*.svg', dot: false },
- { from: '**/*.mp4', dot: false },
- { from: '../../../tools/demo/canvas/assets', to: 'assets/file-assets', dot: false },
- { from: '../../../tools/demo/canvas-babylon/assets', to: 'assets/babylon', dot: false },
- { from: '../../../tools/demo/canvas-phaser/assets', to: 'assets/phaser', dot: false },
- { from: '../../../tools/demo/canvas-phaser-ce/assets', to: 'assets/phaser-ce', dot: false },
- { from: '../../../tools/demo/canvas-pixi/assets', to: 'assets/pixi', dot: false },
- { from: '../../../tools/demo/canvas-three/assets', to: 'assets/three', dot: false },
- ]),
- // new CopyWebpackPlugin({
- // patterns: [
- // { from: 'assets/**', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } },
- // { from: 'fonts/**', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } },
- // { from: '**/*.jpg', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } },
- // { from: '**/*.png', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } },
- // { from: '**/*.jpeg', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } },
- // { from: '**/*.gif', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } },
- // { from: '**/*.svg', noErrorOnMissing: true, globOptions: { dot: false, ...copyIgnore } },
- // { from: '../../../tools/demo/canvas/assets', to: 'assets/file-assets' },
- // { from: '../../../tools/demo/canvas-babylon/assets', to: 'assets/babylon' },
- // { from: '../../../tools/demo/canvas-phaser/assets', to: 'assets/phaser' },
- // { from: '../../../tools/demo/canvas-phaser-ce/assets', to: 'assets/phaser-ce' },
- // { from: '../../../tools/demo/canvas-pixi/assets', to: 'assets/pixi' },
- // { from: '../../../tools/demo/canvas-three/assets', to: 'assets/three' },
- // ],
- // }),
- new nsWebpack.GenerateNativeScriptEntryPointsPlugin('bundle'),
- // For instructions on how to set up workers with webpack
- // check out https://github.com/nativescript/worker-loader
- new NativeScriptWorkerPlugin(),
- new nsWebpack.PlatformFSPlugin({
- platform,
- platforms,
- }),
- // Does IPC communication with the {N} CLI to notify events when running in watch mode.
- new nsWebpack.WatchStateLoggerPlugin(),
- // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#faster-builds
- // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#hot-module-replacement
- new ForkTsCheckerWebpackPlugin({
- async: false,
- typescript: {
- configFile: tsConfigPath,
- memoryLimit: 8192,
- diagnosticOptions: {
- syntactic: true,
- semantic: true,
- },
- },
- }),
- ],
- };
- if (report) {
- // Generate report files for bundles content
- config.plugins.push(
- new BundleAnalyzerPlugin({
- analyzerMode: 'static',
- openAnalyzer: false,
- generateStatsFile: true,
- reportFilename: resolve(projectRoot, 'report', `report.html`),
- statsFilename: resolve(projectRoot, 'report', `stats.json`),
- })
- );
- }
+ webpack.init(env);
+ webpack.useConfig('typescript');
- if (snapshot) {
- config.plugins.push(
- new nsWebpack.NativeScriptSnapshotPlugin({
- chunk: 'vendor',
- requireModules: ['@nativescript/core/bundle-entry-points'],
- projectRoot,
- webpackConfig: config,
- snapshotInDocker,
- skipSnapshotTools,
- useLibs,
- })
- );
- }
+ webpack.chainWebpack((config) => {
+ // shared demo code
+ config.resolve.alias.set('@demo/shared', resolve(__dirname, '..', '..', 'tools', 'demo'));
+ });
- if (hmr) {
- config.plugins.push(new webpack.HotModuleReplacementPlugin());
- }
+ // Example if you need to share images across demo apps:
+ // webpack.Utils.addCopyRule({
+ // from: '../../../tools/images',
+ // to: 'images',
+ // context: webpack.Utils.project.getProjectFilePath('node_modules')
+ // });
- return config;
+ return webpack.resolveConfig();
};
diff --git a/jest.config.js b/jest.config.js
index 9090b4914..7d4f7bcd5 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -1,9 +1,3 @@
-module.exports = {
- testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)'],
- transform: {
- '^.+\\.(ts|js|html)$': 'ts-jest',
- },
- resolver: '@nrwl/jest/plugins/resolver',
- moduleFileExtensions: ['ts', 'js', 'html'],
- coverageReporters: ['html'],
-};
+const { getJestProjects } = require('@nrwl/jest');
+
+module.exports = { projects: [...getJestProjects()] };
\ No newline at end of file
diff --git a/package.json b/package.json
index d6ad3073d..b34cf366c 100644
--- a/package.json
+++ b/package.json
@@ -1,91 +1,71 @@
{
- "name": "canvas",
- "version": "0.0.0",
- "license": "MIT",
- "scripts": {
- "setup": "npx rimraf node_modules package-lock.json dist tmp && npm i && ts-patch install",
- "start": "nps",
- "add": "nx workspace-schematic add-package"
- },
- "private": true,
- "devDependencies": {
- "@angular/animations": "~10.1.0",
- "@angular/common": "~10.1.0",
- "@angular/compiler": "~10.1.0",
- "@angular/compiler-cli": "~10.1.0",
- "@angular/core": "~10.1.0",
- "@angular/forms": "~10.1.0",
- "@angular/platform-browser": "~10.1.0",
- "@angular/platform-browser-dynamic": "~10.1.0",
- "@angular/router": "~10.1.0",
- "@nativescript/angular": "~10.1.0",
- "@nativescript/core": "~7.0.0",
- "@nativescript/types": "~7.0.0",
- "@nativescript/webpack": "~3.0.0",
- "@nativescript-community/gesturehandler": "^0.1.45",
- "@ngtools/webpack": "~10.1.0",
- "@nrwl/eslint-plugin-nx": "~10.1.0",
- "@nrwl/jest": "~10.1.0",
- "@nrwl/node": "~10.1.0",
- "@nrwl/workspace": "~10.1.0",
- "@nstudio/focus": "^10.0.6",
- "@nstudio/nps-i": "~1.1.0",
- "@types/jest": "~26.0.10",
- "@types/node": "~12.0.0",
- "@typescript-eslint/eslint-plugin": "~3.6.0",
- "@typescript-eslint/parser": "~3.6.0",
- "babylonjs": "^4.1.0",
- "babylonjs-materials": "^4.1.0",
- "canvg": "^3.0.6",
- "chart.js": "^2.9.3",
- "d3": "^6.1.1",
- "dotenv": "~8.2.0",
- "eslint": "~7.4.0",
- "eslint-config-prettier": "~6.11.0",
- "husky": "^4.2.5",
- "jest": "~26.4.1",
- "leaflet": "^1.7.1",
- "lint-staged": "^10.2.11",
- "matter-js": "^0.14.2",
- "nativescript-permissions": "^1.3.9",
- "nativescript-theme-core": "~1.0.4",
- "nativescript-vue": "~2.8.0",
- "nativescript-vue-template-compiler": "~2.8.0",
- "nativescript-worker-loader": "^0.12.1",
- "ng-packagr": "~10.1.0",
- "node-sass": "^4.12.0",
- "phaser": "^3.24.1",
- "phaser-ce": "^2.15.0",
- "pixi.js": "^5.3.3",
- "playcanvas": "^1.37.0",
- "prettier": "~2.0.4",
- "pretty-data": "^0.40.0",
- "react-nativescript": "^2.0.0",
- "reflect-metadata": "~0.1.13",
- "rimraf": "^3.0.2",
- "rxjs": "~6.6.0",
- "strip-json-comments": "^3.1.1",
- "svelte-native": "^0.9.3",
- "three": "^0.123.0",
- "ts-jest": "~26.2.0",
- "ts-node": "~8.10.2",
- "ts-patch": "^1.3.0",
- "tslint": "~6.1.2",
- "typescript": "~3.9.3",
- "vexflow": "^3.0.9",
- "xml2js": "^0.4.23",
- "xmldom": "~0.6.0",
- "zen-3d": "0.0.3",
- "zone.js": "0.11.1"
- },
- "husky": {
- "hooks": {
- "pre-commit": "lint-staged"
- }
- },
- "lint-staged": {
- "**/*": [
- "nx format:write --files"
- ]
- }
-}
+ "name": "canvas",
+ "version": "0.0.0",
+ "license": "MIT",
+ "scripts": {
+ "setup": "npx rimraf node_modules package-lock.json dist tmp yarn.lock && yarn config set ignore-engines true && ns package-manager set npm && yarn",
+ "start": "nps",
+ "add": "nx g @nativescript/plugin-tools:add-package",
+ "add-angular": "nx g @nativescript/plugin-tools:add-angular",
+ "config": "nx g @nativescript/plugin-tools:config",
+ "publish-packages": "nx g @nativescript/plugin-tools:publish",
+ "sync-packages-with-demos": "nx g @nativescript/plugin-tools:sync-packages-with-demos",
+ "postinstall": "husky install && npx ts-patch install",
+ "remove-package": "nx g @nativescript/plugin-tools:remove-package",
+ "add-demo": "nx g @nativescript/plugin-tools:add-demo"
+ },
+ "private": true,
+ "devDependencies": {
+ "@angular/animations": "^12.0.0",
+ "@angular/common": "^12.0.0",
+ "@angular/compiler": "^12.0.0",
+ "@angular/compiler-cli": "^12.0.0",
+ "@angular/core": "^12.0.0",
+ "@angular/forms": "^12.0.0",
+ "@angular/platform-browser": "^12.0.0",
+ "@angular/platform-browser-dynamic": "^12.0.0",
+ "@angular/router": "^12.0.0",
+ "@nativescript-community/gesturehandler": "^0.1.45",
+ "@nativescript/angular": "^12.0.0",
+ "@nativescript/core": "^8.0.0",
+ "@nativescript/plugin-tools": "2.1.0",
+ "@nativescript/types": "^8.0.0",
+ "@nativescript/webpack": "beta",
+ "@ngtools/webpack": "^12.0.0",
+ "babylonjs": "^4.1.0",
+ "babylonjs-materials": "^4.1.0",
+ "canvg": "^3.0.6",
+ "chart.js": "^2.9.3",
+ "d3": "^6.1.1",
+ "dotenv": "~8.2.0",
+ "eslint": "~7.4.0",
+ "eslint-config-prettier": "~6.11.0",
+ "husky": "^5.1.3",
+ "leaflet": "^1.7.1",
+ "matter-js": "^0.14.2",
+ "nativescript-permissions": "^1.3.9",
+ "nativescript-theme-core": "~1.0.4",
+ "nativescript-vue": "~2.9.0",
+ "nativescript-vue-template-compiler": "~2.9.0",
+ "ng-packagr": "^12.0.0",
+ "phaser": "^3.24.1",
+ "phaser-ce": "^2.15.0",
+ "pixi.js": "^5.3.3",
+ "playcanvas": "^1.37.0",
+ "react-nativescript": "^2.0.0",
+ "rimraf": "^3.0.2",
+ "rxjs": "~6.6.0",
+ "svelte-native": "^0.9.3",
+ "three": "^0.123.0",
+ "typescript": "4.3.5",
+ "vexflow": "^3.0.9",
+ "xmldom": "~0.6.0",
+ "zen-3d": "0.0.3",
+ "zone.js": "~0.11.1"
+ },
+ "lint-staged": {
+ "**/*.{js,ts,scss,json,html}": [
+ "npx prettier --write"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/packages/canvas-media/typings/android.d.ts b/packages/canvas-media/typings/android.d.ts
index 141ad3e60..435ae6373 100644
--- a/packages/canvas-media/typings/android.d.ts
+++ b/packages/canvas-media/typings/android.d.ts
@@ -225,7 +225,7 @@ declare module com {
public onStopped(): void;
public render(param0: number, param1: number): void;
public static getTunnelingSupport(param0: number): number;
- public getStreamFormats(): native.Array;
+ public getStreamFormats(): androidNative.Array;
public getFormatHolder(): com.google.android.exoplayer2.FormatHolder;
public getStream(): com.google.android.exoplayer2.source.SampleStream;
public supportsFormat(param0: com.google.android.exoplayer2.Format): number;
@@ -235,7 +235,7 @@ declare module com {
public setCurrentStreamFinal(): void;
public getCapabilities(): com.google.android.exoplayer2.RendererCapabilities;
public setIndex(param0: number): void;
- public replaceStream(param0: native.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
+ public replaceStream(param0: androidNative.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
public hasReadStreamToEnd(): boolean;
public isCurrentStreamFinal(): boolean;
public supportsMixedMimeTypeAdaptation(): number;
@@ -252,12 +252,12 @@ declare module com {
public start(): void;
public onReset(): void;
public onDisabled(): void;
- public enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: native.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
+ public enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: androidNative.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
public onEnabled(param0: boolean, param1: boolean): void;
public resetPosition(param0: number): void;
public createRendererException(param0: java.lang.Throwable, param1: com.google.android.exoplayer2.Format): com.google.android.exoplayer2.ExoPlaybackException;
public setPlaybackSpeed(param0: number, param1: number): void;
- public onStreamChanged(param0: native.Array, param1: number, param2: number): void;
+ public onStreamChanged(param0: androidNative.Array, param1: number, param2: number): void;
public getReadingPositionUs(): number;
public readSource(param0: com.google.android.exoplayer2.FormatHolder, param1: com.google.android.exoplayer2.decoder.DecoderInputBuffer, param2: boolean): number;
public constructor(param0: number);
@@ -861,14 +861,14 @@ declare module com {
public static DEFAULT_CAMERA_MOTION_BUFFER_SIZE: number;
public static DEFAULT_MUXED_BUFFER_SIZE: number;
public static DEFAULT_MIN_BUFFER_SIZE: number;
- public calculateTargetBufferBytes(param0: native.Array, param1: native.Array): number;
+ public calculateTargetBufferBytes(param0: androidNative.Array, param1: androidNative.Array): number;
public onPrepared(): void;
public onStopped(): void;
public getBackBufferDurationUs(): number;
public constructor();
public retainBackBufferFromKeyframe(): boolean;
public shouldStartPlayback(param0: number, param1: number, param2: boolean, param3: number): boolean;
- public onTracksSelected(param0: native.Array, param1: com.google.android.exoplayer2.source.TrackGroupArray, param2: native.Array): void;
+ public onTracksSelected(param0: androidNative.Array, param1: com.google.android.exoplayer2.source.TrackGroupArray, param2: androidNative.Array): void;
public shouldContinueLoading(param0: number, param1: number, param2: number): boolean;
public constructor(param0: com.google.android.exoplayer2.upstream.DefaultAllocator, param1: number, param2: number, param3: number, param4: number, param5: number, param6: boolean, param7: number, param8: boolean);
public onReleased(): void;
@@ -951,7 +951,7 @@ declare module com {
/** @deprecated */
public constructor(param0: globalAndroid.content.Context, param1: number, param2: number);
public setMediaCodecSelector(param0: com.google.android.exoplayer2.mediacodec.MediaCodecSelector): com.google.android.exoplayer2.DefaultRenderersFactory;
- public createRenderers(param0: globalAndroid.os.Handler, param1: com.google.android.exoplayer2.video.VideoRendererEventListener, param2: com.google.android.exoplayer2.audio.AudioRendererEventListener, param3: com.google.android.exoplayer2.text.TextOutput, param4: com.google.android.exoplayer2.metadata.MetadataOutput): native.Array;
+ public createRenderers(param0: globalAndroid.os.Handler, param1: com.google.android.exoplayer2.video.VideoRendererEventListener, param2: com.google.android.exoplayer2.audio.AudioRendererEventListener, param3: com.google.android.exoplayer2.text.TextOutput, param4: com.google.android.exoplayer2.metadata.MetadataOutput): androidNative.Array;
public experimentalSetForceAsyncQueueingSynchronizationWorkaround(param0: boolean): com.google.android.exoplayer2.DefaultRenderersFactory;
public buildTextRenderers(param0: globalAndroid.content.Context, param1: com.google.android.exoplayer2.text.TextOutput, param2: globalAndroid.os.Looper, param3: number, param4: java.util.ArrayList): void;
public buildMiscellaneousRenderers(param0: globalAndroid.content.Context, param1: globalAndroid.os.Handler, param2: number, param3: java.util.ArrayList): void;
@@ -1297,7 +1297,7 @@ declare module com {
export class Builder {
public static class: java.lang.Class;
public setAnalyticsCollector(param0: com.google.android.exoplayer2.analytics.AnalyticsCollector): com.google.android.exoplayer2.ExoPlayer.Builder;
- public constructor(param0: native.Array, param1: com.google.android.exoplayer2.trackselection.TrackSelector, param2: com.google.android.exoplayer2.source.MediaSourceFactory, param3: com.google.android.exoplayer2.LoadControl, param4: com.google.android.exoplayer2.upstream.BandwidthMeter);
+ public constructor(param0: androidNative.Array, param1: com.google.android.exoplayer2.trackselection.TrackSelector, param2: com.google.android.exoplayer2.source.MediaSourceFactory, param3: com.google.android.exoplayer2.LoadControl, param4: com.google.android.exoplayer2.upstream.BandwidthMeter);
public setLooper(param0: globalAndroid.os.Looper): com.google.android.exoplayer2.ExoPlayer.Builder;
public setPauseAtEndOfMediaItems(param0: boolean): com.google.android.exoplayer2.ExoPlayer.Builder;
public build(): com.google.android.exoplayer2.ExoPlayer;
@@ -1306,7 +1306,7 @@ declare module com {
public setBandwidthMeter(param0: com.google.android.exoplayer2.upstream.BandwidthMeter): com.google.android.exoplayer2.ExoPlayer.Builder;
public setMediaSourceFactory(param0: com.google.android.exoplayer2.source.MediaSourceFactory): com.google.android.exoplayer2.ExoPlayer.Builder;
public setUseLazyPreparation(param0: boolean): com.google.android.exoplayer2.ExoPlayer.Builder;
- public constructor(param0: globalAndroid.content.Context, param1: native.Array);
+ public constructor(param0: globalAndroid.content.Context, param1: androidNative.Array);
public experimentalSetForegroundModeTimeoutMs(param0: number): com.google.android.exoplayer2.ExoPlayer.Builder;
public setSeekParameters(param0: com.google.android.exoplayer2.SeekParameters): com.google.android.exoplayer2.ExoPlayer.Builder;
public setReleaseTimeoutMs(param0: number): com.google.android.exoplayer2.ExoPlayer.Builder;
@@ -1338,7 +1338,7 @@ declare module com {
/** @deprecated */
public static newSimpleInstance(param0: globalAndroid.content.Context, param1: com.google.android.exoplayer2.RenderersFactory, param2: com.google.android.exoplayer2.trackselection.TrackSelector, param3: com.google.android.exoplayer2.LoadControl, param4: com.google.android.exoplayer2.upstream.BandwidthMeter): com.google.android.exoplayer2.SimpleExoPlayer;
/** @deprecated */
- public static newInstance(param0: globalAndroid.content.Context, param1: native.Array, param2: com.google.android.exoplayer2.trackselection.TrackSelector, param3: com.google.android.exoplayer2.LoadControl, param4: globalAndroid.os.Looper): com.google.android.exoplayer2.ExoPlayer;
+ public static newInstance(param0: globalAndroid.content.Context, param1: androidNative.Array, param2: com.google.android.exoplayer2.trackselection.TrackSelector, param3: com.google.android.exoplayer2.LoadControl, param4: globalAndroid.os.Looper): com.google.android.exoplayer2.ExoPlayer;
/** @deprecated */
public static newSimpleInstance(param0: globalAndroid.content.Context, param1: com.google.android.exoplayer2.RenderersFactory, param2: com.google.android.exoplayer2.trackselection.TrackSelector, param3: com.google.android.exoplayer2.LoadControl, param4: globalAndroid.os.Looper): com.google.android.exoplayer2.SimpleExoPlayer;
/** @deprecated */
@@ -1346,7 +1346,7 @@ declare module com {
/** @deprecated */
public static newSimpleInstance(param0: globalAndroid.content.Context, param1: com.google.android.exoplayer2.RenderersFactory, param2: com.google.android.exoplayer2.trackselection.TrackSelector, param3: com.google.android.exoplayer2.LoadControl, param4: com.google.android.exoplayer2.analytics.AnalyticsCollector, param5: globalAndroid.os.Looper): com.google.android.exoplayer2.SimpleExoPlayer;
/** @deprecated */
- public static newInstance(param0: globalAndroid.content.Context, param1: native.Array, param2: com.google.android.exoplayer2.trackselection.TrackSelector, param3: com.google.android.exoplayer2.LoadControl, param4: com.google.android.exoplayer2.upstream.BandwidthMeter, param5: globalAndroid.os.Looper): com.google.android.exoplayer2.ExoPlayer;
+ public static newInstance(param0: globalAndroid.content.Context, param1: androidNative.Array, param2: com.google.android.exoplayer2.trackselection.TrackSelector, param3: com.google.android.exoplayer2.LoadControl, param4: com.google.android.exoplayer2.upstream.BandwidthMeter, param5: globalAndroid.os.Looper): com.google.android.exoplayer2.ExoPlayer;
/** @deprecated */
public static newSimpleInstance(param0: globalAndroid.content.Context, param1: com.google.android.exoplayer2.RenderersFactory, param2: com.google.android.exoplayer2.trackselection.TrackSelector): com.google.android.exoplayer2.SimpleExoPlayer;
/** @deprecated */
@@ -1354,9 +1354,9 @@ declare module com {
/** @deprecated */
public static newSimpleInstance(param0: globalAndroid.content.Context, param1: com.google.android.exoplayer2.trackselection.TrackSelector, param2: com.google.android.exoplayer2.LoadControl, param3: number, param4: number): com.google.android.exoplayer2.SimpleExoPlayer;
/** @deprecated */
- public static newInstance(param0: globalAndroid.content.Context, param1: native.Array, param2: com.google.android.exoplayer2.trackselection.TrackSelector): com.google.android.exoplayer2.ExoPlayer;
+ public static newInstance(param0: globalAndroid.content.Context, param1: androidNative.Array, param2: com.google.android.exoplayer2.trackselection.TrackSelector): com.google.android.exoplayer2.ExoPlayer;
/** @deprecated */
- public static newInstance(param0: globalAndroid.content.Context, param1: native.Array, param2: com.google.android.exoplayer2.trackselection.TrackSelector, param3: com.google.android.exoplayer2.LoadControl): com.google.android.exoplayer2.ExoPlayer;
+ public static newInstance(param0: globalAndroid.content.Context, param1: androidNative.Array, param2: com.google.android.exoplayer2.trackselection.TrackSelector, param3: com.google.android.exoplayer2.LoadControl): com.google.android.exoplayer2.ExoPlayer;
}
}
}
@@ -1431,7 +1431,7 @@ declare module com {
public moveMediaItem(param0: number, param1: number): void;
public setMediaSources(param0: java.util.List, param1: number, param2: number): void;
public getCurrentAdGroupIndex(): number;
- public constructor(param0: native.Array, param1: com.google.android.exoplayer2.trackselection.TrackSelector, param2: com.google.android.exoplayer2.source.MediaSourceFactory, param3: com.google.android.exoplayer2.LoadControl, param4: com.google.android.exoplayer2.upstream.BandwidthMeter, param5: com.google.android.exoplayer2.analytics.AnalyticsCollector, param6: boolean, param7: com.google.android.exoplayer2.SeekParameters, param8: com.google.android.exoplayer2.LivePlaybackSpeedControl, param9: number, param10: boolean, param11: com.google.android.exoplayer2.util.Clock, param12: globalAndroid.os.Looper, param13: com.google.android.exoplayer2.Player);
+ public constructor(param0: androidNative.Array, param1: com.google.android.exoplayer2.trackselection.TrackSelector, param2: com.google.android.exoplayer2.source.MediaSourceFactory, param3: com.google.android.exoplayer2.LoadControl, param4: com.google.android.exoplayer2.upstream.BandwidthMeter, param5: com.google.android.exoplayer2.analytics.AnalyticsCollector, param6: boolean, param7: com.google.android.exoplayer2.SeekParameters, param8: com.google.android.exoplayer2.LivePlaybackSpeedControl, param9: number, param10: boolean, param11: com.google.android.exoplayer2.util.Clock, param12: globalAndroid.os.Looper, param13: com.google.android.exoplayer2.Player);
public setMediaSources(param0: java.util.List, param1: boolean): void;
public getPlaybackParameters(): com.google.android.exoplayer2.PlaybackParameters;
public next(): void;
@@ -1524,7 +1524,7 @@ declare module com {
public experimentalSetOffloadSchedulingEnabled(param0: boolean): void;
public handleMessage(param0: globalAndroid.os.Message): boolean;
public addMediaSources(param0: number, param1: java.util.List, param2: com.google.android.exoplayer2.source.ShuffleOrder): void;
- public constructor(param0: native.Array, param1: com.google.android.exoplayer2.trackselection.TrackSelector, param2: com.google.android.exoplayer2.trackselection.TrackSelectorResult, param3: com.google.android.exoplayer2.LoadControl, param4: com.google.android.exoplayer2.upstream.BandwidthMeter, param5: number, param6: boolean, param7: com.google.android.exoplayer2.analytics.AnalyticsCollector, param8: com.google.android.exoplayer2.SeekParameters, param9: com.google.android.exoplayer2.LivePlaybackSpeedControl, param10: number, param11: boolean, param12: globalAndroid.os.Looper, param13: com.google.android.exoplayer2.util.Clock, param14: com.google.android.exoplayer2.ExoPlayerImplInternal.PlaybackInfoUpdateListener);
+ public constructor(param0: androidNative.Array, param1: com.google.android.exoplayer2.trackselection.TrackSelector, param2: com.google.android.exoplayer2.trackselection.TrackSelectorResult, param3: com.google.android.exoplayer2.LoadControl, param4: com.google.android.exoplayer2.upstream.BandwidthMeter, param5: number, param6: boolean, param7: com.google.android.exoplayer2.analytics.AnalyticsCollector, param8: com.google.android.exoplayer2.SeekParameters, param9: com.google.android.exoplayer2.LivePlaybackSpeedControl, param10: number, param11: boolean, param12: globalAndroid.os.Looper, param13: com.google.android.exoplayer2.util.Clock, param14: com.google.android.exoplayer2.ExoPlayerImplInternal.PlaybackInfoUpdateListener);
public onContinueLoadingRequested(param0: any): void;
public setPlayWhenReady(param0: boolean, param1: number): void;
public setForegroundMode(param0: boolean): boolean;
@@ -1686,7 +1686,7 @@ declare module com {
public frameRate: number;
public rotationDegrees: number;
public pixelWidthHeightRatio: number;
- public projectionData: native.Array;
+ public projectionData: androidNative.Array;
public stereoMode: number;
public colorInfo: com.google.android.exoplayer2.video.ColorInfo;
public channelCount: number;
@@ -1749,7 +1749,7 @@ declare module com {
/** @deprecated */
public copyWithFrameRate(param0: number): com.google.android.exoplayer2.Format;
/** @deprecated */
- public static createVideoSampleFormat(param0: string, param1: string, param2: string, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.util.List>, param9: number, param10: number, param11: native.Array, param12: number, param13: com.google.android.exoplayer2.video.ColorInfo, param14: com.google.android.exoplayer2.drm.DrmInitData): com.google.android.exoplayer2.Format;
+ public static createVideoSampleFormat(param0: string, param1: string, param2: string, param3: number, param4: number, param5: number, param6: number, param7: number, param8: java.util.List>, param9: number, param10: number, param11: androidNative.Array, param12: number, param13: com.google.android.exoplayer2.video.ColorInfo, param14: com.google.android.exoplayer2.drm.DrmInitData): com.google.android.exoplayer2.Format;
/** @deprecated */
public static createTextContainerFormat(param0: string, param1: string, param2: string, param3: string, param4: string, param5: number, param6: number, param7: number, param8: string): com.google.android.exoplayer2.Format;
public writeToParcel(param0: globalAndroid.os.Parcel, param1: number): void;
@@ -1772,7 +1772,7 @@ declare module com {
public setSubsampleOffsetUs(param0: number): com.google.android.exoplayer2.Format.Builder;
public setContainerMimeType(param0: string): com.google.android.exoplayer2.Format.Builder;
public setLabel(param0: string): com.google.android.exoplayer2.Format.Builder;
- public setProjectionData(param0: native.Array): com.google.android.exoplayer2.Format.Builder;
+ public setProjectionData(param0: androidNative.Array): com.google.android.exoplayer2.Format.Builder;
public setRotationDegrees(param0: number): com.google.android.exoplayer2.Format.Builder;
public setMaxInputSize(param0: number): com.google.android.exoplayer2.Format.Builder;
public setExoMediaCryptoType(param0: java.lang.Class): com.google.android.exoplayer2.Format.Builder;
@@ -1873,7 +1873,7 @@ declare module com {
*/
public constructor(implementation: {
onPrepared(): void;
- onTracksSelected(param0: native.Array, param1: com.google.android.exoplayer2.source.TrackGroupArray, param2: native.Array): void;
+ onTracksSelected(param0: androidNative.Array, param1: com.google.android.exoplayer2.source.TrackGroupArray, param2: androidNative.Array): void;
onStopped(): void;
onReleased(): void;
getAllocator(): com.google.android.exoplayer2.upstream.Allocator;
@@ -1888,7 +1888,7 @@ declare module com {
public getBackBufferDurationUs(): number;
public retainBackBufferFromKeyframe(): boolean;
public shouldStartPlayback(param0: number, param1: number, param2: boolean, param3: number): boolean;
- public onTracksSelected(param0: native.Array, param1: com.google.android.exoplayer2.source.TrackGroupArray, param2: native.Array): void;
+ public onTracksSelected(param0: androidNative.Array, param1: com.google.android.exoplayer2.source.TrackGroupArray, param2: androidNative.Array): void;
public shouldContinueLoading(param0: number, param1: number, param2: number): boolean;
public onReleased(): void;
public getAllocator(): com.google.android.exoplayer2.upstream.Allocator;
@@ -1943,7 +1943,7 @@ declare module com {
public setDrmSessionForClearPeriods(param0: boolean): com.google.android.exoplayer2.MediaItem.Builder;
public setClipEndPositionMs(param0: number): com.google.android.exoplayer2.MediaItem.Builder;
public setSubtitles(param0: java.util.List): com.google.android.exoplayer2.MediaItem.Builder;
- public setDrmKeySetId(param0: native.Array): com.google.android.exoplayer2.MediaItem.Builder;
+ public setDrmKeySetId(param0: androidNative.Array): com.google.android.exoplayer2.MediaItem.Builder;
public setUri(param0: globalAndroid.net.Uri): com.google.android.exoplayer2.MediaItem.Builder;
public setDrmLicenseUri(param0: string): com.google.android.exoplayer2.MediaItem.Builder;
public setTag(param0: any): com.google.android.exoplayer2.MediaItem.Builder;
@@ -1981,7 +1981,7 @@ declare module com {
public sessionForClearTypes: java.util.List;
public equals(param0: any): boolean;
public hashCode(): number;
- public getKeySetId(): native.Array;
+ public getKeySetId(): androidNative.Array;
}
export class LiveConfiguration {
public static class: java.lang.Class;
@@ -2059,7 +2059,7 @@ declare module com {
public static class: java.lang.Class;
public mediaPeriod: com.google.android.exoplayer2.source.MediaPeriod;
public uid: any;
- public sampleStreams: native.Array;
+ public sampleStreams: androidNative.Array;
public prepared: boolean;
public hasEnabledTracks: boolean;
public info: com.google.android.exoplayer2.MediaPeriodInfo;
@@ -2069,7 +2069,7 @@ declare module com {
public getTrackSelectorResult(): com.google.android.exoplayer2.trackselection.TrackSelectorResult;
public getStartPositionRendererTime(): number;
public applyTrackSelection(param0: com.google.android.exoplayer2.trackselection.TrackSelectorResult, param1: number, param2: boolean): number;
- public applyTrackSelection(param0: com.google.android.exoplayer2.trackselection.TrackSelectorResult, param1: number, param2: boolean, param3: native.Array): number;
+ public applyTrackSelection(param0: com.google.android.exoplayer2.trackselection.TrackSelectorResult, param1: number, param2: boolean, param3: androidNative.Array): number;
public setRendererOffset(param0: number): void;
public getTrackGroups(): com.google.android.exoplayer2.source.TrackGroupArray;
public getBufferedPositionUs(): number;
@@ -2078,7 +2078,7 @@ declare module com {
public toRendererTime(param0: number): number;
public getNext(): com.google.android.exoplayer2.MediaPeriodHolder;
public getRendererOffset(): number;
- public constructor(param0: native.Array, param1: number, param2: com.google.android.exoplayer2.trackselection.TrackSelector, param3: com.google.android.exoplayer2.upstream.Allocator, param4: com.google.android.exoplayer2.MediaSourceList, param5: com.google.android.exoplayer2.MediaPeriodInfo, param6: com.google.android.exoplayer2.trackselection.TrackSelectorResult);
+ public constructor(param0: androidNative.Array, param1: number, param2: com.google.android.exoplayer2.trackselection.TrackSelector, param3: com.google.android.exoplayer2.upstream.Allocator, param4: com.google.android.exoplayer2.MediaSourceList, param5: com.google.android.exoplayer2.MediaPeriodInfo, param6: com.google.android.exoplayer2.trackselection.TrackSelectorResult);
public isFullyBuffered(): boolean;
public continueLoading(param0: number): void;
public getNextLoadPositionUs(): number;
@@ -2132,7 +2132,7 @@ declare module com {
public getReadingPeriod(): com.google.android.exoplayer2.MediaPeriodHolder;
public resolveMediaPeriodIdForAds(param0: com.google.android.exoplayer2.Timeline, param1: any, param2: number): com.google.android.exoplayer2.source.MediaSource.MediaPeriodId;
public constructor(param0: com.google.android.exoplayer2.analytics.AnalyticsCollector, param1: globalAndroid.os.Handler);
- public enqueueNextMediaPeriodHolder(param0: native.Array, param1: com.google.android.exoplayer2.trackselection.TrackSelector, param2: com.google.android.exoplayer2.upstream.Allocator, param3: com.google.android.exoplayer2.MediaSourceList, param4: com.google.android.exoplayer2.MediaPeriodInfo, param5: com.google.android.exoplayer2.trackselection.TrackSelectorResult): com.google.android.exoplayer2.MediaPeriodHolder;
+ public enqueueNextMediaPeriodHolder(param0: androidNative.Array, param1: com.google.android.exoplayer2.trackselection.TrackSelector, param2: com.google.android.exoplayer2.upstream.Allocator, param3: com.google.android.exoplayer2.MediaSourceList, param4: com.google.android.exoplayer2.MediaPeriodInfo, param5: com.google.android.exoplayer2.trackselection.TrackSelectorResult): com.google.android.exoplayer2.MediaPeriodHolder;
public getNextMediaPeriodInfo(param0: number, param1: com.google.android.exoplayer2.PlaybackInfo): com.google.android.exoplayer2.MediaPeriodInfo;
public updateShuffleModeEnabled(param0: com.google.android.exoplayer2.Timeline, param1: boolean): boolean;
public clear(): void;
@@ -2304,7 +2304,7 @@ declare module com {
public onDisabled(): void;
public static create(param0: number): number;
public disable(): void;
- public enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: native.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
+ public enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: androidNative.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
public constructor();
public resetPosition(param0: number): void;
public setPlaybackSpeed(param0: number, param1: number): void;
@@ -2316,7 +2316,7 @@ declare module com {
public getCapabilities(): com.google.android.exoplayer2.RendererCapabilities;
public setIndex(param0: number): void;
public onEnabled(param0: boolean): void;
- public replaceStream(param0: native.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
+ public replaceStream(param0: androidNative.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
public hasReadStreamToEnd(): boolean;
public maybeThrowStreamError(): void;
public isEnded(): boolean;
@@ -2825,7 +2825,7 @@ declare module com {
public contains(param0: number): boolean;
public constructor();
public get(param0: number): number;
- public containsAny(param0: native.Array): boolean;
+ public containsAny(param0: androidNative.Array): boolean;
}
export class MediaItemTransitionReason {
public static class: java.lang.Class;
@@ -3057,9 +3057,9 @@ declare module com {
setIndex(param0: number): void;
getMediaClock(): com.google.android.exoplayer2.util.MediaClock;
getState(): number;
- enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: native.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
+ enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: androidNative.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
start(): void;
- replaceStream(param0: native.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
+ replaceStream(param0: androidNative.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
getStream(): com.google.android.exoplayer2.source.SampleStream;
hasReadStreamToEnd(): boolean;
getReadingPositionUs(): number;
@@ -3101,7 +3101,7 @@ declare module com {
public getCapabilities(): com.google.android.exoplayer2.RendererCapabilities;
public render(param0: number, param1: number): void;
public setIndex(param0: number): void;
- public replaceStream(param0: native.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
+ public replaceStream(param0: androidNative.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
public hasReadStreamToEnd(): boolean;
public maybeThrowStreamError(): void;
public isEnded(): boolean;
@@ -3109,7 +3109,7 @@ declare module com {
public isCurrentStreamFinal(): boolean;
public getStream(): com.google.android.exoplayer2.source.SampleStream;
public disable(): void;
- public enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: native.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
+ public enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: androidNative.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
public getName(): string;
public handleMessage(param0: number, param1: any): void;
public resetPosition(param0: number): void;
@@ -3272,10 +3272,10 @@ declare module com {
* Constructs a new instance of the com.google.android.exoplayer2.RenderersFactory interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
*/
public constructor(implementation: {
- createRenderers(param0: globalAndroid.os.Handler, param1: com.google.android.exoplayer2.video.VideoRendererEventListener, param2: com.google.android.exoplayer2.audio.AudioRendererEventListener, param3: com.google.android.exoplayer2.text.TextOutput, param4: com.google.android.exoplayer2.metadata.MetadataOutput): native.Array;
+ createRenderers(param0: globalAndroid.os.Handler, param1: com.google.android.exoplayer2.video.VideoRendererEventListener, param2: com.google.android.exoplayer2.audio.AudioRendererEventListener, param3: com.google.android.exoplayer2.text.TextOutput, param4: com.google.android.exoplayer2.metadata.MetadataOutput): androidNative.Array;
});
public constructor();
- public createRenderers(param0: globalAndroid.os.Handler, param1: com.google.android.exoplayer2.video.VideoRendererEventListener, param2: com.google.android.exoplayer2.audio.AudioRendererEventListener, param3: com.google.android.exoplayer2.text.TextOutput, param4: com.google.android.exoplayer2.metadata.MetadataOutput): native.Array;
+ public createRenderers(param0: globalAndroid.os.Handler, param1: com.google.android.exoplayer2.video.VideoRendererEventListener, param2: com.google.android.exoplayer2.audio.AudioRendererEventListener, param3: com.google.android.exoplayer2.text.TextOutput, param4: com.google.android.exoplayer2.metadata.MetadataOutput): androidNative.Array;
}
}
}
@@ -3312,7 +3312,7 @@ declare module com {
export class SimpleExoPlayer extends com.google.android.exoplayer2.BasePlayer implements com.google.android.exoplayer2.ExoPlayer, com.google.android.exoplayer2.Player.AudioComponent, com.google.android.exoplayer2.Player.VideoComponent, com.google.android.exoplayer2.Player.TextComponent, com.google.android.exoplayer2.Player.MetadataComponent, com.google.android.exoplayer2.Player.DeviceComponent {
public static class: java.lang.Class;
public static DEFAULT_DETACH_SURFACE_TIMEOUT_MS: number;
- public renderers: native.Array;
+ public renderers: androidNative.Array;
public setAudioSessionId(param0: number): void;
public getPlayWhenReady(): boolean;
public getRendererCount(): number;
@@ -4091,7 +4091,7 @@ declare module com {
public get(param0: number): number;
public setEventTimes(param0: globalAndroid.util.SparseArray): void;
public getEventTime(param0: number): com.google.android.exoplayer2.analytics.AnalyticsListener.EventTime;
- public containsAny(param0: native.Array): boolean;
+ public containsAny(param0: androidNative.Array): boolean;
public contains(param0: number): boolean;
}
}
@@ -4277,7 +4277,7 @@ declare module com {
public getMeanPauseBufferCount(): number;
public getMeanTimeBetweenNonFatalErrors(): number;
public getRebufferRate(): number;
- public static merge(param0: native.Array): com.google.android.exoplayer2.analytics.PlaybackStats;
+ public static merge(param0: androidNative.Array): com.google.android.exoplayer2.analytics.PlaybackStats;
public getMeanInitialAudioFormatBitrate(): number;
public getAbandonedBeforeReadyRatio(): number;
public getMeanPausedTimeMs(): number;
@@ -4469,11 +4469,11 @@ declare module com {
public static AUDIO_OBJECT_TYPE_AAC_ELD: number;
public static AUDIO_OBJECT_TYPE_AAC_PS: number;
public static AUDIO_OBJECT_TYPE_AAC_XHE: number;
- public static buildAacLcAudioSpecificConfig(param0: number, param1: number): native.Array;
+ public static buildAacLcAudioSpecificConfig(param0: number, param1: number): androidNative.Array;
public static parseAudioSpecificConfig(param0: com.google.android.exoplayer2.util.ParsableBitArray, param1: boolean): com.google.android.exoplayer2.audio.AacUtil.Config;
public static getEncodingForAudioObjectType(param0: number): number;
- public static buildAudioSpecificConfig(param0: number, param1: number, param2: number): native.Array;
- public static parseAudioSpecificConfig(param0: native.Array): com.google.android.exoplayer2.audio.AacUtil.Config;
+ public static buildAudioSpecificConfig(param0: number, param1: number, param2: number): androidNative.Array;
+ public static parseAudioSpecificConfig(param0: androidNative.Array): com.google.android.exoplayer2.audio.AacUtil.Config;
}
export module AacUtil {
export class AacAudioObjectType {
@@ -4511,13 +4511,13 @@ declare module com {
public static TRUEHD_RECHUNK_SAMPLE_COUNT: number;
public static TRUEHD_SYNCFRAME_PREFIX_LENGTH: number;
public static parseAc3SyncframeInfo(param0: com.google.android.exoplayer2.util.ParsableBitArray): com.google.android.exoplayer2.audio.Ac3Util.SyncFrameInfo;
- public static parseTrueHdSyncframeAudioSampleCount(param0: native.Array): number;
+ public static parseTrueHdSyncframeAudioSampleCount(param0: androidNative.Array): number;
public static parseAc3SyncframeAudioSampleCount(param0: java.nio.ByteBuffer): number;
public static findTrueHdSyncframeOffset(param0: java.nio.ByteBuffer): number;
public static parseTrueHdSyncframeAudioSampleCount(param0: java.nio.ByteBuffer, param1: number): number;
public static parseEAc3AnnexFFormat(param0: com.google.android.exoplayer2.util.ParsableByteArray, param1: string, param2: string, param3: com.google.android.exoplayer2.drm.DrmInitData): com.google.android.exoplayer2.Format;
public static parseAc3AnnexFFormat(param0: com.google.android.exoplayer2.util.ParsableByteArray, param1: string, param2: string, param3: com.google.android.exoplayer2.drm.DrmInitData): com.google.android.exoplayer2.Format;
- public static parseAc3SyncframeSize(param0: native.Array): number;
+ public static parseAc3SyncframeSize(param0: androidNative.Array): number;
}
export module Ac3Util {
export class SyncFrameInfo {
@@ -4563,7 +4563,7 @@ declare module com {
public static MAX_RATE_BYTES_PER_SECOND: number;
public static SAMPLE_HEADER_SIZE: number;
public static HEADER_SIZE_FOR_PARSER: number;
- public static parseAc4SyncframeSize(param0: native.Array, param1: number): number;
+ public static parseAc4SyncframeSize(param0: androidNative.Array, param1: number): number;
public static parseAc4AnnexEFormat(param0: com.google.android.exoplayer2.util.ParsableByteArray, param1: string, param2: string, param3: com.google.android.exoplayer2.drm.DrmInitData): com.google.android.exoplayer2.Format;
public static getAc4SampleHeader(param0: number, param1: com.google.android.exoplayer2.util.ParsableByteArray): void;
public static parseAc4SyncframeAudioSampleCount(param0: java.nio.ByteBuffer): number;
@@ -4627,7 +4627,7 @@ declare module com {
public static class: java.lang.Class;
public static DEFAULT_AUDIO_CAPABILITIES: com.google.android.exoplayer2.audio.AudioCapabilities;
public getMaxChannelCount(): number;
- public constructor(param0: native.Array, param1: number);
+ public constructor(param0: androidNative.Array, param1: number);
public supportsEncoding(param0: number): boolean;
public static getCapabilities(param0: globalAndroid.content.Context): com.google.android.exoplayer2.audio.AudioCapabilities;
public equals(param0: any): boolean;
@@ -4834,7 +4834,7 @@ declare module com {
supportsFormat(param0: com.google.android.exoplayer2.Format): boolean;
getFormatSupport(param0: com.google.android.exoplayer2.Format): number;
getCurrentPositionUs(param0: boolean): number;
- configure(param0: com.google.android.exoplayer2.Format, param1: number, param2: native.Array): void;
+ configure(param0: com.google.android.exoplayer2.Format, param1: number, param2: androidNative.Array): void;
play(): void;
handleDiscontinuity(): void;
handleBuffer(param0: java.nio.ByteBuffer, param1: number, param2: number): boolean;
@@ -4880,7 +4880,7 @@ declare module com {
public setSkipSilenceEnabled(param0: boolean): void;
public handleBuffer(param0: java.nio.ByteBuffer, param1: number, param2: number): boolean;
public supportsFormat(param0: com.google.android.exoplayer2.Format): boolean;
- public configure(param0: com.google.android.exoplayer2.Format, param1: number, param2: native.Array): void;
+ public configure(param0: com.google.android.exoplayer2.Format, param1: number, param2: androidNative.Array): void;
public enableTunnelingV21(): void;
public play(): void;
public setVolume(param0: number): void;
@@ -5086,7 +5086,7 @@ declare module com {
export module audio {
export class ChannelMappingAudioProcessor extends com.google.android.exoplayer2.audio.BaseAudioProcessor {
public static class: java.lang.Class;
- public setChannelMap(param0: native.Array): void;
+ public setChannelMap(param0: androidNative.Array): void;
public onFlush(): void;
public queueEndOfStream(): void;
public getOutput(): java.nio.ByteBuffer;
@@ -5140,7 +5140,7 @@ declare module com {
public onStarted(): void;
public render(param0: number, param1: number): void;
public getName(): string;
- public replaceStream(param0: native.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
+ public replaceStream(param0: androidNative.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
public getMediaClock(): com.google.android.exoplayer2.util.MediaClock;
public isCurrentStreamFinal(): boolean;
public setPlaybackParameters(param0: com.google.android.exoplayer2.PlaybackParameters): void;
@@ -5148,9 +5148,9 @@ declare module com {
public getCapabilities(): com.google.android.exoplayer2.RendererCapabilities;
public getOutputFormat(param0: any): com.google.android.exoplayer2.Format;
public resetPosition(param0: number): void;
- public constructor(param0: globalAndroid.os.Handler, param1: com.google.android.exoplayer2.audio.AudioRendererEventListener, param2: com.google.android.exoplayer2.audio.AudioCapabilities, param3: native.Array);
+ public constructor(param0: globalAndroid.os.Handler, param1: com.google.android.exoplayer2.audio.AudioRendererEventListener, param2: com.google.android.exoplayer2.audio.AudioCapabilities, param3: androidNative.Array);
public createDecoder(param0: com.google.android.exoplayer2.Format, param1: com.google.android.exoplayer2.drm.ExoMediaCrypto): any;
- public enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: native.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
+ public enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: androidNative.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
public hasReadStreamToEnd(): boolean;
public setIndex(param0: number): void;
public getTrackType(): number;
@@ -5159,7 +5159,7 @@ declare module com {
public getSinkFormatSupport(param0: com.google.android.exoplayer2.Format): number;
public onEnabled(param0: boolean, param1: boolean): void;
public static getFormatSupport(param0: number): number;
- public constructor(param0: globalAndroid.os.Handler, param1: com.google.android.exoplayer2.audio.AudioRendererEventListener, param2: native.Array);
+ public constructor(param0: globalAndroid.os.Handler, param1: com.google.android.exoplayer2.audio.AudioRendererEventListener, param2: androidNative.Array);
public static create(param0: number, param1: number, param2: number): number;
public constructor(param0: number);
public maybeThrowStreamError(): void;
@@ -5198,7 +5198,7 @@ declare module com {
public static failOnSpuriousAudioTimestamp: boolean;
public setAudioAttributes(param0: com.google.android.exoplayer2.audio.AudioAttributes): void;
public pause(): void;
- public constructor(param0: com.google.android.exoplayer2.audio.AudioCapabilities, param1: native.Array);
+ public constructor(param0: com.google.android.exoplayer2.audio.AudioCapabilities, param1: androidNative.Array);
public handleDiscontinuity(): void;
public getFormatSupport(param0: com.google.android.exoplayer2.Format): number;
public constructor(param0: com.google.android.exoplayer2.audio.AudioCapabilities, param1: com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain, param2: boolean, param3: boolean, param4: boolean);
@@ -5217,8 +5217,8 @@ declare module com {
public setSkipSilenceEnabled(param0: boolean): void;
public handleBuffer(param0: java.nio.ByteBuffer, param1: number, param2: number): boolean;
public supportsFormat(param0: com.google.android.exoplayer2.Format): boolean;
- public configure(param0: com.google.android.exoplayer2.Format, param1: number, param2: native.Array): void;
- public constructor(param0: com.google.android.exoplayer2.audio.AudioCapabilities, param1: native.Array, param2: boolean);
+ public configure(param0: com.google.android.exoplayer2.Format, param1: number, param2: androidNative.Array): void;
+ public constructor(param0: com.google.android.exoplayer2.audio.AudioCapabilities, param1: androidNative.Array, param2: boolean);
public enableTunnelingV21(): void;
public play(): void;
public setVolume(param0: number): void;
@@ -5232,7 +5232,7 @@ declare module com {
* Constructs a new instance of the com.google.android.exoplayer2.audio.DefaultAudioSink$AudioProcessorChain interface with the provided implementation. An empty constructor exists calling super() when extending the interface class.
*/
public constructor(implementation: {
- getAudioProcessors(): native.Array;
+ getAudioProcessors(): androidNative.Array;
applyPlaybackParameters(param0: com.google.android.exoplayer2.PlaybackParameters): com.google.android.exoplayer2.PlaybackParameters;
applySkipSilenceEnabled(param0: boolean): boolean;
getMediaDuration(param0: number): number;
@@ -5240,7 +5240,7 @@ declare module com {
});
public constructor();
public applySkipSilenceEnabled(param0: boolean): boolean;
- public getAudioProcessors(): native.Array;
+ public getAudioProcessors(): androidNative.Array;
public getMediaDuration(param0: number): number;
public getSkippedOutputFrameCount(): number;
public applyPlaybackParameters(param0: com.google.android.exoplayer2.PlaybackParameters): com.google.android.exoplayer2.PlaybackParameters;
@@ -5255,8 +5255,8 @@ declare module com {
public outputChannelConfig: number;
public outputEncoding: number;
public bufferSize: number;
- public availableAudioProcessors: native.Array;
- public constructor(param0: com.google.android.exoplayer2.Format, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: boolean, param9: native.Array);
+ public availableAudioProcessors: androidNative.Array;
+ public constructor(param0: com.google.android.exoplayer2.Format, param1: number, param2: number, param3: number, param4: number, param5: number, param6: number, param7: number, param8: boolean, param9: androidNative.Array);
public buildAudioTrack(param0: boolean, param1: com.google.android.exoplayer2.audio.AudioAttributes, param2: number): globalAndroid.media.AudioTrack;
public inputFramesToDurationUs(param0: number): number;
public canReuseAudioTrack(param0: com.google.android.exoplayer2.audio.DefaultAudioSink.Configuration): boolean;
@@ -5267,9 +5267,9 @@ declare module com {
export class DefaultAudioProcessorChain extends com.google.android.exoplayer2.audio.DefaultAudioSink.AudioProcessorChain {
public static class: java.lang.Class;
public applySkipSilenceEnabled(param0: boolean): boolean;
- public constructor(param0: native.Array);
- public constructor(param0: native.Array, param1: com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor, param2: com.google.android.exoplayer2.audio.SonicAudioProcessor);
- public getAudioProcessors(): native.Array;
+ public constructor(param0: androidNative.Array);
+ public constructor(param0: androidNative.Array, param1: com.google.android.exoplayer2.audio.SilenceSkippingAudioProcessor, param2: com.google.android.exoplayer2.audio.SonicAudioProcessor);
+ public getAudioProcessors(): androidNative.Array;
public getMediaDuration(param0: number): number;
public getSkippedOutputFrameCount(): number;
public applyPlaybackParameters(param0: com.google.android.exoplayer2.PlaybackParameters): com.google.android.exoplayer2.PlaybackParameters;
@@ -5320,11 +5320,11 @@ declare module com {
public static class: java.lang.Class;
public static DTS_MAX_RATE_BYTES_PER_SECOND: number;
public static DTS_HD_MAX_RATE_BYTES_PER_SECOND: number;
- public static parseDtsFormat(param0: native.Array, param1: string, param2: string, param3: com.google.android.exoplayer2.drm.DrmInitData): com.google.android.exoplayer2.Format;
- public static parseDtsAudioSampleCount(param0: native.Array): number;
+ public static parseDtsFormat(param0: androidNative.Array, param1: string, param2: string, param3: com.google.android.exoplayer2.drm.DrmInitData): com.google.android.exoplayer2.Format;
+ public static parseDtsAudioSampleCount(param0: androidNative.Array): number;
public static isSyncWord(param0: number): boolean;
public static parseDtsAudioSampleCount(param0: java.nio.ByteBuffer): number;
- public static getDtsFrameSize(param0: native.Array): number;
+ public static getDtsFrameSize(param0: androidNative.Array): number;
}
}
}
@@ -5381,7 +5381,7 @@ declare module com {
public setSkipSilenceEnabled(param0: boolean): void;
public handleBuffer(param0: java.nio.ByteBuffer, param1: number, param2: number): boolean;
public supportsFormat(param0: com.google.android.exoplayer2.Format): boolean;
- public configure(param0: com.google.android.exoplayer2.Format, param1: number, param2: native.Array): void;
+ public configure(param0: com.google.android.exoplayer2.Format, param1: number, param2: androidNative.Array): void;
public constructor(param0: com.google.android.exoplayer2.audio.AudioSink);
public enableTunnelingV21(): void;
public play(): void;
@@ -5418,7 +5418,7 @@ declare module com {
public setPlaybackSpeed(param0: number, param1: number): void;
public onPositionDiscontinuity(): void;
public setCurrentStreamFinal(): void;
- public getCodecOperatingRateV23(param0: number, param1: com.google.android.exoplayer2.Format, param2: native.Array): number;
+ public getCodecOperatingRateV23(param0: number, param1: com.google.android.exoplayer2.Format, param2: androidNative.Array): number;
public isReady(): boolean;
public disable(): void;
public processOutputBuffer(param0: number, param1: number, param2: com.google.android.exoplayer2.mediacodec.MediaCodecAdapter, param3: java.nio.ByteBuffer, param4: number, param5: number, param6: number, param7: number, param8: boolean, param9: boolean, param10: com.google.android.exoplayer2.Format): boolean;
@@ -5434,12 +5434,12 @@ declare module com {
public onStopped(): void;
public getReadingPositionUs(): number;
public reset(): void;
- public getCodecMaxInputSize(param0: com.google.android.exoplayer2.mediacodec.MediaCodecInfo, param1: com.google.android.exoplayer2.Format, param2: native.Array): number;
+ public getCodecMaxInputSize(param0: com.google.android.exoplayer2.mediacodec.MediaCodecInfo, param1: com.google.android.exoplayer2.Format, param2: androidNative.Array): number;
public onQueueInputBuffer(param0: com.google.android.exoplayer2.decoder.DecoderInputBuffer): void;
public onStarted(): void;
public render(param0: number, param1: number): void;
public getName(): string;
- public replaceStream(param0: native.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
+ public replaceStream(param0: androidNative.Array, param1: com.google.android.exoplayer2.source.SampleStream, param2: number, param3: number): void;
public getMediaClock(): com.google.android.exoplayer2.util.MediaClock;
public isCurrentStreamFinal(): boolean;
public getMediaFormat(param0: com.google.android.exoplayer2.Format, param1: string, param2: number, param3: number): globalAndroid.media.MediaFormat;
@@ -5450,10 +5450,10 @@ declare module com {
public onCodecReleased(param0: string): void;
public onInputFormatChanged(param0: com.google.android.exoplayer2.FormatHolder): com.google.android.exoplayer2.decoder.DecoderReuseEvaluation;
public getCapabilities(): com.google.android.exoplayer2.RendererCapabilities;
- public constructor(param0: globalAndroid.content.Context, param1: com.google.android.exoplayer2.mediacodec.MediaCodecSelector, param2: globalAndroid.os.Handler, param3: com.google.android.exoplayer2.audio.AudioRendererEventListener, param4: com.google.android.exoplayer2.audio.AudioCapabilities, param5: native.Array);
+ public constructor(param0: globalAndroid.content.Context, param1: com.google.android.exoplayer2.mediacodec.MediaCodecSelector, param2: globalAndroid.os.Handler, param3: com.google.android.exoplayer2.audio.AudioRendererEventListener, param4: com.google.android.exoplayer2.audio.AudioCapabilities, param5: androidNative.Array);
public constructor(param0: globalAndroid.content.Context, param1: com.google.android.exoplayer2.mediacodec.MediaCodecAdapter.Factory, param2: com.google.android.exoplayer2.mediacodec.MediaCodecSelector, param3: boolean, param4: globalAndroid.os.Handler, param5: com.google.android.exoplayer2.audio.AudioRendererEventListener, param6: com.google.android.exoplayer2.audio.AudioSink);
public resetPosition(param0: number): void;
- public enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: native.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
+ public enable(param0: com.google.android.exoplayer2.RendererConfiguration, param1: androidNative.Array, param2: com.google.android.exoplayer2.source.SampleStream, param3: number, param4: boolean, param5: boolean, param6: number, param7: number): void;
public hasReadStreamToEnd(): boolean;
public setIndex(param0: number): void;
public onProcessedStreamChange(): void;
@@ -5527,10 +5527,10 @@ declare module com {
export class OpusUtil {
public static class: java.lang.Class;
public static SAMPLE_RATE: number;
- public static buildInitializationData(param0: native.Array): java.util.List>;
+ public static buildInitializationData(param0: androidNative.Array): java.util.List>;
public static getSeekPreRollSamples(param0: java.util.List>): number;
public static getPreSkipSamples(param0: java.util.List>): number;
- public static getChannelCount(param0: native.Array): number;
+ public static getChannelCount(param0: androidNative.Array): number;
}
}
}
@@ -5926,18 +5926,18 @@ declare module com {
export module decoder {
export class CryptoInfo {
public static class: java.lang.Class;
- public iv: native.Array;
- public key: native.Array;
+ public iv: androidNative.Array;
+ public key: androidNative.Array;
public mode: number;
- public numBytesOfClearData: native.Array;
- public numBytesOfEncryptedData: native.Array;
+ public numBytesOfClearData: androidNative.Array;
+ public numBytesOfEncryptedData: androidNative.Array;
public numSubSamples: number;
public encryptedBlocks: number;
public clearBlocks: number;
public getFrameworkCryptoInfo(): globalAndroid.media.MediaCodec.CryptoInfo;
public increaseClearDataFirstSubSampleBy(param0: number): void;
public constructor();
- public set(param0: number, param1: native.Array, param2: native.Array, param3: native.Array, param4: native.Array, param5: number, param6: number, param7: number): void;
+ public set(param0: number, param1: androidNative.Array, param2: androidNative.Array, param3: androidNative.Array, param4: androidNative.Array, param5: number, param6: number, param7: number): void;
/** @deprecated */
public getFrameworkCryptoInfoV16(): globalAndroid.media.MediaCodec.CryptoInfo;
}
@@ -6188,7 +6188,7 @@ declare module com {
public release(): void;
public getName(): string;
public createInputBuffer(): any;
- public constructor(param0: native.Array, param1: native.Array);
+ public constructor(param0: androidNative.Array, param1: androidNative.Array);
public dequeueOutputBuffer(): any;
public queueInputBuffer(param0: any): void;
}
@@ -6285,8 +6285,8 @@ declare module com {
export module drm {
export class ClearKeyUtil {
public static class: java.lang.Class;
- public static adjustResponseData(param0: native.Array): native.Array;
- public static adjustRequestData(param0: native.Array): native.Array;
+ public static adjustResponseData(param0: androidNative.Array): androidNative.Array;
+ public static adjustRequestData(param0: androidNative.Array): androidNative.Array;
}
}
}
@@ -6327,11 +6327,11 @@ declare module com {
public onMediaDrmEvent(param0: number): void;
public onProvisionError(param0: java.lang.Exception): void;
public getState(): number;
- public getOfflineLicenseKeySetId(): native.Array;
+ public getOfflineLicenseKeySetId(): androidNative.Array;
public acquire(param0: com.google.android.exoplayer2.drm.DrmSessionEventListener.EventDispatcher): void;
public queryKeyStatus(): java.util.Map;
- public hasSessionId(param0: native.Array): boolean;
- public constructor(param0: java.util.UUID, param1: com.google.android.exoplayer2.drm.ExoMediaDrm, param2: com.google.android.exoplayer2.drm.DefaultDrmSession.ProvisioningManager, param3: com.google.android.exoplayer2.drm.DefaultDrmSession.ReferenceCountListener, param4: java.util.List, param5: number, param6: boolean, param7: boolean, param8: native.Array, param9: java.util.HashMap, param10: com.google.android.exoplayer2.drm.MediaDrmCallback, param11: globalAndroid.os.Looper, param12: com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy);
+ public hasSessionId(param0: androidNative.Array): boolean;
+ public constructor(param0: java.util.UUID, param1: com.google.android.exoplayer2.drm.ExoMediaDrm, param2: com.google.android.exoplayer2.drm.DefaultDrmSession.ProvisioningManager, param3: com.google.android.exoplayer2.drm.DefaultDrmSession.ReferenceCountListener, param4: java.util.List, param5: number, param6: boolean, param7: boolean, param8: androidNative.Array, param9: java.util.HashMap, param10: com.google.android.exoplayer2.drm.MediaDrmCallback, param11: globalAndroid.os.Looper, param12: com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy);
public getMediaCrypto(): com.google.android.exoplayer2.drm.ExoMediaCrypto;
public playClearSamplesWithoutKeys(): boolean;
}
@@ -6419,7 +6419,7 @@ declare module com {
public constructor(param0: java.util.UUID, param1: com.google.android.exoplayer2.drm.ExoMediaDrm, param2: com.google.android.exoplayer2.drm.MediaDrmCallback, param3: java.util.HashMap);
/** @deprecated */
public constructor(param0: java.util.UUID, param1: com.google.android.exoplayer2.drm.ExoMediaDrm, param2: com.google.android.exoplayer2.drm.MediaDrmCallback, param3: java.util.HashMap, param4: boolean, param5: number);
- public setMode(param0: number, param1: native.Array): void;
+ public setMode(param0: number, param1: androidNative.Array): void;
public release(): void;
public getExoMediaCryptoType(param0: com.google.android.exoplayer2.Format): java.lang.Class;
}
@@ -6428,7 +6428,7 @@ declare module com {
public static class: java.lang.Class;
public constructor();
public setKeyRequestParameters(param0: java.util.Map): com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder;
- public setUseDrmSessionsForClearContent(param0: native.Array): com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder;
+ public setUseDrmSessionsForClearContent(param0: androidNative.Array): com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder;
public build(param0: com.google.android.exoplayer2.drm.MediaDrmCallback): com.google.android.exoplayer2.drm.DefaultDrmSessionManager;
public setPlayClearSamplesWithoutKeys(param0: boolean): com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder;
public setLoadErrorHandlingPolicy(param0: com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy): com.google.android.exoplayer2.drm.DefaultDrmSessionManager.Builder;
@@ -6438,7 +6438,7 @@ declare module com {
}
export class MediaDrmEventListener extends com.google.android.exoplayer2.drm.ExoMediaDrm.OnEventListener {
public static class: java.lang.Class;
- public onEvent(param0: com.google.android.exoplayer2.drm.ExoMediaDrm, param1: native.Array, param2: number, param3: number, param4: native.Array): void;
+ public onEvent(param0: com.google.android.exoplayer2.drm.ExoMediaDrm, param1: androidNative.Array, param2: number, param3: number, param4: androidNative.Array): void;
}
export class MediaDrmHandler {
public static class: java.lang.Class;
@@ -6507,8 +6507,8 @@ declare module com {
public static createSessionCreationData(param0: com.google.android.exoplayer2.drm.DrmInitData, param1: com.google.android.exoplayer2.drm.DrmInitData): com.google.android.exoplayer2.drm.DrmInitData;
public constructor(param0: string, param1: java.util.List);
public get(param0: number): com.google.android.exoplayer2.drm.DrmInitData.SchemeData;
- public constructor(param0: native.Array);
- public constructor(param0: string, param1: native.Array);
+ public constructor(param0: androidNative.Array);
+ public constructor(param0: string, param1: androidNative.Array);
public writeToParcel(param0: globalAndroid.os.Parcel, param1: number): void;
public hashCode(): number;
public equals(param0: any): boolean;
@@ -6523,17 +6523,17 @@ declare module com {
public uuid: java.util.UUID;
public licenseServerUrl: string;
public mimeType: string;
- public data: native.Array;
+ public data: androidNative.Array;
public static CREATOR: globalAndroid.os.Parcelable.Creator;
public writeToParcel(param0: globalAndroid.os.Parcel, param1: number): void;
public hashCode(): number;
- public constructor(param0: java.util.UUID, param1: string, param2: string, param3: native.Array);
+ public constructor(param0: java.util.UUID, param1: string, param2: string, param3: androidNative.Array);
public describeContents(): number;
public canReplace(param0: com.google.android.exoplayer2.drm.DrmInitData.SchemeData): boolean;
- public copyWithData(param0: native.Array): com.google.android.exoplayer2.drm.DrmInitData.SchemeData;
+ public copyWithData(param0: androidNative.Array): com.google.android.exoplayer2.drm.DrmInitData.SchemeData;
public equals(param0: any): boolean;
public hasData(): boolean;
- public constructor(param0: java.util.UUID, param1: string, param2: native.Array);
+ public constructor(param0: java.util.UUID, param1: string, param2: androidNative.Array);
public matches(param0: java.util.UUID): boolean;
}
}
@@ -6561,7 +6561,7 @@ declare module com {
getSchemeUuid(): java.util.UUID;
getMediaCrypto(): com.google.android.exoplayer2.drm.ExoMediaCrypto;
queryKeyStatus(): java.util.Map