Skip to content

Commit 952b489

Browse files
authored
Merge pull request #880 from redsolution/develop
Merge v2.6.3 (602)
2 parents 713d53b + 038e9bb commit 952b489

File tree

71 files changed

+1470
-428
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+1470
-428
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ buildscript {
66
maven { url 'https://maven.fabric.io/public' }
77
}
88
dependencies {
9-
classpath 'com.android.tools.build:gradle:3.3.1'
9+
classpath 'com.android.tools.build:gradle:3.3.2'
1010
classpath "io.realm:realm-gradle-plugin:3.1.1"
1111
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
1212
classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.4'

xabber/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ android {
1010
defaultConfig {
1111
minSdkVersion 15
1212
targetSdkVersion 28
13-
versionCode 591
14-
versionName '2.6.2(591)'
13+
versionCode 602
14+
versionName '2.6.3(602)'
1515
}
1616

1717
lintOptions {

xabber/src/main/AndroidManifest.xml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,10 @@
6868
</intent-filter>
6969
<intent-filter>
7070
<action android:name="android.intent.action.SEND" />
71+
<action android:name="android.intent.action.SEND_MULTIPLE" />
7172

7273
<category android:name="android.intent.category.DEFAULT" />
73-
<data android:mimeType="audio/*" />
74-
<data android:mimeType="video/*" />
75-
<data android:mimeType="text/*" />
76-
<data android:mimeType="image/*" />
77-
<data android:mimeType="application/*" />
74+
<data android:mimeType="*/*" />
7875
</intent-filter>
7976
<intent-filter>
8077
<action android:name="android.intent.action.SENDTO" />

xabber/src/main/java/com/xabber/android/data/ActivityManager.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import android.widget.Toast;
2222

2323
import com.xabber.android.R;
24+
import com.xabber.android.data.account.AccountManager;
2425
import com.xabber.android.data.connection.CertificateManager;
2526
import com.xabber.android.data.log.LogManager;
2627
import com.xabber.android.ui.activity.AboutActivity;
@@ -219,6 +220,7 @@ public void onError(final int resourceId) {
219220
application.addUIListener(OnErrorListener.class, onErrorListener);
220221

221222
CertificateManager.getInstance().registerActivity(activity);
223+
AccountManager.getInstance().stopGracePeriod();
222224
}
223225

224226
/**

xabber/src/main/java/com/xabber/android/data/Application.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import com.xabber.android.data.extension.blocking.BlockingManager;
4242
import com.xabber.android.data.extension.capability.CapabilitiesManager;
4343
import com.xabber.android.data.extension.carbons.CarbonManager;
44+
import com.xabber.android.data.extension.chat_markers.ChatMarkerManager;
4445
import com.xabber.android.data.extension.cs.ChatStateManager;
4546
import com.xabber.android.data.extension.httpfileupload.HttpFileUploadManager;
4647
import com.xabber.android.data.extension.mam.MamManager;
@@ -376,6 +377,7 @@ private void addManagers() {
376377
addManager(NetworkManager.getInstance());
377378
addManager(ReconnectionManager.getInstance());
378379
addManager(ReceiptManager.getInstance());
380+
addManager(ChatMarkerManager.getInstance());
379381
addManager(SSNManager.getInstance());
380382
addManager(AttentionManager.getInstance());
381383
addManager(CarbonManager.getInstance());

xabber/src/main/java/com/xabber/android/data/account/AccountItem.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
public class AccountItem extends ConnectionItem implements Comparable<AccountItem> {
4545

4646
public static final String UNDEFINED_PASSWORD = "";
47+
private static final long GRACE_PERIOD = 150000;
4748

4849
/**
4950
* Id in database.
@@ -113,6 +114,8 @@ public class AccountItem extends ConnectionItem implements Comparable<AccountIte
113114
*/
114115
private volatile boolean successfulConnectionHappened;
115116

117+
private long gracePeriodEndTime = 0L;
118+
116119
public AccountItem(boolean custom, String host,
117120
int port, DomainBareJid serverName, Localpart userName, Resourcepart resource,
118121
boolean storePassword, String password, String token, int colorIndex, int order,
@@ -454,4 +457,16 @@ void setSuccessfulConnectionHappened(boolean successfulConnectionHappened) {
454457
public int compareTo(@NonNull AccountItem accountItem) {
455458
return order - accountItem.order;
456459
}
460+
461+
public void startGracePeriod() {
462+
gracePeriodEndTime = System.currentTimeMillis() + GRACE_PERIOD;
463+
}
464+
465+
public void stopGracePeriod() {
466+
gracePeriodEndTime = 0L;
467+
}
468+
469+
public boolean inGracePeriod() {
470+
return gracePeriodEndTime > System.currentTimeMillis();
471+
}
457472
}

xabber/src/main/java/com/xabber/android/data/account/AccountManager.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1192,4 +1192,20 @@ public void setAllAccountAutoLoginToXabber(boolean autoLogin) {
11921192
}
11931193
}
11941194

1195+
public void startGracePeriod(AccountJid accountJid) {
1196+
AccountItem accountItem = getAccount(accountJid);
1197+
if (accountItem != null) accountItem.startGracePeriod();
1198+
}
1199+
1200+
public void stopGracePeriod(AccountJid accountJid) {
1201+
AccountItem accountItem = getAccount(accountJid);
1202+
if (accountItem != null) accountItem.stopGracePeriod();
1203+
}
1204+
1205+
public void stopGracePeriod() {
1206+
for (AccountJid accountJid : AccountManager.getInstance().getEnabledAccounts()) {
1207+
stopGracePeriod(accountJid);
1208+
}
1209+
}
1210+
11951211
}

xabber/src/main/java/com/xabber/android/data/account/ScreenManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121
import android.content.IntentFilter;
2222

2323
import com.xabber.android.data.Application;
24-
import com.xabber.android.data.log.LogManager;
2524
import com.xabber.android.data.OnCloseListener;
2625
import com.xabber.android.data.OnInitializedListener;
2726
import com.xabber.android.data.SettingsManager;
2827
import com.xabber.android.data.extension.csi.ClientStateManager;
28+
import com.xabber.android.data.log.LogManager;
2929
import com.xabber.android.receiver.GoAwayReceiver;
3030
import com.xabber.android.receiver.GoXaReceiver;
3131
import com.xabber.android.receiver.ScreenReceiver;
@@ -106,6 +106,7 @@ public void onScreen(Intent intent) {
106106
alarmManager.cancel(goAwayPendingIntent);
107107
alarmManager.cancel(goXaPendingIntent);
108108
AccountManager.getInstance().wakeUp();
109+
AccountManager.getInstance().stopGracePeriod();
109110

110111
// notify server(s) that client is now active
111112
ClientStateManager.setActive();

xabber/src/main/java/com/xabber/android/data/database/MessageDatabaseManager.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@
1919
import java.util.Date;
2020

2121
import io.realm.DynamicRealm;
22+
import io.realm.DynamicRealmObject;
2223
import io.realm.FieldAttribute;
2324
import io.realm.Realm;
2425
import io.realm.RealmConfiguration;
2526
import io.realm.RealmMigration;
27+
import io.realm.RealmObjectSchema;
2628
import io.realm.RealmQuery;
2729
import io.realm.RealmResults;
2830
import io.realm.RealmSchema;
@@ -31,7 +33,7 @@
3133

3234
public class MessageDatabaseManager {
3335
private static final String REALM_MESSAGE_DATABASE_NAME = "xabber.realm";
34-
static final int REALM_MESSAGE_DATABASE_VERSION = 17;
36+
static final int REALM_MESSAGE_DATABASE_VERSION = 19;
3537
private final RealmConfiguration realmConfiguration;
3638

3739
private static MessageDatabaseManager instance;
@@ -300,6 +302,24 @@ public void migrate(DynamicRealm realm1, long oldVersion, long newVersion) {
300302
oldVersion++;
301303
}
302304

305+
if (oldVersion == 17) {
306+
schema.get(MessageItem.class.getSimpleName())
307+
.addField(MessageItem.Fields.DISPLAYED, boolean.class);
308+
309+
oldVersion++;
310+
}
311+
312+
if (oldVersion == 18) {
313+
schema.get(MessageItem.class.getSimpleName())
314+
.transform(new RealmObjectSchema.Function() {
315+
@Override
316+
public void apply(DynamicRealmObject obj) {
317+
obj.setBoolean(MessageItem.Fields.READ, true);
318+
}
319+
});
320+
oldVersion++;
321+
}
322+
303323
}
304324
})
305325
.build();

xabber/src/main/java/com/xabber/android/data/database/RealmManager.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434

3535
public class RealmManager {
3636
private static final String REALM_DATABASE_NAME = "realm_database.realm";
37-
private static final int REALM_DATABASE_VERSION = 20;
37+
private static final int REALM_DATABASE_VERSION = 21;
3838
private static final String LOG_TAG = RealmManager.class.getSimpleName();
3939
private final RealmConfiguration realmConfiguration;
4040

@@ -302,10 +302,12 @@ public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {
302302
}
303303

304304
if (oldVersion == 20) {
305-
schema.create(UploadServer.class.getSimpleName())
306-
.addField(UploadServer.Fields.ID, String.class, FieldAttribute.PRIMARY_KEY, FieldAttribute.REQUIRED)
307-
.addField(UploadServer.Fields.ACCOUNT, String.class)
308-
.addField(UploadServer.Fields.SERVER, String.class);
305+
if (!schema.contains(UploadServer.class.getSimpleName())) {
306+
schema.create(UploadServer.class.getSimpleName())
307+
.addField(UploadServer.Fields.ID, String.class, FieldAttribute.PRIMARY_KEY, FieldAttribute.REQUIRED)
308+
.addField(UploadServer.Fields.ACCOUNT, String.class)
309+
.addField(UploadServer.Fields.SERVER, String.class);
310+
}
309311

310312
oldVersion++;
311313
}

0 commit comments

Comments
 (0)