Skip to content

Commit 7a9e3b2

Browse files
committed
Prevent crash when OutOfMemoryError is thrown while creating bitmaps #4
1 parent 634ead3 commit 7a9e3b2

File tree

8 files changed

+22
-18
lines changed

8 files changed

+22
-18
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## `1.4.1` (10/08/19)
4+
5+
- Prevent crash when OutOfMemoryError is thrown while creating bitmaps #4
6+
37
## `1.4.0` (17/12/18)
48

59
- Fix NPE when replacing state before view being measured #3

dependencies.gradle

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ext {
55
//----------------------------------------------------------------------------------------------
66

77
// Android Plugin for Gradle : https://developer.android.com/studio/releases/gradle-plugin.html#updating-plugin
8-
androidGradle = '3.4.0-alpha08'
8+
androidGradle = '3.5.0-rc02'
99

1010
gradleDependencies = [
1111
androidGradle: "com.android.tools.build:gradle:${androidGradle}",
@@ -16,13 +16,13 @@ ext {
1616
//----------------------------------------------------------------------------------------------
1717

1818
// AndroidX Core : https://developer.android.com/jetpack/androidx/androidx-rn
19-
androidXCore = "1.0.0"
19+
androidXCore = "1.0.2"
2020
// Android Annotations : https://developer.android.com/topic/libraries/support-library/packages#annotations
21-
annotations = "1.0.0"
21+
annotations = "1.1.0"
2222
// Constraint Layout : https://developer.android.com/training/constraint-layout/index.html
2323
constraintLayout = '1.1.3'
2424
// AppCompat : https://developer.android.com/topic/libraries/support-library/packages#v7-appcompat
25-
appcompat = '1.0.0'
25+
appcompat = '1.0.2'
2626

2727

2828
appDependencies = [
@@ -50,7 +50,7 @@ ext {
5050
// JUnit (unit testing framework) : http://junit.org/junit4/
5151
junit = '4.12'
5252
// Mockito (mocking framework) : http://site.mockito.org/
53-
mockito = '2.23.0'
53+
mockito = '2.27.0'
5454

5555
testDependencies = [
5656
junit : "junit:junit:${junit}",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1-milestone-1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

lib/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apply plugin: 'com.android.library'
22

33
ext.versionMajor = 1 // API Changes, adding big new feature, redesign the App
4-
ext.versionMinor = 2 // New features in a backwards-compatible manner
4+
ext.versionMinor = 4 // New features in a backwards-compatible manner
55
ext.versionPatch = 1 // Backwards-compatible bug fixes
66
ext.versionClassifier = null // Pre-releases (alpha, beta, rc, SNAPSHOT...)
77

lib/src/main/java/com/davidmiguel/multistateswitch/MultiStateSwitch.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -320,11 +320,14 @@ private void populateView() {
320320
if (getNumberStates() == 0 || !hasDrawingArea()) {
321321
return;
322322
}
323-
calculateDrawingSizes();
324-
populateStates();
325-
calculateBounds();
326-
determineCenterPositions(false);
327-
initialized = true;
323+
try {
324+
calculateDrawingSizes();
325+
populateStates();
326+
calculateBounds();
327+
determineCenterPositions(false);
328+
initialized = true;
329+
} catch (Exception e) { // Ignored
330+
}
328331
}
329332

330333
/**

lib/src/main/java/com/davidmiguel/multistateswitch/StateListener.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,4 @@ public interface StateListener {
1515
* @param state state instance.
1616
*/
1717
void onStateSelected(int stateIndex, @NonNull State state);
18-
1918
}
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="com.davidmiguel.multistateswitch">
3+
package="com.davidmiguel.multistateswitch.sample">
44

55
<application
66
android:allowBackup="true"
@@ -9,13 +9,12 @@
99
android:roundIcon="@mipmap/ic_launcher_round"
1010
android:supportsRtl="true"
1111
android:theme="@style/AppTheme">
12-
<activity android:name=".sample.MainActivity">
12+
<activity android:name=".MainActivity">
1313
<intent-filter>
1414
<action android:name="android.intent.action.MAIN" />
1515

1616
<category android:name="android.intent.category.LAUNCHER" />
1717
</intent-filter>
1818
</activity>
1919
</application>
20-
2120
</manifest>

sample/src/main/java/com/davidmiguel/multistateswitch/sample/MainActivity.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,10 @@
88
import android.graphics.Color;
99
import android.os.Bundle;
1010

11-
import com.davidmiguel.multistateswitch.R;
1211
import com.davidmiguel.multistateswitch.State;
1312
import com.davidmiguel.multistateswitch.StateListener;
1413
import com.davidmiguel.multistateswitch.StateStyle;
15-
import com.davidmiguel.multistateswitch.databinding.ActivityMainBinding;
14+
import com.davidmiguel.multistateswitch.sample.databinding.ActivityMainBinding;
1615

1716
import java.util.Arrays;
1817

0 commit comments

Comments
 (0)