Created
August 7, 2018 16:17
-
-
Save RoyiNamir/f596b178f4e862fcee7936e052ccb099 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import {ReplaySubject} from 'rxjs/ReplaySubject'; | |
import {AndroidActivityCallbacks, setActivityCallbacks} from "tns-core-modules/ui/frame"; | |
export var AndroidOnRouteToURL = new ReplaySubject<string>(); | |
@JavaProxy("org.myApp.MainActivity") | |
export class Activity extends android.support.v7.app.AppCompatActivity | |
{ | |
private _callbacks: AndroidActivityCallbacks; | |
public onBackPressed(): void | |
{ | |
this._callbacks.onBackPressed(this, super.onBackPressed); | |
} | |
public onRequestPermissionsResult(requestCode: number, permissions: Array<String>, grantResults: Array<number>): void | |
{ | |
this._callbacks.onRequestPermissionsResult(this, requestCode, permissions, grantResults, undefined); | |
} | |
protected onCreate(savedInstanceState: android.os.Bundle): void | |
{ | |
if (!this._callbacks) | |
{ | |
setActivityCallbacks(this); | |
} | |
this._callbacks.onCreate(this, savedInstanceState, super.onCreate); | |
const creationIntent = this.getIntent(); | |
this.handleIntent(creationIntent); | |
} | |
protected onSaveInstanceState(outState: android.os.Bundle): void | |
{ | |
this._callbacks.onSaveInstanceState(this, outState, super.onSaveInstanceState); | |
} | |
protected onStart(): void | |
{ | |
this._callbacks.onStart(this, super.onStart); | |
} | |
protected onStop(): void | |
{ | |
this._callbacks.onStop(this, super.onStop); | |
} | |
protected onDestroy(): void | |
{ | |
this._callbacks.onDestroy(this, super.onDestroy); | |
} | |
protected onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent): void | |
{ | |
this._callbacks.onActivityResult(this, requestCode, resultCode, data, super.onActivityResult); | |
} | |
protected onNewIntent(intent: android.content.Intent): void | |
{ | |
super.onNewIntent(intent); | |
// console.info('MainActivity.onNewIntent'); | |
this.handleIntent(intent); | |
} | |
private handleIntent(intent: android.content.Intent) | |
{ | |
const action = intent.getAction(); | |
const dataStr = intent.getDataString(); | |
// console.info(`MainActivity.handleIntent: [${action}] ${dataStr}`); | |
if (action === android.content.Intent.ACTION_VIEW && dataStr !== null) | |
{ | |
AndroidOnRouteToURL.next(dataStr); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment