Is Android's freeform app multi-window mode supported on Android Automotive OS? - multi-window

Is Android's freeform app multi-window mode supported on android automotive os?
Was not successful in enabling freeform mode on android automotive os after:
adding the following to the activity's manifest.xml
android:resizeableActivity="true"
Turning the 'Enable freeform windows' toggle under Developer Settings to ON
Configuring height and width of activity layout to be smaller than full screen
Wondering if it's supported and if so, how to enabled it for activities.

You can check if a device supports freeform window management by using PackageManager.hasSystemFeature(PackageManage.FEATURE_FREEFORM_WINDOW_MANAGEMENT).

Related

Uno Flyout with Android Immersive mode

In my Uno Platform app on Android with immersive mode enabled, when a MenuFlyout is opened, it exits the immersive mode.
Any idea to keep the immersive mode when a flyout is opened ?
By default, as of Uno.UI 2.2.0, the Android default is to open flyouts using native popups.
To change this behavior, you can use this property by adding this line in AndroidApplication constructor:
Uno.UI.FeatureConfiguration.Popup.UseNativePopup = false;
This will force Uno to use a full XAML panel to display popups.
It is defined here.

Webgl 2.0 unsupported in chrome

My chrome shows Webgl 2.0 - supported, but disabled in browser settings, or blocked by extensions.
I have tried
1. Use hardware acceleration in chrome://settings
2. Enabled WEBGL 2.0 in chrome://flags
3. Override software render list ..
What other option are out there to enable webgl 2.0 from browser settings?
Any help is much appreciated
It seems current ANGLE (which is OpenGL emulation using DirectX driver) does not support WebGL2 unless running on DirectX 11. You need to select a different back-end.
Open chrome://flags/ and search for "Angle". You should see an option called Choose ANGLE graphics backend
If the value you see is DirectX 9, choose OpenGL or DirectX 11 instead.
You can confirm that everything works fine by going to WebGLReport, which will also show you which driver is used and what capabilities or OpenGL extensions can be used.
Beware: depending on your graphics card and drivers you have installed it is possible Chrome will switch to a software rasterizer. In WebGLReport you will see "Major Performance Caveat: Yes" in such case and following info about the renderer:
Renderer: WebKit WebGL
Unmasked Vendor: Google Inc.
Unmasked Renderer: Google SwiftShader
You can also find some information about how Chrome is using your graphics card by opening the chrome://gpu/ page.
There was one more step I had to do to make WebGL 2 / Direct3D 11 working correctly on my computer (I am using a few years old nVidia GeForce GT 545): I had to uninstall nVidia Nsight, as it was interfering in some way with the drivers. I have seen a similar thing reported by other people nVidia forums: Failed to initialize D3D11 device ...:
Installed the nvidia drivers (without uninstalling or cleaning first) with all the extra software that comes with the driver, as "checked". Didn't reboot after installation.
Uninstalled all the extra nvidia software (3D vision, Update, HD audio etc) from Control Panel\Programs and Features. Left only the driver and PhysX.
Reboot.
Try starting Chrome with the command line flag --use-angle=gl.
It tells the ANGLE renderer to use the OpenGL backend, which may expose more features of your card than the default Direct3D9 backend. This solved the same issue for my GeForce GTX 560 Ti.

How do I change the iOS version for the Simulator?

Environment: Version 8.2 beta (8C30a)
My schema list only devices.
How do I change the iOS version in simulator?
I can see the available iOS Simulators...
...but they're not listed in the schema list.
Nor is their a way to discriminate amongst the iOS versions within schema manager.
The list of available simulators is dictated by three factors:
It will not show you simulators whose iOS version is prior to that of your current app's deployment target. If you want to see some recent, prior iOS simulators, make sure your app's deployment target is set accordingly.
If you go to Xcode "Preferences" - "Components", you can confirm which iOS simulators are installed on your machine.
In Xcode's "Devices" window (shift+command+2), as shown in the snapshot in your original question, you can configure particular simulator devices for your Xcode environment.
Open your xcode and press command + shift + 2.
Click on left bottom + button and your new simulator with required iOS version.
Click create, now you are ready to use the new simulator.
After adding the #availability & #availability flags which allowed me to get a successful compiled under and older distribution target, I noticed that the iOSes came back:

How to enable Force Touch Pressure on iOS Simulator 9.1

The new 9.1 simulator with Xcode 7.1 has the feature to simulate a force touch like the iPhone 6s / 6s+ but the option is greyed / disabled.
iOS Simulator > Hardware > Force Touch Pressure [disabled]
Screenshot for reference
Anybody know how to enable this option?.
Note: Im testing this on a iPhone 6s simulator
Simulator does not support interaction with iOS Devices using 3D Touch prior to Xcode 7.3. The menu item that you are referencing relates only to Apple Watch devices.
select simulator(watch) --> Hardware --> Force Touch Pressure --> Deep Press, and then click and hold on simulator, menu will be popup. you don't need to real device to test context menu.
On the Apple Developer website, it says:
NOTE
With Xcode 7.1 you must develop on a device that supports 3D Touch. Simulator in Xcode 7.1 does not support 3D Touch.
Apparently, the new Simulator 9.1 does not support 3D Touch. You can actually implement such a behavior but (unfortunately) you have to test it on real a device that supports 3D Touch.
I guess we all have to wait for the next issue of Xcode.
See here for similar discussion and way to test force touch only for quick actions (on the app icon).
It is true that by far (Xcode 10.1) iOS simulator still does not support 3D touch if your Mac doesn't have touchpad with this capability.
However, there are a few libraries like this that swizzle system's touch event handling and inject 3D touch feature. Of course, you don't want this code to be included in your production code to avoid being rejected on app's review, but you can certainly use this for development!
The library I mentioned works great for my Swift 4.1 project.

Hardware Acceleration Cordova Android

I am making small circle divs with a 7px diameter
I applied the hardware accelerated = true in my config and I have added
-webkit-transform: translate3d(0, 0, 0);
-webkit-transform: translateZ(0px);
to the css class of my div element. Why does it still display it in this "low quality"-style?
On other mobile devices I have tested on they where rendered smoother. I am aware that it does depend on the hardware of the device but could someone please elaborate how to correctly apply the above, so it at least "would" work if the hardware requirements are met?
Thanks in advance.
The Cordova WebView is the system webview and thus, it is different depending on the Android OS version you run your app on. Could you tell us what version of Android is the device you are testing on?
Also, when you mean "on other mobile devices I have tested on" which are those? Other Android devices with other Android OS versions or iOS devices? Please, provide some more feedback.
Anyway, the problem could be that the webview does not support hardware acceleration CSS 3D transformations. I would recommend you to check a solution like WebView+ from CocoonJS or Crosswalk from Intel. The WebView+ is a webview based on Chromium for Android 4.0+ devices, so no more fragmentation on Android (the same environment no matter what Android OS version you execute your app on) and all the power of Chrome executing your app. It is very easy to test using the CocoonJS Launcher: https://play.google.com/store/apps/details?id=com.ideateca.cocoonjslauncher&hl=en
Go to Your App and point to the URL where your app is to be able to test it (similar to a web browser). Then you can compile the final app using the CocoonJS Cordova Command Line: http://support.ludei.com/hc/en-us/articles/202568973-First-steps-with-CocoonJS-CLI or the CocoonJS Cloud compiler for Cordova apps.
They also provide the WKWebView for iOS 8 with the WebView+ (just in case you are also interested in iOS with improved performance): http://blog.ludei.com/build-phonegap-cordova-apps-using-the-wkwebview-right-now/
You can also test it using the CocoonJS Launcher for iOS: https://itunes.apple.com/us/app/cocoonjs-by-ludei/id519623307?mt=8
Hope this helps.

Resources