TVInputService HDMI channel are not detected by "Live Channels" app - android-tv

I have developed a TVInputService for HDMI passthrough Input. And this app has System privilage and part of my Android-TV platform. Also installed "Live Channels" app which should detect all custom TVInputService channels available in system. And if there is any searchable channel available, "Live Channels" will show up in Launcher. But my TvInputService provided HDMI-passthrough channel is not detected by LiveChannels. If I install this sample apk/channels,
https://github.com/googlesamples/androidtv-sample-inputs
then only LiveChannels is shown up and I can also see my HDMI channel as well.
What info. is not passed to LiveChannles to detect my TVInputService?
Thanks in advance.

It seems like there's some tagging issue preventing the Live Channels app from correctly seeing your app.
Make sure you have these tags in your manifest:
<uses-feature
android:name="android.software.LIVE_TV"
android:required="true" />
<uses-feature
android:name="android.software.LEANBACK"
android:required="true" />

Related

How do you "restart" receiving Firebase Alerts on short code 44398

I often use Firebase phone auth in my applications. I have one user who religiously sends "STOP" to all text messages. Big oops. Now she can not login to any application using the system...
Short code phone # = 44398
If the user types "STOP" to that short code, the system responds with:
Firebase: You are opted out and will receive no further messages. For
HELP, reply HELP. Msg & Data rates may apply
Type "HELP", the response is:
Firebase: For more info: https://firebase.google.com/support/ -
Msg&Data rates may apply.
My question. How do you "RESTART" the service? The Firebase support page offers no help here.
I've tried "GO", "RESTART", "UNSTOP". All of those fail.
Here's a posting on how Twilio addresses the topic. Twilio uses START, YES and UNSTOP to restart a service (on long code source). Each of those fail here.
Twilio also provides a link to standards for short code expressions., but I'm not seeing anything on restarting a service.
Here is a screen shot (of my phone):

When is sessionReachabilityDidChange(_:) called on a watch WCSessionDelegate?

Apple's documentation says this in the discussion section of the method description:
This method is called to let the
current process know that its counterpart session’s reachability
changed.
The description of the isReachable property says this: WatchKit
extension. The iOS device is within range, so communication can occur
and the WatchKit extension is running in the foreground, or is running
with a high priority in the background (for example, during a workout
session or when a complication is loading its initial timeline data).
I am assuming this would mean that if the watch moves out of or into range of the iOS device, the WatchKit extension would be launched and the WCSessionDelegate's sessionReachabilityDidChange() method would be called, and the WCSession's isReachable would be true if the iOS device just came into range and false if it just when out of range.
I have not found a way to verify this in xcode. For example I put a log message in sessionReachabilityDidChange(_:) and walked out of range, but xcode simply says the app lost connection with the iphone and can no longer debug it. Can someone verify this or point me to some documentation that better describes this?
I think you cannot verify this in Xcode.
I have an app on iOS and watchOS. To check this kind of situation, I can enable debug alerts on iOS and watchOS. When func sessionReachabilityDidChange(session: WCSession) is triggered, I display a debug alert.
Now, if I run (not under Xcode) my watch extension, and then switch off the paired iPhone, the debug alert is shown on the watch.
This shows that sessionReachabilityDidChange is actually called as expected.
Apparently, under Xcode a connected iOS device is always reachable.
EDIT:
To check the situation when the watch extension is not in foreground, I did the following:
Instead of showing a debug alert, I set now the complication to a unique value that is not possible otherwise. I launched the watch extension and put it into background by showing the watch face with the complication.
When I now switch off the iPhone, the complication is not updated.
This indicates to me that sessionReachabilityDidChange is not called in background.

If i tried to making changes in wso2 api manager in publisher in distributed environment, it is not getting reflected soon! Any suggestions for this?

I'm working on wso2 API manager 2.6.0, if I'm connected to a distributed environment and tried making changes from publisher its not getting reflected soon in store! Any suggestions for this to make it happen as soon as I published.
Try disabling registry cache. Open registry.xml and set caches to false.
<currentDBConfig>wso2registry</currentDBConfig>
<readOnly>false</readOnly>
<enableCache>true</enableCache> <<<<<<<<<<<<<<<<<<<<<<<<<<<
<registryRoot>/</registryRoot>
<remoteInstance url="https://localhost">
<id>gov</id>
<cacheId>wso2carbon#jdbc:h2:./repository/database/WSO2SHARED_DB;DB_CLOSE_ON_EXIT=FALSE</cacheId>
<dbConfig>govregistry</dbConfig>
<readOnly>false</readOnly>
<enableCache>true</enableCache> <<<<<<<<<<<<<<<<<<<<<<<<<<<<
<registryRoot>/</registryRoot>
</remoteInstance>
Please note this change in not recommended for production.

How to handle Alert windows in Amazon Device Farm /w Appium

I currently trying out Amazon Device Farm and was able to get a dummy app to work.
However, when I tried getting the actual App I want to get working on Amazon device farm, I'm unable to do so. I'm able to upload the .ipa file, and zip up and upload the py.tests/appium tests with their dependencies, however the tests fail.
What I think might be happening is ADF is not recognizing some of the Desired_capabilities to autodismiss the Alerts for Notifications and GPS coordinates.
My setup is very similar to the setup I used with the dummy app in my initial tests. (these worked with amazon device farm)
https://github.com/dlai0001/appium-spike-running-tests-oncloud
Only thing that is really different is I'm using a real production app, where 2 alert windows popup upon launch. In Appium it will cause the test to crash if I don't have the autodismiss or autoaccept alerts enabled in the desired capabilities.
Harness 00:00.0 1295 Info Starting 00001 with device c00e8ab68437161b894395e438ba8935a672bac0
Harness 00:00.0 1295 Info Using test content version 0.1.0
Harness 00:00.1v1295 Info Using image version ami-778b7c17
I work for the Amazon Device Farm team.
It appears that you are relying on desired capabilities to dismiss the alert window. Currently, Device farm has support for a very limited set of desired capabilities namely app name, package name and osversion. These are available to the application without having the user required to set it.
Appium runs with autoAcceptAlerts=true on Device Farm. This should handle the alert windows, if any, unless it is a system pop up which autoAcceptAlert cannot handle. You should check if your tests can handle the alert windows using autoAcceptAlerts=true with Appium pre launch mode locally.
If it can handle it then device farm should behave the same way.
Sometimes it may be the case that the alert window appears before the appium session is established in which case adding a delay can help.
When you test is locally please use Appium version 1.4.16 since this is the version being used on device farm right now.

How to open the Date/Time settings on Windows Phone 8 programmatically?

The app I'm working on relies on the correct date/time being set for synchronization purposes. Apparently you cannot programmatically set the date and time on the phone. Is there a way though to open the Date/Time settings programmatically?
You can use the Lancher class to navigate to various settings, but there's NO option to open the date time selection.
Here's the available uri schemes for settings:
Launch Airplane Mode Settings Page: ms-settings-airplanemode:
Launch Bluetooth Settings Page: ms-settings-bluetooth:
Launch Cellular Settings Page: ms-settings-cellular:
Launch Wi-Fi Settings Page: ms-settings-wifi:
Launch Location Settings Page: ms-settings-location:
Launch Account Settings Page: ms-settings-accounts:
Launch Email Account Settings Page: ms-settings-emailandaccounts:
Launch Lock Screen Settings Page: ms-settings-lock:
All available Uri Scemes
Thanks for clearing that up. I don't think you can do this the way you want to.
From this link:
At best you can get the difference between the user's clock and the clock on the system to which the program is talking. Of course the user's clock is subject to change. I don't think that people change their clock's time very frequently, but it is still something to be considered.
You can launch some settings programatically like this:
Windows.System.Launcher.LaunchUriAsync(new Uri(“ms-settings-bluetooth:”));
But date/time is not one of them. here is a link to available settings

Resources