mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-20 23:42:50 +08:00
Merge branch 'android_background_again' of github.com:Akylas/NativeScript
# Conflicts: # packages/core/ui/action-bar/index.android.ts # packages/core/ui/button/index.android.ts # packages/core/ui/core/view/index.android.ts
This commit is contained in:
@ -225,7 +225,15 @@ export class ActionBar extends ActionBarBase {
|
|||||||
const nativeView = this.nativeViewProtected;
|
const nativeView = this.nativeViewProtected;
|
||||||
if (backgroundDrawable && onlyColor && sdkVersion() >= 21) {
|
if (backgroundDrawable && onlyColor && sdkVersion() >= 21) {
|
||||||
if (isBorderDrawable && (<any>nativeView)._cachedDrawable) {
|
if (isBorderDrawable && (<any>nativeView)._cachedDrawable) {
|
||||||
backgroundDrawable = (<any>nativeView)._cachedDrawable.newDrawable(nativeView.getResources());
|
backgroundDrawable = (<any>nativeView)._cachedDrawable;
|
||||||
|
// we need to duplicate the drawable or we lose the "default" cached drawable
|
||||||
|
const constantState = backgroundDrawable.getConstantState();
|
||||||
|
if (constantState) {
|
||||||
|
try {
|
||||||
|
backgroundDrawable = constantState.newDrawable(nativeView.getResources());
|
||||||
|
// eslint-disable-next-line no-empty
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
nativeView.setBackground(backgroundDrawable);
|
nativeView.setBackground(backgroundDrawable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,10 +62,17 @@ export class Button extends ButtonBase {
|
|||||||
|
|
||||||
public _applyBackground(background: Background, isBorderDrawable, onlyColor: boolean, backgroundDrawable: any) {
|
public _applyBackground(background: Background, isBorderDrawable, onlyColor: boolean, backgroundDrawable: any) {
|
||||||
const nativeView = this.nativeViewProtected;
|
const nativeView = this.nativeViewProtected;
|
||||||
console.log('_applyBackground', nativeView, backgroundDrawable, onlyColor, isBorderDrawable);
|
|
||||||
if (backgroundDrawable && onlyColor) {
|
if (backgroundDrawable && onlyColor) {
|
||||||
if (isBorderDrawable && (<any>nativeView)._cachedDrawable) {
|
if (isBorderDrawable && (<any>nativeView)._cachedDrawable) {
|
||||||
backgroundDrawable = (<any>nativeView)._cachedDrawable.newDrawable(nativeView.getResources());
|
backgroundDrawable = (<any>nativeView)._cachedDrawable;
|
||||||
|
// we need to duplicate the drawable or we lose the "default" cached drawable
|
||||||
|
const constantState = backgroundDrawable.getConstantState();
|
||||||
|
if (constantState) {
|
||||||
|
try {
|
||||||
|
backgroundDrawable = constantState.newDrawable(nativeView.getResources());
|
||||||
|
// eslint-disable-next-line no-empty
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
nativeView.setBackground(backgroundDrawable);
|
nativeView.setBackground(backgroundDrawable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1009,7 +1009,7 @@ export class View extends ViewCommon {
|
|||||||
if (constantState) {
|
if (constantState) {
|
||||||
try {
|
try {
|
||||||
drawable = constantState.newDrawable(nativeView.getResources());
|
drawable = constantState.newDrawable(nativeView.getResources());
|
||||||
// eslint-disable-next-line no-empty
|
// eslint-disable-next-line no-empty
|
||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,18 +7,36 @@
|
|||||||
const spawn = require('child_process').spawn
|
const spawn = require('child_process').spawn
|
||||||
const kill = require('tree-kill');
|
const kill = require('tree-kill');
|
||||||
|
|
||||||
|
const TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
|
||||||
|
|
||||||
const spawned_process = spawn('npm', ['start', `apps.automated.${process.argv[2]}`], {
|
const spawned_process = spawn('npm', ['start', `apps.automated.${process.argv[2]}`], {
|
||||||
stdio: ['inherit', 'pipe', 'pipe']
|
stdio: ['inherit', 'pipe', 'pipe']
|
||||||
})
|
})
|
||||||
|
|
||||||
const {stdout, stderr} = spawned_process
|
const {stdout, stderr} = spawned_process
|
||||||
|
|
||||||
stdout.pipe(process.stdout)
|
stdout.pipe(process.stdout)
|
||||||
stderr.pipe(process.stderr)
|
stderr.pipe(process.stderr)
|
||||||
|
|
||||||
let lineBuffer = []
|
let lineBuffer = []
|
||||||
|
let timeout_id;
|
||||||
|
|
||||||
|
function exit(code) {
|
||||||
|
kill(spawned_process.pid)
|
||||||
|
process.exit(code)
|
||||||
|
}
|
||||||
|
|
||||||
|
function onTimeout() {
|
||||||
|
console.log(`Tests TIMEOUT (${TIMEOUT_MS}ms)`)
|
||||||
|
exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
function healthCheck() {
|
||||||
|
clearTimeout(timeout_id)
|
||||||
|
timeout_id = setTimeout(onTimeout, TIMEOUT_MS)
|
||||||
|
}
|
||||||
|
|
||||||
stdout.on('data', data => {
|
stdout.on('data', data => {
|
||||||
|
healthCheck();
|
||||||
const line = data.toString();
|
const line = data.toString();
|
||||||
|
|
||||||
// start buffering lines when tests are complete
|
// start buffering lines when tests are complete
|
||||||
@ -29,8 +47,6 @@ stdout.on('data', data => {
|
|||||||
if(line.includes('Tests EOF!')) {
|
if(line.includes('Tests EOF!')) {
|
||||||
let ok = lineBuffer.join('\n').includes('OK, 0 failed')
|
let ok = lineBuffer.join('\n').includes('OK, 0 failed')
|
||||||
console.log(ok ? 'Tests PASSED' : 'Tests FAILED');
|
console.log(ok ? 'Tests PASSED' : 'Tests FAILED');
|
||||||
kill(spawned_process.pid)
|
exit(ok ? 0 : 1)
|
||||||
process.exit(ok ? 0 : 1)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user