jdee / dubsar_android Goto Github PK
View Code? Open in Web Editor NEWDubsar native client for Android
Home Page: https://dubsar-dictionary.com
Dubsar native client for Android
Home Page: https://dubsar-dictionary.com
The literal string values of Dubsar action names such as DubsarService.ACTION_WOTD need to be qualified with an inverted domain name and generally made to resemble other Android action names. For example, the literal value of that action is "action_wotd." Instead, it should be something like "com.dubsar_dictionary.WOTD."
Sometimes if the application is paused for a long time, the forward stack gets corrupted. After going back, the forward button is enabled and changes state when tapped, but nothing happens. Gestures don't work either.
Anything that already scrolls, in particular a ListView, will already intercept scroll events. They simply are never delivered to the GesturedDetector that watches for scroll events in the view as a whole. So on the main activity, for example, the user can drag the screen from any point. In most content views, this only works in the navigation header and static labels immediately below it, above any ListView.
This is due to the SecureSocketFactory business (https://github.com/jdee/dubsar_android/tree/master/SecureClient). It's easy to disable this in API level 19, but it's not so easy to see how to use TLSv1.2 there. Stay tuned.
The app was originally developed against Froyo (2.2). The Preferences activity shows you the value of the background data setting and provides a Change button that takes you to the appropriate activity in the Settings app. However, in Jellybean 4.2.1, it's not clear that this activity is relevant any longer. If so, the connection is obscure. The activity's label is simply Sync. There is a check box allowing you to toggle Auto-sync of app data. However, this does not affect the setting reported by Dubsar in the Preferences screen and hence will not affect the app's behavior.
It's likely that this setting on the Preferences activity should simply be removed, but the situation might bear a little further investigation.
The status bar icon for WOTD notifications is severely cropped. The edges of the letter D are, in fact, cut off.
Sometimes after a link in the FAQ view is tapped, the requested AJAX page is momentarily displayed, then the main FAQ view is displayed over it. This may be due to handling AJAX responses in the Android web view.
Immediately after going back, the forward button should be enabled, and the navigation header should respond to R-L scrolling by advancing to the page you were on before going back. Occasionally this fails. This has been observed in a Word view, but since this is entirely handled in the base class, it's likely a race of some sort.
This has been observed on Android 2.2. The service runs, but the WOTD never appears, and status bar notifications are never displayed.
This only occurs on Kit Kat, and it only happens with the web view used for the FAQ. The HTTP client used to retrieve data from the Dubsar server is not affected.
Starting with Jelly Bean 4.2 at the latest, Android supports a global HTTP proxy setting for wi-fi. In the Settings app, long press on a wi-fi network for advanced settings. There you can set the HTTP proxy, among other things.
The HTTP proxy setting was primarily introduced for the benefit of the Guardian Project's Orbot and Tor support because a global proxy setting was not available on all Android versions. A global proxy is available in Kit Kat and should work with the web view, though this is difficult to test with an emulator.
For now, this is primarily a matter of documentation. It may be possible to improve on this over time.
For example, search for Oliver Heaviside. Go to the Sense view. The expandable list view at the bottom only has a small amount of space in portrait mode, and is entirely gone in landscape.
Search for "S(." The view will report an error. A toast will indicate that the network connection is down. Unfortunately, the main website does not handle this situation much better. But that may mean that it's just a server fix.
As soon as the next WOTD time is in the past, it's not properly updated, and the call to Timer.schedule throws an IllegalArgumentException because of a negative delay.
The first time a user visits the FAQ view, it shows a message, "loading...," while the web view loads the page. If the user goes back and then forward or otherwise goes away and returns to the FAQ view, the "loading..." message does not appear while the web page loads. If the application is killed and restarted, the "loading..." message will appear again the first time the FAQ view is visited.
Really need some unit tests here.
The application will not recognize a 4G connection. When other applications can reach the Internet, Dubsar reports the network is down.
The autocompleter works, interestingly, but a search just returns "The network connection is down" when connected by Wi-Fi.
The application doesn't recognize empty search results and will crash if you request "foo."
A profile indicates that in a large result, a tremendous amount of time is spent in the JSON tokener. Surely this can be improved.
If the application has been asleep for some time, the WOTD timer often doesn't go off at all. Sometimes there are messages in the logcat about DubsarService crashing. Since the logcat is not timestamped, it's hard to tell if these are correlated with the WOTD timer.
The app frequently reports a loss of connectivity when the proxy is set, at least on Jellybean. Repeated attempts to use the proxy will succeed, among numerous errors.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.