From ae38198c844cf5f2050fc73f3bab19844e05cad3 Mon Sep 17 00:00:00 2001 From: shrinidhi99 Date: Tue, 1 Oct 2019 00:39:06 +0530 Subject: [PATCH] added readme and changed java code with kotlin code --- .idea/caches/gradle_models.ser | Bin 0 -> 142656 bytes .idea/codeStyles/Project.xml | 182 ++++++- .idea/dbnavigator.xml | 456 ++++++++++++++++++ .idea/dictionaries/shrinidhi.xml | 7 + .idea/gradle.xml | 1 + .idea/vcs.xml | 6 + README.md | 9 + app/build.gradle | 6 + .../memoryleaks/MainActivity.java | 105 ---- .../memoryleaks/MainActivity.kt | 97 ++++ .../memoryleaks/MyApplication.java | 21 - .../memoryleaks/MyApplication.kt | 20 + build.gradle | 8 +- gradle/wrapper/gradle-wrapper.properties | 3 +- 14 files changed, 766 insertions(+), 155 deletions(-) create mode 100644 .idea/caches/gradle_models.ser create mode 100644 .idea/dbnavigator.xml create mode 100644 .idea/dictionaries/shrinidhi.xml create mode 100644 .idea/vcs.xml create mode 100644 README.md delete mode 100644 app/src/main/java/com/codingwithmitch/memoryleaks/MainActivity.java create mode 100644 app/src/main/java/com/codingwithmitch/memoryleaks/MainActivity.kt delete mode 100644 app/src/main/java/com/codingwithmitch/memoryleaks/MyApplication.java create mode 100644 app/src/main/java/com/codingwithmitch/memoryleaks/MyApplication.kt diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser new file mode 100644 index 0000000000000000000000000000000000000000..136fbcc3fd812458644464ab0b075da40a1d59b6 GIT binary patch literal 142656 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 Nc_ua+4*2@q{{tw&op%5L literal 0 HcmV?d00001 diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 30aa626..554ffcd 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -1,29 +1,161 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
\ No newline at end of file diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml new file mode 100644 index 0000000..2bcafe4 --- /dev/null +++ b/.idea/dbnavigator.xml @@ -0,0 +1,456 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dictionaries/shrinidhi.xml b/.idea/dictionaries/shrinidhi.xml new file mode 100644 index 0000000..9773fa2 --- /dev/null +++ b/.idea/dictionaries/shrinidhi.xml @@ -0,0 +1,7 @@ + + + + hacktoberfest + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 7ac24c7..169fd0d 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -12,6 +12,7 @@ diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b28ecda --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Memory Leaks On Android +--- + +This repository has the kotlin code for the forked repository. +The app is working fine. No issues. + +--- + +Done as a part of hacktoberfest 2019. \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index cff601e..ebdf8a8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,4 +1,6 @@ apply plugin: 'com.android.application' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-android' android { compileSdkVersion 28 @@ -28,4 +30,8 @@ dependencies { debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.2' releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.2' + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" +} +repositories { + mavenCentral() } diff --git a/app/src/main/java/com/codingwithmitch/memoryleaks/MainActivity.java b/app/src/main/java/com/codingwithmitch/memoryleaks/MainActivity.java deleted file mode 100644 index f6403cd..0000000 --- a/app/src/main/java/com/codingwithmitch/memoryleaks/MainActivity.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.codingwithmitch.memoryleaks; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.os.AsyncTask; -import android.support.v7.app.AppCompatActivity; -import android.os.Bundle; -import android.view.View; -import android.widget.TextView; - -import java.lang.ref.WeakReference; - -public class MainActivity extends AppCompatActivity { - - private MyAsyncTask myAsyncTask; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - - findViewById(R.id.go).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - - if(myAsyncTask != null){ - finish(); - } - - myAsyncTask = new MyAsyncTask(MainActivity.this); - myAsyncTask.execute(); - - } - }); - } - - private class MyAsyncTask extends AsyncTask{ - - -// private Context mContext; - private WeakReference mContextRef; - - - - public MyAsyncTask(Context context) { -// this.mContext = context; // METHOD 1: CANCEL ASYNCTASK in onDestroy - mContextRef = new WeakReference<>(context); // METHOD 2: Use WeakReference - } - - @Override - protected Void doInBackground(Void... voids) { - - Bitmap icon = BitmapFactory.decodeResource(mContextRef.get().getResources(),R.drawable.ic_launcher_background); -// Bitmap icon = BitmapFactory.decodeResource(mContext.getResources(),R.drawable.ic_launcher_background); - - try { - Thread.sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - return null; - } - } - - - @Override - protected void onDestroy() { -// myAsyncTask.cancel(true); - super.onDestroy(); - } -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/java/com/codingwithmitch/memoryleaks/MainActivity.kt b/app/src/main/java/com/codingwithmitch/memoryleaks/MainActivity.kt new file mode 100644 index 0000000..edb5de3 --- /dev/null +++ b/app/src/main/java/com/codingwithmitch/memoryleaks/MainActivity.kt @@ -0,0 +1,97 @@ +package com.codingwithmitch.memoryleaks + +import android.annotation.SuppressLint +import android.content.Context +import android.graphics.Bitmap +import android.graphics.BitmapFactory +import android.os.AsyncTask +import android.support.v7.app.AppCompatActivity +import android.os.Bundle +import android.view.View +import android.widget.TextView + +import java.lang.ref.WeakReference + +class MainActivity : AppCompatActivity() { + + private var myAsyncTask: MyAsyncTask? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + + + findViewById(R.id.go).setOnClickListener { + if (myAsyncTask != null) { + finish() + } + + myAsyncTask = MyAsyncTask(this@MainActivity) + myAsyncTask!!.execute() + } + } + + private inner class MyAsyncTask(context: Context) : AsyncTask() { + + + // private Context mContext; + private val mContextRef: WeakReference + + + init { + // this.mContext = context; // METHOD 1: CANCEL ASYNCTASK in onDestroy + mContextRef = WeakReference(context) // METHOD 2: Use WeakReference + } + + override fun doInBackground(vararg voids: Void): Void? { + + val icon = BitmapFactory.decodeResource(mContextRef.get()?.getResources(), R.drawable.ic_launcher_background) + // Bitmap icon = BitmapFactory.decodeResource(mContext.getResources(),R.drawable.ic_launcher_background); + + try { + Thread.sleep(5000) + } catch (e: InterruptedException) { + e.printStackTrace() + } + + return null + } + } + + + override fun onDestroy() { + // myAsyncTask.cancel(true); + super.onDestroy() + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/codingwithmitch/memoryleaks/MyApplication.java b/app/src/main/java/com/codingwithmitch/memoryleaks/MyApplication.java deleted file mode 100644 index 9cc99f0..0000000 --- a/app/src/main/java/com/codingwithmitch/memoryleaks/MyApplication.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.codingwithmitch.memoryleaks; - -import android.app.Application; - -import com.squareup.leakcanary.LeakCanary; - -public class MyApplication 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); - // Normal app init code... - } -} - diff --git a/app/src/main/java/com/codingwithmitch/memoryleaks/MyApplication.kt b/app/src/main/java/com/codingwithmitch/memoryleaks/MyApplication.kt new file mode 100644 index 0000000..7749529 --- /dev/null +++ b/app/src/main/java/com/codingwithmitch/memoryleaks/MyApplication.kt @@ -0,0 +1,20 @@ +package com.codingwithmitch.memoryleaks + +import android.app.Application + +import com.squareup.leakcanary.LeakCanary + +class MyApplication : Application() { + + override fun 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) + // Normal app init code... + } +} + diff --git a/build.gradle b/build.gradle index 8d3ef8e..2fa19f7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,14 +1,16 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - + ext.kotlin_version = '1.3.50' + repositories { google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.2.1' - + classpath 'com.android.tools.build:gradle:3.5.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 9a4163a..c07bc6c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Tue Oct 01 00:27:32 IST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip