Merge pull request #745 from EmmanuelMess/feature-leakdetection

Added leak canary for leak detection
This commit is contained in:
Vishal Nehra
2017-08-29 12:01:40 +05:30
committed by GitHub
14 changed files with 47 additions and 17 deletions
+8
View File
@@ -4,6 +4,10 @@ android {
compileSdkVersion 25
buildToolsVersion '25.0.3'
dexOptions {
jumboMode = true
}
packagingOptions {
exclude 'proguard-project.txt'
exclude 'project.properties'
@@ -68,6 +72,10 @@ dependencies {
compile 'com.android.support:palette-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
//Detect memory leaks
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
compile 'org.apache.commons:commons-compress:1.10'
// Google Play Services
+1 -1
View File
@@ -45,7 +45,7 @@
android:required="false" />
<application
android:name=".utils.AppConfig"
android:name=".utils.application.AppConfig"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
tools:replace="android:label"
@@ -2,7 +2,7 @@ package com.amaze.filemanager.activities;
import android.support.v7.app.AppCompatActivity;
import com.amaze.filemanager.utils.AppConfig;
import com.amaze.filemanager.utils.application.AppConfig;
import com.amaze.filemanager.utils.color.ColorPreference;
import com.amaze.filemanager.utils.files.Futils;
import com.amaze.filemanager.utils.provider.UtilitiesProviderInterface;
@@ -20,7 +20,7 @@ import com.amaze.filemanager.activities.MainActivity;
import com.amaze.filemanager.database.CloudHandler;
import com.amaze.filemanager.exceptions.RootNotPermittedException;
import com.amaze.filemanager.ui.icons.MimeTypes;
import com.amaze.filemanager.utils.AppConfig;
import com.amaze.filemanager.utils.application.AppConfig;
import com.amaze.filemanager.utils.DataUtils;
import com.amaze.filemanager.utils.OTGUtil;
import com.amaze.filemanager.utils.OpenMode;
@@ -24,7 +24,6 @@ package com.amaze.filemanager.fragments;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
import android.content.ClipData;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -91,7 +90,7 @@ import com.amaze.filemanager.ui.icons.MimeTypes;
import com.amaze.filemanager.ui.views.DividerItemDecoration;
import com.amaze.filemanager.ui.views.FastScroller;
import com.amaze.filemanager.ui.views.RoundedImageView;
import com.amaze.filemanager.utils.AppConfig;
import com.amaze.filemanager.utils.application.AppConfig;
import com.amaze.filemanager.utils.DataUtils;
import com.amaze.filemanager.utils.GenericFileProvider;
import com.amaze.filemanager.utils.MainActivityHelper;
@@ -18,7 +18,7 @@ import com.amaze.filemanager.R;
import com.amaze.filemanager.activities.PreferencesActivity;
import com.amaze.filemanager.database.UtilsHandler;
import com.amaze.filemanager.ui.views.preference.PathSwitchPreference;
import com.amaze.filemanager.utils.AppConfig;
import com.amaze.filemanager.utils.application.AppConfig;
import com.amaze.filemanager.utils.DataUtils;
import com.amaze.filemanager.utils.SimpleTextWatcher;
import com.amaze.filemanager.utils.color.ColorUsage;
@@ -38,7 +38,7 @@ import android.util.Log;
import com.amaze.filemanager.R;
import com.amaze.filemanager.activities.MainActivity;
import com.amaze.filemanager.filesystem.FileUtil;
import com.amaze.filemanager.utils.AppConfig;
import com.amaze.filemanager.utils.application.AppConfig;
import com.amaze.filemanager.utils.DataPackage;
import com.amaze.filemanager.utils.files.GenericCopyUtil;
import com.amaze.filemanager.utils.ProgressHandler;
@@ -30,7 +30,7 @@ import com.amaze.filemanager.exceptions.RootNotPermittedException;
import com.amaze.filemanager.filesystem.BaseFile;
import com.amaze.filemanager.fragments.MainFragment;
import com.amaze.filemanager.services.CopyService;
import com.amaze.filemanager.utils.AppConfig;
import com.amaze.filemanager.utils.application.AppConfig;
import com.amaze.filemanager.utils.DataUtils;
import com.amaze.filemanager.utils.cloud.CloudUtil;
import com.amaze.filemanager.utils.files.CryptUtil;
@@ -1,6 +1,7 @@
package com.amaze.filemanager.utils;
import com.amaze.filemanager.ui.drawer.Item;
import com.amaze.filemanager.utils.application.AppConfig;
import com.cloudrail.si.interfaces.CloudStorage;
import com.cloudrail.si.services.Box;
import com.cloudrail.si.services.Dropbox;
@@ -1,4 +1,4 @@
package com.amaze.filemanager.utils;
package com.amaze.filemanager.utils.application;
import android.app.Application;
import android.content.Context;
@@ -9,6 +9,7 @@ import android.os.StrictMode;
import android.text.TextUtils;
import android.widget.Toast;
import com.amaze.filemanager.utils.LruBitmapCache;
import com.amaze.filemanager.utils.provider.UtilitiesProvider;
import com.amaze.filemanager.utils.provider.UtilitiesProviderInterface;
import com.android.volley.Request;
@@ -17,10 +18,10 @@ import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
/**
* Created by vishal on 7/12/16.
* Created by vishal on 7/12/16 edited by Emmanuel Messulam<emmanuelbendavid@gmail.com>
*/
public class AppConfig extends Application {
public class AppConfig extends LeakCanaryApplication {
public static final String TAG = AppConfig.class.getSimpleName();
@@ -0,0 +1,25 @@
package com.amaze.filemanager.utils.application;
import android.app.Application;
import com.squareup.leakcanary.LeakCanary;
/**
* @author Emmanuel
* on 28/8/2017, at 18:12.
*/
public class LeakCanaryApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
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);
}
}
@@ -9,14 +9,11 @@ import android.security.keystore.KeyGenParameterSpec;
import android.security.keystore.KeyProperties;
import android.support.annotation.RequiresApi;
import android.util.Base64;
import android.util.Log;
import com.amaze.filemanager.activities.MainActivity;
import com.amaze.filemanager.exceptions.CryptException;
import com.amaze.filemanager.filesystem.BaseFile;
import com.amaze.filemanager.filesystem.FileUtil;
import com.amaze.filemanager.filesystem.HFile;
import com.amaze.filemanager.utils.AppConfig;
import com.amaze.filemanager.utils.OpenMode;
import com.amaze.filemanager.utils.ProgressHandler;
import com.amaze.filemanager.utils.ServiceWatcherUtil;
@@ -9,8 +9,7 @@ import com.amaze.filemanager.R;
import com.amaze.filemanager.filesystem.BaseFile;
import com.amaze.filemanager.filesystem.FileUtil;
import com.amaze.filemanager.filesystem.HFile;
import com.amaze.filemanager.filesystem.RootHelper;
import com.amaze.filemanager.utils.AppConfig;
import com.amaze.filemanager.utils.application.AppConfig;
import com.amaze.filemanager.utils.DataUtils;
import com.amaze.filemanager.utils.OTGUtil;
import com.amaze.filemanager.utils.OpenMode;
@@ -122,7 +122,7 @@ import com.amaze.filemanager.ui.views.RoundedImageView;
import com.amaze.filemanager.ui.views.ScrimInsetsRelativeLayout;
import com.amaze.filemanager.ui.views.appbar.AppBar;
import com.amaze.filemanager.ui.views.appbar.SearchView;
import com.amaze.filemanager.utils.AppConfig;
import com.amaze.filemanager.utils.application.AppConfig;
import com.amaze.filemanager.utils.BookSorter;
import com.amaze.filemanager.utils.DataUtils;
import com.amaze.filemanager.utils.DataUtils.DataChangeListener;