Skip to content

Commit

Permalink
See RN2.3.4 (20200805)
Browse files Browse the repository at this point in the history
  • Loading branch information
cmeng-git committed Aug 4, 2020
1 parent 5a49507 commit 89fb78d
Show file tree
Hide file tree
Showing 93 changed files with 3,296 additions and 3,648 deletions.
36 changes: 34 additions & 2 deletions aTalk/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,33 @@
Project aTalk-Android Release Notes
=========================================================================
Author: cmeng
Upload Date: 08/05/2020
Version: 2.3.4 (1134)
- Fix Vibrator not stop after an incoming call is rejected or answered via JingleMessage.
- 'Fatal signal 6 (SIGABRT)' throws by mm-qcamera-daemon (libc in Android 10; ONEPLUS A3003); fixed by camera permission denied.
Otherwise aTalk locks in splash screen (continuously restart by android OS in loops)
e.g: Dalvik/2.1.0 (Linux; U; Android 10; ONEPLUS A3003 Build/QQ3A.200705.002
07-29 11:21:00.261 7113 7160 F libc : Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 7160 (POSIX timer 0), pid 7113 (mm-qcamera-daem)
o7-29 11:21:00.277 7113 7113 I chatty : uid=1006(camera) /system/vendor/bin/mm-qcamera-daemon expire 13 lines
07-29 11:21:00.407 7297 7297 I chatty : uid=1006(camera) crash_dump32 expire 3 lines
07-29 11:21:00.408 2613 2613 I /system/bin/tombstoned: received crash request for pid 7160
07-29 11:21:00.422 7297 7297 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-29 11:21:00.422 7297 7297 F DEBUG : LineageOS Version: '17.1-20200727-NIGHTLY-oneplus3'
07-29 11:21:00.422 7297 7297 F DEBUG : Build fingerprint: 'OnePlus/OnePlus3/OnePlus3:8.0.0/OPR1.170623.032/02281230:user/release-keys'
07-29 11:21:00.422 7297 7297 F DEBUG : Revision: '0'
07-29 11:21:00.422 7297 7297 F DEBUG : ABI: 'arm'
07-29 11:21:00.423 7297 7297 F DEBUG : Timestamp: 2020-07-29 11:21:00+0200
07-29 11:21:00.423 7297 7297 F DEBUG : pid: 7113, tid: 7160, name: POSIX timer 0 >>> /system/vendor/bin/mm-qcamera-daemon <<<

- Eliminates the need to init and store the first entry i.e. Root MetalContact Group in metaContactGroup table.
- Update Telephony RecipientSelectView to conform to "com.splitwise:tokenautocomplete:4.0.0-beta1", compatible with androidx library
- Update otr source from jitsi repository
- Port account misc settings e.g. Media Encoding, Jingle, Stun and serverList etc to use androidx libraries

- Remove patches in MediaRecorderSystem and AndroidCameraSystem class i.e.
Obsolete properties for locator facing back if exist
Added in v2.1.6: remove obsolete/incorrect properties; to be removed in future release

=========================================================================
Author: cmeng
Upload Date: 07/28/2020
Expand Down Expand Up @@ -596,7 +625,7 @@ Upload Date: 11/28/2019
e.g.This is an invalid http download link https://cmeng-git.github.io
- Update aTalk#MainPagerAdapter method to allow others to findFragmentByTag
- Remove all static references to context classes for contactListFragment and contactListAdapter in aTalkApp
- Revert HttpUtils.java to use org.apache library and remove dependency cz.msebera.android:httpclient:4.5.8
- Revert HttpUtils.java to use org.apache library and remove dependency cz.msebera.android:httpclient:4.5.8 (conflict with android library?)
- Change online help link in About to use https://cmeng-git.github.io instead of https://atalk.sytes.net/atalk
- Rename net.java.sip.communicator.service.protocol.Message => IMessage (avoid same naming as smack Message)
- create FileBackend#copy(is, os) and remove dependency for 'org.apache.commons:commons-io:1.3.2'
Expand Down Expand Up @@ -1238,9 +1267,10 @@ Upload Date: 07/31/2018
- Full implementation for [Telephony | Disable media calls (Jingle)] option in Account Settings
- Display user warning alert when zero resource permission has been granted for aTalk operation
- Disable media services when android OS aborts ffmpeg lib loading (Text-Relocation-Enforced-for-API-level-23)
see SettingActivity#disableMediaOptions()
- see (https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#Text-Relocations-Enforced-for-API-level-23)
- Update Jitsi sources to jitsi-smack-4.2 (dated 20180720)
- Improve chatroom join captcha challege and allow retry on entry error.
- Improve chatroom join captcha challenge and allow retry on entry error.

=========================================================================
Version: 1.4.3 (1043)
Expand Down Expand Up @@ -2261,6 +2291,8 @@ dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.jitsi-2/base.
nativeLibraryDirectories=[/data/app/org.jitsi-2/lib/arm,
/vendor/lib, /system/lib]]] couldn't find "libjnopenssl.so"



=========================================================================
Version: 0.4.5
Author: cmeng
Expand Down
19 changes: 14 additions & 5 deletions aTalk/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ android {

defaultConfig {
applicationId "org.atalk.android"
versionCode 1133
versionName "2.3.3"
versionCode 1134
versionName "2.3.4"

minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.compileSdkVersion
Expand Down Expand Up @@ -204,7 +204,14 @@ dependencies {
implementation 'com.github.yalantis:ucrop:2.2.2'

implementation 'com.googlecode.libphonenumber:libphonenumber:8.10.5'
implementation 'com.splitwise:tokenautocomplete:3.0.2'
implementation 'com.splitwise:tokenautocomplete:4.0.0-beta01'

// implementation 'cz.msebera.android:httpclient:4.5.8'
// implementation 'org.apache.httpcomponents.client5:httpclient5:5.0.1'

// implementation 'com.squareup.okhttp3:okhttp:4.8.0'
// implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.8.0'
// implementation 'com.squareup.okhttp3:okhttp-ws:3.4.2'

implementation 'de.cketti.library.changelog:ckchangelog:1.2.2'

Expand Down Expand Up @@ -269,9 +276,9 @@ dependencies {

/*
* jarjar.repackage with generated dir/filename specified - default in build/jarjar/jarjar-xxx.jar
* filename must not contains colon i.e. ":" colon, treated as URL and will failed missing classes
* filename must not contains a colon i.e. ":" colon, treated as URL and will failed missing classes
* destinationName may use relative i.e. "../../libs/fileName.jar to $buildDir/jarjar
* classDelete must check actual jar to see if end ** is required - due to multiple components
* classDelete must check the actual jar to see if end ** is required - due to multiple components
* May use className and className$** to delete only the related, but excluding classes with same prefix
*/
implementation jarjar.repackage {
Expand Down Expand Up @@ -393,6 +400,8 @@ task updateVersionFile(type: Copy) {
// cmeng - need to perform setup libs (first time & after clean)
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild

// Uncomment below lines if you want to show all deprecated warnings
// options.compilerArgs << '-Xlint:unchecked'
// options.deprecation = true
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
import timber.log.Timber;

/**
* Android update service implementation. It checks for update and schedules .apk download using <tt>DownloadManager</tt>.
* aTalk update service implementation. It checks for an update and schedules .apk download using <tt>DownloadManager</tt>.
*
* @author Pawel Domas
* @author Eng Chong Meng
Expand Down
85 changes: 41 additions & 44 deletions aTalk/src/main/java/net/java/otr4j/OtrEngineHost.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,73 +11,70 @@
import java.security.KeyPair;

/**
* This interface should be implemented by the host application. It is required
* for otr4j to work properly.
* This interface should be implemented by the host application. It is required for otr4j to work properly.
*
* @author George Politis
* @author Eng Chong Meng
*/
public interface OtrEngineHost
{
void injectMessage(SessionID sessionID, String msg)
throws OtrException;
void injectMessage(SessionID sessionID, String msg)
throws OtrException;

void unreadableMessageReceived(SessionID sessionID)
throws OtrException;
void unreadableMessageReceived(SessionID sessionID)
throws OtrException;

void unencryptedMessageReceived(SessionID sessionID, String msg)
throws OtrException;
void unencryptedMessageReceived(SessionID sessionID, String msg)
throws OtrException;

void showError(SessionID sessionID, String error)
throws OtrException;
void showError(SessionID sessionID, String error)
throws OtrException;

void showAlert(SessionID sessionID, String error)
throws OtrException;
void showAlert(SessionID sessionID, String error)
throws OtrException;

void smpError(SessionID sessionID, int tlvType, boolean cheated)
throws OtrException;
void smpError(SessionID sessionID, int tlvType, boolean cheated)
throws OtrException;

void smpAborted(SessionID sessionID)
throws OtrException;
void smpAborted(SessionID sessionID)
throws OtrException;

void finishedSessionMessage(SessionID sessionID, String msgText)
throws OtrException;
void finishedSessionMessage(SessionID sessionID, String msgText)
throws OtrException;

void requireEncryptedMessage(SessionID sessionID, String msgText)
throws OtrException;
void requireEncryptedMessage(SessionID sessionID, String msgText)
throws OtrException;

OtrPolicy getSessionPolicy(SessionID sessionID);
OtrPolicy getSessionPolicy(SessionID sessionID);

/**
* Get instructions for the necessary fragmentation operations.
* <p>
* If no fragmentation is necessary, return {@code null} to set the default
* fragmentation instructions which are to use an unlimited number of
* messages of unlimited size each. Hence fragmentation is not necessary or
* applied.
*
* @param sessionID
* the session ID of the session
* @return return fragmentation instructions or null for defaults (i.e. no fragmentation)
*/
FragmenterInstructions getFragmenterInstructions(SessionID sessionID);
/**
* Get instructions for the necessary fragmentation operations.
*
* If no fragmentation is necessary, return {@code null} to set the default
* fragmentation instructions which are to use an unlimited number of
* messages of unlimited size each. Hence fragmentation is not necessary or applied.
*
* @param sessionID the session ID of the session
* @return return fragmentation instructions or null for defaults (i.e. no fragmentation)
*/
FragmenterInstructions getFragmenterInstructions(SessionID sessionID);

KeyPair getLocalKeyPair(SessionID sessionID)
throws OtrException;
KeyPair getLocalKeyPair(SessionID sessionID)
throws OtrException;

byte[] getLocalFingerprintRaw(SessionID sessionID);
byte[] getLocalFingerprintRaw(SessionID sessionID);

void askForSecret(SessionID sessionID, InstanceTag receiverTag, String question);
void askForSecret(SessionID sessionID, InstanceTag receiverTag, String question);

void verify(SessionID sessionID, String fingerprint, boolean approved);
void verify(SessionID sessionID, String fingerprint, boolean approved);

void unverify(SessionID sessionID, String fingerprint);
void unverify(SessionID sessionID, String fingerprint);

String getReplyForUnreadableMessage(SessionID sessionID);
String getReplyForUnreadableMessage(SessionID sessionID);

String getFallbackMessage(SessionID sessionID);
String getFallbackMessage(SessionID sessionID);

void messageFromAnotherInstanceReceived(SessionID sessionID);
void messageFromAnotherInstanceReceived(SessionID sessionID);

void multipleInstancesDetected(SessionID sessionID);
void multipleInstancesDetected(SessionID sessionID);
}
1 change: 0 additions & 1 deletion aTalk/src/main/java/net/java/otr4j/OtrEngineListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
* about session status changes.
*
* @author George Politis
*
*/
public interface OtrEngineListener {
void sessionStatusChanged(SessionID sessionID);
Expand Down
10 changes: 6 additions & 4 deletions aTalk/src/main/java/net/java/otr4j/OtrException.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
* @author George Politis
*/
@SuppressWarnings("serial")
public class OtrException extends Exception {
public OtrException(Exception e){
super(e);
}
public class OtrException extends Exception
{
public OtrException(Exception e)
{
super(e);
}
}
4 changes: 3 additions & 1 deletion aTalk/src/main/java/net/java/otr4j/OtrKeyManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
import net.java.otr4j.session.SessionID;

import java.security.*;

/**
* @author George Politis
*/
public interface OtrKeyManager {

void addListener(OtrKeyManagerListener l);
Expand Down
Loading

0 comments on commit 89fb78d

Please sign in to comment.