@@ -54,10 +54,28 @@ open class SwiftSupportAppCompatActivity: AndroidContextWrapper {
5454 }
5555 }
5656
57+ public var windowManager : AndroidWindowManager ? {
58+ get {
59+ return getWindowManager ( )
60+ }
61+ }
62+
63+ public var hasNavBar : Bool {
64+ get {
65+ return hasNavBarJavaMethod ( )
66+ }
67+ }
68+
69+ public var statusBarHeightPixels : Int {
70+ get {
71+ return getStatusBarHeightPixels ( )
72+ }
73+ }
74+
5775 // MARK: - Listener
5876
5977 open func onCreate( savedInstanceState: Android . OS . Bundle ? ) {
60-
78+
6179 NSLog ( " \( type ( of: self ) ) \( #function) " )
6280 }
6381
@@ -170,11 +188,11 @@ open class SwiftSupportAppCompatActivity: AndroidContextWrapper {
170188 withJavaObject {
171189
172190 let __return = JNIMethod . CallBooleanMethod ( object: $0,
173- methodName: " isFinishing " ,
174- methodSig: " ()Z " ,
175- methodCache: & SwiftActivityJNICache. MethodID. isFinishing,
176- args: & __args,
177- locals: & __locals)
191+ methodName: " isFinishing " ,
192+ methodSig: " ()Z " ,
193+ methodCache: & SwiftActivityJNICache. MethodID. isFinishing,
194+ args: & __args,
195+ locals: & __locals)
178196
179197 result = __return != jboolean ( JNI_FALSE)
180198 }
@@ -269,11 +287,11 @@ open class SwiftSupportAppCompatActivity: AndroidContextWrapper {
269287 withJavaObject {
270288
271289 let __return = JNIMethod . CallObjectMethod ( object: $0,
272- methodName: " getResources " ,
273- methodSig: " ()Landroid/content/res/Resources; " ,
274- methodCache: & SwiftActivityJNICache. MethodID. getResources,
275- args: & __args,
276- locals: & __locals)
290+ methodName: " getResources " ,
291+ methodSig: " ()Landroid/content/res/Resources; " ,
292+ methodCache: & SwiftActivityJNICache. MethodID. getResources,
293+ args: & __args,
294+ locals: & __locals)
277295
278296 defer { JNI . DeleteLocalRef ( __return) }
279297
@@ -363,7 +381,7 @@ open class SwiftSupportAppCompatActivity: AndroidContextWrapper {
363381 var __locals = [ jobject] ( )
364382
365383 var __args = [ jvalue] ( repeating: jvalue ( ) , count: 1 )
366-
384+
367385 let __return = JNIMethod . CallFloatMethod (
368386 object: javaObject,
369387 methodName: " getDensity " ,
@@ -433,6 +451,60 @@ open class SwiftSupportAppCompatActivity: AndroidContextWrapper {
433451 args: & __args,
434452 locals: & __locals )
435453 }
454+
455+ @inline ( __always)
456+ private func getWindowManager( ) -> AndroidWindowManager ? {
457+
458+ var __locals = [ jobject] ( )
459+
460+ var __args = [ jvalue] ( repeating: jvalue ( ) , count: 1 )
461+
462+ let __return = JNIMethod . CallObjectMethod (
463+ object: javaObject,
464+ methodName: " getWindowManager " ,
465+ methodSig: " ()Landroid/view/WindowManager; " ,
466+ methodCache: & SwiftActivityJNICache. MethodID. getWindowManager,
467+ args: & __args,
468+ locals: & __locals )
469+
470+ return __return != nil ? AndroidWindowManager ( javaObject: __return) : nil
471+ }
472+
473+ @inline ( __always)
474+ private func getStatusBarHeightPixels( ) -> Int {
475+
476+ var __locals = [ jobject] ( )
477+
478+ var __args = [ jvalue] ( repeating: jvalue ( ) , count: 1 )
479+
480+ let __return = JNIMethod . CallIntMethod (
481+ object: javaObject,
482+ methodName: " getStatusBarHeightPixels " ,
483+ methodSig: " ()I " ,
484+ methodCache: & SwiftActivityJNICache. MethodID. getStatusBarHeightPixels,
485+ args: & __args,
486+ locals: & __locals )
487+
488+ return Int ( __return)
489+ }
490+
491+ @inline ( __always)
492+ private func hasNavBarJavaMethod( ) -> Bool {
493+
494+ var __locals = [ jobject] ( )
495+
496+ var __args = [ jvalue] ( repeating: jvalue ( ) , count: 1 )
497+
498+ let __return = JNIMethod . CallBooleanMethod (
499+ object: javaObject,
500+ methodName: " hasNavBar " ,
501+ methodSig: " ()Z " ,
502+ methodCache: & SwiftActivityJNICache. MethodID. hasNavBar,
503+ args: & __args,
504+ locals: & __locals )
505+
506+ return jboolean ( __return) != JNI_FALSE
507+ }
436508}
437509
438510extension SwiftSupportAppCompatActivity : JNIListener { }
@@ -543,6 +615,9 @@ fileprivate extension SwiftSupport.App.AppCompatActivity {
543615 static var getResources : jmethodID ?
544616 static var getSupportFragmentManager : jmethodID ?
545617 static var runOnMainThread : jmethodID ?
618+ static var getWindowManager : jmethodID ?
619+ static var getStatusBarHeightPixels : jmethodID ?
620+ static var hasNavBar : jmethodID ?
546621 }
547622 }
548623}
@@ -557,9 +632,9 @@ internal func SwiftAndroidMainActivity() -> SwiftSupportAppCompatActivity.Type
557632
558633@_silgen_name ( " Java_org_pureswift_swiftandroidsupport_app_SwiftAppCompatActivity_onCreateNative " )
559634public func SwiftSupportAppCompatActivity_onCreate( _ __env: UnsafeMutablePointer < JNIEnv ? > ,
560- _ __this: jobject ? ,
561- _ __swiftObject: jlong ,
562- _ __savedInstanceState: jobject ? ) -> ( ) {
635+ _ __this: jobject ? ,
636+ _ __swiftObject: jlong ,
637+ _ __savedInstanceState: jobject ? ) -> ( ) {
563638
564639 let bundle = __savedInstanceState != nil ? Android . OS. Bundle ( javaObject: __savedInstanceState) : nil
565640
@@ -570,18 +645,18 @@ public func SwiftSupportAppCompatActivity_onCreate( _ __env: UnsafeMutablePointe
570645
571646@_silgen_name ( " Java_org_pureswift_swiftandroidsupport_app_SwiftAppCompatActivity_onStartNative " )
572647public func SwiftSupportAppCompatActivity_onStart( _ __env: UnsafeMutablePointer < JNIEnv ? > ,
573- _ __this: jobject ? ,
574- _ __swiftObject: jlong ) -> ( ) {
575-
648+ _ __this: jobject ? ,
649+ _ __swiftObject: jlong ) -> ( ) {
650+
576651 let activity = SwiftSupportAppCompatActivity . swiftObject ( from: __swiftObject)
577652
578653 activity? . onStart ( )
579654}
580655
581656@_silgen_name ( " Java_org_pureswift_swiftandroidsupport_app_SwiftAppCompatActivity_onResumeNative " )
582657public func SwiftSupportAppCompatActivity_onResume( _ __env: UnsafeMutablePointer < JNIEnv ? > ,
583- _ __this: jobject ? ,
584- _ __swiftObject: jlong ) -> ( ) {
658+ _ __this: jobject ? ,
659+ _ __swiftObject: jlong ) -> ( ) {
585660
586661 let activity = SwiftSupportAppCompatActivity . swiftObject ( from: __swiftObject)
587662
@@ -590,8 +665,8 @@ public func SwiftSupportAppCompatActivity_onResume( _ __env: UnsafeMutablePointe
590665
591666@_silgen_name ( " Java_org_pureswift_swiftandroidsupport_app_SwiftAppCompatActivity_onPauseNative " )
592667public func SwiftSupportAppCompatActivity_onPause( _ __env: UnsafeMutablePointer < JNIEnv ? > ,
593- _ __this: jobject ? ,
594- _ __swiftObject: jlong ) -> ( ) {
668+ _ __this: jobject ? ,
669+ _ __swiftObject: jlong ) -> ( ) {
595670
596671 let activity = SwiftSupportAppCompatActivity . swiftObject ( from: __swiftObject)
597672
@@ -600,8 +675,8 @@ public func SwiftSupportAppCompatActivity_onPause( _ __env: UnsafeMutablePointer
600675
601676@_silgen_name ( " Java_org_pureswift_swiftandroidsupport_app_SwiftAppCompatActivity_onRestartNative " )
602677public func SwiftSupportAppCompatActivity_onRestart( _ __env: UnsafeMutablePointer < JNIEnv ? > ,
603- _ __this: jobject ? ,
604- _ __swiftObject: jlong ) -> ( ) {
678+ _ __this: jobject ? ,
679+ _ __swiftObject: jlong ) -> ( ) {
605680
606681 let activity = SwiftSupportAppCompatActivity . swiftObject ( from: __swiftObject)
607682
@@ -610,8 +685,8 @@ public func SwiftSupportAppCompatActivity_onRestart( _ __env: UnsafeMutablePoint
610685
611686@_silgen_name ( " Java_org_pureswift_swiftandroidsupport_app_SwiftAppCompatActivity_onStopNative " )
612687public func SwiftSupportAppCompatActivity_onStop( _ __env: UnsafeMutablePointer < JNIEnv ? > ,
613- _ __this: jobject ? ,
614- _ __swiftObject: jlong ) -> ( ) {
688+ _ __this: jobject ? ,
689+ _ __swiftObject: jlong ) -> ( ) {
615690
616691 let activity = SwiftSupportAppCompatActivity . swiftObject ( from: __swiftObject)
617692
@@ -620,8 +695,8 @@ public func SwiftSupportAppCompatActivity_onStop( _ __env: UnsafeMutablePointer<
620695
621696@_silgen_name ( " Java_org_pureswift_swiftandroidsupport_app_SwiftAppCompatActivity_onDestroyNative " )
622697public func SwiftSupportAppCompatActivity_onDestroy( _ __env: UnsafeMutablePointer < JNIEnv ? > ,
623- _ __this: jobject ? ,
624- _ __swiftObject: jlong ) -> ( ) {
698+ _ __this: jobject ? ,
699+ _ __swiftObject: jlong ) -> ( ) {
625700
626701 let activity = SwiftSupportAppCompatActivity . swiftObject ( from: __swiftObject)
627702
@@ -630,11 +705,11 @@ public func SwiftSupportAppCompatActivity_onDestroy( _ __env: UnsafeMutablePoint
630705
631706@_silgen_name ( " Java_org_pureswift_swiftandroidsupport_app_SwiftAppCompatActivity_onActivityResultNative " )
632707public func SwiftSupportAppCompatActivity_onActivityResultNative( _ __env: UnsafeMutablePointer < JNIEnv ? > ,
633- _ __this: jobject ? ,
634- _ __swiftObject: jlong ,
635- _ __requestCode: jint ,
636- _ __resultCode: jint ,
637- _ __data: jobject ? ) -> ( ) {
708+ _ __this: jobject ? ,
709+ _ __swiftObject: jlong ,
710+ _ __requestCode: jint ,
711+ _ __resultCode: jint ,
712+ _ __data: jobject ? ) -> ( ) {
638713
639714 let requestCode = Int ( __requestCode)
640715
@@ -649,11 +724,11 @@ public func SwiftSupportAppCompatActivity_onActivityResultNative( _ __env: Unsaf
649724
650725@_silgen_name ( " Java_org_pureswift_swiftandroidsupport_app_SwiftAppCompatActivity_onRequestPermissionsResultNative " )
651726public func SwiftSupportAppCompatActivity_onRequestPermissionsResultNative( _ __env: UnsafeMutablePointer < JNIEnv ? > ,
652- _ __this: jobject ? ,
653- _ __swiftObject: jlong ,
654- _ __requestCode: jint ,
655- _ __permissions: jobject ,
656- _ __grantResults: jobject ) -> ( ) {
727+ _ __this: jobject ? ,
728+ _ __swiftObject: jlong ,
729+ _ __requestCode: jint ,
730+ _ __permissions: jobject ,
731+ _ __grantResults: jobject ) -> ( ) {
657732
658733 let requestCode = Int ( __requestCode)
659734
@@ -668,10 +743,11 @@ public func SwiftSupportAppCompatActivity_onRequestPermissionsResultNative( _ __
668743
669744@_silgen_name ( " Java_org_pureswift_swiftandroidsupport_app_SwiftAppCompatActivity_finalizeNative " )
670745public func SwiftSupportAppCompatActivity_finalize( _ __env: UnsafeMutablePointer < JNIEnv ? > ,
671- _ __this: jobject ? ,
672- _ __swiftObject: jlong ) -> ( ) {
746+ _ __this: jobject ? ,
747+ _ __swiftObject: jlong ) -> ( ) {
673748
674749 SwiftSupportAppCompatActivity . release ( swiftObject: __swiftObject )
675750
676751 NSLog ( " native \( #function) " )
677752}
753+
0 commit comments