[Samsung Galaxy S 5 Unified Development] navcar:
I've done a bit of some research. (Edit: Okay, not much after having read through this read). I wonder if anyone else has made any progress?

I think some smali editing is required, because in SamsungCamera3.apk there are function calls to android.util.log.secI , android.util.log.secD , etc. which don't exist on non-TW ROMs.

I got up to decompiling to smali, changing the calls to the normal android.util.log.I , android.util.log.D , etc. which fixes that first problem, but there are still more issues.

I also copied over all any missing /framework/ jars, and /lib/*.so from stock TW - making sure that I didn't overwrite any existing files.

Here's a logcat:

08-30 00:12:46.259 3996 3996 I art : Rejecting re-init on previously-failed class java.lang.Class<com.sec.android.app.camera.Camera>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/sec/android/seccamera/SecCamera$BurstEventListener;
08-30 00:12:46.259 3996 3996 I art : at java.lang.Class java.lang.VMClassLoader.findLoadedClass!(java.lang.ClassLoader, java.lang.String) (VMClassLoader.java:-2)
08-30 00:12:46.259 3996 3996 I art : at java.lang.Class java.lang.ClassLoader.findLoadedClass(java.lang.String) (ClassLoader.java:742)
08-30 00:12:46.259 3996 3996 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:362)
08-30 00:12:46.259 3996 3996 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
08-30 00:12:46.259 3996 3996 I art : at android.app.Activity android.app.Instrumentation.newActivity(java.lang.ClassLoader, java.lang.String, android.content.Intent) (Instrumentation.java:1079)
08-30 00:12:46.259 3996 3996 I art : at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2572)
08-30 00:12:46.259 3996 3996 I art : at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2741)
08-30 00:12:46.259 3996 3996 I art : at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
08-30 00:12:46.259 3996 3996 I art : at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1488)
08-30 00:12:46.259 3996 3996 I art : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
08-30 00:12:46.259 3996 3996 I art : at void android.os.Looper.loop() (Looper.java:154)
08-30 00:12:46.259 3996 3996 I art : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6176)
08-30 00:12:46.259 3996 3996 I art : at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
08-30 00:12:46.259 3996 3996 I art : at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:888)
08-30 00:12:46.259 3996 3996 I art : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:778)
08-30 00:12:46.259 3996 3996 I art : Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sec.android.seccamera.SecCamera$BurstEventListener" on path: DexPathList[[zip file "/system/priv-app/SamsungCamera3/SamsungCamera3.apk"],nativeLibraryDirectories=[/system/priv-app/SamsungCamera3/lib/arm, /system/lib, /vendor/lib, /system/lib, /vendor/lib]]
08-30 00:12:46.259 3996 3996 I art : at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
08-30 00:12:46.259 3996 3996 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
08-30 00:12:46.259 3996 3996 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
08-30 00:12:46.259 3996 3996 I art : at java.lang.Class java.lang.VMClassLoader.findLoadedClass!(java.lang.ClassLoader, java.lang.String) (VMClassLoader.java:-2)
08-30 00:12:46.259 3996 3996 I art : at java.lang.Class java.lang.ClassLoader.findLoadedClass(java.lang.String) (ClassLoader.java:742)
08-30 00:12:46.259 3996 3996 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:362)
08-30 00:12:46.259 3996 3996 I art : at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
08-30 00:12:46.259 3996 3996 I art : at android.app.Activity android.app.Instrumentation.newActivity(java.lang.ClassLoader, java.lang.String, android.content.Intent) (Instrumentation.java:1079)
08-30 00:12:46.259 3996 3996 I art : at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2572)
08-30 00:12:46.259 3996 3996 I art : at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2741)
08-30 00:12:46.259 3996 3996 I art : at void android.app.ActivityThread.-wrap12(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
08-30 00:12:46.259 3996 3996 I art : at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1488)
08-30 00:12:46.259 3996 3996 I art : at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
08-30 00:12:46.259 3996 3996 I art : at void android.os.Looper.loop() (Looper.java:154)
08-30 00:12:46.260 3996 3996 I art : at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6176)
08-30 00:12:46.260 3996 3996 I art : at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
08-30 00:12:46.260 3996 3996 I art : at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:888)
08-30 00:12:46.260 3996 3996 I art : at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:778)
08-30 00:12:46.260 3996 3996 I art :

Looks to me like the class won't load. seccamera.jar has the abstract class definition for BurstEventListener, which I copied to /system/framework/

Maybe it can work on AOSP MM, but not Nougat? Don't know :rolleyes:

Also wondering about getting 60fps video. In the Snap Camera app, I see 60fps video recording menu options in TW MM, but not in RR 7.1.1? Something to do with drivers / HAL?