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) {
let label = new Label();
label.text = "Running non-UI tests...";
page.content = label
page.content = label;
args.object.off(Page.navigatedToEvent, onNavigatedTo);
setTimeout(function () {
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.currentContext, "Android currentContext 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.nativeApp, "Android nativeApp 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 * as typesModule from "utils/types";
import * as enumsModule from "ui/enums";
import { isNativeScriptActivity } from "ui/frame/activity";
let enums: typeof enumsModule;
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
let lifecycleCallbacks = new android.app.Application.ActivityLifecycleCallbacks({
onActivityCreated: function (activity: any, bundle: any) {
console.log("------> onActivityCreated: " + activity + " activity.isNativeScriptActivity: " + activity.isNativeScriptActivity);
// Set app theme after launch screen was used during startup
let activityInfo = activity.getPackageManager().getActivityInfo(activity.getComponentName(), android.content.pm.PackageManager.GET_META_DATA);
if (activityInfo.metaData) {
@@ -52,7 +54,7 @@ function initLifecycleCallbacks() {
androidApp.foregroundActivity = undefined;
}
if (isNativeScriptActivity(activity)) {
if (activity.isNativeScriptActivity) {
androidApp.paused = true;
if (typedExports.onSuspend) {
@@ -70,7 +72,7 @@ function initLifecycleCallbacks() {
onActivityResumed: function (activity: any) {
androidApp.foregroundActivity = activity;
if (isNativeScriptActivity(activity)) {
if (activity.isNativeScriptActivity) {
if (typedExports.onResume) {
typedExports.onResume();
}

View File

@@ -3,12 +3,16 @@ import {setActivityCallbacks, AndroidActivityCallbacks} from "ui/frame";
@JavaProxy("com.tns.NativeScriptActivity")
class NativeScriptActivity extends android.app.Activity {
private _callbacks: AndroidActivityCallbacks;
public isNativeScriptActivity;
constructor() {
super();
return global.__native(this);
}
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) {
setActivityCallbacks(this);
}
@@ -44,7 +48,3 @@ class NativeScriptActivity extends android.app.Activity {
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;
}