Skip to content

Commit

Permalink
Merge pull request #810 from redsolution/develop
Browse files Browse the repository at this point in the history
Version 2.2.1 Beta Release
  • Loading branch information
Str4tocaster committed Mar 16, 2018
2 parents 2e26725 + a4d0b20 commit 5ce0aee
Show file tree
Hide file tree
Showing 6 changed files with 69 additions and 9 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ If you want to support Xabber development you can buy [Xabber VIP](https://play.

[![Donate with PayPal](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=G9AYTUSXCWRVL)

[![Patreon](https://c5.patreon.com/external/logo/become_a_patron_button.png)](https://www.patreon.com/xabber)

## Feedback

info [at] xabber.com
Expand Down
13 changes: 11 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 27
versionCode 467
versionName '2.2.1(467)'
versionCode 468
versionName '2.2.1(468)'
}

lintOptions {
Expand Down Expand Up @@ -193,6 +193,15 @@ dependencies {
}

implementation group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: '1.58'

// leak canary
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

// block canary
debugImplementation 'com.github.markzhai:blockcanary-android:1.5.0'
releaseCompile 'com.github.markzhai:blockcanary-no-op:1.5.0'

}
apply plugin: 'com.google.gms.google-services'

Expand Down
35 changes: 30 additions & 5 deletions xabber/src/main/java/com/xabber/android/data/Application.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,15 @@
import android.app.Activity;
import android.content.Context;
import android.os.Handler;
import android.os.StrictMode;
import android.support.annotation.NonNull;
import android.support.multidex.MultiDex;

import com.crashlytics.android.Crashlytics;
import com.crashlytics.android.core.CrashlyticsCore;
import com.frogermcs.androiddevmetrics.AndroidDevMetrics;
import com.github.moduth.blockcanary.BlockCanary;
import com.squareup.leakcanary.LeakCanary;
import com.xabber.android.BuildConfig;
import com.xabber.android.R;
import com.xabber.android.data.account.AccountManager;
Expand Down Expand Up @@ -57,8 +60,8 @@
import com.xabber.android.data.roster.RosterManager;
import com.xabber.android.data.xaccount.XabberAccountManager;
import com.xabber.android.service.XabberService;
import com.xabber.android.utils.AppBlockCanaryContext;

import io.fabric.sdk.android.Fabric;
import org.jivesoftware.smack.provider.ProviderFileLoader;
import org.jivesoftware.smack.provider.ProviderManager;

Expand All @@ -74,6 +77,8 @@
import java.util.concurrent.Future;
import java.util.concurrent.ThreadFactory;

import io.fabric.sdk.android.Fabric;

/**
* Base entry point.
*
Expand Down Expand Up @@ -304,6 +309,30 @@ public boolean isClosing() {
@Override
public void onCreate() {
super.onCreate();

if (BuildConfig.DEBUG) {
/** Leak Canary */
if (LeakCanary.isInAnalyzerProcess(this)) {
// This process is dedicated to LeakCanary for heap analysis.
// You should not init your app in this process.
return;
}
LeakCanary.install(this);

/** Block Canary */
BlockCanary.install(this, new AppBlockCanaryContext()).start();

/** Android Dev Metrics */
AndroidDevMetrics.initWith(this);

/** Strict Mode */
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectAll()
.penaltyLog()
.build());
}

/** Crashlytics */
// Set up Crashlytics, disabled for debug builds
Crashlytics crashlyticsKit = new Crashlytics.Builder()
.core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
Expand All @@ -314,10 +343,6 @@ public void onCreate() {
Fabric.with(this, crashlyticsKit);
}

if (BuildConfig.DEBUG) {
AndroidDevMetrics.initWith(this);
}

Thread.currentThread().setPriority(Thread.MAX_PRIORITY);

addManagers();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ public long write(Long id, String value, String user, String group,
return id;
}

void remove(long id) {
public void remove(long id) {
SQLiteDatabase db = databaseManager.getWritableDatabase();
db.delete(NAME, Fields._ID + " = ?",
new String[]{String.valueOf(id)});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,11 @@ public void updateOrCreatePhrase(Phrase phrase, String value, String user,
* @param index
*/
public void removePhrase(int index) {
phrases.remove(getPhrase(index));
Phrase phrase = getPhrase(index);
if (phrase != null) {
phrases.remove(phrase); // remove from the local list
PhraseTable.getInstance().remove(phrase.getId()); // remove from database
}
}

private void writePhrase(final Phrase phrase, final String value,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.xabber.android.utils;

import com.github.moduth.blockcanary.BlockCanaryContext;
import com.xabber.android.BuildConfig;


/**
* Configuration class. Used in Block Canary - ui-block detection library for Android
*/

public class AppBlockCanaryContext extends BlockCanaryContext {

public String provideQualifier() {
return BuildConfig.VERSION_NAME;
}

public int provideBlockThreshold() {
return 1000;
}
}

0 comments on commit 5ce0aee

Please sign in to comment.