diff --git a/app/src/main/java/org/isoron/uhabits/activities/BaseRootView.java b/app/src/main/java/org/isoron/uhabits/activities/BaseRootView.java index 176065757..58087ff27 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/BaseRootView.java +++ b/app/src/main/java/org/isoron/uhabits/activities/BaseRootView.java @@ -21,6 +21,7 @@ package org.isoron.uhabits.activities; import android.content.*; import android.support.annotation.*; +import android.support.v4.content.res.*; import android.support.v7.widget.Toolbar; import android.view.*; import android.widget.*; @@ -67,9 +68,8 @@ public abstract class BaseRootView extends FrameLayout { if (SDK_INT < LOLLIPOP && !themeSwitcher.isNightMode()) { - return context - .getResources() - .getColor(R.color.grey_900, context.getTheme()); + return ResourcesCompat.getColor(context.getResources(), + R.color.grey_900, context.getTheme()); } StyledResources res = new StyledResources(context); diff --git a/app/src/main/java/org/isoron/uhabits/activities/BaseScreen.java b/app/src/main/java/org/isoron/uhabits/activities/BaseScreen.java index b8140c0aa..561f64f1b 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/BaseScreen.java +++ b/app/src/main/java/org/isoron/uhabits/activities/BaseScreen.java @@ -26,6 +26,7 @@ import android.net.*; import android.os.*; import android.support.annotation.*; import android.support.design.widget.*; +import android.support.v4.content.res.*; import android.support.v7.app.*; import android.support.v7.view.ActionMode; import android.support.v7.widget.Toolbar; @@ -103,9 +104,8 @@ public class BaseScreen { if (SDK_INT < LOLLIPOP) { - return context - .getResources() - .getColor(R.color.grey_900, context.getTheme()); + return ResourcesCompat.getColor(context.getResources(), + R.color.grey_900, context.getTheme()); } else { diff --git a/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java b/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java index f8a44b0f3..7aac7e87a 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java +++ b/app/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java @@ -163,6 +163,9 @@ public class HistoryEditorDialog extends AppCompatDialogFragment @Override public void onPostExecute() { + if (getContext() == null || habit == null || historyChart == null) + return; + int color = ColorUtils.getColor(getContext(), habit.getColor()); historyChart.setColor(color); historyChart.setCheckmarks(checkmarks); diff --git a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.java b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.java index 5f8382cf2..abcebb79f 100644 --- a/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.java +++ b/app/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.java @@ -239,7 +239,7 @@ public class HabitCardView extends FrameLayout background = res.getDrawable(R.attr.selectedBackground); else background = res.getDrawable(R.attr.cardBackground); - innerFrame.setBackground(background); + innerFrame.setBackgroundDrawable(background); } } diff --git a/app/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java b/app/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java index 2a90ec53c..02509ecc2 100644 --- a/app/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java +++ b/app/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java @@ -144,12 +144,18 @@ public abstract class BaseWidget return new int[]{ w, h, w, h }; } + @NonNull private Bitmap getBitmapFromView(View view) { view.invalidate(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(true); - return view.getDrawingCache(); + Bitmap drawingCache = view.getDrawingCache(); + + if(drawingCache == null) + throw new IllegalStateException("bitmap is null"); + + return drawingCache; } @NonNull