Skip to content

Commit

Permalink
Merge branch 'release/1.0.170'
Browse files Browse the repository at this point in the history
  • Loading branch information
Grigory Fedorov committed Apr 6, 2017
2 parents 88d86d5 + 9e741c9 commit 58fe9a5
Show file tree
Hide file tree
Showing 131 changed files with 1,441 additions and 288 deletions.
4 changes: 2 additions & 2 deletions xabber/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ android {
defaultConfig {
minSdkVersion 15
targetSdkVersion 25
versionCode 341
versionName '1.0.169'
versionCode 342
versionName '1.0.170'
}

lintOptions {
Expand Down
1 change: 0 additions & 1 deletion xabber/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />

<application
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,11 @@ public void clearStack(boolean finishRoot) {
ContactListActivity root = null;
rebuildStack();
for (Activity activity : activities) {
if (!finishRoot && root == null && activity instanceof ContactListActivity)
if (!finishRoot && root == null && activity instanceof ContactListActivity) {
root = (ContactListActivity) activity;
else
} else {
activity.finish();
}
}
rebuildStack();
}
Expand Down Expand Up @@ -313,7 +314,12 @@ private void fetchTaskIndex(Activity activity, Intent intent) {

@Override
public void onUnload() {
clearStack(true);
Application.getInstance().runOnUiThread(new Runnable() {
@Override
public void run() {
clearStack(true);
}
});
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -140,10 +140,10 @@ public AccountItem(boolean custom, String host,
}

/**
* @return Valid priority value between -128 and 128.
* @return Valid priority value between -128 and 127.
*/
static private int getValidPriority(int priority) {
return Math.min(128, Math.max(-128, priority));
return Math.min(127, Math.max(-128, priority));
}

/**
Expand Down Expand Up @@ -310,9 +310,11 @@ else if (statusMode == StatusMode.xa)
priority = SettingsManager.connectionPriorityXa();
else
throw new IllegalStateException();
} else
} else {
priority = this.priority;
return new Presence(Type.available, statusText, priority,
}

return new Presence(Type.available, statusText, AccountItem.getValidPriority(priority),
statusMode.getMode());
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
import com.xabber.android.data.OnWipeListener;
import com.xabber.android.data.SettingsManager;
import com.xabber.android.data.account.listeners.OnAccountAddedListener;
import com.xabber.android.data.account.listeners.OnAccountArchiveModeChangedListener;
import com.xabber.android.data.account.listeners.OnAccountChangedListener;
import com.xabber.android.data.account.listeners.OnAccountDisabledListener;
import com.xabber.android.data.account.listeners.OnAccountEnabledListener;
Expand Down Expand Up @@ -417,6 +416,10 @@ private Resourcepart generateResource() {
*/
private void removeAccountWithoutCallback(final AccountJid account) {
final AccountItem accountItem = getAccount(account);
if (accountItem == null) {
return;
}

boolean wasEnabled = accountItem.isEnabled();
accountItem.setEnabled(false);
accountItem.disconnect();
Expand Down Expand Up @@ -514,12 +517,7 @@ public void updateAccount(AccountJid account, boolean custom, String host, int p
}
}
if (result.getArchiveMode() != archiveMode) {
reconnect = (result.getArchiveMode() == ArchiveMode.server) != (archiveMode == ArchiveMode.server);
result.setArchiveMode(archiveMode);
for (OnAccountArchiveModeChangedListener listener :
application.getManagers(OnAccountArchiveModeChangedListener.class)) {
listener.onAccountArchiveModeChanged(result);
}
}
if (changed && enabled) {
onAccountEnabled(result);
Expand Down Expand Up @@ -554,8 +552,10 @@ public void updateAccount(AccountJid account, boolean custom, String host, int p

public void setKeyPair(AccountJid account, KeyPair keyPair) {
AccountItem accountItem = getAccount(account);
accountItem.setKeyPair(keyPair);
requestToWriteAccount(accountItem);
if (accountItem != null) {
accountItem.setKeyPair(keyPair);
requestToWriteAccount(accountItem);
}
}

public void setEnabled(AccountJid account, boolean enabled) {
Expand All @@ -568,14 +568,6 @@ public void setEnabled(AccountJid account, boolean enabled) {
requestToWriteAccount(accountItem);
}

public ArchiveMode getArchiveMode(AccountJid account) {
AccountItem accountItem = getAccount(account);
if (accountItem == null) {
return ArchiveMode.available;
}
return accountItem.getArchiveMode();
}

/**
* @return List of enabled accounts.
*/
Expand Down Expand Up @@ -816,18 +808,25 @@ public void resendPresence() {

public void setColor(AccountJid accountJid, int colorIndex) {
AccountItem accountItem = getAccount(accountJid);
accountItem.setColorIndex(colorIndex);
requestToWriteAccount(accountItem);
if (accountItem != null) {
accountItem.setColorIndex(colorIndex);
requestToWriteAccount(accountItem);
}
}

public void setClearHistoryOnExit(AccountJid accountJid, boolean clearHistoryOnExit) {
AccountItem accountItem = getAccount(accountJid);
accountItem.setClearHistoryOnExit(clearHistoryOnExit);
requestToWriteAccount(accountItem);
if (accountItem != null) {
accountItem.setClearHistoryOnExit(clearHistoryOnExit);
requestToWriteAccount(accountItem);
}
}

public void setMamDefaultBehaviour(AccountJid accountJid, MamPrefsIQ.DefaultBehavior mamDefaultBehavior) {
AccountItem accountItem = getAccount(accountJid);
if (accountItem == null) {
return;
}

if (!accountItem.getMamDefaultBehaviour().equals(mamDefaultBehavior)) {
accountItem.setMamDefaultBehaviour(mamDefaultBehavior);
Expand All @@ -838,6 +837,9 @@ public void setMamDefaultBehaviour(AccountJid accountJid, MamPrefsIQ.DefaultBeha

public void setLoadHistorySettings(AccountJid accountJid, LoadHistorySettings loadHistorySettings) {
AccountItem accountItem = getAccount(accountJid);
if (accountItem == null) {
return;
}

if (!accountItem.getLoadHistorySettings().equals(loadHistorySettings)) {
accountItem.setLoadHistorySettings(loadHistorySettings);
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

import com.xabber.android.data.OnCloseListener;
import com.xabber.android.data.OnInitializedListener;
import com.xabber.android.data.account.AccountItem;
import com.xabber.android.data.account.AccountManager;
import com.xabber.android.data.entity.AccountJid;
import com.xabber.android.data.log.LogManager;
Expand Down Expand Up @@ -66,7 +67,10 @@ public void onInitialized() {
public void onClose() {
LogManager.i(LOG_TAG, "onClose");
for (AccountJid accountJid : AccountManager.getInstance().getEnabledAccounts()) {
AccountManager.getInstance().getAccount(accountJid).disconnect();
AccountItem accountItem = AccountManager.getInstance().getAccount(accountJid);
if (accountItem != null) {
accountItem.disconnect();
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,9 @@ private ReconnectionInfo getReconnectionInfo(AccountJid accountJid) {

void resetReconnectionInfo(AccountJid accountJid) {
ReconnectionInfo info = connections.get(accountJid);
info.reset();
if (info != null) {
info.reset();
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import android.support.annotation.NonNull;

import com.xabber.android.R;
import com.xabber.android.data.account.AccountItem;
import com.xabber.android.data.log.LogManager;
import com.xabber.android.data.NetworkException;
import com.xabber.android.data.account.AccountManager;
Expand All @@ -19,7 +20,7 @@ public class StanzaSender {
private static String LOG_TAG = StanzaSender.class.getSimpleName();

/**
* Send stanza to authenticated connection and and acknowledged listener if Stream Management is enabled on server.
* Send stanza to authenticated connection and add acknowledged listener if Stream Management is enabled on server.
*/
public static void sendStanza(AccountJid account, Message stanza, StanzaListener acknowledgedListener) throws NetworkException {
XMPPTCPConnection xmppConnection = getXmppTcpConnection(account);
Expand Down Expand Up @@ -58,7 +59,12 @@ private static void sendStanza(@NonNull XMPPTCPConnection xmppConnection, @NonNu
}

private static @NonNull XMPPTCPConnection getXmppTcpConnection(AccountJid account) throws NetworkException {
XMPPTCPConnection returnConnection = AccountManager.getInstance().getAccount(account).getConnection();
AccountItem accountItem = AccountManager.getInstance().getAccount(account);
if (accountItem == null) {
throw new NetworkException(R.string.NOT_CONNECTED);
}

XMPPTCPConnection returnConnection = accountItem.getConnection();
if (!returnConnection.isAuthenticated()) {
throw new NetworkException(R.string.NOT_CONNECTED);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import com.xabber.android.R;
import com.xabber.android.data.Application;
import com.xabber.android.data.account.AccountItem;
import com.xabber.android.data.account.AccountManager;
import com.xabber.android.data.connection.ConnectionItem;
import com.xabber.android.data.entity.AccountJid;
Expand Down Expand Up @@ -66,6 +67,11 @@ public void uploadFile(final AccountJid account, final UserJid user, final Strin
return;
}

AccountItem accountItem = AccountManager.getInstance().getAccount(account);
if (accountItem == null) {
return;
}

final File file = new File(filePath);

final com.xabber.xmpp.httpfileupload.Request httpFileUpload = new com.xabber.xmpp.httpfileupload.Request();
Expand All @@ -74,7 +80,7 @@ public void uploadFile(final AccountJid account, final UserJid user, final Strin
httpFileUpload.setTo(uploadServerUrl);

try {
AccountManager.getInstance().getAccount(account).getConnection().sendIqWithResponseCallback(httpFileUpload, new StanzaListener() {
accountItem.getConnection().sendIqWithResponseCallback(httpFileUpload, new StanzaListener() {
@Override
public void processStanza(Stanza packet) throws SmackException.NotConnectedException, InterruptedException {
if (!(packet instanceof Slot)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,9 @@ public void requestUpdatePreferences(final AccountJid accountJid) {
@Override
public void run() {
AccountItem accountItem = AccountManager.getInstance().getAccount(accountJid);
if (accountItem == null) {
return;
}
org.jivesoftware.smackx.mam.MamManager mamManager = org.jivesoftware.smackx.mam.MamManager
.getInstanceFor(accountItem.getConnection());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,10 @@ public FragmenterInstructions getFragmenterInstructions(SessionID sessionID) {
private KeyPair getLocalKeyPair(String account) throws OtrException {
KeyPair keyPair = null;
try {
keyPair = AccountManager.getInstance().getAccount(AccountJid.from(account)).getKeyPair();
AccountItem accountItem = AccountManager.getInstance().getAccount(AccountJid.from(account));
if (accountItem != null) {
keyPair = accountItem.getKeyPair();
}
} catch (XmppStringprepException e) {
LogManager.exception(this, e);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,11 +128,13 @@ else if (!disclosureValues.contains(disclosureValue))

Collection<SecurityValue> securityValues = feature.getSecurityOptions();
SecurityValue securityValue;
if (AccountManager.getInstance().getAccount(account)
.getConnectionSettings().getTlsMode() == TLSMode.required)
AccountItem accountItem = AccountManager.getInstance().getAccount(account);
if (accountItem != null
&& accountItem.getConnectionSettings().getTlsMode() == TLSMode.required) {
securityValue = SecurityValue.c2s;
else
} else {
securityValue = SecurityValue.none;
}
if (securityValues == null)
securityValue = null;
else if (!securityValues.contains(securityValue))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,8 @@ public ChatContact(AbstractChat abstractChat) {

@Override
public boolean isConnected() {
AccountItem accountItem = AccountManager.getInstance().getAccount(
account);
if (accountItem == null)
return false;
else
return accountItem.getState().isConnected();
AccountItem accountItem = AccountManager.getInstance().getAccount(account);
return accountItem != null && accountItem.getState().isConnected();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import com.xabber.android.data.account.AccountItem;
import com.xabber.android.data.account.AccountManager;
import com.xabber.android.data.account.StatusMode;
import com.xabber.android.data.account.listeners.OnAccountArchiveModeChangedListener;
import com.xabber.android.data.account.listeners.OnAccountDisabledListener;
import com.xabber.android.data.account.listeners.OnAccountRemovedListener;
import com.xabber.android.data.connection.ConnectionItem;
Expand Down Expand Up @@ -79,7 +78,7 @@
*/
public class MessageManager implements OnLoadListener, OnPacketListener, OnDisconnectListener,
OnAccountRemovedListener, OnAccountDisabledListener, OnRosterReceivedListener,
OnAccountArchiveModeChangedListener, OnStatusChangeListener {
OnStatusChangeListener {

private static MessageManager instance;

Expand Down Expand Up @@ -459,11 +458,6 @@ public void onSettingsChanged() {

}

@Override
public void onAccountArchiveModeChanged(AccountItem accountItem) {

}

@Override
public void onStanza(ConnectionItem connection, Stanza stanza) {
if (stanza.getFrom() == null) {
Expand Down
Loading

0 comments on commit 58fe9a5

Please sign in to comment.