Changes

Summary

  1. [transport-xmpp] Bump Smack to 4.4.0-beta2 (details)
  2. MAXS Release 0.5.11 (details)
  3. MAXS 0.5.12-SNAPSHOT (details)
  4. [module-shell] Update root-commands (details)
  5. Update Android Gradle plugin to 4.1.0 (details)
  6. [transport-xmpp] Bump Smack to 4.4.0-rc2 (details)
  7. [transport-xmpp] Add more disabled Smack classes (details)
  8. Remove build/proguard-project-shared.txt (details)
  9. [transport-xmpp] Configure proguard to not obfuscate the code (details)
  10. [transport-xmpp] Add, commented out, proguard debug options (details)
  11. [transport-xmpp] Disable R8 (minifyEnabled false, formerly ProGuard) (details)
  12. MAXS Release 0.5.12 (details)
  13. MAXS 0.5.13-SNAPSHOT (details)
  14. Remove stale scripts/MavenToAndroidAnt git submodule (details)
Commit 5a1bb03608f1703849a4fecefbbd7d85161fe140 by Florian Schmaus
[transport-xmpp] Bump Smack to 4.4.0-beta2
The file was modifiedtransport-xmpp/build.gradle (diff)
The file was modifiedmain/AndroidManifest.xml (diff)
The file was modifiedmodule-wifiaccess/AndroidManifest.xml (diff)
The file was modifiedmodule-filewrite/AndroidManifest.xml (diff)
The file was modifiedtransport-xmpp/AndroidManifest.xml (diff)
The file was modifiedmodule-smssend/AndroidManifest.xml (diff)
The file was modifiedmodule-clipboard/AndroidManifest.xml (diff)
The file was modifiedmodule-alarmset/AndroidManifest.xml (diff)
The file was modifiedmodule-phonestatemodify/AndroidManifest.xml (diff)
The file was modifiedmodule-misc/AndroidManifest.xml (diff)
The file was modifiedmodule-notification/AndroidManifest.xml (diff)
The file was modifiedmodule-smsnotify/AndroidManifest.xml (diff)
The file was modifiedmodule-locationfine/AndroidManifest.xml (diff)
The file was modifiedmodule-bluetooth/AndroidManifest.xml (diff)
The file was modifiedmodule-wifichange/AndroidManifest.xml (diff)
The file was modifiedmodule-smswrite/AndroidManifest.xml (diff)
The file was modifiedmodule-phonestateread/AndroidManifest.xml (diff)
The file was modifiedmodule-fileread/AndroidManifest.xml (diff)
The file was modifiedmodule-bluetoothadmin/AndroidManifest.xml (diff)
The file was modifiedmodule-notificationpolicyaccess/AndroidManifest.xml (diff)
The file was modifiedmodule-shell/AndroidManifest.xml (diff)
The file was modifiedmodule-ringermode/AndroidManifest.xml (diff)
The file was modifiedmodule-contactsread/AndroidManifest.xml (diff)
The file was modifiedmodule-nfc/AndroidManifest.xml (diff)
The file was modifiedmodule-smsread/AndroidManifest.xml (diff)
The file was modifiedmodule-notification/AndroidManifest.xml (diff)
The file was modifiedmodule-ringermode/AndroidManifest.xml (diff)
The file was modifiedmodule-contactsread/AndroidManifest.xml (diff)
The file was modifiedmodule-smssend/AndroidManifest.xml (diff)
The file was modifiedmodule-smswrite/AndroidManifest.xml (diff)
The file was modifiedmodule-wifiaccess/AndroidManifest.xml (diff)
The file was modifiedmodule-smsnotify/AndroidManifest.xml (diff)
The file was modifiedmodule-wifichange/AndroidManifest.xml (diff)
The file was modifiedmodule-misc/AndroidManifest.xml (diff)
The file was modifiedmodule-clipboard/AndroidManifest.xml (diff)
The file was modifiedtransport-xmpp/AndroidManifest.xml (diff)
The file was modifiedmodule-locationfine/AndroidManifest.xml (diff)
The file was modifiedmodule-bluetooth/AndroidManifest.xml (diff)
The file was modifiedmodule-nfc/AndroidManifest.xml (diff)
The file was modifiedmodule-phonestateread/AndroidManifest.xml (diff)
The file was modifiedmodule-shell/AndroidManifest.xml (diff)
The file was modifiedmodule-phonestatemodify/AndroidManifest.xml (diff)
The file was modifiedmain/AndroidManifest.xml (diff)
The file was modifiedmodule-smsread/AndroidManifest.xml (diff)
The file was modifiedmodule-bluetoothadmin/AndroidManifest.xml (diff)
The file was modifiedmodule-fileread/AndroidManifest.xml (diff)
The file was modifiedmodule-notificationpolicyaccess/AndroidManifest.xml (diff)
The file was modifiedmodule-alarmset/AndroidManifest.xml (diff)
The file was modifiedmodule-filewrite/AndroidManifest.xml (diff)
Commit 58108a42194612d4ca91bd53116cfe9a789075e5 by Florian Schmaus
[module-shell] Update root-commands

To include a version with suppresses the MissingPermission lint
check for the reboot() method.
The file was modifiedmodule-shell/libraryProjects/root-commands (diff)
Commit c185078358db6baec8973504cd02868347020620 by Florian Schmaus
Update Android Gradle plugin to 4.1.0
The file was modifiedmain/build.gradle (diff)
The file was modifiedtransport-xmpp/build.gradle (diff)
The file was modifiedbuild/build-module.gradle (diff)
Commit 20390ac59cb4e34aebb36de7b766e9659a85fc52 by Florian Schmaus
[transport-xmpp] Bump Smack to 4.4.0-rc2
The file was modifiedtransport-xmpp/build.gradle (diff)
Commit e7329852f45122362ca3f5492aa3abeb1f418c4d by Florian Schmaus
[transport-xmpp] Add more disabled Smack classes
The file was modifiedtransport-xmpp/src/org/projectmaxs/transport/xmpp/xmppservice/XMPPService.java (diff)
Commit a5b7081ef9b46f82d808051c4a07500b20f4baa9 by Florian Schmaus
Remove build/proguard-project-shared.txt

The Android Gradle plugin idiomatic configuration already contain a
default Android platform specific configuration, via
getDefaultProguardFile().
The file was modifiedtransport-xmpp/proguard-project.txt (diff)
The file was removedbuild/proguard-project-shared.txt
Commit 7fcb95290bce1eb2301e804b51cd218b16940766 by Florian Schmaus
[transport-xmpp] Configure proguard to not obfuscate the code
The file was modifiedtransport-xmpp/proguard-project.txt (diff)
Commit 3b38d3ef457c3bb42d1442c334411d2d0f21ed15 by Florian Schmaus
[transport-xmpp] Add, commented out, proguard debug options
The file was modifiedtransport-xmpp/proguard-project.txt (diff)
Commit 45410eb65b2fa4ef9aa7772a67b6a699d8a746e2 by Florian Schmaus
[transport-xmpp] Disable R8 (minifyEnabled false, formerly ProGuard)

This appears to case some strange issues if optimization is
enabled. For example a try-catch does not catch a thrown exception in
a static class initialization block:

11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207): MAXSTransportService[XMPP] thread: uncaught Exception!
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207): java.util.ServiceConfigurationError: org.jivesoftware.smack.xml.XmlPullParserFactory: Provider org.jivesoftware.smack.xml.xpp3.Xpp3XmlPullParserFactory could not be instantiated
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at java.util.ServiceLoader.fail(ServiceLoader.java:233)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at java.util.ServiceLoader.access$100(ServiceLoader.java:183)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:392)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:416)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at java.util.ServiceLoader$1.next(ServiceLoader.java:494)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.jivesoftware.smack.xml.SmackXmlParser.getXmlPullParserFactory(SmackXmlParser.java:37)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.jivesoftware.smack.xml.SmackXmlParser.newXmlParser(SmackXmlParser.java:54)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.jivesoftware.smack.util.PacketParserUtils.getParserFor(PacketParserUtils.java:80)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:159)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:154)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.jivesoftware.smack.SmackInitialization.<clinit>(SmackInitialization.java:103)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:110)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.jivesoftware.smack.provider.ProviderManager.<clinit>(ProviderManager.java:125)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.jivesoftware.smack.provider.ProviderManager.addExtensionProvider(ProviderManager.java:265)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.projectmaxs.transport.xmpp.smack.provider.MAXSElementProvider.setup(MAXSElementProvider.java:38)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.<clinit>(XMPPService.java:153)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.getInstance(Unknown Source:0)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.projectmaxs.transport.xmpp.TransportService.onHandleIntent(TransportService.java:114)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.projectmaxs.shared.transport.MAXSTransportService$ServiceHandler.handleMessage(MAXSTransportService.java:74)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at android.os.Handler.dispatchMessage(Handler.java:106)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at android.os.Looper.loop(Looper.java:223)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at android.os.HandlerThread.run(HandlerThread.java:67)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207): Caused by: java.lang.ExceptionInInitializerError
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at java.lang.Class.newInstance(Native Method)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:388)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  ... 19 more
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207): Caused by: org.xmlpull.v1.XmlPullParserException: unsupported feature: http://xmlpull.org/v1/doc/features.html#xml-roundtrip (position:START_DOCUMENT null@1:1)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at com.android.org.kxml2.io.KXmlParser.setFeature(KXmlParser.java:2102)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  at org.jivesoftware.smack.xml.xpp3.Xpp3XmlPullParserFactory.<clinit>(Xpp3XmlPullParserFactory.java:46)
11-18 18:20:43.955 E/MAXS/MAXSTransportService(27207):  ... 21 more

This exception disappears if we disable optimization in R8(/formerly
ProGuard). But even if it is disabled R8 strips stuff

11-18 19:45:51.301 E/AndroidRuntime( 8469): java.lang.ExceptionInInitializerError
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:110)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.jivesoftware.smack.provider.ProviderManager.<clinit>(ProviderManager.java:125)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.jivesoftware.smack.provider.ProviderManager.addExtensionProvider(ProviderManager.java:265)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.projectmaxs.transport.xmpp.smack.provider.MAXSElementProvider.setup(MAXSElementProvider.java:38)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.<clinit>(XMPPService.java:153)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.projectmaxs.transport.xmpp.xmppservice.XMPPService.getInstance(Unknown Source:0)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.projectmaxs.transport.xmpp.TransportService.onHandleIntent(TransportService.java:114)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.projectmaxs.shared.transport.MAXSTransportService$ServiceHandler.handleMessage(MAXSTransportService.java:74)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at android.os.Handler.dispatchMessage(Handler.java:106)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at android.os.Looper.loop(Looper.java:223)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at android.os.HandlerThread.run(HandlerThread.java:67)
11-18 19:45:51.301 E/AndroidRuntime( 8469): Caused by: java.lang.IllegalArgumentException: The class org.jivesoftware.smack.sasl.packet.SaslNonza$Challenge has no ELEMENT, NAMESPACE or QNAME member. Consider adding QNAME
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.jivesoftware.smack.util.XmppElementUtil.getQNameFor(XmppElementUtil.java:66)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.jivesoftware.smack.provider.ProviderManager.addNonzaProvider(ProviderManager.java:330)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.jivesoftware.smack.SmackInitialization.<clinit>(SmackInitialization.java:137)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     ... 11 more
11-18 19:45:51.301 E/AndroidRuntime( 8469): Caused by: java.lang.NoSuchFieldException: ELEMENT
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at java.lang.Class.getField(Class.java:1604)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     at org.jivesoftware.smack.util.XmppElementUtil.getQNameFor(XmppElementUtil.java:62)
11-18 19:45:51.301 E/AndroidRuntime( 8469):     ... 13 more

my first attempts to fix this includes

--keep class * implements org.jivesoftware.smack.provider.IQProvider
--keep class * implements org.jivesoftware.smack.provider.ExtensionElementProvider
--keep class * extends org.jivesoftware.smack.packet.Stanza
+-keep class * implements org.jivesoftware.smack.provider.AbstractProvider
+#-keep class * extends org.jivesoftware.smack.packet.Stanza
+-keep class org.jivesoftware.smack.packet.Element
+-keep class * implements org.jivesoftware.smack.packet.Element {
+    public static String QNAME;
+    public static String ELEMENT;
+    public static String NAMESPACE;
+}

but that did not (yet) work. So we disable R8 for now.
The file was modifiedtransport-xmpp/build.gradle (diff)
The file was modifiedmodule-nfc/AndroidManifest.xml (diff)
The file was modifiedmodule-phonestateread/AndroidManifest.xml (diff)
The file was modifiedmodule-filewrite/AndroidManifest.xml (diff)
The file was modifiedmodule-notification/AndroidManifest.xml (diff)
The file was modifiedmain/AndroidManifest.xml (diff)
The file was modifiedmodule-fileread/AndroidManifest.xml (diff)
The file was modifiedmodule-locationfine/AndroidManifest.xml (diff)
The file was modifiedmodule-smswrite/AndroidManifest.xml (diff)
The file was modifiedmodule-alarmset/AndroidManifest.xml (diff)
The file was modifiedmodule-bluetoothadmin/AndroidManifest.xml (diff)
The file was modifiedmodule-misc/AndroidManifest.xml (diff)
The file was modifiedmodule-bluetooth/AndroidManifest.xml (diff)
The file was modifiedmodule-clipboard/AndroidManifest.xml (diff)
The file was modifiedmodule-ringermode/AndroidManifest.xml (diff)
The file was modifiedmodule-smssend/AndroidManifest.xml (diff)
The file was modifiedmodule-smsnotify/AndroidManifest.xml (diff)
The file was modifiedtransport-xmpp/AndroidManifest.xml (diff)
The file was modifiedmodule-shell/AndroidManifest.xml (diff)
The file was modifiedmodule-wifiaccess/AndroidManifest.xml (diff)
The file was modifiedmodule-smsread/AndroidManifest.xml (diff)
The file was modifiedmodule-wifichange/AndroidManifest.xml (diff)
The file was modifiedmodule-contactsread/AndroidManifest.xml (diff)
The file was modifiedmodule-notificationpolicyaccess/AndroidManifest.xml (diff)
The file was modifiedmodule-phonestatemodify/AndroidManifest.xml (diff)
The file was modifiedmodule-wifichange/AndroidManifest.xml (diff)
The file was modifiedmodule-notificationpolicyaccess/AndroidManifest.xml (diff)
The file was modifiedmodule-ringermode/AndroidManifest.xml (diff)
The file was modifiedmodule-notification/AndroidManifest.xml (diff)
The file was modifiedmodule-smssend/AndroidManifest.xml (diff)
The file was modifiedmain/AndroidManifest.xml (diff)
The file was modifiedmodule-bluetoothadmin/AndroidManifest.xml (diff)
The file was modifiedmodule-clipboard/AndroidManifest.xml (diff)
The file was modifiedmodule-bluetooth/AndroidManifest.xml (diff)
The file was modifiedmodule-locationfine/AndroidManifest.xml (diff)
The file was modifiedmodule-alarmset/AndroidManifest.xml (diff)
The file was modifiedmodule-smsnotify/AndroidManifest.xml (diff)
The file was modifiedtransport-xmpp/AndroidManifest.xml (diff)
The file was modifiedmodule-smsread/AndroidManifest.xml (diff)
The file was modifiedmodule-wifiaccess/AndroidManifest.xml (diff)
The file was modifiedmodule-phonestatemodify/AndroidManifest.xml (diff)
The file was modifiedmodule-contactsread/AndroidManifest.xml (diff)
The file was modifiedmodule-fileread/AndroidManifest.xml (diff)
The file was modifiedmodule-smswrite/AndroidManifest.xml (diff)
The file was modifiedmodule-filewrite/AndroidManifest.xml (diff)
The file was modifiedmodule-shell/AndroidManifest.xml (diff)
The file was modifiedmodule-nfc/AndroidManifest.xml (diff)
The file was modifiedmodule-phonestateread/AndroidManifest.xml (diff)
The file was modifiedmodule-misc/AndroidManifest.xml (diff)
Commit b36ee5cfb51c5cf97d5834a403ec5e027a7f978d by Florian Schmaus
Remove stale scripts/MavenToAndroidAnt git submodule
The file was modified.gitmodules (diff)
The file was removedscripts/MavenToAndroidAnt