Merge pull request #2898 from NativeScript/snapshot-activity-fix

Snapshot fix
This commit is contained in:
Alexander Vakrilov
2016-10-14 12:30:12 +03:00
committed by GitHub
5 changed files with 11 additions and 11 deletions

View File

@@ -24,7 +24,7 @@ page.on(Page.navigatedToEvent, onNavigatedTo);
function onNavigatedTo(args) { function onNavigatedTo(args) {
let label = new Label(); let label = new Label();
label.text = "Running non-UI tests..."; label.text = "Running non-UI tests...";
page.content = label page.content = label;
args.object.off(Page.navigatedToEvent, onNavigatedTo); args.object.off(Page.navigatedToEvent, onNavigatedTo);
setTimeout(function () { setTimeout(function () {
tests.runAll(); tests.runAll();

View File

@@ -43,6 +43,7 @@ export var testAndroidApplicationInitialized = function () {
TKUnit.assert(app.android.context, "Android context not initialized."); TKUnit.assert(app.android.context, "Android context not initialized.");
TKUnit.assert(app.android.currentContext, "Android currentContext not initialized."); TKUnit.assert(app.android.currentContext, "Android currentContext not initialized.");
TKUnit.assert(app.android.foregroundActivity, "Android foregroundActivity not initialized."); TKUnit.assert(app.android.foregroundActivity, "Android foregroundActivity not initialized.");
TKUnit.assert(app.android.foregroundActivity.isNativeScriptActivity, "Andorid foregroundActivity.isNativeScriptActivity is true");
TKUnit.assert(app.android.startActivity, "Android startActivity not initialized."); TKUnit.assert(app.android.startActivity, "Android startActivity not initialized.");
TKUnit.assert(app.android.nativeApp, "Android nativeApp not initialized."); TKUnit.assert(app.android.nativeApp, "Android nativeApp not initialized.");
TKUnit.assert(app.android.packageName, "Android packageName not initialized."); TKUnit.assert(app.android.packageName, "Android packageName not initialized.");

View File

@@ -4,7 +4,6 @@ import frame = require("ui/frame");
import observable = require("data/observable"); import observable = require("data/observable");
import * as typesModule from "utils/types"; import * as typesModule from "utils/types";
import * as enumsModule from "ui/enums"; import * as enumsModule from "ui/enums";
import { isNativeScriptActivity } from "ui/frame/activity";
let enums: typeof enumsModule; let enums: typeof enumsModule;
global.moduleMerge(appModule, exports); global.moduleMerge(appModule, exports);
@@ -14,6 +13,9 @@ function initLifecycleCallbacks() {
// TODO: Verify whether the logic for triggerring application-wide events based on Activity callbacks is working properly // TODO: Verify whether the logic for triggerring application-wide events based on Activity callbacks is working properly
let lifecycleCallbacks = new android.app.Application.ActivityLifecycleCallbacks({ let lifecycleCallbacks = new android.app.Application.ActivityLifecycleCallbacks({
onActivityCreated: function (activity: any, bundle: any) { onActivityCreated: function (activity: any, bundle: any) {
console.log("------> onActivityCreated: " + activity + " activity.isNativeScriptActivity: " + activity.isNativeScriptActivity);
// Set app theme after launch screen was used during startup // Set app theme after launch screen was used during startup
let activityInfo = activity.getPackageManager().getActivityInfo(activity.getComponentName(), android.content.pm.PackageManager.GET_META_DATA); let activityInfo = activity.getPackageManager().getActivityInfo(activity.getComponentName(), android.content.pm.PackageManager.GET_META_DATA);
if (activityInfo.metaData) { if (activityInfo.metaData) {
@@ -52,7 +54,7 @@ function initLifecycleCallbacks() {
androidApp.foregroundActivity = undefined; androidApp.foregroundActivity = undefined;
} }
if (isNativeScriptActivity(activity)) { if (activity.isNativeScriptActivity) {
androidApp.paused = true; androidApp.paused = true;
if (typedExports.onSuspend) { if (typedExports.onSuspend) {
@@ -70,7 +72,7 @@ function initLifecycleCallbacks() {
onActivityResumed: function (activity: any) { onActivityResumed: function (activity: any) {
androidApp.foregroundActivity = activity; androidApp.foregroundActivity = activity;
if (isNativeScriptActivity(activity)) { if (activity.isNativeScriptActivity) {
if (typedExports.onResume) { if (typedExports.onResume) {
typedExports.onResume(); typedExports.onResume();
} }

View File

@@ -3,12 +3,16 @@ import {setActivityCallbacks, AndroidActivityCallbacks} from "ui/frame";
@JavaProxy("com.tns.NativeScriptActivity") @JavaProxy("com.tns.NativeScriptActivity")
class NativeScriptActivity extends android.app.Activity { class NativeScriptActivity extends android.app.Activity {
private _callbacks: AndroidActivityCallbacks; private _callbacks: AndroidActivityCallbacks;
public isNativeScriptActivity;
constructor() { constructor() {
super(); super();
return global.__native(this); return global.__native(this);
} }
protected onCreate(savedInstanceState: android.os.Bundle): void { protected onCreate(savedInstanceState: android.os.Bundle): void {
// Set isNativeScriptActivity in onCreate.
// The JS construcotr might not be called beacuse the activity is created from Andoird.
this.isNativeScriptActivity = true;
if (!this._callbacks) { if (!this._callbacks) {
setActivityCallbacks(this); setActivityCallbacks(this);
} }
@@ -43,8 +47,4 @@ class NativeScriptActivity extends android.app.Activity {
protected onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent): void { protected onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent): void {
this._callbacks.onActivityResult(this, requestCode, resultCode, data, super.onActivityResult); this._callbacks.onActivityResult(this, requestCode, resultCode, data, super.onActivityResult);
} }
}
export function isNativeScriptActivity(activity: android.app.Activity): boolean {
return activity instanceof NativeScriptActivity;
} }

View File

@@ -1,3 +0,0 @@
declare module "ui/frame/activity" {
export function isNativeScriptActivity(activity: any/* android.app.Activity */): boolean;
}