-
-
Notifications
You must be signed in to change notification settings - Fork 11.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Android O preview #1258
Conversation
* Update support library to beta1; * Adapt to new foreground service policy; * Add a separate notification channel for NAT service; * Adapt to `findViewById` method signature changes. Possible issues: NAT notification will possibly not hide in lockscreen.
@madeye Could you investigate why overture is crashing? It seems to crash when launched by Shadowsocks:
However launching it from
|
I don't have any Android O device yet. Let me try it on emulator first. It looks related to new private API protector or something similar. |
@madeye I'm just trying it on emulator as well. Also I just noticed that there's a new option in VPN settings: "Block connections without VPN" for "Always-on VPN". This could be useful for users that are concerned about security. |
I can reproduce this issue on the emulator now. The process of overture is killed at the very beginning. No related log or dmesg can be found. |
I just tried 4.1.7. Everything works well on Android O (Pixel and Emulator)... |
OK, It looks related to https://developer.android.com/preview/features/background.html |
@madeye But why does the C binaries work well? |
I tried starting kcptun plugin with shadowsocks. In that case, ss-local is also killed... |
Is it possible that the issue is caused by this d5dc3a8? |
Interesting. It seems only the emulator is not working. The latest APK works well on Pixel with Android O. |
@madeye Haha what a mysterious bug. IIRC old GCC binaries (compiled with old ndk) doesn't work either. So no. You could do a single stepping with gdb. Could be a bug in qemu? |
*actually old GCC binaries exhibits more bug even when launched from adb shell (in preview 1). For example, failure to load any file other than overture-vpn.conf. (it gives open : file or directory not found) |
It might also relate to some changes in Android for NDK: https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#Writable-and-Executable-Segments-Enforced-for-API-level-26 |
A new finding is it seems we cannot execute a armv7a binary from a arm64-v8a process on Android O. It caused the crash of kcptun plugin and has been fixed via shadowsocks/kcptun-android@90b2b38 |
That doesn't seem to help.
|
Maybe it's just a bug of x86 emulator? According to my local test, shadowsocks (with kcptun and simple-obfs) works well on a Pixel (Android O). Let's wait for the next release of Android O SDK and emulator. Hope it will fix our issue. |
Okay. Maybe we should file a bug report at Google issue tracker. |
@madeye Btw planning on migrating to Kotlin? |
@Mygod Yes, I think we can schedule this. |
BTW, is there any tool can easily convert Scala to Kotlin? |
What about creating a new branch for Kotlin porting effort? |
Okay I'll look into this and create a branch for Kotlin based off o-preview branch. |
Because our data store is process-safe, we can remove the `use` function entirely and move more components to :bg process.
No function regression is observed in the latest changes. One weird thing is now we need to long press the number picker dialog to enter the number manually. |
What about reverting number picker to number only edit text for port numbers? Actually, I never used the picker to change the port number... |
A trade off is keeping the number picker for local port, but using edit text for remote port. It helps to avoid illegal local port numbers. |
|
Keyboard is also popping up for me in Android 8.0 emulator. |
Adaptive icons are here. Design source. From: Adaptive icon playground. |
Fix a crash in |
The only one item left is the number picker for port number.
What I've tried:
|
Surprisingly, after enlarging the text size of number picker, I managed to focus number picker by clicking now... IMO, It looks that if the number text is too small, the click action may be recognized as scrolling, which prevents focusing the text and enabling manual input. |
A new crash is observed during auto start:
Steps to reproduce this crash:
It looks an issue of evernote/android-job library. |
Updating the library to 1.2.0-alpha3 fixed the issue via d8179b5. |
Update: It's not possible to dynamically update notification channel's importance in Oreo: (source)
|
Updated design for Google Play new icon specification. |
Support for Android O preview
DO NOT MERGE YET! This is a work in progress.
Note: Fixes for NDK compiling issues (and other related stuff) have already been merged to master branch.
TODO
NB: it's possible that NAT service notifications in lock screen are not hiding correctly, needs more tests
Lower priorities: