diff --git a/android/android-base/src/main/AndroidManifest.xml b/android/android-base/src/main/AndroidManifest.xml
index dff4e0297..0e65fca36 100644
--- a/android/android-base/src/main/AndroidManifest.xml
+++ b/android/android-base/src/main/AndroidManifest.xml
@@ -1,2 +1 @@
-
+
diff --git a/android/android-base/src/main/java/org/isoron/androidbase/AndroidDirFinder.java b/android/android-base/src/main/java/org/isoron/androidbase/AndroidDirFinder.java
index 3e40aed4d..10a69e940 100644
--- a/android/android-base/src/main/java/org/isoron/androidbase/AndroidDirFinder.java
+++ b/android/android-base/src/main/java/org/isoron/androidbase/AndroidDirFinder.java
@@ -44,8 +44,8 @@ public class AndroidDirFinder
@Nullable
public File getFilesDir(@Nullable String relativePath)
{
- File externalFilesDirs[] =
- ContextCompat.getExternalFilesDirs(context, null);
+ File[] externalFilesDirs =
+ ContextCompat.getExternalFilesDirs(context, null);
if (externalFilesDirs == null)
{
Log.e("BaseSystem",
diff --git a/android/android-base/src/main/java/org/isoron/androidbase/SSLContextProvider.java b/android/android-base/src/main/java/org/isoron/androidbase/SSLContextProvider.java
index c488bbc16..a56a0b9ba 100644
--- a/android/android-base/src/main/java/org/isoron/androidbase/SSLContextProvider.java
+++ b/android/android-base/src/main/java/org/isoron/androidbase/SSLContextProvider.java
@@ -22,8 +22,6 @@ package org.isoron.androidbase;
import android.content.*;
import android.support.annotation.*;
-import org.isoron.androidbase.*;
-
import java.io.*;
import java.security.*;
import java.security.cert.Certificate;
diff --git a/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java
index 21c0322f7..724ad9803 100644
--- a/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java
+++ b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseRootView.java
@@ -68,7 +68,7 @@ public abstract class BaseRootView extends FrameLayout
@NonNull
public Toolbar getToolbar()
{
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ Toolbar toolbar = findViewById(R.id.toolbar);
if (toolbar == null) throw new RuntimeException(
"Your BaseRootView should have a " +
"toolbar with id R.id.toolbar");
diff --git a/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java
index f135a6e62..87a80c653 100644
--- a/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java
+++ b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseScreen.java
@@ -26,7 +26,6 @@ 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;
@@ -69,16 +68,8 @@ public class BaseScreen
@Deprecated
public static int getDefaultActionBarColor(Context context)
{
- if (SDK_INT < LOLLIPOP)
- {
- return ResourcesCompat.getColor(context.getResources(),
- R.color.grey_900, context.getTheme());
- }
- else
- {
- StyledResources res = new StyledResources(context);
- return res.getColor(R.attr.colorPrimary);
- }
+ StyledResources res = new StyledResources(context);
+ return res.getColor(R.attr.colorPrimary);
}
@Deprecated
@@ -86,7 +77,7 @@ public class BaseScreen
int color)
{
- Toolbar toolbar = (Toolbar) activity.findViewById(R.id.toolbar);
+ Toolbar toolbar = activity.findViewById(R.id.toolbar);
if (toolbar == null) return;
activity.setSupportActionBar(toolbar);
@@ -151,7 +142,6 @@ public class BaseScreen
* @param resultCode the result code sent by the other activity.
* @param data an Intent containing extra data sent by the other
* activity.
- * @see {@link android.app.Activity#onActivityResult(int, int, Intent)}
*/
public void onResult(int requestCode, int resultCode, Intent data)
{
@@ -215,7 +205,7 @@ public class BaseScreen
{
snackbar = Snackbar.make(rootView, stringId, Snackbar.LENGTH_SHORT);
int tvId = android.support.design.R.id.snackbar_text;
- TextView tv = (TextView) snackbar.getView().findViewById(tvId);
+ TextView tv = snackbar.getView().findViewById(tvId);
tv.setTextColor(Color.WHITE);
}
else snackbar.setText(stringId);
@@ -270,8 +260,6 @@ public class BaseScreen
private void setStatusBarColor(int baseColor)
{
- if (SDK_INT < LOLLIPOP) return;
-
int darkerColor = ColorUtils.mixColors(baseColor, Color.BLACK, 0.75f);
activity.getWindow().setStatusBarColor(darkerColor);
}
diff --git a/android/android-base/src/main/java/org/isoron/androidbase/utils/ColorUtils.java b/android/android-base/src/main/java/org/isoron/androidbase/utils/ColorUtils.java
index 58199d2dd..cff5f578a 100644
--- a/android/android-base/src/main/java/org/isoron/androidbase/utils/ColorUtils.java
+++ b/android/android-base/src/main/java/org/isoron/androidbase/utils/ColorUtils.java
@@ -57,7 +57,7 @@ public abstract class ColorUtils
public static int setMinValue(int color, float newValue)
{
- float hsv[] = new float[3];
+ float[] hsv = new float[3];
Color.colorToHSV(color, hsv);
hsv[2] = Math.max(hsv[2], newValue);
return Color.HSVToColor(hsv);
diff --git a/android/android-base/src/main/java/org/isoron/androidbase/utils/FileUtils.java b/android/android-base/src/main/java/org/isoron/androidbase/utils/FileUtils.java
index 59ca4a9b4..29fd763fd 100644
--- a/android/android-base/src/main/java/org/isoron/androidbase/utils/FileUtils.java
+++ b/android/android-base/src/main/java/org/isoron/androidbase/utils/FileUtils.java
@@ -50,7 +50,7 @@ public abstract class FileUtils
}
@Nullable
- public static File getDir(@NonNull File potentialParentDirs[],
+ public static File getDir(@NonNull File[] potentialParentDirs,
@Nullable String relativePath)
{
if (relativePath == null) relativePath = "";
@@ -85,8 +85,8 @@ public abstract class FileUtils
@Nullable
public static File getSDCardDir(@Nullable String relativePath)
{
- File parents[] =
- new File[]{ Environment.getExternalStorageDirectory() };
+ File[] parents =
+ new File[]{Environment.getExternalStorageDirectory()};
return getDir(parents, relativePath);
}
}
diff --git a/android/android-pickers/src/main/AndroidManifest.xml b/android/android-pickers/src/main/AndroidManifest.xml
index c8e4c8bd3..5e779da5e 100644
--- a/android/android-pickers/src/main/AndroidManifest.xml
+++ b/android/android-pickers/src/main/AndroidManifest.xml
@@ -1,2 +1 @@
-
+
diff --git a/android/uhabits-android/build.gradle b/android/uhabits-android/build.gradle
index 3db986e8c..7f572d7b4 100644
--- a/android/uhabits-android/build.gradle
+++ b/android/uhabits-android/build.gradle
@@ -56,6 +56,10 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
}
+ kotlinOptions {
+ jvmTarget = "1.8"
+ }
+
testOptions {
unitTests.all {
testLogging {
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplication.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplication.kt
index df162766c..754be8d86 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplication.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/HabitsApplication.kt
@@ -70,7 +70,7 @@ class HabitsApplication : Application() {
notificationTray.startListening()
val prefs = component.preferences
- prefs.setLastAppVersion(BuildConfig.VERSION_CODE)
+ prefs.lastAppVersion = BuildConfig.VERSION_CODE
val taskRunner = component.taskRunner
taskRunner.execute {
@@ -93,11 +93,11 @@ class HabitsApplication : Application() {
lateinit var component: HabitsApplicationComponent
fun isTestMode(): Boolean {
- try {
+ return try {
Class.forName("org.isoron.uhabits.BaseAndroidTest")
- return true
+ true
} catch (e: ClassNotFoundException) {
- return false
+ false
}
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/AndroidThemeSwitcher.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/AndroidThemeSwitcher.kt
index 4a1dcadd3..4ba3e9772 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/AndroidThemeSwitcher.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/AndroidThemeSwitcher.kt
@@ -36,12 +36,12 @@ class AndroidThemeSwitcher
) : ThemeSwitcher(preferences) {
override fun getSystemTheme(): Int {
- if(SDK_INT < 29) return THEME_LIGHT;
+ if(SDK_INT < 29) return THEME_LIGHT
val uiMode = activity.resources.configuration.uiMode
return if ((uiMode and UI_MODE_NIGHT_MASK) == UI_MODE_NIGHT_YES) {
- THEME_DARK;
+ THEME_DARK
} else {
- THEME_LIGHT;
+ THEME_LIGHT
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivity.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivity.kt
index 6b4365f04..58df677f4 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivity.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivity.kt
@@ -50,8 +50,7 @@ abstract class HabitsActivity : BaseActivity() {
private fun getHabitFromIntent(habitList: HabitList): Habit? {
val data = intent.data ?: return null
- val habit = habitList.getById(ContentUris.parseId(data))
+ return habitList.getById(ContentUris.parseId(data))
?: throw RuntimeException("habit not found")
- return habit
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.kt
index 3a837c937..429ab0d77 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/HabitsActivityComponent.kt
@@ -27,19 +27,19 @@ import org.isoron.uhabits.activities.common.dialogs.*
import org.isoron.uhabits.activities.habits.list.*
import org.isoron.uhabits.activities.habits.list.views.*
import org.isoron.uhabits.activities.habits.show.*
-import org.isoron.uhabits.core.ui.*
import org.isoron.uhabits.core.ui.screens.habits.list.*
@ActivityScope
-@Component(modules = arrayOf(
- ActivityContextModule::class,
- BaseActivityModule::class,
- AboutModule::class,
- HabitsActivityModule::class,
- ListHabitsModule::class,
- ShowHabitModule::class,
- HabitModule::class
-), dependencies = arrayOf(HabitsApplicationComponent::class))
+@Component(modules = [
+ ActivityContextModule::class,
+ BaseActivityModule::class,
+ AboutModule::class,
+ HabitsActivityModule::class,
+ ListHabitsModule::class,
+ ShowHabitModule::class,
+ HabitModule::class
+], dependencies = [HabitsApplicationComponent::class])
+
interface HabitsActivityComponent {
val aboutRootView: AboutRootView
val aboutScreen: AboutScreen
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java
index 1ef2d1555..46a03b225 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/HistoryEditorDialog.java
@@ -48,12 +48,8 @@ public class HistoryEditorDialog extends AppCompatDialogFragment
@NonNull
private Controller controller;
- private HabitList habitList;
-
private TaskRunner taskRunner;
- private Preferences prefs;
-
public HistoryEditorDialog()
{
this.controller = new Controller() {};
@@ -73,9 +69,9 @@ public class HistoryEditorDialog extends AppCompatDialogFragment
HabitsApplication app =
(HabitsApplication) getActivity().getApplicationContext();
- habitList = app.getComponent().getHabitList();
+ HabitList habitList = app.getComponent().getHabitList();
taskRunner = app.getComponent().getTaskRunner();
- prefs = app.getComponent().getPreferences();
+ Preferences prefs = app.getComponent().getPreferences();
historyChart = new HistoryChart(context);
historyChart.setController(controller);
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt
index 61aa65b9e..dacf9a43b 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPickerFactory.kt
@@ -30,6 +30,7 @@ import org.isoron.androidbase.utils.*
import org.isoron.uhabits.*
import org.isoron.uhabits.core.ui.screens.habits.list.*
import javax.inject.*
+import kotlin.math.*
class NumberPickerFactory
@Inject constructor(
@@ -46,7 +47,7 @@ class NumberPickerFactory
val picker2 = view.findViewById(R.id.picker2)
val tvUnit = view.findViewById(R.id.tvUnit)
- val intValue = Math.round(value * 100).toInt()
+ val intValue = (value * 100).roundToInt()
picker.minValue = 0
picker.maxValue = Integer.MAX_VALUE / 100
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.java
index 753569b79..a8954f79e 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.java
@@ -83,9 +83,7 @@ public class WeekdayPickerDialog extends AppCompatDialogFragment implements
selectedDays,
this)
.setPositiveButton(android.R.string.yes, this)
- .setNegativeButton(android.R.string.cancel, (dialog, which) -> {
- dismiss();
- });
+ .setNegativeButton(android.R.string.cancel, (dialog, which) -> dismiss());
return builder.create();
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java
index 6f9e1163d..93ffc447d 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/BundleSavedState.java
@@ -21,8 +21,9 @@ package org.isoron.uhabits.activities.common.views;
import android.os.*;
import android.support.v4.os.*;
+import android.support.v4.view.*;
-public class BundleSavedState extends android.support.v4.view.AbsSavedState
+public class BundleSavedState extends AbsSavedState
{
public static final Parcelable.Creator CREATOR =
ParcelableCompat.newCreator(
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java
index 92b4b2935..03e8a47cf 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/FrequencyChart.java
@@ -335,7 +335,7 @@ public class FrequencyChart extends ScrollableChart
for (int i = 0; i < 40; i++)
{
- Integer values[] = new Integer[7];
+ Integer[] values = new Integer[7];
for (int j = 0; j < 7; j++)
values[j] = rand.nextInt(5);
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java
index 90370d5dc..86cf4f69e 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/HistoryChart.java
@@ -71,7 +71,7 @@ public class HistoryChart extends ScrollableChart
*/
private int todayPositionInColumn;
- private int colors[];
+ private int[] colors;
private RectF baseLocation;
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/StreakChart.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/StreakChart.java
index 5020f85a4..cb113065e 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/StreakChart.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/StreakChart.java
@@ -40,8 +40,6 @@ public class StreakChart extends View
{
private Paint paint;
- private long minLength;
-
private long maxLength;
private int[] colors;
@@ -274,7 +272,7 @@ public class StreakChart extends View
private void updateMaxMinLengths()
{
maxLength = 0;
- minLength = Long.MAX_VALUE;
+ long minLength = Long.MAX_VALUE;
shouldShowLabels = true;
for (Streak s : streaks)
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TaskProgressBar.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TaskProgressBar.kt
index 13a23fc07..7e6b29cc6 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TaskProgressBar.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/views/TaskProgressBar.kt
@@ -52,10 +52,9 @@ class TaskProgressBar(
super.onDetachedFromWindow()
}
- fun update() {
+ private fun update() {
val callback = {
- val activeTaskCount = runner.activeTaskCount
- val newVisibility = when (activeTaskCount) {
+ val newVisibility = when (runner.activeTaskCount) {
0 -> GONE
else -> VISIBLE
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java
index 01b7133dd..e6e9556c3 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitDialog.java
@@ -132,7 +132,7 @@ public class EditHabitDialog extends AppCompatDialogFragment
if (originalHabit != null) return R.string.edit_habit;
else return R.string.create_habit;
}
-
+ //TODO: Fix unresolved "create" methods
protected void saveHabit(@NonNull Habit habit)
{
if (originalHabit == null)
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ExampleEditText.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ExampleEditText.java
index 1403a0b13..d3d9d802d 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ExampleEditText.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ExampleEditText.java
@@ -21,10 +21,10 @@ package org.isoron.uhabits.activities.habits.edit.views;
import android.content.*;
import android.support.annotation.*;
+import android.support.v7.widget.*;
import android.text.*;
import android.util.*;
import android.view.*;
-import android.widget.*;
import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.*;
@@ -35,7 +35,7 @@ import static org.isoron.uhabits.utils.AttributeSetUtils.*;
* An EditText that shows an example usage when there is no text
* currently set. The example disappears when the widget gains focus.
*/
-public class ExampleEditText extends EditText
+public class ExampleEditText extends AppCompatEditText
implements View.OnFocusChangeListener
{
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/FrequencyPanel.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/FrequencyPanel.java
index aac5d47e7..94f294e4f 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/FrequencyPanel.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/FrequencyPanel.java
@@ -91,8 +91,8 @@ public class FrequencyPanel extends FrameLayout
public void onFrequencySelected(int position)
{
if (position < 0 || position > 4) throw new IllegalArgumentException();
- int freqNums[] = { 1, 1, 2, 5, 3 };
- int freqDens[] = { 1, 7, 7, 7, 7 };
+ int[] freqNums = {1, 1, 2, 5, 3};
+ int[] freqDens = {1, 7, 7, 7, 7};
setFrequency(new Frequency(freqNums[position], freqDens[position]));
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ReminderPanel.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ReminderPanel.java
index 6d2c399e7..900377b05 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ReminderPanel.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/views/ReminderPanel.java
@@ -89,7 +89,7 @@ public class ReminderPanel extends FrameLayout
tvReminderTime.setText(time);
llReminderDays.setVisibility(View.VISIBLE);
- boolean weekdays[] = reminder.getDays().toArray();
+ boolean[] weekdays = reminder.getDays().toArray();
tvReminderDays.setText(AndroidDateUtils.formatWeekdayList(ctx, weekdays));
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt
index 1b8a92822..bdc9664c5 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt
@@ -29,12 +29,12 @@ import org.isoron.uhabits.core.utils.*
class ListHabitsActivity : HabitsActivity() {
- var pureBlack: Boolean = false
+ private var pureBlack: Boolean = false
lateinit var adapter: HabitCardListAdapter
- lateinit var rootView: ListHabitsRootView
+ private lateinit var rootView: ListHabitsRootView
lateinit var screen: ListHabitsScreen
lateinit var prefs: Preferences
- lateinit var midnightTimer: MidnightTimer
+ private lateinit var midnightTimer: MidnightTimer
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.kt
index 25377db0c..a9b0954bd 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsRootView.kt
@@ -32,10 +32,8 @@ import org.isoron.uhabits.activities.habits.list.views.*
import org.isoron.uhabits.core.models.*
import org.isoron.uhabits.core.preferences.*
import org.isoron.uhabits.core.tasks.*
-import org.isoron.uhabits.core.ui.screens.habits.list.*
import org.isoron.uhabits.core.utils.*
import org.isoron.uhabits.utils.*
-import java.lang.Math.*
import javax.inject.*
const val MAX_CHECKMARK_COUNT = 60
@@ -52,11 +50,11 @@ class ListHabitsRootView @Inject constructor(
) : BaseRootView(context), ModelObservable.Listener {
val listView: HabitCardListView = habitCardListViewFactory.create()
- val llEmpty = EmptyListView(context)
- val tbar = buildToolbar()
- val progressBar = TaskProgressBar(context, runner)
- val hintView: HintView
- val header = HeaderView(context, preferences, midnightTimer)
+ private val llEmpty = EmptyListView(context)
+ private val tbar = buildToolbar()
+ private val progressBar = TaskProgressBar(context, runner)
+ private val hintView: HintView
+ private val header = HeaderView(context, preferences, midnightTimer)
init {
val hints = resources.getStringArray(R.array.hints)
@@ -113,7 +111,7 @@ class ListHabitsRootView @Inject constructor(
override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {
val count = getCheckmarkCount()
header.buttonCount = count
- header.setMaxDataOffset(max(MAX_CHECKMARK_COUNT - count, 0))
+ header.setMaxDataOffset((MAX_CHECKMARK_COUNT - count).coerceAtLeast(0))
listView.checkmarkCount = count
super.onSizeChanged(w, h, oldw, oldh)
}
@@ -121,9 +119,9 @@ class ListHabitsRootView @Inject constructor(
private fun getCheckmarkCount(): Int {
val nameWidth = dim(R.dimen.habitNameWidth)
val buttonWidth = dim(R.dimen.checkmarkWidth)
- val labelWidth = max((measuredWidth / 3).toFloat(), nameWidth)
+ val labelWidth = (measuredWidth / 3).toFloat().coerceAtLeast(nameWidth)
val buttonCount = ((measuredWidth - labelWidth) / buttonWidth).toInt()
- return min(MAX_CHECKMARK_COUNT, max(0, buttonCount))
+ return MAX_CHECKMARK_COUNT.coerceAtMost(0.coerceAtLeast(buttonCount))
}
private fun updateEmptyView() {
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt
index 5ff44cacb..5ec74ce3b 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt
@@ -166,7 +166,7 @@ class ListHabitsScreen
activity.startActivity(intent)
}
- fun showImportScreen() {
+ private fun showImportScreen() {
val intent = intentFactory.openDocument()
activity.startActivityForResult(intent, REQUEST_OPEN_DOCUMENT)
}
@@ -213,26 +213,30 @@ class ListHabitsScreen
@StringRes
private fun getExecuteString(command: Command): Int? {
- when (command) {
- is ArchiveHabitsCommand -> return R.string.toast_habit_archived
- is ChangeHabitColorCommand -> return R.string.toast_habit_changed
- is CreateHabitCommand -> return R.string.toast_habit_created
- is DeleteHabitsCommand -> return R.string.toast_habit_deleted
- is EditHabitCommand -> return R.string.toast_habit_changed
- is UnarchiveHabitsCommand -> return R.string.toast_habit_unarchived
- else -> return null
+ return when (command) {
+ is ArchiveHabitsCommand -> R.string.toast_habit_archived
+ is ChangeHabitColorCommand -> R.string.toast_habit_changed
+ is CreateHabitCommand -> R.string.toast_habit_created
+ is DeleteHabitsCommand -> R.string.toast_habit_deleted
+ is EditHabitCommand -> R.string.toast_habit_changed
+ is UnarchiveHabitsCommand -> R.string.toast_habit_unarchived
+ else -> null
}
}
private fun onImportData(file: File, onFinished: () -> Unit) {
taskRunner.execute(importTaskFactory.create(file) { result ->
- if (result == ImportDataTask.SUCCESS) {
- adapter.refresh()
- showMessage(R.string.habits_imported)
- } else if (result == ImportDataTask.NOT_RECOGNIZED) {
- showMessage(R.string.file_not_recognized)
- } else {
- showMessage(R.string.could_not_import)
+ when (result) {
+ ImportDataTask.SUCCESS -> {
+ adapter.refresh()
+ showMessage(R.string.habits_imported)
+ }
+ ImportDataTask.NOT_RECOGNIZED -> {
+ showMessage(R.string.file_not_recognized)
+ }
+ else -> {
+ showMessage(R.string.could_not_import)
+ }
}
onFinished()
})
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsSelectionMenu.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsSelectionMenu.kt
index 65c75cc01..546a6f214 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsSelectionMenu.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsSelectionMenu.kt
@@ -95,7 +95,7 @@ class ListHabitsSelectionMenu @Inject constructor(
itemEdit.isVisible = behavior.canEdit()
itemArchive.isVisible = behavior.canArchive()
itemUnarchive.isVisible = behavior.canUnarchive()
- setTitle(Integer.toString(listAdapter.selected.size))
+ setTitle(listAdapter.selected.size.toString())
itemNotify.isVisible = prefs.isDeveloper
return true
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt
index 77981995a..9f47571b4 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/CheckmarkButtonView.kt
@@ -60,7 +60,7 @@ class CheckmarkButtonView(
setOnLongClickListener(this)
}
- fun performToggle() {
+ private fun performToggle() {
onToggle()
value = when (value) {
CHECKED_EXPLICITLY -> UNCHECKED
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/EmptyListView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/EmptyListView.kt
index 3d4ddafb1..bb380c07b 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/EmptyListView.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/EmptyListView.kt
@@ -20,7 +20,6 @@
package org.isoron.uhabits.activities.habits.list.views
import android.content.*
-import android.view.*
import android.view.Gravity.*
import android.view.ViewGroup.LayoutParams.*
import android.widget.*
@@ -31,7 +30,7 @@ import org.isoron.uhabits.utils.*
class EmptyListView(context: Context) : LinearLayout(context) {
init {
orientation = VERTICAL
- gravity = Gravity.CENTER
+ gravity = CENTER
visibility = BaseRootView.GONE
addView(TextView(context).apply {
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListAdapter.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListAdapter.java
index 6992391c1..afefcfbbc 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListAdapter.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListAdapter.java
@@ -178,7 +178,7 @@ public class HabitCardListAdapter
Habit habit = cache.getHabitByPosition(position);
double score = cache.getScore(habit.getId());
- int checkmarks[] = cache.getCheckmarks(habit.getId());
+ int[] checkmarks = cache.getCheckmarks(habit.getId());
boolean selected = this.selected.contains(habit);
listView.bindCardView(holder, habit, score, checkmarks, selected);
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListController.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListController.kt
index b68f3b24c..7bf61bca6 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListController.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListController.kt
@@ -38,12 +38,12 @@ class HabitCardListController @Inject constructor(
private val selectionMenu: Lazy
) : HabitCardListView.Controller, ModelObservable.Listener {
- private val NORMAL_MODE = NormalMode()
- private val SELECTION_MODE = SelectionMode()
+ private val normalMode = NormalMode()
+ private val selectionMode = SelectionMode()
private var activeMode: Mode
init {
- this.activeMode = NORMAL_MODE
+ this.activeMode = normalMode
adapter.observable.addListener(this)
}
@@ -59,12 +59,12 @@ class HabitCardListController @Inject constructor(
behavior.onReorderHabit(habitFrom, habitTo)
}
- override fun onItemClick(position: Int) {
- activeMode.onItemClick(position)
+ override fun onItemClick(pos: Int) {
+ activeMode.onItemClick(pos)
}
- override fun onItemLongClick(position: Int) {
- activeMode.onItemLongClick(position)
+ override fun onItemLongClick(pos: Int) {
+ activeMode.onItemLongClick(pos)
}
override fun onModelChange() {
@@ -82,9 +82,9 @@ class HabitCardListController @Inject constructor(
activeMode.startDrag(position)
}
- protected fun toggleSelection(position: Int) {
+ private fun toggleSelection(position: Int) {
adapter.toggleSelection(position)
- activeMode = if (adapter.isSelectionEmpty) NORMAL_MODE else SELECTION_MODE
+ activeMode = if (adapter.isSelectionEmpty) normalMode else selectionMode
}
private fun cancelSelection() {
@@ -115,8 +115,7 @@ class HabitCardListController @Inject constructor(
*/
internal inner class NormalMode : Mode {
override fun onItemClick(position: Int) {
- val habit = adapter.getItem(position)
- if (habit == null) return
+ val habit = adapter.getItem(position) ?: return
behavior.onClickHabit(habit)
}
@@ -129,9 +128,9 @@ class HabitCardListController @Inject constructor(
startSelection(position)
}
- protected fun startSelection(position: Int) {
+ private fun startSelection(position: Int) {
toggleSelection(position)
- activeMode = SELECTION_MODE
+ activeMode = selectionMode
selectionMenu.get().onSelectionStart()
}
}
@@ -157,8 +156,8 @@ class HabitCardListController @Inject constructor(
notifyListener()
}
- protected fun notifyListener() {
- if (activeMode === SELECTION_MODE)
+ private fun notifyListener() {
+ if (activeMode === selectionMode)
selectionMenu.get().onSelectionChange()
else
selectionMenu.get().onSelectionFinish()
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt
index 0989fb660..c79aa2c19 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardListView.kt
@@ -151,18 +151,18 @@ class HabitCardListView(
inner class TouchHelperCallback : ItemTouchHelper.Callback() {
override fun getMovementFlags(recyclerView: RecyclerView,
- viewHolder: RecyclerView.ViewHolder): Int {
+ viewHolder: ViewHolder): Int {
return makeMovementFlags(UP or DOWN, START or END)
}
override fun onMove(recyclerView: RecyclerView,
- from: RecyclerView.ViewHolder,
- to: RecyclerView.ViewHolder): Boolean {
+ from: ViewHolder,
+ to: ViewHolder): Boolean {
controller.get().drop(from.adapterPosition, to.adapterPosition)
return true
}
- override fun onSwiped(viewHolder: RecyclerView.ViewHolder,
+ override fun onSwiped(viewHolder: ViewHolder,
direction: Int) {
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.kt
index f6adfcc16..51b9e04fd 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HabitCardView.kt
@@ -154,7 +154,7 @@ class HabitCardView(
}
clipToPadding = false
- layoutParams = FrameLayout.LayoutParams(MATCH_PARENT, WRAP_CONTENT)
+ layoutParams = LayoutParams(MATCH_PARENT, WRAP_CONTENT)
val margin = dp(3f).toInt()
setPadding(margin, 0, margin, margin)
addView(innerFrame)
@@ -171,7 +171,7 @@ class HabitCardView(
updateBackground(isSelected)
}
- fun triggerRipple(timestamp: Timestamp) {
+ private fun triggerRipple(timestamp: Timestamp) {
val today = DateUtils.getToday()
val offset = timestamp.daysUntil(today) - dataOffset
val button = checkmarkPanel.buttons[offset]
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.kt
index e5c057f55..38586d534 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HeaderView.kt
@@ -36,7 +36,7 @@ import java.util.*
class HeaderView(
context: Context,
val prefs: Preferences,
- val midnightTimer: MidnightTimer
+ private val midnightTimer: MidnightTimer
) : ScrollableChart(context),
Preferences.Listener,
MidnightTimer.MidnightListener {
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HintView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HintView.kt
index 8bbbf8ea2..b8978680d 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HintView.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/views/HintView.kt
@@ -35,7 +35,7 @@ class HintView(
private val hintList: HintList
) : LinearLayout(context) {
- val hintContent: TextView
+ private val hintContent: TextView
init {
isClickable = true
@@ -84,7 +84,7 @@ class HintView(
}
private inner class DismissAnimator : AnimatorListenerAdapter() {
- override fun onAnimationEnd(animation: android.animation.Animator) {
+ override fun onAnimationEnd(animation: Animator) {
visibility = View.GONE
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java
index 55966f0c3..2045804ab 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitRootView.java
@@ -98,9 +98,7 @@ public class ShowHabitRootView extends BaseRootView
@Override
public void onModelChange()
{
- new Handler(Looper.getMainLooper()).post(() -> {
- toolbar.setTitle(habit.getName());
- });
+ new Handler(Looper.getMainLooper()).post(() -> toolbar.setTitle(habit.getName()));
controller.onToolbarChanged();
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HabitCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HabitCard.java
index f00754dd0..32ac0ce15 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HabitCard.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/HabitCard.java
@@ -70,7 +70,7 @@ public abstract class HabitCard extends LinearLayout
@Override
public void onModelChange()
{
- post(() -> refreshData());
+ post(this::refreshData);
}
@Override
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java
index 1637ffb5e..5ee08eda1 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/OverviewCard.java
@@ -25,7 +25,6 @@ import android.util.*;
import android.widget.*;
import org.isoron.androidbase.utils.*;
-import org.isoron.uhabits.*;
import org.isoron.uhabits.R;
import org.isoron.uhabits.activities.common.views.*;
import org.isoron.uhabits.core.models.*;
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java
index 4f3d6f5f6..699e21af3 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/views/StreakCard.java
@@ -20,11 +20,9 @@
package org.isoron.uhabits.activities.habits.show.views;
import android.content.*;
-import android.support.annotation.*;
import android.util.*;
import android.widget.*;
-import org.isoron.uhabits.*;
import org.isoron.uhabits.R;
import org.isoron.uhabits.activities.common.views.*;
import org.isoron.uhabits.core.models.*;
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingController.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingController.kt
index 2fdd01250..7664fa6d3 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingController.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingController.kt
@@ -23,7 +23,6 @@ import android.app.*
import android.content.*
import android.os.*
import org.isoron.uhabits.*
-import org.isoron.uhabits.automation.FireSettingReceiver.*
import org.isoron.uhabits.core.models.*
class EditSettingController(private val activity: Activity) {
@@ -45,11 +44,11 @@ class EditSettingController(private val activity: Activity) {
}
private fun getActionName(action: Int): String {
- when (action) {
- ACTION_CHECK -> return activity.getString(R.string.check)
- ACTION_UNCHECK -> return activity.getString(R.string.uncheck)
- ACTION_TOGGLE -> return activity.getString(R.string.toggle)
- else -> return "???"
+ return when (action) {
+ ACTION_CHECK -> activity.getString(R.string.check)
+ ACTION_UNCHECK -> activity.getString(R.string.uncheck)
+ ACTION_TOGGLE -> activity.getString(R.string.toggle)
+ else -> "???"
}
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.kt
index ac30043bc..5eca2275f 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/EditSettingRootView.kt
@@ -79,7 +79,7 @@ class EditSettingRootView(
}
private fun populateHabitSpinner() {
- val names = habitList.mapTo(LinkedList()) { it.name }
+ val names = habitList.mapTo(LinkedList()) { it.name }
val adapter = ArrayAdapter(context, simple_spinner_item, names)
adapter.setDropDownViewResource(simple_spinner_dropdown_item)
habitSpinner.adapter = adapter
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/FireSettingReceiver.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/FireSettingReceiver.kt
index a5d63ade5..b52cbc1df 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/FireSettingReceiver.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/automation/FireSettingReceiver.kt
@@ -56,7 +56,7 @@ class FireSettingReceiver : BroadcastReceiver() {
}
@ReceiverScope
- @Component(dependencies = arrayOf(HabitsApplicationComponent::class))
+ @Component(dependencies = [HabitsApplicationComponent::class])
internal interface ReceiverComponent {
val widgetController: WidgetBehavior
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidCursor.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidCursor.kt
index 703c43847..97f95844e 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidCursor.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidCursor.kt
@@ -27,22 +27,22 @@ class AndroidCursor(private val cursor: android.database.Cursor) : Cursor {
override fun moveToNext() = cursor.moveToNext()
override fun getInt(index: Int): Int? {
- if (cursor.isNull(index)) return null
- else return cursor.getInt(index)
+ return if (cursor.isNull(index)) null
+ else cursor.getInt(index)
}
override fun getLong(index: Int): Long? {
- if (cursor.isNull(index)) return null
- else return cursor.getLong(index)
+ return if (cursor.isNull(index)) null
+ else cursor.getLong(index)
}
override fun getDouble(index: Int): Double? {
- if (cursor.isNull(index)) return null
- else return cursor.getDouble(index)
+ return if (cursor.isNull(index)) null
+ else cursor.getDouble(index)
}
override fun getString(index: Int): String? {
- if (cursor.isNull(index)) return null
- else return cursor.getString(index)
+ return if (cursor.isNull(index)) null
+ else cursor.getString(index)
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabase.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabase.kt
index 684633098..8c9890b02 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabase.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/database/AndroidDatabase.kt
@@ -66,7 +66,7 @@ class AndroidDatabase(private val db: SQLiteDatabase) : Database {
is Double -> values.put(key, value)
is String -> values.put(key, value)
else -> throw IllegalStateException(
- "unsupported type: " + value)
+ "unsupported type: $value")
}
}
return values
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentParser.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentParser.kt
index 676e55a4f..63740819c 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentParser.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentParser.kt
@@ -37,9 +37,8 @@ class IntentParser
}
private fun parseHabit(uri: Uri): Habit {
- val habit = habits.getById(parseId(uri)) ?:
+ return habits.getById(parseId(uri)) ?:
throw IllegalArgumentException("habit not found")
- return habit
}
private fun parseTimestamp(intent: Intent): Timestamp {
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt
index 934942f15..b978f0251 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt
@@ -27,7 +27,6 @@ import android.os.Build.VERSION.*
import android.os.Build.VERSION_CODES.*
import android.util.*
import org.isoron.androidbase.*
-import org.isoron.uhabits.*
import org.isoron.uhabits.core.*
import org.isoron.uhabits.core.models.*
import org.isoron.uhabits.core.reminders.*
@@ -45,13 +44,13 @@ class IntentScheduler
private val manager =
context.getSystemService(ALARM_SERVICE) as AlarmManager
- fun schedule(timestamp: Long, intent: PendingIntent) {
+ private fun schedule(timestamp: Long, intent: PendingIntent) {
Log.d("IntentScheduler",
"timestamp=" + timestamp + " current=" + System.currentTimeMillis())
if (timestamp < System.currentTimeMillis()) {
Log.e("IntentScheduler",
"Ignoring attempt to schedule intent in the past.")
- return;
+ return
}
if (SDK_INT >= M)
manager.setExactAndAllowWhileIdle(RTC_WAKEUP, timestamp, intent)
@@ -72,7 +71,7 @@ class IntentScheduler
}
private fun logReminderScheduled(habit: Habit, reminderTime: Long) {
- val min = Math.min(5, habit.name.length)
+ val min = 5.coerceAtMost(habit.name.length)
val name = habit.name.substring(0, min)
val df = DateFormats.getBackupDateFormat()
val time = df.format(Date(reminderTime))
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt
index 860e2f735..e2cbd5683 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt
@@ -36,7 +36,7 @@ class PendingIntentFactory
private val intentFactory: IntentFactory) {
fun addCheckmark(habit: Habit, timestamp: Timestamp?): PendingIntent =
- PendingIntent.getBroadcast(
+ getBroadcast(
context, 1,
Intent(context, WidgetReceiver::class.java).apply {
data = Uri.parse(habit.uriString)
@@ -46,7 +46,7 @@ class PendingIntentFactory
FLAG_UPDATE_CURRENT)
fun dismissNotification(habit: Habit): PendingIntent =
- PendingIntent.getBroadcast(
+ getBroadcast(
context, 0,
Intent(context, ReminderReceiver::class.java).apply {
action = WidgetReceiver.ACTION_DISMISS_REMINDER
@@ -55,7 +55,7 @@ class PendingIntentFactory
FLAG_UPDATE_CURRENT)
fun removeRepetition(habit: Habit): PendingIntent =
- PendingIntent.getBroadcast(
+ getBroadcast(
context, 3,
Intent(context, WidgetReceiver::class.java).apply {
action = WidgetReceiver.ACTION_REMOVE_REPETITION
@@ -74,7 +74,7 @@ class PendingIntentFactory
fun showReminder(habit: Habit,
reminderTime: Long?,
timestamp: Long): PendingIntent =
- PendingIntent.getBroadcast(
+ getBroadcast(
context,
(habit.getId()!! % Integer.MAX_VALUE).toInt() + 1,
Intent(context, ReminderReceiver::class.java).apply {
@@ -86,7 +86,7 @@ class PendingIntentFactory
FLAG_UPDATE_CURRENT)
fun snoozeNotification(habit: Habit): PendingIntent =
- PendingIntent.getBroadcast(
+ getBroadcast(
context, 0,
Intent(context, ReminderReceiver::class.java).apply {
data = Uri.parse(habit.uriString)
@@ -95,7 +95,7 @@ class PendingIntentFactory
FLAG_UPDATE_CURRENT)
fun toggleCheckmark(habit: Habit, timestamp: Long?): PendingIntent =
- PendingIntent.getBroadcast(
+ getBroadcast(
context, 2,
Intent(context, WidgetReceiver::class.java).apply {
data = Uri.parse(habit.uriString)
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt
index 0e91220ab..63d758484 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt
@@ -86,10 +86,10 @@ class AndroidNotificationTray
active.add(notificationId)
}
- fun buildNotification(habit: Habit,
- reminderTime: Long,
- timestamp: Timestamp,
- disableSound: Boolean = false): Notification {
+ private fun buildNotification(habit: Habit,
+ reminderTime: Long,
+ timestamp: Timestamp,
+ disableSound: Boolean = false): Notification {
val addRepetitionAction = Action(
R.drawable.ic_action_check,
@@ -112,7 +112,7 @@ class AndroidNotificationTray
.addAction(removeRepetitionAction)
val defaultText = context.getString(R.string.default_reminder_question)
- val builder = NotificationCompat.Builder(context, REMINDERS_CHANNEL_ID)
+ val builder = Builder(context, REMINDERS_CHANNEL_ID)
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle(habit.name)
.setContentText(if(habit.description.isBlank()) defaultText else habit.description)
@@ -144,7 +144,7 @@ class AndroidNotificationTray
private fun buildSummary(habit: Habit,
reminderTime: Long): Notification {
- return NotificationCompat.Builder(context, REMINDERS_CHANNEL_ID)
+ return Builder(context, REMINDERS_CHANNEL_ID)
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle(context.getString(R.string.app_name))
.setWhen(reminderTime)
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt
index f29382eac..b34bc388a 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/notifications/RingtoneManager.kt
@@ -37,17 +37,17 @@ class RingtoneManager
PreferenceManager.getDefaultSharedPreferences(context)
fun getName(): String? {
- try {
+ return try {
var ringtoneName = context.resources.getString(R.string.none)
val ringtoneUri = getURI()
if (ringtoneUri != null) {
val ringtone = getRingtone(context, ringtoneUri)
if (ringtone != null) ringtoneName = ringtone.getTitle(context)
}
- return ringtoneName
+ ringtoneName
} catch (e: RuntimeException) {
e.printStackTrace()
- return null
+ null
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.java
index c320601e4..17f0b0be8 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.java
@@ -27,8 +27,6 @@ import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*;
import org.isoron.uhabits.core.utils.*;
-import java.util.*;
-
import static android.content.ContentUris.*;
/**
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncManager.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncManager.java
index 5d60009c8..7bc292eca 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncManager.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/sync/SyncManager.java
@@ -134,7 +134,7 @@ public class SyncManager implements CommandRunner.Listener
if (command.isRemote()) return;
JSONObject msg = toJSONObject(command.toJson());
- Long now = new Date().getTime();
+ long now = new Date().getTime();
Event e = new Event(command.getId(), now, msg.toString());
repository.save(e);
@@ -309,7 +309,7 @@ public class SyncManager implements CommandRunner.Listener
public void call(Object... args)
{
readyToEmit = false;
- for (Event e : pendingConfirmation) pendingEmit.add(e);
+ pendingEmit.addAll(pendingConfirmation);
pendingConfirmation.clear();
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/tasks/AndroidTaskRunner.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/tasks/AndroidTaskRunner.java
index 17df191c7..ee94ad55a 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/tasks/AndroidTaskRunner.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/tasks/AndroidTaskRunner.java
@@ -89,7 +89,7 @@ public class AndroidTaskRunner implements TaskRunner
private final Task task;
private boolean isCancelled = false;
- public CustomAsyncTask(Task task)
+ CustomAsyncTask(Task task)
{
this.task = task;
}
@@ -99,7 +99,7 @@ public class AndroidTaskRunner implements TaskRunner
return task;
}
- public void publish(int progress)
+ void publish(int progress)
{
publishProgress(progress);
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateUtils.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateUtils.java
index 82d1e56e1..b9e309a94 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateUtils.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AndroidDateUtils.java
@@ -39,10 +39,10 @@ public class AndroidDateUtils
return df.format(date);
}
- public static String formatWeekdayList(Context context, boolean weekday[])
+ public static String formatWeekdayList(Context context, boolean[] weekday)
{
- String shortDayNames[] = org.isoron.uhabits.core.utils.DateUtils.getShortWeekdayNames(Calendar.SATURDAY);
- String longDayNames[] = org.isoron.uhabits.core.utils.DateUtils.getLongWeekdayNames(Calendar.SATURDAY);
+ String[] shortDayNames = org.isoron.uhabits.core.utils.DateUtils.getShortWeekdayNames(Calendar.SATURDAY);
+ String[] longDayNames = org.isoron.uhabits.core.utils.DateUtils.getLongWeekdayNames(Calendar.SATURDAY);
StringBuilder buffer = new StringBuilder();
int count = 0;
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AttributeSetUtils.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AttributeSetUtils.java
index 67c9de531..b10490b1e 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AttributeSetUtils.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/AttributeSetUtils.java
@@ -28,7 +28,7 @@ import org.jetbrains.annotations.*;
public class AttributeSetUtils
{
- public static final String ISORON_NAMESPACE = "http://isoron.org/android";
+ private static final String ISORON_NAMESPACE = "http://isoron.org/android";
@Nullable
public static String getAttribute(@NonNull Context context,
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java
index 8f99eb42d..b355fb9cd 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java
@@ -73,21 +73,19 @@ public abstract class DatabaseUtils
}
@NonNull
- public static String getDatabaseFilename()
+ private static String getDatabaseFilename()
{
String databaseFilename = Config.DATABASE_FILENAME;
if (HabitsApplication.Companion.isTestMode()) databaseFilename = "test.db";
return databaseFilename;
}
- @SuppressWarnings("unchecked")
public static void initializeDatabase(Context context)
{
opener = new HabitsDatabaseOpener(context, getDatabaseFilename(),
DATABASE_VERSION);
}
- @SuppressWarnings("ResultOfMethodCallIgnored")
public static String saveDatabaseCopy(Context context, File dir)
throws IOException
{
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt
index a613f884d..2c8666ea2 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt
@@ -34,9 +34,9 @@ fun RelativeLayout.addBelow(view: View,
subject: View,
width: Int = MATCH_PARENT,
height: Int = WRAP_CONTENT,
- applyCustomRules: (params: RelativeLayout.LayoutParams) -> Unit = {}) {
+ applyCustomRules: (params: LayoutParams) -> Unit = {}) {
- view.layoutParams = RelativeLayout.LayoutParams(width, height).apply {
+ view.layoutParams = LayoutParams(width, height).apply {
addRule(BELOW, subject.id)
applyCustomRules(this)
}
@@ -48,7 +48,7 @@ fun RelativeLayout.addAtBottom(view: View,
width: Int = MATCH_PARENT,
height: Int = WRAP_CONTENT) {
- view.layoutParams = RelativeLayout.LayoutParams(width, height).apply {
+ view.layoutParams = LayoutParams(width, height).apply {
addRule(ALIGN_PARENT_BOTTOM)
}
view.id = View.generateViewId()
@@ -59,7 +59,7 @@ fun RelativeLayout.addAtTop(view: View,
width: Int = MATCH_PARENT,
height: Int = WRAP_CONTENT) {
- view.layoutParams = RelativeLayout.LayoutParams(width, height).apply {
+ view.layoutParams = LayoutParams(width, height).apply {
addRule(ALIGN_PARENT_TOP)
}
view.id = View.generateViewId()
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java
index 3ada71b50..efbc7d5e9 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidget.java
@@ -23,7 +23,6 @@ import android.app.*;
import android.content.*;
import android.graphics.*;
import android.support.annotation.*;
-import android.util.*;
import android.view.*;
import android.widget.*;
@@ -38,7 +37,7 @@ public abstract class BaseWidget
private final int id;
@NonNull
- protected final WidgetPreferences widgetPrefs;
+ private final WidgetPreferences widgetPrefs;
@NonNull
protected final Preferences prefs;
@@ -119,7 +118,7 @@ public abstract class BaseWidget
{
int imageWidth = view.getMeasuredWidth();
int imageHeight = view.getMeasuredHeight();
- int p[] = calculatePadding(width, height, imageWidth, imageHeight);
+ int[] p = calculatePadding(width, height, imageWidth, imageHeight);
remoteViews.setViewPadding(R.id.buttonOverlay, p[0], p[1], p[2], p[3]);
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java
index fec0c2e49..0692a320d 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java
@@ -23,7 +23,6 @@ import android.appwidget.*;
import android.content.*;
import android.os.*;
import android.support.annotation.*;
-import android.util.*;
import android.widget.*;
import org.isoron.uhabits.*;
@@ -137,7 +136,7 @@ public abstract class BaseWidgetProvider extends AppWidgetProvider
protected List getHabitsFromWidgetId(int widgetId)
{
- long selectedIds[] = widgetPrefs.getHabitIdsFromWidgetId(widgetId);
+ long[] selectedIds = widgetPrefs.getHabitIdsFromWidgetId(widgetId);
ArrayList selectedHabits = new ArrayList<>(selectedIds.length);
for (long id : selectedIds)
{
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidgetProvider.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidgetProvider.kt
index 7d3f64378..9e1f32673 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidgetProvider.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/CheckmarkWidgetProvider.kt
@@ -23,7 +23,7 @@ import android.content.*
class CheckmarkWidgetProvider : BaseWidgetProvider() {
override fun getWidgetFromId(context: Context, id: Int): BaseWidget {
val habits = getHabitsFromWidgetId(id)
- if (habits.size == 1) return CheckmarkWidget(context, id, habits[0])
- else return StackWidget(context, id, StackWidgetType.CHECKMARK, habits)
+ return if (habits.size == 1) CheckmarkWidget(context, id, habits[0])
+ else StackWidget(context, id, StackWidgetType.CHECKMARK, habits)
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.kt
index 83aedc39c..00fe43bc0 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/FrequencyWidgetProvider.kt
@@ -24,10 +24,10 @@ import android.content.*
class FrequencyWidgetProvider : BaseWidgetProvider() {
override fun getWidgetFromId(context: Context, id: Int): BaseWidget {
val habits = getHabitsFromWidgetId(id)
- if (habits.size == 1) return FrequencyWidget(context,
- id,
- habits[0],
- preferences.firstWeekday)
- else return StackWidget(context, id, StackWidgetType.FREQUENCY, habits)
+ return if (habits.size == 1) FrequencyWidget(context,
+ id,
+ habits[0],
+ preferences.firstWeekday)
+ else StackWidget(context, id, StackWidgetType.FREQUENCY, habits)
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.kt
index 0ff16d9ef..948a202ae 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.kt
@@ -88,7 +88,7 @@ class HabitPickerDialog : Activity() {
}
}
- fun confirm(selectedIds: List) {
+ private fun confirm(selectedIds: List) {
widgetPreferences.addWidget(widgetId, selectedIds.toLongArray())
widgetUpdater.updateWidgets()
setResult(RESULT_OK, Intent().apply {
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidgetProvider.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidgetProvider.kt
index fe962ce51..ce622e216 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidgetProvider.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/HistoryWidgetProvider.kt
@@ -23,10 +23,10 @@ import android.content.*
class HistoryWidgetProvider : BaseWidgetProvider() {
override fun getWidgetFromId(context: Context, id: Int): BaseWidget {
val habits = getHabitsFromWidgetId(id)
- if (habits.size == 1) return HistoryWidget(context,
- id,
- habits[0],
- preferences.firstWeekday)
- else return StackWidget(context, id, StackWidgetType.HISTORY, habits)
+ return if (habits.size == 1) HistoryWidget(context,
+ id,
+ habits[0],
+ preferences.firstWeekday)
+ else StackWidget(context, id, StackWidgetType.HISTORY, habits)
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.kt
index 939e23332..0598a2c5e 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.kt
@@ -23,7 +23,7 @@ import android.content.*
class ScoreWidgetProvider : BaseWidgetProvider() {
override fun getWidgetFromId(context: Context, id: Int): BaseWidget {
val habits = getHabitsFromWidgetId(id)
- if (habits.size == 1) return ScoreWidget(context, id, habits[0])
- else return StackWidget(context, id, StackWidgetType.SCORE, habits)
+ return if (habits.size == 1) ScoreWidget(context, id, habits[0])
+ else StackWidget(context, id, StackWidgetType.SCORE, habits)
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/StreakWidgetProvider.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/StreakWidgetProvider.kt
index 931c924b6..45a64c8a9 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/StreakWidgetProvider.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/StreakWidgetProvider.kt
@@ -23,7 +23,7 @@ import android.content.*
class StreakWidgetProvider : BaseWidgetProvider() {
override fun getWidgetFromId(context: Context, id: Int): BaseWidget {
val habits = getHabitsFromWidgetId(id)
- if (habits.size == 1) return StreakWidget(context, id, habits[0])
- else return StackWidget(context, id, StackWidgetType.STREAKS, habits)
+ return if (habits.size == 1) StreakWidget(context, id, habits[0])
+ else StackWidget(context, id, StackWidgetType.STREAKS, habits)
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/WidgetUpdater.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/WidgetUpdater.kt
index b8293582a..b045a6b8e 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/WidgetUpdater.kt
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/WidgetUpdater.kt
@@ -60,7 +60,7 @@ class WidgetUpdater
commandRunner.removeListener(this)
}
- fun updateWidgets(modifiedHabitId: Long?) {
+ private fun updateWidgets(modifiedHabitId: Long?) {
taskRunner.execute {
updateWidgets(modifiedHabitId, CheckmarkWidgetProvider::class.java)
updateWidgets(modifiedHabitId, HistoryWidgetProvider::class.java)
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java
index b22b515a0..b1183b2ae 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/CheckmarkWidgetView.java
@@ -171,8 +171,8 @@ public class CheckmarkWidgetView extends HabitWidgetView
private void init()
{
- ring = (RingView) findViewById(R.id.scoreRing);
- label = (TextView) findViewById(R.id.label);
+ ring = findViewById(R.id.scoreRing);
+ label = findViewById(R.id.label);
if (ring != null) ring.setIsTransparencyEnabled(true);
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/EmptyWidgetView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/EmptyWidgetView.java
index 54b755f8e..f1fe0f484 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/EmptyWidgetView.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/EmptyWidgetView.java
@@ -50,7 +50,7 @@ public class EmptyWidgetView extends HabitWidgetView
private void init()
{
- title = (TextView) findViewById(R.id.title);
+ title = findViewById(R.id.title);
title.setVisibility(VISIBLE);
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/GraphWidgetView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/GraphWidgetView.java
index e11fda10f..484676cd6 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/GraphWidgetView.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/GraphWidgetView.java
@@ -64,10 +64,10 @@ public class GraphWidgetView extends HabitWidgetView
ViewGroup.LayoutParams.MATCH_PARENT);
dataView.setLayoutParams(params);
- ViewGroup innerFrame = (ViewGroup) findViewById(R.id.innerFrame);
+ ViewGroup innerFrame = findViewById(R.id.innerFrame);
innerFrame.addView(dataView);
- title = (TextView) findViewById(R.id.title);
+ title = findViewById(R.id.title);
title.setVisibility(VISIBLE);
}
}
diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java
index 2601192fc..c4d268df5 100644
--- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java
+++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/views/HabitWidgetView.java
@@ -106,7 +106,7 @@ public abstract class HabitWidgetView extends FrameLayout
backgroundPaint.setColor(res.getColor(R.attr.cardBgColor));
backgroundPaint.setAlpha(backgroundAlpha);
- frame = (ViewGroup) findViewById(R.id.frame);
+ frame = findViewById(R.id.frame);
if (frame != null) frame.setBackgroundDrawable(background);
}
diff --git a/android/uhabits-android/src/main/res/xml/file_paths.xml b/android/uhabits-android/src/main/res/xml/file_paths.xml
index d97286ddf..db80c5e7e 100644
--- a/android/uhabits-android/src/main/res/xml/file_paths.xml
+++ b/android/uhabits-android/src/main/res/xml/file_paths.xml
@@ -22,6 +22,6 @@
-
+
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/commands/ChangeHabitColorCommand.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/commands/ChangeHabitColorCommand.java
index 36ffe7945..54d6de6de 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/commands/ChangeHabitColorCommand.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/commands/ChangeHabitColorCommand.java
@@ -37,7 +37,7 @@ public class ChangeHabitColorCommand extends Command
final List selected;
@NonNull
- final List originalColors;
+ private final List originalColors;
@NonNull
final Integer newColor;
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/commands/CreateHabitCommand.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/commands/CreateHabitCommand.java
index e5f8f15be..c96bc643e 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/commands/CreateHabitCommand.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/commands/CreateHabitCommand.java
@@ -31,7 +31,7 @@ import org.isoron.uhabits.core.models.*;
@AutoFactory
public class CreateHabitCommand extends Command
{
- ModelFactory modelFactory;
+ private ModelFactory modelFactory;
HabitList habitList;
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/database/Repository.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/database/Repository.java
index 5bff771d9..6a6c82736 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/database/Repository.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/database/Repository.java
@@ -136,8 +136,8 @@ public class Repository
{
try
{
- Field fields[] = getFields();
- String columns[] = getColumnNames();
+ Field[] fields = getFields();
+ String[] columns = getColumnNames();
Map values = new HashMap<>();
for (int i = 0; i < fields.length; i++)
@@ -322,7 +322,7 @@ public class Repository
{
if (cacheIdField == null)
{
- Field fields[] = getFields();
+ Field[] fields = getFields();
String idName = getIdName();
for (Field f : fields)
if (f.getName().equals(idName))
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/database/SQLParser.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/database/SQLParser.java
index b2b5f593b..3dd461d16 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/database/SQLParser.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/database/SQLParser.java
@@ -86,11 +86,9 @@ public class SQLParser {
public static List parse(final InputStream stream) throws IOException {
- final BufferedInputStream buffer = new BufferedInputStream(stream);
- final List commands = new ArrayList();
- final StringBuffer sb = new StringBuffer();
-
- try {
+ try (BufferedInputStream buffer = new BufferedInputStream(stream)) {
+ final List commands = new ArrayList<>();
+ final StringBuilder sb = new StringBuilder();
final Tokenizer tokenizer = new Tokenizer(buffer);
int state = STATE_NONE;
@@ -141,16 +139,14 @@ public class SQLParser {
}
}
}
+ if (sb.length() > 0) {
+ commands.add(sb.toString().trim());
+ }
- } finally {
- buffer.close();
+ return commands;
}
- if (sb.length() > 0) {
- commands.add(sb.toString().trim());
- }
- return commands;
}
private static boolean isNewLine(final char c) {
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/HabitBullCSVImporter.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/HabitBullCSVImporter.java
index d192400c8..918c0e3fc 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/HabitBullCSVImporter.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/HabitBullCSVImporter.java
@@ -62,13 +62,13 @@ public class HabitBullCSVImporter extends AbstractImporter
CSVReader reader = new CSVReader(new FileReader(file));
HashMap map = new HashMap<>();
- for (String line[] : reader)
+ for (String[] line : reader)
{
String name = line[0];
if (name.equals("HabitName")) continue;
String description = line[1];
- String dateString[] = line[3].split("-");
+ String[] dateString = line[3].split("-");
int year = Integer.parseInt(dateString[0]);
int month = Integer.parseInt(dateString[1]);
int day = Integer.parseInt(dateString[2]);
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/HabitsCSVExporter.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/HabitsCSVExporter.java
index 540d849ed..27c745c85 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/HabitsCSVExporter.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/HabitsCSVExporter.java
@@ -81,7 +81,7 @@ public class HabitsCSVExporter
zos.putNextEntry(ze);
int length;
- byte bytes[] = new byte[1024];
+ byte[] bytes = new byte[1024];
while ((length = fis.read(bytes)) >= 0) zos.write(bytes, 0, length);
zos.closeEntry();
@@ -102,7 +102,7 @@ public class HabitsCSVExporter
@NonNull
private String sanitizeFilename(String name)
{
- String s = name.replaceAll("[^ a-zA-Z0-9\\._-]+", "");
+ String s = name.replaceAll("[^ a-zA-Z0-9._-]+", "");
return s.substring(0, Math.min(s.length(), 100));
}
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/LoopDBImporter.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/LoopDBImporter.java
index f71bb6cea..5235c4cb1 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/LoopDBImporter.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/LoopDBImporter.java
@@ -84,9 +84,7 @@ public class LoopDBImporter extends AbstractImporter
}
@Override
- public synchronized void importHabitsFromFile(@NonNull File file)
- throws IOException
- {
+ public synchronized void importHabitsFromFile(@NonNull File file) {
Database db = opener.open(file);
MigrationHelper helper = new MigrationHelper(db);
helper.migrateTo(DATABASE_VERSION);
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/RewireDBImporter.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/RewireDBImporter.java
index 66c986a14..dbf192acc 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/RewireDBImporter.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/RewireDBImporter.java
@@ -67,8 +67,7 @@ public class RewireDBImporter extends AbstractImporter
}
@Override
- public void importHabitsFromFile(@NonNull File file) throws IOException
- {
+ public void importHabitsFromFile(@NonNull File file) {
Database db = opener.open(file);
db.beginTransaction();
createHabits(db);
@@ -79,17 +78,13 @@ public class RewireDBImporter extends AbstractImporter
private void createHabits(Database db)
{
- Cursor c = null;
- try
- {
- c = db.query("select _id, name, description, schedule, " +
- "active_days, repeating_count, days, period " +
- "from habits");
+ try (Cursor c = db.query("select _id, name, description, schedule, " +
+ "active_days, repeating_count, days, period " +
+ "from habits")) {
if (!c.moveToNext()) return;
- do
- {
+ do {
int id = c.getInt(0);
String name = c.getString(1);
String description = c.getString(2);
@@ -103,11 +98,10 @@ public class RewireDBImporter extends AbstractImporter
habit.setName(name);
habit.setDescription(description);
- int periods[] = { 7, 31, 365 };
+ int[] periods = {7, 31, 365};
int numerator, denominator;
- switch (schedule)
- {
+ switch (schedule) {
case 0:
numerator = activeDays.split(",").length;
denominator = 7;
@@ -135,10 +129,6 @@ public class RewireDBImporter extends AbstractImporter
} while (c.moveToNext());
}
- finally
- {
- if (c != null) c.close();
- }
}
private void createCheckmarks(@NonNull Database db,
@@ -177,23 +167,19 @@ public class RewireDBImporter extends AbstractImporter
private void createReminder(Database db, Habit habit, int rewireHabitId)
{
String[] params = { Integer.toString(rewireHabitId) };
- Cursor c = null;
- try
- {
- c = db.query(
+ try (Cursor c = db.query(
"select time, active_days from reminders where habit_id=? limit 1",
- params);
+ params)) {
if (!c.moveToNext()) return;
int rewireReminder = Integer.parseInt(c.getString(0));
if (rewireReminder <= 0 || rewireReminder >= 1440) return;
- boolean reminderDays[] = new boolean[7];
+ boolean[] reminderDays = new boolean[7];
- String activeDays[] = c.getString(1).split(",");
- for (String d : activeDays)
- {
+ String[] activeDays = c.getString(1).split(",");
+ for (String d : activeDays) {
int idx = (Integer.parseInt(d) + 1) % 7;
reminderDays[idx] = true;
}
@@ -206,9 +192,5 @@ public class RewireDBImporter extends AbstractImporter
habit.setReminder(reminder);
habitList.update(habit);
}
- finally
- {
- if (c != null) c.close();
- }
}
}
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/TickmateDBImporter.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/TickmateDBImporter.java
index eac6a7fe4..f1d76d8f6 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/TickmateDBImporter.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/io/TickmateDBImporter.java
@@ -67,8 +67,7 @@ public class TickmateDBImporter extends AbstractImporter
}
@Override
- public void importHabitsFromFile(@NonNull File file) throws IOException
- {
+ public void importHabitsFromFile(@NonNull File file) {
final Database db = opener.open(file);
db.beginTransaction();
createHabits(db);
@@ -111,16 +110,12 @@ public class TickmateDBImporter extends AbstractImporter
private void createHabits(Database db)
{
- Cursor c = null;
- try
- {
- c = db.query("select _id, name, description from tracks",
- new String[0]);
+ try (Cursor c = db.query("select _id, name, description from tracks"
+ )) {
if (!c.moveToNext()) return;
- do
- {
+ do {
int id = c.getInt(0);
String name = c.getString(1);
String description = c.getString(2);
@@ -135,9 +130,5 @@ public class TickmateDBImporter extends AbstractImporter
} while (c.moveToNext());
}
- finally
- {
- if (c != null) c.close();
- }
}
}
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/CheckmarkList.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/CheckmarkList.java
index 892851094..10787d5cd 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/CheckmarkList.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/CheckmarkList.java
@@ -234,7 +234,7 @@ public abstract class CheckmarkList
if (from.isNewerThan(to)) return new int[0];
List checkmarks = getByInterval(from, to);
- int values[] = new int[checkmarks.size()];
+ int[] values = new int[checkmarks.size()];
int i = 0;
for (Checkmark c : checkmarks)
@@ -260,7 +260,7 @@ public abstract class CheckmarkList
*/
public final void writeCSV(Writer out) throws IOException
{
- int values[];
+ int[] values;
synchronized (this)
{
@@ -295,10 +295,10 @@ public abstract class CheckmarkList
if (oldestRep == null) return;
final Timestamp from = oldestRep.getTimestamp();
- Repetition reps[] = habit
- .getRepetitions()
- .getByInterval(from, today)
- .toArray(new Repetition[0]);
+ Repetition[] reps = habit
+ .getRepetitions()
+ .getByInterval(from, today)
+ .toArray(new Repetition[0]);
if (habit.isNumerical()) computeNumerical(reps);
else computeYesNo(reps);
@@ -417,8 +417,8 @@ public abstract class CheckmarkList
List checks = getAll();
int count = 0;
- Timestamp truncatedTimestamps[] = new Timestamp[checks.size()];
- int values[] = new int[checks.size()];
+ Timestamp[] truncatedTimestamps = new Timestamp[checks.size()];
+ int[] values = new int[checks.size()];
for (Checkmark rep : checks)
{
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/HabitList.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/HabitList.java
index 4e9facf8e..278a0973d 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/HabitList.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/HabitList.java
@@ -209,13 +209,13 @@ public abstract class HabitList implements Iterable
*/
public void writeCSV(@NonNull Writer out) throws IOException
{
- String header[] = {
- "Position",
- "Name",
- "Description",
- "NumRepetitions",
- "Interval",
- "Color"
+ String[] header = {
+ "Position",
+ "Name",
+ "Description",
+ "NumRepetitions",
+ "Interval",
+ "Color"
};
CSVWriter csv = new CSVWriter(out);
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/HabitMatcher.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/HabitMatcher.java
index d2b1801b2..924cea352 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/HabitMatcher.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/HabitMatcher.java
@@ -60,7 +60,6 @@ public class HabitMatcher
{
if (!isArchivedAllowed() && habit.isArchived()) return false;
if (isReminderRequired() && !habit.hasReminder()) return false;
- if (!isCompletedAllowed() && habit.isCompletedToday()) return false;
- return true;
+ return isCompletedAllowed() || !habit.isCompletedToday();
}
}
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/Repetition.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/Repetition.java
index 413c06364..7f6fa8224 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/Repetition.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/Repetition.java
@@ -20,12 +20,6 @@
package org.isoron.uhabits.core.models;
import org.apache.commons.lang3.builder.*;
-import org.isoron.uhabits.core.utils.DateFormats;
-import org.isoron.uhabits.core.utils.DateUtils;
-
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
import static org.isoron.uhabits.core.utils.StringUtils.defaultToStringStyle;
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/ScoreList.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/ScoreList.java
index c9599671a..74b1fb87e 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/ScoreList.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/ScoreList.java
@@ -268,7 +268,7 @@ public abstract class ScoreList implements Iterable
if (from.isNewerThan(to)) return;
final double freq = habit.getFrequency().toDouble();
- final int checkmarkValues[] = habit.getCheckmarks().getValues(from, to);
+ final int[] checkmarkValues = habit.getCheckmarks().getValues(from, to);
List scores = new LinkedList<>();
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/StreakList.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/StreakList.java
index 0eef1cdbc..430835ce8 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/StreakList.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/StreakList.java
@@ -71,7 +71,7 @@ public abstract class StreakList
Timestamp beginning = findBeginning();
if (beginning == null || beginning.isNewerThan(today)) return;
- int checks[] = habit.getCheckmarks().getValues(beginning, today);
+ int[] checks = habit.getCheckmarks().getValues(beginning, today);
List streaks = checkmarksToStreaks(beginning, checks);
removeNewestComputed();
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/Timestamp.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/Timestamp.java
index deca3de9a..9bc816af5 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/Timestamp.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/Timestamp.java
@@ -26,7 +26,6 @@ import org.isoron.uhabits.core.utils.DateUtils;
import java.util.*;
import static java.util.Calendar.*;
-import static org.isoron.uhabits.core.utils.StringUtils.*;
public final class Timestamp
{
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/WeekdayList.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/WeekdayList.java
index 67325e915..dc5a158a3 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/WeekdayList.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/WeekdayList.java
@@ -43,7 +43,7 @@ public final class WeekdayList
}
}
- public WeekdayList(boolean weekdays[])
+ public WeekdayList(boolean[] weekdays)
{
this.weekdays = Arrays.copyOf(weekdays, 7);
}
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/sqlite/SQLiteHabitList.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/sqlite/SQLiteHabitList.java
index ab086cff5..83702eb20 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/sqlite/SQLiteHabitList.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/models/sqlite/SQLiteHabitList.java
@@ -163,7 +163,7 @@ public class SQLiteHabitList extends HabitList
if (record == null) throw new RuntimeException("habit not in database");
repository.executeAsTransaction(() ->
{
- ((SQLiteRepetitionList) habit.getRepetitions()).removeAll();
+ habit.getRepetitions().removeAll();
repository.remove(record);
});
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/WidgetPreferences.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/WidgetPreferences.java
index 86d96b60d..754ad335b 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/WidgetPreferences.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/preferences/WidgetPreferences.java
@@ -33,7 +33,7 @@ public class WidgetPreferences {
this.storage = storage;
}
- public void addWidget(int widgetId, long habitIds[]) {
+ public void addWidget(int widgetId, long[] habitIds) {
storage.putLongArray(getHabitIdKey(widgetId), habitIds);
}
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/test/HabitFixtures.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/test/HabitFixtures.java
index 929367fdc..fb8acfb4e 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/test/HabitFixtures.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/test/HabitFixtures.java
@@ -25,7 +25,7 @@ import org.isoron.uhabits.core.utils.*;
public class HabitFixtures
{
- public boolean NON_DAILY_HABIT_CHECKS[] = {
+ public boolean[] NON_DAILY_HABIT_CHECKS = {
true, false, false, true, true, true, false, false, true, true
};
@@ -58,7 +58,7 @@ public class HabitFixtures
habit.setColor(4);
Timestamp today = DateUtils.getToday();
- int marks[] = {0, 1, 3, 5, 7, 8, 9, 10, 12, 14, 15, 17, 19, 20, 26, 27,
+ int[] marks = {0, 1, 3, 5, 7, 8, 9, 10, 12, 14, 15, 17, 19, 20, 26, 27,
28, 50, 51, 52, 53, 54, 58, 60, 63, 65, 70, 71, 72, 73, 74, 75, 80,
81, 83, 89, 90, 91, 95, 102, 103, 108, 109, 120};
@@ -81,8 +81,8 @@ public class HabitFixtures
saveIfSQLite(habit);
Timestamp today = DateUtils.getToday();
- int times[] = {0, 1, 3, 5, 7, 8, 9, 10};
- int values[] = {100, 200, 300, 400, 500, 600, 700, 800};
+ int[] times = {0, 1, 3, 5, 7, 8, 9, 10};
+ int[] values = {100, 200, 300, 400, 500, 600, 700, 800};
for (int i = 0; i < times.length; i++)
{
@@ -105,14 +105,14 @@ public class HabitFixtures
habit.setColor(1);
saveIfSQLite(habit);
- int times[] = {0, 5, 9, 15, 17, 21, 23, 27, 28, 35, 41, 45, 47, 53, 56, 62, 70, 73, 78,
+ int[] times = {0, 5, 9, 15, 17, 21, 23, 27, 28, 35, 41, 45, 47, 53, 56, 62, 70, 73, 78,
83, 86, 94, 101, 106, 113, 114, 120, 126, 130, 133, 141, 143, 148, 151, 157, 164,
166, 171, 173, 176, 179, 183, 191, 259, 264, 268, 270, 275, 282, 284, 289, 295,
302, 306, 310, 315, 323, 325, 328, 335, 343, 349, 351, 353, 357, 359, 360, 367,
372, 376, 380, 385, 393, 400, 404, 412, 415, 418, 422, 425, 433, 437, 444, 449,
455, 460, 462, 465, 470, 471, 479, 481, 485, 489, 494, 495, 500, 501, 503, 507};
- int values[] = {230, 306, 148, 281, 134, 285, 104, 158, 325, 236, 303, 210, 118, 124,
+ int[] values = {230, 306, 148, 281, 134, 285, 104, 158, 325, 236, 303, 210, 118, 124,
301, 201, 156, 376, 347, 367, 396, 134, 160, 381, 155, 354, 231, 134, 164, 354,
236, 398, 199, 221, 208, 397, 253, 276, 214, 341, 299, 221, 353, 250, 341, 168,
374, 205, 182, 217, 297, 321, 104, 237, 294, 110, 136, 229, 102, 271, 250, 294,
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/NotificationTray.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/NotificationTray.java
index 78f707968..c5e997411 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/NotificationTray.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/NotificationTray.java
@@ -155,9 +155,9 @@ public class NotificationTray
{
public final Timestamp timestamp;
- public final long reminderTime;
+ final long reminderTime;
- public NotificationData(Timestamp timestamp, long reminderTime)
+ NotificationData(Timestamp timestamp, long reminderTime)
{
this.timestamp = timestamp;
this.reminderTime = reminderTime;
@@ -174,7 +174,7 @@ public class NotificationTray
private final long reminderTime;
- public ShowNotificationTask(Habit habit, NotificationData data)
+ ShowNotificationTask(Habit habit, NotificationData data)
{
this.habit = habit;
this.timestamp = data.timestamp;
@@ -225,7 +225,7 @@ public class NotificationTray
if (!habit.hasReminder()) return false;
Reminder reminder = habit.getReminder();
- boolean reminderDays[] = reminder.getDays().toArray();
+ boolean[] reminderDays = reminder.getDays().toArray();
int weekday = timestamp.getWeekday();
return reminderDays[weekday];
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCache.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCache.java
index b0b35d5be..6f23687bb 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCache.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HabitCardListCache.java
@@ -234,7 +234,7 @@ public class HabitCardListCache implements CommandRunner.Listener
private class CacheData
{
@NonNull
- public final HashMap id_to_habit;
+ final HashMap id_to_habit;
@NonNull
public final List habits;
@@ -248,7 +248,7 @@ public class HabitCardListCache implements CommandRunner.Listener
/**
* Creates a new CacheData without any content.
*/
- public CacheData()
+ CacheData()
{
id_to_habit = new HashMap<>();
habits = new LinkedList<>();
@@ -256,7 +256,7 @@ public class HabitCardListCache implements CommandRunner.Listener
scores = new HashMap<>();
}
- public synchronized void copyCheckmarksFrom(@NonNull CacheData oldData)
+ synchronized void copyCheckmarksFrom(@NonNull CacheData oldData)
{
if (oldData == null) throw new NullPointerException();
@@ -270,7 +270,7 @@ public class HabitCardListCache implements CommandRunner.Listener
}
}
- public synchronized void copyScoresFrom(@NonNull CacheData oldData)
+ synchronized void copyScoresFrom(@NonNull CacheData oldData)
{
if (oldData == null) throw new NullPointerException();
@@ -282,7 +282,7 @@ public class HabitCardListCache implements CommandRunner.Listener
}
}
- public synchronized void fetchHabits()
+ synchronized void fetchHabits()
{
for (Habit h : filteredHabits)
{
@@ -306,14 +306,14 @@ public class HabitCardListCache implements CommandRunner.Listener
@Nullable
private TaskRunner runner;
- public RefreshTask()
+ RefreshTask()
{
newData = new CacheData();
targetId = null;
isCancelled = false;
}
- public RefreshTask(long targetId)
+ RefreshTask(long targetId)
{
newData = new CacheData();
this.targetId = targetId;
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HintList.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HintList.java
index fd9fe5397..f37b0eba9 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HintList.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/ui/screens/habits/list/HintList.java
@@ -45,7 +45,7 @@ public class HintList
* @param hints initial list of hints
*/
public HintList(@Provided @NonNull Preferences prefs,
- @NonNull String hints[])
+ @NonNull String[] hints)
{
this.prefs = prefs;
this.hints = hints;
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/ColorConstants.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/ColorConstants.java
index a49726ab9..04ed96070 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/ColorConstants.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/ColorConstants.java
@@ -2,26 +2,26 @@ package org.isoron.uhabits.core.utils;
public class ColorConstants
{
- public static String CSV_PALETTE[] = {
- "#D32F2F", // 0 red
- "#E64A19", // 1 deep orange
- "#F57C00", // 2 orange
- "#FF8F00", // 3 amber
- "#F9A825", // 4 yellow
- "#AFB42B", // 5 lime
- "#7CB342", // 6 light green
- "#388E3C", // 7 green
- "#00897B", // 8 teal
- "#00ACC1", // 9 cyan
- "#039BE5", // 10 light blue
- "#1976D2", // 11 blue
- "#303F9F", // 12 indigo
- "#5E35B1", // 13 deep purple
- "#8E24AA", // 14 purple
- "#D81B60", // 15 pink
- "#5D4037", // 16 brown
- "#303030", // 17 dark grey
- "#757575", // 18 grey
- "#aaaaaa" // 19 light grey
+ public static String[] CSV_PALETTE = {
+ "#D32F2F", // 0 red
+ "#E64A19", // 1 deep orange
+ "#F57C00", // 2 orange
+ "#FF8F00", // 3 amber
+ "#F9A825", // 4 yellow
+ "#AFB42B", // 5 lime
+ "#7CB342", // 6 light green
+ "#388E3C", // 7 green
+ "#00897B", // 8 teal
+ "#00ACC1", // 9 cyan
+ "#039BE5", // 10 light blue
+ "#1976D2", // 11 blue
+ "#303F9F", // 12 indigo
+ "#5E35B1", // 13 deep purple
+ "#8E24AA", // 14 purple
+ "#D81B60", // 15 pink
+ "#5D4037", // 16 brown
+ "#303030", // 17 dark grey
+ "#757575", // 18 grey
+ "#aaaaaa" // 19 light grey
};
}
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/MidnightTimer.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/MidnightTimer.java
index 8d3a89480..6c169d82c 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/MidnightTimer.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/MidnightTimer.java
@@ -55,7 +55,7 @@ public class MidnightTimer
public synchronized void onResume()
{
executor = Executors.newSingleThreadScheduledExecutor();
- executor.scheduleAtFixedRate(() -> notifyListeners(),
+ executor.scheduleAtFixedRate(this::notifyListeners,
DateUtils.millisecondsUntilTomorrow() + 1000,
DateUtils.DAY_LENGTH, TimeUnit.MILLISECONDS);
}
diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.java
index a31b261ee..9215d5134 100644
--- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.java
+++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.java
@@ -51,16 +51,16 @@ public class StringUtils
return toStringStyle;
}
- public static String joinLongs(long values[])
+ public static String joinLongs(long[] values)
{
return org.apache.commons.lang3.StringUtils.join(values, ',');
}
public static long[] splitLongs(String str)
{
- String parts[] = org.apache.commons.lang3.StringUtils.split(str, ',');
+ String[] parts = org.apache.commons.lang3.StringUtils.split(str, ',');
- long numbers[] = new long[parts.length];
+ long[] numbers = new long[parts.length];
for (int i = 0; i < parts.length; i++) numbers[i] = Long.valueOf(parts[i]);
return numbers;
}